Please Note: This article outlines how to use the SCORM Debug API feature in your learning platform. To learn how to upload and manage SCORM content in your platform as well as package limitations and best practices, refer to this article.
Activating the SCORM Debug API
To activate this functionality, access your platform as a Superadmin. Then, reach the Admin Menu from the gear icon in the left sidebar. From the Admin Menu, select the Advanced Settings option, then reach the Advanced tab. In this tab, flag the Enable debug for SCORM API option in the SCORM section.
Then, press Save.
Debugging a SCORM Package in your Platform
In order to use this functionality, you will need to open the Inspector tool in your browser, then reach the Console tab (the method of reaching this tab, and the name of the tool and tab, vary depending on which browser you’re using). Then, open your SCORM package in your platform as a learner.
Depending on your SCORM package’s configuration, you will see various API calls in your console. For a full list of API signatures and data models used in the standard, you can refer to this page.
Please Note: The method names that you will see are dependent on the SCORM edition (eg. 2004, 1.2 …), but they are generally similar to one another.
Below, you can find some methods suggested to check a log for both SCORM 2004 and 1.2 content.
Quick Glossary for SCORM 2004 SCORM 1.2 Content
Initialize/LMSInitialize ( ). Starts communication with the platform. Please note that only a SCORM package can start communication with the platform.
SetValue/LMSSetValue ( ). Changes a value in the platform. The LMSSetValue is combined with elements in the data model, such as the cmi.suspend_data (i.e. the LMSSetValue, which is the same for both SCORM editions). This is the bookmark of the session (eg. if you finished viewing the learning object after slides 3, on next access, you will start from slide 3 instead of slide 1). In some SCORM packages, you will see this element on regular basis (eg. every minute) while on others, you may see it only after a specific event has been triggered (eg. pushing a Next Slide button).
cmi.completion_status & cmi.success_status/cmi.core.lesson_status. LMSSetValue (cmi.core.lesson_status, passed). This indicates the status of completion of the SCORM package (passed, completed, failed, incomplete, browsed, not attempted). The status that you will see depends on how the SCORM has been developed.
Other Issues to Debug in a SCORM Package
If your SCORM doesn’t save the bookmark, check if:
– This element and method work properly in your SCORM package.
– You have a character limit to store. Usually, SCORM 1.2 can store up to 4,096 characters in suspend_data, unlike SCORM 2004, which has 64,000 characters.
If your SCORM learning object is completed, and doesn’t show the Completed status in the platform:
– Check if your SCORM packaged is developed properly (is there an event that triggers the Completed status?)
– If it only happens occasionally, confirm that your Internet connection is stable.
– Be careful about how you close the SCORM objectin the platform. Do not close the popup window of the SCORM with the X button, but look for a Submit or Close button (this isn’t always there, but resort to this option first, if possible).
– Make sure you’ve performed all necessary steps to complete the learning object (viewed every piece of content, passed a test, etc.)
After a SCORM has been uploaded, I receive this message:
“The required imsmanifest.xml file not found or is not in the zip root. Example: Correct zip [/imsmanifest.xml], Incorrect zip [scormfolder/imsmanifest.xml]. Please check the format of your SCORM package. If the problem persists, report the error message to the helpdesk team”
If you receive this error, check if there is a imsmanifest.xml file inside of your SCORM package, and if the file is placed at a first level (root) in the .zip file. This file cannot be in another folder or compressed.
The SCORM objects starts to play, but there are no files, or I receive a 404 error.
Check if files listed in your imsmanifest.xml file are in the SCORM package, and confirm that they’re in the right directory.
Tracking progress is erased after I updated the SCORM package.
Before changing your learning object with an updated SCORM package, your platform will ask if you want to overwrite the current version or create a version 2. If you overwrite a SCORM structure with significant changes in the manifest, you may risk losing data.
In this case, check the imsmanifest.xml to see if your updated SCORM package has a different item identifier. If so, your platform will recognize the package as a new one and will erase all previous user tracking. If this happens, contact Docebo through the Help Desk in your platform’s Communication Center.