Skip to content

v11.2.0 - "Connemara Marble"

Compare
Choose a tag to compare
@zachberry zachberry released this 10 Feb 17:06
· 1305 commits to master since this release
v11.2.0
83442dc

The big stuff you'll wanna know

We're back with regularly scheduled updates. This release includes a lot of enhancements and bug fixes the team has been working on around the holidays! The most important of these are two big bug fixes:

  • Creating a module with Math equations in the assessment (but not in the content) would cause the module to crash. This has been resolved.
  • If a student started an assessment attempt, then the module was changed before they could submit it, that student would be stuck unable to submit the assessment attempt or reset it. Now the student will be informed that the module was updated and they are given the chance to start the assessment over.

We also have a new favicon (the icon that shows up on Obojobo Next tabs). We had been borrowing our older favicon from Obojobo Classic but it didn't match our look, and now we have our own!

Screen Shot 2021-02-04 at 2 46 00 PM

For authors & instructors

In addition to the two items listed above,

  • When restoring a previous version of a document you are now warned if it's currently being edited.
  • The starting page property (which determines the first page students will see when viewing the module) no longer effects the Visual Editor. Regardless of the starting page you'll always open the editor to the first page of the module.
  • YouTube videos now use the special youtube-nocookie domain, which means video suggestions at the end of the video will only be related to the embedded video and not the student's personal YouTube viewing history.
  • Newly created modules now default to locking navigation when an assessment is started. To replicate the older default, in the Visual Editor click on the (...) menu next to your Assessment section in the left-side nav, then set Lock Navigation During Attempts to OFF.
  • New modules you create on your Dashboard are now highlighted, making it easier to find your new module.
  • A previous update made creating lists easier by allowing you to type * or 1. in an empty paragraph to start a list. However, numeric lists were always numbered and started at 1. This has been expanded further - You can now input values such as 3. , A. , d. , IV. , and iii. (for example) to get lists with different numeric list types and starting values.

Scroll down to see some screenshots of these updates!

For data nerds

A new flag has been added to assessment attempts: invalid. This can happen when a student starts an assessment attempt and before they can submit it the module is changed (meaning the draft_content_id of the submitted attempt no longer matches the current draft_content_id).

Invalid attempts can be identified in the attempts table by { ..., "invalid": "true" } existing inside the attempts state field.

Additionally, a new event - assessment:attemptInvalidated (version 1.0.0) - has been added with the following payload:

Property Description
attemptId The attempt ID of the attempt that was invalidated

For invalidated attempts you can expect to see an assessment:attemptStart event but will NOT see any associated assessment:attemptEnd or assessment:attemptScored events as the attempt can no longer be completed or scored once invalidated. Additionally the completed_at field for invalid attempts will remain NULL.

Students can still submit responses to assessment questions even after the attempt is invalidated, so you may see related question:setResponse events, and likewise you may see rows for that attempt in the attempts_question_responses table. Therefore you may want to find any invalid attempts and filter out related question data for those attempts.

For developers

Some jest snapshots changed for 2021. This release fixes this so the new year doesn't break snapshots.

For administrators

We're now publishing obojobo next docker containers in the github docker registry! Building these docker images is now part of our automated release process. You'll be able to use these docker images in production environments, making it easier to deploy and update.

REST API Changes:

  • No changes in this release

New Feature Screenshots

Invalid attempts

When a student attempts to submit an assessment attempt but the module has changed since they started the attempt will be marked as invalid, and they'll now receive this message:

Screen Shot 2021-02-04 at 12 21 38 PM

Clicking on "Close Dialog" will let them see their answers in case the new updated module contains the same or similar questions. Clicking on "Restart" will begin a new attempt with the updated content.

Students can also refresh the page. If they do so, they will visit the module without an assessment attempt underway.

New modules are highlighted

It can be difficult to see where a module is added to the list of modules in your Dashboard. Now any newly created modules are highlighted.

2021-02-04 11 18 20

The highlight is temporary. Once you revisit the Dashboard this highlight will no longer show up.

Easily create different types of numeric lists

You can now type values such as 3. , A. , d. , IV. , and iii. (for example) to get lists with different numeric list types and starting values.

2021-02-04 11 22 21

New warning before restoring a module while it is being edited

If you attempt to restore a previous version of a module while it is being edited by another author you will receive this prompt:

Screen Shot 2021-02-04 at 11 21 14 AM

You can still click Yes - Restore to go ahead with the restore operation, but if the module is still actively being edited then the current editor won't receive the new content and could possibly overwrite your revision with their latest version of the document.

Complete Issues List

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

  • #1539 - 🐛 Fixes an issue where focus could be lost while editing the values inside the Assessment Rubric in the Visual Editor
  • #1546 - 🛠️ Changed default stalebot behavior in the github repo to mark stale issues with the stale label instead of wontfix.
  • #1583 - 🛠️ Some clean up with the viewer's IntersectionObserver, used to determine when a Question is on screen
  • #1600 - 🛠️ Added prompt when attempting to restore a previous version of a module while it has an active edit lock
  • #1606 - 🐛 Fixes issues with selecting and editing text across Headings and Text nodes
  • #1607 - Added the option for authors to create every type of numeric list (as well as different list start values) in an empty Text node
  • #1612 - 🐛 Fixes misaligned toolbar menus in Safari
  • #1614 - 🐛 Improves some errors in the log. Adds a timestamp to error logs and removes the error that res.unexpected is undefined.
  • #1615 - 🛠️ Updates the action UI for the focus:component action to allow you to set preventScroll:true which was added in a previous release
  • #1616 - 🛠️ Restricts module and page titles to 300 characters
  • #1619 - 🐛 Fixes a console error in the Visual Editor which would happen when hitting Enter inside a Table
  • #1620 - ✨ Updated the favicon
  • #1623, #1648 - 🛠️ Assessment attempts are now invalidated when submitted but the draft_content_ids between the attempt and the latest version of the module don't match. Adds assessment:attemptInvalidated event.
  • #1629 - 🐛 Fixes viewer crash when the start property points to a non-existent id. Also ensures the Visual Editor now always starts at the first page, regardless of the value of start.
  • #1630 - 🛠️ Newly created modules in the Dashboard are now highlighted
  • #1631 - 🛠️ Clear text-selection in the viewer when students change the page
  • #1633 - 🐛 Fixes viewer crash when loading an assessment containing katex-rendered equations if the content of the module doesn't contain any katex
  • #1641 - 🛠️ Change YouTube videos to use the youtube-nocookie domain
  • #1642 - 🐛 Fix year dependent snapshots for 2021
  • #1643 - 🛠️ New modules default to locking navigation when an assessment attempt is started
  • #1645 - 🐛 Bug fixes for when using the keyboard to change the heading level of text
  • #1646 - 🛠️ More tests for the breakToText method

Issue legend:

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

Release Stats

Commits: 98
Developers: 6
Files Changed: 81
Lines Changed: 1880 (+2,126 / −246)
Commit Dates: September 21, 2020 - February 5, 2021

Lines of Code (expand to view)
cloc ./ --hide-rate --by-percent cmb --read-lang-def=cloc-type-definitions.txt
    1992 text files.
    1763 unique files.
     279 files ignored.

github.com/AlDanial/cloc v 1.84
---------------------------------------------------------------------------------
Language                       files        blank %      comment %           code
---------------------------------------------------------------------------------
Jest Tests                       471          13.97           2.17          73699
Jest Test Snapshots              247           2.06           0.42          57069
JavaScript                       665          12.44           5.94          41586
JSON                              82           0.01           0.00          27779
Sass                             137          15.24           1.09           9758
JSX                               29          11.04           1.08           1465
XML                               31           2.33           5.20           1386
Markdown                           3          17.92           0.00            577
EJS                               12           8.79           0.93            483
SVG                               37           0.61           0.00            164
YAML                               3          19.42           7.77             75
---------------------------------------------------------------------------------
SUM:                            1717           9.12           2.24         214041
---------------------------------------------------------------------------------

Thanks!

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

Extras: About Connemara Marble

We name our releases after various rocks, gemstones, and minerals.

Connemara marble is a really special, rare form of marble found in Connemara, a region in county Galway in Ireland. The color is predominately green (how delightful that a rare marble found in Ireland is green!). The marble forms when limestone is heated under pressure.

Ian chose this rock as it is attached to a special memory about a trip to Galway.