Forum Discussion
Test results response file
It could be I don't fully grasp how the SCORM cmi.interactions are delivered to the LMS. One of my colleagues wants to see what answers the SCORM course has indicated as correct and compare it with the output response file that is received after a user interacts with the course.
Ok I understand. In this instance, a document with questions and answers is the best method. Next to each option, you would likely need to add a key to indicate how the response will appear in the LMS. Using your Yes, No as an example:
Q: Was the customers behaviour acceptable? : Scene1_Slide1_TrueFalse_0_0
Yes : t
No : f
Highlighting the correct answer with bold, and adding the response as it would be seen in the LMS. Also adding the ID so it can be view in conjunction with the report.
This is the type of data that is sent to the LMS for each question that has an associated results page (example of the data stored for the question above):
LMSSetValue('cmi.interactions.0.id', 'Scene1_Slide1_TrueFalse_0_0')
LMSSetValue('cmi.interactions.0.type', 'true-false')
LMSSetValue('cmi.interactions.0.student_response', 'f')
LMSSetValue('cmi.interactions.0.correct_responses.0.pattern', 'f')
LMSSetValue('cmi.interactions.0.result', 'correct')
LMSSetValue('cmi.interactions.0.weighting', '10')
LMSSetValue('cmi.interactions.0.latency', '0000:00:11.68')
LMSSetValue('cmi.interactions.0.objectives.0.id', 'Was_the_customers__behaviour_acceptable_')
LMSSetValue('cmi.interactions.0.time', '11:40:08') returned 'true' in 0.001 seconds
If you use a multiple choice question, Storyline uses the first letter of the Checkbox or Radio button label to send to the LMS. For example, if you have a label of "Yes", Storyline would send "y" the LMS.
Note: I have just found a bug with Storyline. If you have multiple values beginning with the same letter, the responses will be stored with that letter. For example:
Q: How many stars are on the Australian flag? : Scene1_Slide2_MultiChoice_0_0
Six : s
Seven : s
Eight : e
Nine : n
Following is the data send to the LMS when responding to the question with incorrect answers until selecting "Six", the correct answer.
Note: Storyline attempts to send the full label to the LMS first. As you will see, a response of 'Seven' is sent to the LMS. I'm using SCORM Cloud, which rejected the value as it is not a SCORM compliant value. Storyline then falls back to a SCORM Compliant value (0-9, a-z), and uses the first initial for the value. The LMS vendor could make the decision to allow the value that do not fit the 0-9, a-z requirement though and allow the value of 'Seven' to be stored.
LMSSetValue('cmi.interactions.4.id', 'Scene1_Slide2_MultiChoice_0_0')
LMSSetValue('cmi.interactions.4.type', 'choice')
LMSSetValue('cmi.interactions.4.student_response', 'Seven') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.4.student_response', 's')
LMSSetValue('cmi.interactions.4.correct_responses.0.pattern', 'Six') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.4.correct_responses.0.pattern', 's')
LMSSetValue('cmi.interactions.4.result', 'wrong')
LMSSetValue('cmi.interactions.4.weighting', '10')
LMSSetValue('cmi.interactions.4.latency', '0000:00:11.39')
LMSSetValue('cmi.interactions.4.objectives.0.id', 'Was_the_customers__behaviour_acceptable_')
LMSSetValue('cmi.interactions.4.time', '11:54:57')
LMSSetValue('cmi.interactions.5.id', 'Scene1_Slide2_MultiChoice_0_1')
LMSSetValue('cmi.interactions.5.type', 'choice')
LMSSetValue('cmi.interactions.5.student_response', 'Nine') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.5.student_response', 'n')
LMSSetValue('cmi.interactions.5.correct_responses.0.pattern', 'Six') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.5.correct_responses.0.pattern', 's')
LMSSetValue('cmi.interactions.5.result', 'wrong')
LMSSetValue('cmi.interactions.5.weighting', '10')
LMSSetValue('cmi.interactions.5.latency', '0000:00:14.52')
LMSSetValue('cmi.interactions.5.objectives.0.id', 'Was_the_customers__behaviour_acceptable_')
LMSSetValue('cmi.interactions.5.time', '11:55:00')
LMSSetValue('cmi.interactions.6.id', 'Scene1_Slide2_MultiChoice_0_2')
LMSSetValue('cmi.interactions.6.type', 'choice')
LMSSetValue('cmi.interactions.6.student_response', 'Eight') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.6.student_response', 'e')
LMSSetValue('cmi.interactions.6.correct_responses.0.pattern', 'Six') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.6.correct_responses.0.pattern', 's')
LMSSetValue('cmi.interactions.6.result', 'wrong')
LMSSetValue('cmi.interactions.6.weighting', '10')
LMSSetValue('cmi.interactions.6.latency', '0000:00:17.47')
LMSSetValue('cmi.interactions.6.objectives.0.id', 'Was_the_customers__behaviour_acceptable_')
LMSSetValue('cmi.interactions.6.time', '11:55:03')
LMSSetValue('cmi.interactions.7.id', 'Scene1_Slide2_MultiChoice_0_3')
LMSSetValue('cmi.interactions.7.type', 'choice')
LMSSetValue('cmi.interactions.7.student_response', 'Six') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.7.student_response', 's')
LMSSetValue('cmi.interactions.7.correct_responses.0.pattern', 'Six') returned 'false' in 0 seconds
LMSSetValue('cmi.interactions.7.correct_responses.0.pattern', 's')
LMSSetValue('cmi.interactions.7.result', 'correct')
LMSSetValue('cmi.interactions.7.weighting', '10')
LMSSetValue('cmi.interactions.7.latency', '0000:00:19.81')
LMSSetValue('cmi.interactions.7.objectives.0.id', 'Was_the_customers__behaviour_acceptable_')
LMSSetValue('cmi.interactions.7.time', '11:55:06')