Scorm WBT Communication
This guide provides information on how to enable debug mode for Scorm WBT media in the LMS and how to perform basic analysis of the data provided in the debug mode. It can be used to troubleshoot Scorm content issues, related to Scorm progress.
Activation of the Debug Mode
LMS has a special page using which a debug mode can be activated for the session.
Login to the system with your account. You should be logged in before proceeding to the next step. The user should have access to Frontend of the system.
Open the page
/ilp/pages/scorm-debug.jsf
within your logged in LMS session - see screenshot below.
The path should be added to your LMS / Learning Suite URL.Access a Scorm WBT as a learner. It means that your user should be enrolled to the course with Scorm WBT and this WBT should be accessible for the learner. When the WBT player is opened, please open browser’s developer tools (usually it can be opened by pressing F12 on PCs) and access the “Console” tab.
Now you can observe the scorm traffic via the console output of the debug tools, indicated by "++: " e.g.:
++: Initialize() → true
++: GetValue(cmi.completion_status) → “incomplete”
++: SetValue(cmi.session_time, PT2M54.17S)
++: Terminate() → true
The console will show debug information for your WBT. The information should help you to determine possible issues with Scorm WBTs, observe the status at certain points and provide general information on Scorm communication. You can copy appropriate information from the console tab and provide this information either to the imc support in case of questions, or to your Scorm content developer in case corrections are needed.Logout from the system. When you log out, the SCORM debug mode will be deactivated.
Typical Behaviour and Log Entries for a Standard Scorm WBT
When the user first started a WBT and does not have any progress the Scorm debug shows info similar to the one you can see on the screenshot:

Here we can see initialization and general info about the Scorm content e.g. Scorm version (this one is Scorm 1.3/2004):

Below the initial info the Scorm Status and Scorm Success status values are specified:

This is normal behaviour when the user first opens Scorm, there are no info about previously saved progress as the user never opened it before.
Next you will see Scorm Suspend data, Scorm Progress (progress is measured from 0 to 1) and Scorm Score values.

Pay attention that the console may display different types of errors. On the one hand, these entries can help when investigating the errors, but on the other hand they can also limit the clarity of the scorm analysis. You can temporarily deactivate the display of these errors in the console as follows:

Going further we can see that the status is changed from unknown to incomplete. So, at this point the status of WBT for the current user is incomplete.

After playing/starting the WBT (in our case it’s a set of slides, audio/video content) and having some progress you will notice changes in the Scorm debug info.

++: GetValue(cmi.suspend_data) -> '("W":<<0,46446>>)T46446' - this is a request for Suspend data, where the user stopped working with the WBT:
Scorm Suspend data: ("W":<<0,46446>>)T46446
++: GetValue(cmi.progress_measure) -> '0.2' - this is a request for getting value about the current progress of WBT performed by the user.
Scorm Progress: 0.2 - this is the actual value for Scorm Progress for our user.
Player event: sp.player.playbackPaused {type: 'sp.player.playbackPaused'} - tells that the WBT player is paused.
Let’s check what we have after finishing WBT:

In this section we can see that the status now is “completed” and success status is “passed”. It means that the user has completed a WBT with the status “passed”.
++: GetValue(cmi.completion_status) → “completed”
Scorm Status: completed
++: GetValue(cmi.success_status) -> “passed”
Scorm Success status: passed
We also see that the status was changed to “Completed”.
Status: completed
++: SetValue(cmi.score.scaled, '1')
++: :: getSCODataModel()
++: Commit() -> true
++: SetValue(cmi.score.raw, '1')
++: :: getSCODataModel()
++: Commit() -> true
At the end of the log the following data is available as well:

++: SetValue(cmi.progress_measure, '1') - progress_measure is set to 1
++: :: getSCODataModel()
++: Commit() → true - changes were commited to LMS. This is an important last step, and proves that the scorm data was indeed commited/transferred to the LMS.
Identifying Possible Scorm Communication Issues with Scorm WBT Content
Incorrect completion status/status not transmitted:
This is a typical use case where your LMS does not show the Scorm content as completed. In this specific case the Scorm WBT seems completed from the user perspective, but the Scorm does not register this and does not provide a completion and success status to LMS.
By checking the scorm debug information, we can clearly see the Scorm WBT has a completion status “incomplete” and success status “failed”. In this specific case the Scorm WBT seems completed from the user perspective, but the Scorm does not register this and does not provide a completion and success status to LMS. The Scorm content developer/provider should resolve this issue in the content itself.
The LMS only reacts to the Scorm communication, meaning if your Scorm communication does not transmit a completion status, the content will not show up as completed in your course in the LMS.
