Storyline 360 & SCORM cmi.score values

Apr 19, 2017

I've finally worked out that we can't simply take changes in cmi.core.score.raw/max values on face value when they are committed back to our server.  Their values are only relevant when cmi.core.lesson_status transitions from something such as "incomplete" to "passed" or "failed".  

During a quiz, the cmi.core.score.min/raw/max values are constantly revised both at the start of the quiz but also during the quiz itself whereby a raw score is based on # of questions correct vs # of questions answers to that point.

As LMSCommit()s can occur at any time (due to a periodic commit interval such as 1 or 10 minutes), we see that cmi.core.score.raw can contains some strange numbers if this occurs "mid quiz".  However a quiz always seems to set cmi.core.lesson_status back to "incomplete" at the start, even if cmi.core.lesson_status was previously set to "passed", "failed" or "complete" (after a previous attempt at a quiz).  Therefore, if you are an LMS developer like myself, don't take cmi.core.score.raw at face value unless you also see a transition of cmi.core.lesson_status from something else to "passed" or "failed".

We're using SL2, SL360 and SCORM 1.2.  Can Articulate confirm that my understanding of the above is correct?

Finally, when you pass a quiz (and course), an explicit LMSCommit() occurs.  This does not appear to be happening however when you fail a quiz.  We try to track and record the number of attempts (failed and passed) a user takes with the quiz but if they fail and retake the assessment in a short time, our LMS never gets to see this occurrence via SCORM 1.2.  Is there a way to explicitly force an LMSCommit() after cmi.core.lesson_status changes?



3 Replies
Ashley Terwilliger-Pollard

Hi Chris, 

The status of the course from Passed/failed (or complete) to Incomplete can happen if the LMS is resetting the course results on an additional attempt and it's not something driven solely by Storyline. I know many LMS's force a course into "review" mode after you've reached the completion requirement to prevent the user from adjusting their score or status by accident. 

As for changing how the LMSCommit() behaves, that's something I'll have to defer to the community for as it would involve custom JS and that's not something we can offer support for. 

It sounds like everything else is behaving as I'd expect, but you may also want to look at testing the course at SCORM Cloud to compare it to your LMS and enable LMS debug mode to get a look at the data Storyline is sending. 

Chris Walsh

Hi Ashley,

I'm fine with the course status reverting back to Incomplete from Passed/Failed when the user retakes the quiz.  We also test all our courses in both SCORM Cloud and our own platform.

Our main issue is the fact that cmi.core.score.raw/min/max are being constantly written to while the quiz is in progress and due to the auto-commit process, can get written back to the platform suggesting a result that never actually should have occurred.  

We've seen the negative results of this in both SCORM Cloud and our own platform.

I'm suggesting that these three values are held internally while the quiz is in progress and ONLY ever written out to SCORM when the quiz has been completed along with the revised cmi.core.lesson_status value when all three are in a self-consistent state.

Hope this makes sense.  Thanks,


Ashley Terwilliger-Pollard

Thanks Chris - I appreciate the detail you added here! Storyline is designed to communicate with the LMS throughout the course and pass information like the quiz results and score to the LMS on a regular basis.

I can share the idea here with my team as a feature idea though! It's always good to know when and why you may want it to behave differently! 

This discussion is closed. You can start a new discussion or contact Articulate Support.