v11.2.0 - "Connemara Marble"
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!
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 setLock Navigation During Attempts
toOFF
. - 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
*
or1.
in an empty paragraph to start a list. However, numeric lists were always numbered and started at1
. This has been expanded further - You can now input values such as3.
,A.
,d.
,IV.
, andiii.
(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:
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.
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.
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:
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 ofwontfix
. - #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 setpreventScroll: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_id
s between the attempt and the latest version of the module don't match. Addsassessment: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 ofstart
. - #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.