No storage of scorm progress via cmi.suspend_data

Created on 1 September 2022, about 2 years ago
Updated 3 October 2024, about 2 months ago

Problem/Motivation

Recently, I worked on a D7 => D9 migration that involved moving scorm files from D7's h5p_scorm module to D9's opigno_scorm module (version 3.0.2). One thing that we noticed after the migration is that users could no longer resume a Scorm package from where they had left off when returning after navigating away, logging out, or closing the browser tab.

When I look at the javascript console in my browser's debugger while progressing through a scorm, there's an error message that says something like "CMI path cmi.suspend_data is not implemented". HTTP posts sent via commit back to the opigno_scorm's endpoint controller show no data under the object's cmi.suspend_data attribute. Finally, nothing gets recorded to the {opingo_scorm_scorm_cmi_data} database table, under the "cmi.suspend_data" cmi key.

I looked through the code and it looks like the path doesn't get registered, even though it is part of the Scorm 2004 and 1.2 specifications. I don't know if this is by design, but I feel like this may be a bug, as one would expect tracking to work. Also, there's other code in the module that presumes tracking is happening via the cmi.suspend_data path.

Proposed resolution

To get resolve this issue on my site, I added an implementation of hook_opigno_scorm_register_cmi_paths() that adds "cmi.suspend_data" to the registered CMI paths. However, because I feel this more rightly belongs in the main module and should work without extra code, I've attached a patch that modifies opigno_scorm.module's own implementation of this hook to include the path.

πŸ› Bug report
Status

Active

Version

3.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States ankur

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024