You have created a debug log....Great!...Now what does it all mean?
You should see a series of getValue calls - getting data back from the LMS that was previously stored and setValue calls - the course setting data to be committed to the LMS database.
getValue calls - getting data back from the LMS that was previously stored
setValue calls - the course setting data to be committed to the LMS database.
Now for a rundown of the important stuff...
Initialize/LMSInitialize - This is the first call that is going to be made by your course. It is the initial handshake with the LMS and the beginning of the communication.
At this point, the course will likely do a series of getValues for:
cmi.core.lesson_status (for SCORM 1.2) - This is the status of the course and the values can be "incomplete", "completed", "passed", 'failed".
cmi.completion_status (for SCORM 2004) - This is the element that describes whether the learner got to the end of the course. The values can be “completed”, “incomplete”, “not attempted”, “unknown”.
cmi.success_status (for SCORM 2004) - This is the element that describes whether the learner mastered the course if it had a quiz. The values can be “passed”, “failed”, “unknown”.
cmi.location/cmi.core.lesson_location (SCORM 2004/SCORM1.2) - This element describes what the course uses as a bookmark (i.e. a place to come back to if the learner leaves). It is entirely up to the content for what this can be. A slide number, slide name...code...etc.
Interactions How a learner answered each question in a quiz. Please note that you will see the most interaction data out of your SCORM 2004 courses. SCORM 1.2 does not have as robust of an interactions model.
As an example, I pulled some example calls from one of our Golf courses...
This is a unique identifier for the interaction.
- [16:51:38.967] SetValue('cmi.interactions.0.id', 'com.scorm.golfsamples.interactions.playing_1') returned 'true' in 0 seconds
The question text.
- [16:51:38.967] SetValue('cmi.interactions.0.description', 'The rules of golf are maintained by:'?') returned 'true' in 0 seconds
If there are any objectives tied to the interaction, it is listed here...
- [16:51:38.967] SetValue('cmi.interactions.0.objectives.0.id', 'obj_playing') returned 'true' in 0 seconds
The type of interaction...this can be true/false, choice, short answer, etc...
- [16:51:38.967] SetValue('cmi.interactions.0.type', 'choice') returned 'true' in 0 seconds
The learner's actual response...
- [16:51:38.967] SetValue('cmi.interactions.0.learner_response', '1') returned 'true' in 0.001 seconds
The correct response to the question.
- [16:51:38.968] SetValue('cmi.interactions.0.correct_responses.0.pattern', '1') returned 'true' in 0 seconds
Did they get it right?
- [16:51:38.968] SetValue('cmi.interactions.0.result', 'correct') returned 'true' in 0 seconds
LMSCommit/Commit (SCORM1.2/SCORM 2004) - This is an interesting one as it is the call that tells the LMS to commit any uncommitted data to the LMS Database...the tricky part is not every course uses it. Due to that, our SCORM Cloud and any other LMS running our SCORM Engine actually ignores this call and commits data based on a frequency set on the player side of things. In SCORM Cloud, the default is every 10 seconds...
LMSFinish/Terminate(SCORM 1.2/SCORM 2004) - This is the call the ends communication.
You can read the full runtime reference here.