Skip to content

v11.4.0 - "Opal"

Compare
Choose a tag to compare
@zachberry zachberry released this 25 Mar 14:38
· 1106 commits to master since this release
v11.4.0
4a33842

The big stuff you'll wanna know

We have a few cool features for authors this release: Materia widgets and IFrame sizing options.

Materia is another ucf/open_ project aimed at providing easy-to-create games and study tools for online courses. Check out Materia's docs for more information on getting Materia for your institution!

For authors & instructors

  • Obojobo now provides a new Materia Chunk which, if enabled, allows an easy way to embed Materia widgets into Obojobo. By default the new Materia Chunk is disabled as it requires Materia to be installed. The administrators section below describes how to enable it.
  • IFrames have a new "Sizing" option, which allows for more flexible IFrame sizes. By setting this to "Max Width" IFrames can now extend past text content, and will be the same size as Questions and YouTube videos. "Text Width" allows IFrames to always be at the same width as text. Finally, "Fixed" causes IFrames to behave as they have previously - You define the width and height of the IFrame.

For developers

  • You can test Materia widgets in your local development Materia with docker. By default Materia should run at https://localhost. Obojobo expects this, however you can change the expected Materia URL by updating the "materia-lti.json" config file in the Materia obonode package.
  • This release has new packages

For administrators

  • There is a new environment variable: OBO_OPTIONAL_NODES. The value is a comma separated allow list of
    "Optional" OboNodes that you wish to enable. Currently obojobo-chunks-materia is the only optional Obo Node, indicated by the isOptional value in its main index.js file. By default, OBO_OPTIONAL_NODES is set to "", meaning the Materia OboNode will not be available. If you have a running instance of Materia you can set this to "obojobo-chunks-materia" to enable Materia widgets for your Obojobo install. (You can also set OBO_OPTIONAL_NODES to "*", which will always load all optional nodes).
  • The Materia chunk package requires 4 new environment variables:
    • OBO_LTI_GUID a GUID unique to this install of Obojobo - see LTI definition for tool_consumer_instance_guid
    • MATERIA_OAUTH_KEY - LTI Oauth public key for Materia (see Materia's env LTI_KEY)
    • MATERIA_OAUTH_SECRET - LTI Oauth secret for Materia (see Materia's env for LTI_SECRET)
    • MATERIA_HOST - the full url without trailing slashes to Materia (ex: https://path.to.your.materia)
  • This release includes new packages

For Data Nerds:

The Materia chunk includes three new events:

  • materia:ltiLaunchWidget: Occurs when a Materia widget is launched in the Obojobo Viewer.
  • materia:ltiPickerLaunch: Occurs when an author selects a Materia widget to embed in the Obojobo Visual Editor.
  • materia:ltiScorePassback: Occurs when Materia sends a score back via LTI. Specifically this is fired after Materia sends an LTI replaceResultRequest request.

For complete information on these events (and others) check out our event documentation.

REST API Changes:

  • No changes in this release

New Feature Screenshots

Materia

This GIF shows off how you'd embed a Materia widget inside Obojobo:

2021-03-22 15 01 29

Once embedded, you'll see something like this in the Visual Editor:

Screen Shot 2021-03-22 at 3 02 46 PM

Students will see Materia widgets show up as a box they'll click on to load:

Screen Shot 2021-03-22 at 3 02 55 PM

Once loaded, Materia will show up in the page, like this:

Screen Shot 2021-03-22 at 3 03 11 PM

New IFrame sizing options

IFrames can now match the width of text content or expand past text content:

Screen Shot 2021-03-22 at 5 38 26 PM

Complete Issues List

The list of completed pull requests can be seen on our GitHub milestone page.

  • #970, #1715, #1720, #1721, #1725, #1731, #1732, #1739 - ✨ Adds the new Materia OboNode, OBO_OPTIONAL_NODES environment variable and additional enhancements
  • #1382 - 🛠️ Adds a "Saving..." indicator to the Visual Editor while saving
  • #1581, #1736 - ✨ Adds the new sizing option to IFrames
  • #1703 - 🛠️ Bump elliptic from 6.4.1 to 6.5.4
  • #1718 - 🐛 Fixes a regression bug that disabled scrolling in dialogs for the Visual Editor
  • #1722 - 🛠️ Upgrade dev postgres container to 9.6.21
  • #1733 - 🛠️ Bump is-svg from 4.2.1 to 4.2.2

Issue legend:

  • ✨: New features
  • 🛠️: Improvements & enhancements
  • 🐛: Bug fixes

Release Stats

  • Commits: 139
  • Developers: 4
  • Files Changed: 186
  • Lines Changed: 6,027 (+6,957 / −930)
  • Commit Dates: January 28, 2020 - March 23, 2021
Lines of Code (expand to view)
cloc ./ --hide-rate --by-percent cmb --read-lang-def=cloc-type-definitions.txt
    2069 text files.
    1830 unique files.
     294 files ignored.

github.com/AlDanial/cloc v 1.84
---------------------------------------------------------------------------------
Language                       files        blank %      comment %           code
---------------------------------------------------------------------------------
Jest Tests                       482          13.95           2.25          76279
Jest Test Snapshots              254           2.08           0.43          58063
JavaScript                       691          12.41           6.09          43263
JSON                              86           0.01           0.00          27934
Sass                             145          15.28           1.05          10159
JSX                               29          11.04           1.08           1465
XML                               32           2.32           5.18           1394
Markdown                           4          19.02           0.00            613
EJS                               12           8.79           0.93            483
SVG                               40           0.56           0.00            179
YAML                               4          15.69           6.37            159
---------------------------------------------------------------------------------
SUM:                            1779           9.18           2.32         219991
---------------------------------------------------------------------------------

Thanks!

A big thanks to our contributors for this release (listed in alphabetical order):