|Click to go back to the main page|
Sharable Content Object Reference Model (Scorm) is a collection of standards and specifications for web-based electronic educational technology (also called e-learning). It defines communications between client side content and a host system (called "the run-time environment"), which is commonly supported by a learning management system. Scorm also defines how content may be packaged into a transferable ZIP file called "Package Interchange Format.
Scorm 1.2 was the first version that was widely used. It is still widely used and is supported by most Learning Management Systems.
In SF LMS scenario:
In SF LMS, The API is exposed by The Structure page, then the content find this API and initialize the Scorm connection.
If the course is well-designed by vendor, the code will scroll all windows hierarchy (course window is self-window and LMS window is the parent window) to find the Scorm API. The window exposing Scorm API should contains object ‘API’. All following test have been made with Scorm Test content
In the example below, the content code tries to get the API object from course window (1st attempt) then to parent window (=LMS window on 2nd attempt).
1st loop: try to get API from content popup page -> fail
2nd loop: try to get API from Parent window=LMS Structure page -> OK
Many troubleshooting tools are available to track the Scorm mechanism, from content ‘button click’ to values requested and stored in the database, the chain of events can be followed in below diagram. In below example, Scorm value ‘lesson_status=completed’ has been committed/posted to LMS server.
VENDOR CONTENT LEVEL
Script Debugger tools can be used to capture the ButtonClick event, how the Scorm API is identified (see previous chapter) or how Scorm Functions are called. Using Breakpoint can help to identify values and functions stacks. Each browsers as its debugging tools: On Firefox, with add-on Firebug (see previous chapter) or Debugger (F12), On IE->IE Developer Tools (F12), On Chrome->Debugging Tools (F12). Note that the content code is developed by the vendor, SF is not responsible for this code.
SCORM API LEVEL
API functions can be identified with all cmi values (lesson_status, score, lesson_locations..) involved.
NETWORK TRACES LEVEL
Many tools can be used (HTTPWatch, Fiddler, IE Dev Tools, Firefox Dev Tool, Chrome Debugging Tool). Scorm communication can be identified and see values posted to LMS and requested from LMS. All the example of this guide are done with IE Dev Tools(F12) as most of customers are restricted to IE browser and cannot install any software (HTTPWatch or Fiddler), For sniffer tools, see KBAs:
Scorm communication is identified with URL ‘/learning/PwsAicc’
Scorm values posted within the Scorm communication
Cookie section to identify JSESSIONID
Only for Customer Support
Scorm value sent by Content to LMS can be identified in the Database:
PA_CBT_STUD_CPNT_MOD column AICC_DATA
Using this query:
select md.*,st.* from my_schema.PA_CBT_STUD_CPNT st,my_schema.PA_CBT_STUD_CPNT_MOD md where st.stud_cpnt_id = md.stud_cpnt_id and st.stud_id='my_stud_id'and st.cpnt_id='my_cpnt_id';
6. What functions and values are used by Scorm 1.2 course?
Scorm1.2 API has a limited number of functions, those function can process Scorm values called CMI ("Computer Managed Instruction"), KBA:
Once the API has been found, the content can use functions included in Scorm API:
The content must call this function before calling any other API function. It indicates to the LMS that the content is going to communicate.
This function trigger a GetParam command to LMS, then LMS returns all Scorm values stored in DB
-> SCORM API:
-> NETWORK TRACES:
SCORM COMMUNICATION OCCURRED:
REQUEST VALUE TO LMS:
RESPONSE FROM LMS:
This function is used to pass data from the CMI to the content. Only one value is returned for each call. The category and/or element is named in the parameter.
This function returnes value stored locally (not in LMS DB), it does not perform any GET_PARAM from LMS. There is no network interaction.
This function set the scorm values locally, this function does not send any data to LMS, the data will be send to LMS when Commit() function is called.
Ex: set a score of 88
Commit Function send all values previously set (with LMSSetValue function) to LMS
7. Major Scorm values
Major Scorm values
The most important Scorm values (also causing the most of issues) are the ones in charge of the course completion, they can be tracked tin the database, see AICC_DATA Colum Analysis section:
- Lesson_status -> Completed/Passed value to trigger completion
- Score -> needs to be over Mastery Score set at the item level
- Session_time -> sent to LMS, it increments TOTAL_TIME value on LMS Database
8. Common Troubleshooting
The main steps are defined in this guide: 2293373 - SCORM & AICC Content Troubleshooting Guide
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.
Is it happening to all users with one specific item?
Is the issue happening to only one or few users with a specific item?
Is there a Mastery Score set on the content object (admin side: Item record->Online Content, click on Content object) that affected users could have potential not reached?
Do you see an ‘API not Found’ or equivalent error when affected user launch the course?
Was this course working before and suddenly all users are not able to complete the course?
Are the affected users spend a long period of time (~2h) on the course compared to successful users?
Did the affected users closed or navigate away from the Launch page (Online structure page with yellow rectangle) before closing the course window?
If the course is not hosted on SF Icontent server and the issue is replicable by all users, did you implement a cross-domain solution (Proxlet or Reverse-Proxy)?
Has SF Icontent server been implemented recently?
Is it happening on all browsers (Internet Explorer, Firefox, Chrome)?
Is it happening only on Internet Explorer?
Is the issue happen to users of a specific region?
Is the issue happen for students connected to a specific network?
Is the issue happening with courses from the same vendor?
Is the course has several Exit buttons (Red-Cross on popup top-right + exit button within the content)? Do they have the exact same behaviour? Are affected users using a particular way to exit the content comparing to successful users?
Did affected users exit the course on final slide after completing the quiz? Or did they navigate back to table of content (or back to previous chapters/slides) before exiting?
Did the affected user provide you a screenshot that show quiz was successful?
Do you know exactly the completion criteria of the course (min score, chapter/final quiz, 100% slides coverage)?
If the content contains quiz at the end of each chapters and a final chapter, would you know from the vendor if the completion criteria is based only on final chapter?
Is the completion criteria also based on slides/chapter viewed in addition of final quiz?
Is the completion criteria based on the order of viewed chapter? Order of completed quizzes?
Student completed the quiz but item still in Learning Plan
2 main scenarios:
Content never sent ‘lesson_status=completed/lesson_status=passed’ (with score if a mastery score is set),
Check in the database if any ‘Completed/passed’ value (see Query to see Object Details in previous chapter)
Ask student to replicate with network traces, then identify ‘learning/pwsaicc’ traces and lesson_status/score values sent
Check the Completion condition of the Item on admin side, see if Scorm value sent to LMS fullfill the LMS Item->Online Content setting.
Reassign the item (the item completion condition could have been changed by an admin since the item assignment)
See above Content patterns which could help to identify why content is not sending completion value.
Environment related: Scorm content never found the Scorm API and failed silently (Environment)
Make sure ‘*.plateau.com’ domain is in IR Trusted Sites (Internet Options->Securitry Tab->Sites button)
Track user session with splunk logs, see if any Scorm connection ‘learning/pwsaicc’
Ask user to collect logs see if any ‘learning/pwsaicc’
Bookmarks are not working, student need to start from the start when re-launching
- Possibility that the content never connect to Scorm API (some vendor does not show any error message so silently fails), need to troubleshoot environment.
- The content does not sent any bookmarks (Scorm suspend_data):
check on DB if any bookmarks saved (table pa_cbt_stud_cpnt_mod_bkmrk columm bookmark, see DB query ‘Object Details with Bookmarks’)
Student completed the course but no score displayed
Check in the Database if Scorm score was sent to LMS (table pa_cbt_spnt_mod:SCORE, see DB query ‘Object Details with Bookmarks’)
Student completed the course but no time displayed
Check in the Database if Scorm score was sent to LMS (table pa_cbt_spnt_mod:TOTAL_TIME, see DB query ‘Object Details with Bookmarks’), note that each time the course is launched, the content sends SESSION_TIME (assuming the conten is well designe and send cmi.core_session_time value), LMS increments TOTAL_TIME with received SESSION_TIME. SESSION_TIME is not stored in DB.
AICC_DATA column Analysis
A way to track Scorm completion for CS agent is to check the value of PA_CBT_STUD_CPNT_MOD column AICC_DATA (see DB query ‘Object Details’)
Item assigned then launched with no Scorm communication:
•Scorm Connection initialized
AICC_DATA gets value ‘[PLATEAU_CONTROL] FIRSTTIME=0’
In the DB PA_CBT_STUD_CPNT_MOD column AICC_DATA does not always reflect what the content was sending. LMS modify LESSON_STATUS value with below logic. An Item Object has been setup with MASTERY SCORE = 80 :
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
SAP SuccessFactors Learning
Scorm, Scorm 1.2, LMS Content , KBA , LOD-SF-LMS-CNT , Content , LOD-SF-LMS , Learning Management System , How To
About this pageThis is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP ONE Support launchpad (Login required).
Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.