Session time and total time from Articulate Storyline content

Session time and total time from Articulate Storyline content

by Zoran Jančić -
Number of replies: 6
Picture of Particularly helpful Moodlers

Hi!

I have an Articulate 360 SCORM 1.2 course where tracking time is critical and we're having about 1-2% of users who have lession status "passed" but no total time recorded in Moodle. I tried it in every browser I could think of but couldn't reproduce until I noticed that the time spent info is sent to Moodle at the time of closing the browser window (or closing the complete browser). We're using Moodle's option for opening SCORM content in a new window because of multiple reasons so that's must have for us. If user doesn't close the browser window where th content is loaded and closes the laptop causing the session to time out, time spent is not stored to Moodle. So, I'm wondering is there a way to somehow force Articulate or Moodle to update time spent on every slide or at least when storing lesson status so there could be no situations where user has lesson status but not lesson time recorded?

As a safety net, we're using Moodle dedication plugin that records times between events in Moodle log. That's fine but we still have an issue with that. SCORM module writes an event to the log when user launches the content and when user closes the browser Window. Here we have the similar issue as described before. User opens the SCORM content, event log stores event of opening the content, user uses the content for a while, doesn't close the window, closes the laptop and the time is not shown in dedication plugin report. I know we can't know if user really used the content after opening it and for how long but we I'm wondering if it would be possible to modify dedication plugin so it adds configured max time between clicks to each session.? That would give us more real results for users that don't close the scorm window. 

Regards,
Z.

Average of ratings: -
In reply to Zoran Jančić

Re: Session time and total time from Articulate Storyline content

by Zoran Jančić -
Picture of Particularly helpful Moodlers
Or... maybe we could somehow add more events to Moodle log that would be used by dedication plugin when calculating time? Maybe we could somehow tweak Moodle's SCORM module to write an event each time it writes any SCORM tracking data to the database so there would be no possibilities for having scorm lesson status set without time spent.
In reply to Zoran Jančić

Re: Session time and total time from Articulate Storyline content

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Could be related to MDL-68896 - some remaining XHR issues - that fix will hopefully land in stables this week! smile
In reply to Zoran Jančić

Re: Session time and total time from Articulate Storyline content

by Zoran Jančić -
Picture of Particularly helpful Moodlers
I did a test today to compare how the same Articulate Storyline package functions in Scorm Cloud (cloud.scorm.com). I noticed that the Scorm Cloud updates total time each time the content sets session_time. In other words, unlike Moodle, it doesn't wait for LMSfinish() to update total time, so if LMSfinish is never called, Scorm Cloud would save total time anyway and Moodle would not. Does anyone have an idea how to force Moodle to update SCORM total time more often, for example each time a content calls LMSSetValue for cmi.core.session_time?
Average of ratings: Useful (1)
In reply to Zoran Jančić

Re: Session time and total time from Articulate Storyline content

by Zoran Jančić -
Picture of Particularly helpful Moodlers
The Articulate content often sends cmi.core.session_time to the Moodle. That's some kind of temporary value because we don't know if the user finished his SCORM session or not. When SCORM session ends, Moodle reads the last cmi.core.session_time recieved from the SCORM in that session and adds that to the cmi.core.total_time in the database. Each SCORM package (and each SCO) has it's own cmi.core.total_time. The problem is that sometimes a user doesn't close the browser window or the content window and just closes the laptop. Laptop goes to sleep but html session doesn't end so Moodle doesn't recieve the info that the user finished the SCORM. When the user turns the laptop on again wakeing it from the sleep, html session is already gone and Moodle never gets the info that user's SCORM session ended so it never adds cmi.core.session_time to the cmi.core.total_time. The solution would be that the Moodle adds first cmi.core.session_time to cmi.core.total_time when SCORM sends the cmi.core.session_time for the first time in the session. Later, for each subsequent cmi.core.session_time recieved from the content, the Moodle would have to calculate the difference between this one and the previous cmi.core.session_time received in the same SCORM session and add that difference to the cmi.core.total_time. So, cmi.core.total_time would be updated correctly each time the content sends the new cmi.core.session_time. If the user doesn't close the content window or the browser window and the Moodle never receives the info that SCORM session ended, cmi.core.session_time is still recorded in the database using all cmi.core.session_time values received from the content during that SCORM session.

I'm not sure if some kind of solution can be done from the content side also, but I doubt it.
Average of ratings: Useful (1)
In reply to Zoran Jančić

Re: Session time and total time from Articulate Storyline content

by Paolo Corsi -

Same problem. How you fixed? Any idea or solution?

Thanks 

In reply to Paolo Corsi

Re: Session time and total time from Articulate Storyline content

by Zoran Jančić -
Picture of Particularly helpful Moodlers
Didn't fix yet. The problem remains. Definitely problem on Moodle's side.