cmi.core.session_time and writing cmi.core.total_time

cmi.core.session_time and writing cmi.core.total_time

by Peter Ward -
Number of replies: 10

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


Average of ratings: -
In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

by Peter Ward -

So....

Let me update anyone who should stumble upon this thread.

I've now exhausted all the Articulate Storyline Forums, and have even taken a look at the database records of other Storyline produced Scorms, running in other moodles, on different servers.

But I have found no answer.

Why is it that sometimes moodle stores cmi.core.total_time and on other occasions it doesn't?

I'll keep looking
------------------------------


In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

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

Have you tried using the Moodle SCORM debug log to see if you can track down any inconsistencies?

https://docs.moodle.org/en/SCORM_FAQ#Debugging

In reply to Dan Marsden

Re: cmi.core.session_time and writing cmi.core.total_time

by Peter Ward -

Thanks for your response Dan, much appreciated.

I've captured many API logs and my problem is that I can't replicate the errors when I'm doing my testing, so I'm beginning to think its something to do with the connection between the end user and the moodle database.

I think I'm right that cmi.total_time is calculated by moodle on the server.

I just did another test and closed the Scorm using 'exit activity' whilst watching the API log and also looking directly at the entries in the database at mdl_scorm_scoes_track.

cmi.Total_time was written in the database on 'exit activity' being selected or when I forced the moodle browser window to close.


In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

by Mark Melia -

Hi Peter,

I believe we are having exactly the same issue here. Did you find any resolution to this issue?


Thanks,

Mark

In reply to Mark Melia

Re: cmi.core.session_time and writing cmi.core.total_time

by Peter Ward -

Hi Mark,

I'm afraid I have drawn a blank on this, other than being able to identify that it's not only occurring in one instance of moodle, and on different servers / hosts.

I had thought about asking other moodle admins, who's moodles use lots of Scorm packages, to do a search of their moodle databases to see if they also have incomplete data.

And then to see if there was any commonality between Scorm authoring tools used, moodle setups, e.t.c.

If the moodle is not generating a report that uses total_time then its quite likely that the incomplete data is going unnoticed?

As Articulate have just released an upgrade of storyline, I'll also be republishing some of my Scorms and running those with a watchful eye to see if the storyline upgrade overcomes this issue.

Cheers

Peter.

In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

by Tom Farrow -

Hi there Peter,

I am experiencing this issue also, with the  cmi.core.total_time displaying for some users and not for others. Have you got anywhere with resolving it in the time passed?

Many Thanks,

Mark


In reply to Tom Farrow

Re: cmi.core.session_time and writing cmi.core.total_time

by Peter Ward -

Hi Tom,

I have not been able to get a definitive answer from anyone on this.

The problem continues to exist, and I believe that it's probably a problem for all users of scorm in moodle, given that I've seen the issue on different moodle versions installed on different servers.

Maybe the reason most are not talking about this, is that they are not relying on the cmi.core.total_time for their reporting, so are unaware of the issue.

I've reluctantly explained this away to users that.........'there are many things standing between the end users browser and the moodle database that can cause the delivery of the data from the scorm package to the moodle, to be interupted and therefore incomplete'.

'What do you mean they say!'

Local networks. Local Firewalls. Routing across the internet. e.t.c., e.t.c. I say.

'Well we don't get any problems with other sites we use', they reply.

Maybe Dan Marsden (moodle scorm guru) might be able to add to this given his experience and greater knowledge on this since I last posted.

If someone could provide me with a method that would allow me to trap the reason's behind the lost data, I'd willingly put some effort in to gather additional info that might lead to some clarity on this issue.

Cheers


Peter

In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

by Tom Farrow -

Hi Peter,

Thanks for getting back to me.

I think you might be right in that the majority would be not be relying on cmi.core.total_time for reporting, I rely on  cmi.core.score.raw typically.

But hopefully someone may be to bring some more information about this issue.


Best

Tom

In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

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

Hi Peter, 

I haven't seen any more info on this - if we can work out the conditions that cause it or find a way to reproduce it then I can probably take another look.

In reply to Peter Ward

Re: cmi.core.session_time and writing cmi.core.total_time

by Bharath Parlapalli -

I may have a way to replicate this.


The SCORMs that i am working on seem to report "total time" Only when atleast one Knowledge check (multiple choice question or a scorable activity) is encountered.


I am still looking to get  cmi.core.session_time so I can track the session time spent by each user. anyone have any luck with this?


how to capture  cmi.core.session_time in Moodle?