Session _Time for Communicating with LMS

Feb 19, 2021

Hi. We create e-learning courses with both Storyline and Rise.  We use TalentLMS and have run into a problem with the time recorded for completed courses.  The courses that have Rise files (tincan) are correct and accurate.  However, the courses that have Storyline files (scorm) are incorrect.  For example, I may have spent a total of 45 minutes on a course, but the time is showing 1 minute 25 seconds.  The support at TalentLMS said it has to do with the session_time file replacing time instead of updating the time.  However, I don't know how to change that. I hate to go back and recreate courses in Rise, but many of our users like to look at the time spent on a course and I would like for this to be accurate.  Do you have any suggestions on how I can make the scorm files communicate properly with the LMS?  Thanks!

3 Replies
Joseph Francis

Keep in mind "session time" and "total time" are two different things.

Session Time, tracked using the SCORM element cmi.core.session_time, is the "amount of time in hours, minutes, and seconds that a student has spent in the SCO at the time they leave it. That is, this represents the time from beginning of the session to the end of a single use of the SCO [emphasis mine]." Session Time is used to keep track of the time spent in a SCO for a session. The LMS will use this time in determining the cmi.core.total_time.

Total Time, tracked using the SCORM element cmi.core.total_time, is a read-only element which is the "sum of all of the learner’s session times [emphasis mine] accumulated in the current learner attempt."

Surender Rajput

Looking for the same answer. Our LMS works on SCORM 1.2. There are two reports one is a user report which gives an individual user report and it has duration column. There are users who leaves the course in between to complete some other task and module stops playing in behind. Does it mean time also stops and once the user resumes , the clock resumes??

Another one calculates learning minutes. However , in case someone leave the training in between, it calculates the total time i.e clock never stops until the user close the training. That is why For few users, learning minutes are 900 800 hours!!

 

Can we do something in SCORM to coorrect it or LMS vendor will help us?? 

 

Joseph Francis

From the SCORM 1.2 Run-Time Environment document (available here), regarding cmi.core.session_time:

A SCO is able, in a single running, to perform multiple sets of the cmi.core.session_time. When the SCO issues the LMSFinish() or the user navigates away, the LMS should take the last cmi.core.session_time that the SCO set (if there was a set) and accumulate this time to the cmi.core.total_time.

Upon subsequent launch of the SCO, and a LMSGetValue() call for cmi.core.total_time, the LMS should return the accumulated time. LMS’s should not accumulate multiple time sent to the LMS by the LMSSetValue() call for cmi.core.session_time.

If multiple calls to LMSSetValue() for cmi.core.session_time are made the LMS should overwrite any existing value that it is persisting for cmi.core.session_time.

Storyline's GetPreviouslyAccumulatedTime() can be used to retrieve and display cumulative time spent in a course. That is retrieving what the LMS is storing to cmi.core.total_time.

As long as a session is "open" (the browser window hosting the course is open), the clock continues to run. So if, in your example, the user minimizes the course window (but does not close it) to complete some other task, cmi.core.session_time will continue to accumulate time, adding that to cmi.core.total_time when the course is finally exited. The clock only "stops" when the browser window hosting the course is closed, or an explicit LMSFinish() is issued (typically handled using Storyline's Exit Course trigger).