I have evidence of the situation I'm about to describe in both moodle version 2.4.4 and 2.6.4 with various different scorm 1.2 packs produced in Storyline by a number of different developers. I have access to a moodle 2.7 and could try to replicate the problem there, but at this stage I'm just trying to understand in general terms why the situation might be occurring, so that my further testing might be better focused.
Situation:
The scorms function as expected and have been tested in the scorm cloud and also with moodle API debugging switched on.
When looking at the 'Track Details' of some students interactions with a Scorm Pack cmi.core.total_time is displayed, whilst other students have no cmi.core.total_time recorded and others have times recorded as just a few seconds.
cmi.core.total_time:
I understand that cmi.core.total_time is calculated by moodle, using the cmi.core.session_time that is sent by the Scorm, which I have seen in the API log.
The scorms I tested send the cmi.core.session_time soon after the Scorm starts to play, and then again, just before the Scorm closes.
I know that if an activity is allowed to be attempted multiple times, then moodle will add the cmi.core.session_time of a 2nd attempt to that of the cmi.core.total_time already stored. But in my situation the Scorm activity can only be actioned one time.
Why the 'Track Details' are as described in the Situation. (My Logic)
Clearly, if no cmi.core.session_time has been sent by the Scorm, then that will result in moodle not being able to calculate the cmi.core.total_time, hence the record does not exist in the database.
Clearly if only one cmi.core.session_time (note: it's sent twice in my example) is sent, then moodle will calculate cmi.core.total_time based on that (hence some of my total times are shown as a few seconds if the cmi.core.session_time is not sent at the end of the Scorm
Trying to Replicate the Situation.
I've tried using different browsers, and operating systems whilst logged on as a student to try and generate a 'Track Detail' that replicates the actual students situation I'm describing.
Only once did I achieve that, and that came as a result of a 'warning - unresponsive script error' which eventually forced the browser (Firefox latest version) to close.
The script referred to was pluginfile.php/1862/mod_scorm/content/3/lms/SCORMFunctions.js:828
When this happened because the browser closed unfortunately I was unable to capture the API log.
Unfortunately there are many student records in the moodle with no cmi.core.total_time shown in their 'Track Detail'.
So here's My Questions
What might cause a Scorm not to send the cmi.core.session_time?
Could this situation simply be down to my students losing internet connection? Or..
What might cause the moodle to fail to write the cmi.core.total_time into the database if the Scorm has sent the cmi.core.session_time?
Many thanks in advance for any information you might add to help me come to a conclusion with my understanding on this.
Cheers