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.
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.
Active
3.0
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.