reviewModeIsReadOnly() is not defined

Oct 19, 2021

This is possibly a bug. When selecting "Reset Learner Progress" for a SCORM export, learners may still see an empty box, with the console stating that reviewModelIsReadOnly() is not defined.

This call is in scormdriver/preloadIntegrity.js:47. I cannot find a definition for this function anywhere in the export. Replacing this call with the variable REVIEW_MODE_IS_READ_ONLY resolves the issue.

Could an Articulate rep please respond and detail if this is in fact a bug, or something caused by the LMS (Totara 9 based on Moodle 3.0)

Thanks

Pinned Reply
13 Replies
Andrew Smith

Hi Hazel,

Could I trouble you for an update on this?

You previously defined reviewModeIsReadOnly() in scormdriver/driverOptions.js however at some point recently this function has been removed and as Hamish points out it looks like you intended to replace it with the constant REVIEW_MODE_IS_READ_ONLY but missed a reference to the old method in preloadIntegrity.js.

You won't be able to trigger it on Scorm Cloud becasue it's not possible to replace scorm packages in situ in Scorm Cloud (updating a scorm package always creates a new course identifier, orphaning anyone who was incomplete).

This happens when you update a scorm package in an LMS that lets you update courses insitu such that suspend data from a previous incomplete session (on a previous version of the course) is passed to a new scorm package.

Regards,

Andrew

Andrew Smith

Thanks Hazel, that's interesting. It's nice to see some of these things being configurable at deploy time.

REVIEW_MODE_IS_READ_ONLY = false;

Will be very handy for when you don't need to achieve anything to complete a topic. For example I have clients with informational courses that you only really need to open to complete.  If you set:

Track using course completion = 0%

It works in that you have a course that you don't have to visit every page in, or complete a quiz to complete, however by default returning to this topic will forever after take you back to the page you first exited from and never increase your completion percentage in the left hand navigation.

Continuing to track progress after the topic has first been opened and closed will allow the course to remember the page that people were last on between views and indicate exactly how much of the topic they have engaged with over time.

Hopefully driverOptions.js will be extended over time with other options.  It would be a great place for Articulate to test features and gather community feedback before baking them into the UI. A bit like feature flags in web browsers.

I think the issue of the refernce to reviewModeIsReadOnly() though is just a simple bug as this function used to exist and doesn't now. It's just a matter of updating preloadIntegrity.js to use REVIEW_MODE_IS_READ_ONLY.

BTW as a quick side note. The format of driverOptions.js has changed since this article was written. It would be great if it could be updated to match the current way you are loading driver options.

Regards,

Andrew

Hamish Dewe

Hi Andrew and Hazel,

I’m not really working with technical support as I’m not able to supply the old versions of the package they requested in order to troubleshoot. I’m on the LMS side and do not have access to their content/authoring.

From what I can see though, it really is just a bug thrown by the function referenced not existing.

Thanks,
Hamish

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.