Using the SCORM Debugging Option in your Platform

How to debug SCORM content in your learning platform

Last Updated

September 18th, 2018

Reading Time

4 min

Version

,

User Level

Introduction

Docebo provides an advanced functionality to view SCORM API calls in a browser console. To use this tool is necessary to have technical knowledge about SCORMs and javascript. This functionality allows checking if your SCORM package works properly and as designed, or if it has any general issues that you need to see. This feature is useful for testing your SCORM content before going live with it in your courses.

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 LMS. Please note that only a SCORM package can start communication with the LMS.

SetValue/LMSSetValue ( ). Changes a value in the LMS. 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.