...
...
...
...
...
...
Table of Contents |
---|
Troubleshooting Steps
This is the common order to troubleshoot broken Scorm courses:
- Check the Scorm version (see below)
- Check the SCOId and Resource Id for invalid characters (see No Error (infinite loading) or "No Links Specified" in the LMS, fixed in 4.3.0)
- Check the SCOManifest.js and ensure a SCOId is mapped (see Manifest Mapping below)
- Check the browser's Console for errors and Network tab for external calls and or errors.
- Note: Sometimes, Scorm course will cancel a web request and then re-request it. This is very common, and hasn't been known to cause any issues (and can be reasonably ignored as the problem):
- Note: Sometimes, Scorm course will cancel a web request and then re-request it. This is very common, and hasn't been known to cause any issues (and can be reasonably ignored as the problem):
- Check the Scorm calls by debugging the Scorm course via the browser's Sources tab and setting break points in API.LMSGetValue and API.LMSSetValue (see Debugging API Calls below)
Potential Pitfalls
Compression
...
In the <metadata> tag there will be a <schemaversion> which should be 1.2. If the version is incorrect, the client/vendor must re-package the course using the correct version:
Debugging API Calls
There have been instances where although a Scorm package version is seen as correct (with <schemaversion> 1.2) the package still uses other version standards. They must be checked against https://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/#section-2
Check the Scorm calls by debugging the Scorm course via the browser's Sources tab and setting break points in API.LMSGetValue and API.LMSSetValue:
The cmiElementName must match one of the switch cases. For example, the Scorm 1.2 standard is cmi.core.lesson_status but the cmiElementName shows as cmi.success_status (the Scorm 2004 standard). This means the package was generated/compiled incorrectly, and must be bounced back to the client/vendor.
Additionally, ensure the API is reachable (as seen in the next step Manifest Mapping). This can be quickly checked as the console will output an API Not found error. With the Scope set to top in the Console, type API to view the object and check for values:
If the mapping is null, check the SCOManifest.js (see next section).
Old Manifest Mapping
When the SCORM course is imported into the LMS, a number of files get generated including a manifest (SCOManifest.js). This file is used to map the SCO Id, and other information desired (Currently supports: mastery score, time limit, and launch data. See: SCORM Data Model).
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
var myAPI = getAPIHandle(); if (!myAPI) { console.log("Mapping: Could not find API"); } else{ console.log("APIFOUND"); myAPI.SCOIDMapping = {}; myAPI.SCOManifestMapping = {}; myAPI.SCOIdFromManifest = '__6g7FD8imvYA_course_id_RES'; myAPI.SCODataFromManifest = {"id":"__6g7FD8imvYA_course_id_RES","timelimitaction":"ContinueNoMessage"}; } |
Testing the Package Externally
Sometimes, normal troubleshooting in the LMS may not yield any explicit errors, and the package must be verified outside of the LMS. This can be tested on the Scorm Cloud.
Create a SCORM Cloud account
...
Course Is Not Viewable By Students
There is currently an issue on 4.2.x with the importScorm command, caused by
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
- After running importScorm, navigate to the course itself (final link).
- Before changing the template to the SCORM course template as you normally do, you need to Edit > Links > Publish the link.
- Then you can change the template to the proper SCORM template. (Edit > Page > Change Template)
Currently the SCORM templates (at least SCORM.Course.Simple.cshtml) don't seem to be aware of this and so no error is shown anywhere in the console or network trace.