SCORM12 AICC Troubleshooting Guide
SCORM12 AICC Troubleshooting Guide
Situations examples:
“Quiz displayed Completed but it didn’t move to Learning History”
The scorm communication will need to be analysed to make sure the correct
completion value ‘lesson_status=completed’ or ‘lesson_status=passed’ has been sent
to LMS server. (see chapter 2.3->2.5)
“When I relaunch the content I lose the bookmarks”
The scorm communication from initial launch needs to be analysed to see if
CORE_LESSON values has been sent to LMS server. (see chapter 2.3->2.5)
“I see ‘API not Found’ when I launch the course”
Analyse the scorm connection (see chapter 2.2)
“The course has been completed but it shows no score in Learning History”
The scorm communication needs to be analysed to see if SCORE value has been sent
to LMS server. (see chapter 2.3->2.5)
March 4, 2016 1
SuccessFactors Learning
Table of Contents
March 4, 2016 2
SuccessFactors Learning
1. Establish a Diagnostics
There can be various root causes for an issue and difficult to identify especially if the issue is
intermittent. So first, patterns need to be identified, keep all those questions in mind during the
troubleshooting. If you open a CS incident, please answer as much as possible bellow
questions.
March 4, 2016 3
SuccessFactors Learning
2. SCORM1.2/AICC Best Troubleshooting: Replicate the issue
with network traces
The best situation is to collect the network traces when the user is replicating the issue (ex: launch
content, complete the quiz and exit)
March 4, 2016 4
SuccessFactors Learning
Traces analysis
2.2. Identify the scorm1.2/AICC connections
From the traces collection, you should now have 2 files: a CSV file containing the Summary
info and the XML file containing the traces details info. If you only have the XML file, you can
still display the same info as the CSV (in less user-friendly view).
Summary Panel analysis:
Open the Excel csv file that you saved after collecting the traces:
March 4, 2016 5
SuccessFactors Learning
(Note that each vendor designs its own logic to send and request scorm data, you might not
see 4 scorm interactions when exiting)
Questions to ask from the trace analyse:
No -> there was no Scorm connection, which Also causes the ‘API Not Found’ error,
possibilities:
- If issue is only on IE, ‘https://*.plateau.com’ domain could be missing in
Trusted Sites list Internet Options->Security Tab->Trusted Sites->Sites Button. If
the issue is happening only in one region, it’s possible that all users of this region
don’t have this trusted site as IE setting can be pushed to company regions with
Windows Group Policy.
March 4, 2016 6
SuccessFactors Learning
The course might not be Scorm1.2 compliant. Test the course on a different LMS
to see if it is also replicable, the best is to use CloudScorm LMS
https://cloud.scorm.com, it is free to register and only takes few minutes (register-
import content-launch-collect the logs), see if the issue is replicable on
https://cloud.scorm.com .
For Scorm1.2, If the content is not hosted on SF Icontent, the cross-domain solution
(Proxlet) might not be setup correctly, see in Content Object->Cross Domain Tab
that all urls are correctly filled
If you recently had SF Icontent server implemented, and you started to test content on
it, check on https://customer.plateau.com/learning/diagnostics/icontent.jsp, make sure
all check marks are in green, if not, please open a CS incident.
This keep alive ping is use to keep LMS session alive. Every 5 minutes Structure page sends
a keepalive to LMS, then LMS renew the session timeout for an additional 30 minutes. Based
on this mechanism, LMS session never get expired while the course is opened
No -> not a problem if the student spent less than 5 minutes in the course. If student spent
over 5 minutes and you don’t see it, it means the student closed LMS or navigated away
from the ‘Yellow Rectangle’ page. In this situation the scorm connection is deactivated thus
the course cannot send the completion info to LMS.
Info: This Keep Alive period is defined in System admin->Configuration->System
Configuration->LMS_ADMIN-> contentStructurePageKeepAliveInterval . It is set by default to
5 Min (300 sec).
March 4, 2016 7
SuccessFactors Learning
2.4. Identify SCORM1.2/AICC connections within Traces XML file
If you only saved the XML file from the traces. You can also get the same info as the CSV.
Open the XML file with Notepad++ Editor (https://notepad-plus-plus.org).
Search for string ‘<url>h’ and click ‘Find All in Current Document’.
March 4, 2016 8
SuccessFactors Learning
2.5. Identify the SCORM1.2/AICC values posted to LMS
In Completion problem, we need to verify if the course sent the correct completion values.
This value is ‘LESSON_STATUS’ (defined as cmi.core.lesson_status in Scorm1.2 Standard).
In addition, you can also keep track on bookmarks/progress data, score and time values sent
to LMS.
All along the course, the content post multiple scorm values to LMS, the values stored in LMS
Database are the last ones sent by the content.
Steps:
- Open the XML file with Notepad++ Editor (https://notepad-plus-plus.org).
- Open the Find Panel: Search->Find (or Ctrl-F)
- Search for string ‘command=POST’ and click ‘Find All in Current Document’.
It will then display all the Scorm/AICC data that were sent from the content to LMS
March 4, 2016 9
SuccessFactors Learning
Note that in chronological order (top to bottom), if you see ‘incomplete’ value after a
‘completed’ value, it is a content design problem, you’ll need to notice it to the vendor: a
content should never send any Incompletion after a completion, in this situation LMS will
record the completion then put back the item in learning plan.
March 4, 2016 10
SuccessFactors Learning
Get a better visibility of Scorm data by decoding the last line (last scorm values sent to LMS)
With http://www.urldecoder.org/
Values displayed:
March 4, 2016 11
SuccessFactors Learning
Do you see value LESSON_STATUS ‘completed’ or ‘passed’?
Yes -> The content object should now be set as completed, if the item does not go in
Learning History, you need to make sure that the content object triggers the item completion
On item record->Online Content Tab, If ‘Records learning event when content passed’ is
unchecked:
You need to make sure ‘Record learning event when all content is complete’ is checked:
This config is applied to the item when getting assigned, so item already in learning plan won’t
see the change, thus will need to be reassigned.
No -> if the content is sending lesson_status with any other value than ‘completed’ or
‘passed ‘ (ex: ‘incomplete’ ‘failed’ or empty), the issue is from the content itself, you can
contact the vendor to identify the scenario (see above ’Content patterns’ about exit
buttons, navigation back…)
March 4, 2016 12
SuccessFactors Learning
3. Troubleshooting Scorm1.2/AICC without network traces
See keep alive interactions of the last course launch LMS session
March 4, 2016 13
SuccessFactors Learning
4. More Scorm1.2/AICC Troubleshooting
March 4, 2016 14
SuccessFactors Learning
4.2. Troubleshoot with Firefox/Chrome/HTTPWatch/Fiddler
This guide shows an example with Internet Explorer Network Traces. Network traces can
also be collected on Firefox, Chrome, HTTPWatch and Fiddler. On Firefox and Chrome, the
traces will be generated in an HAR file. The exact same troubleshooting can be performed in
a friendly way as not based on XML.
See guides:
Firefox_DevTools_Collect_NetworkTraces.pdf
Chrome_DevTools_Collect_NetworkTraces.pdf
HttpWatch_Collect_NetworkTraces.pdf
Fiddler_Collect_NetworkTraces.pdf
To analyse the HAR file, go on page: https://toolbox.googleapps.com/apps/har_analyzer/
March 4, 2016 15
SuccessFactors Learning
4.3. SCORM1.2 API Logs
This section does not concern AICC course.
Technically, in your browser, it is not the content code that sends directly the scorm values:
When opening the Structure page (in order to launch the course), Structure page exposes the
Scorm API. Then, the content find this Scorm API and Initialized the scorm connection. Every
time the content wants retrieve or post scorm data, it does it through the scorm API.
It is possible to collect the Scorm API with this guide:
SCORM_API_log_collect_guide.pdf
For Completion issues, scorm API logs are rarely needed. SF LMS is not supporting the full
Scorm Standard, if the content is using scorm data not supported by SF LMS, we would see
it in Scorm API Logs, for example ‘cmi.student_data’:
(http://www.knowledgepresenter.com/kpuniversity/v7/helpv7/index.html?http://www.knowled
gepresenter.com/kpuniversity/v7/helpv7/Creating%20Interactive%20Documents/scorm.html)
In scorm APl logs, we would be able to see if the content is requesting
‘cmi.student_data.mastery_score’, this scorm data is not supported by SF LMS.
cmi.student_data.mastery_score is a ‘dynamic Mastery Score’, this Mastery Score is pulled at
the student profile level when launching the course (benefits is that different student could
have different minimum score to reach). In the Scorm API logs, we would see an ERROR
when the content request ‘cmi.student_data.mastery_score’.
‘cmi.student_data.mastery_score’ can have an impact of completion, the content might set it
to ‘100’ by default if ‘cmi.student_data.mastery_score’ is not returned by LMS.
March 4, 2016 16
SuccessFactors Learning
March 4, 2016 17
SuccessFactors Learning