Caching and LMS Tracking

Aug 03, 2011

We've been having issues with a small percentage of our customers where they claim to have completed training, yet we don't show them as completed in our LMS.  Many of our customers use "training" workstations to complete training.  In thinking about the issue we considered caching as potentially causing the problem and did the following test:

  1. Completed a 45 minute training as one user.
  2. Logged in as a second user, began the training, unplugged the ethernet cable and turned off wifi

We were able to get through the entire course - 3 quizzes and the final exam without any issues until the end.  At the end we couldn't use the exit button since it is the LMS that closes the window.

My question is:  Shouldn't articulate start to throw errors when it can't communicate with the LMS???  I'm attaching the Articulate course log, and it shows nothing.  It's running from a local cache, isn't communicating with the LMS and doesn't show any errors.  Am I missing something?

8 Replies
Phil Mayor

Hi Peter

As far as I am know communication with the lms will only occur at the end of course (if you are tracking slides) or the end of the quiz (if you have it set to submit at the end) or the end of each question (if you have it set tto submit each question)

I do wonder how you completed the course as articulate only loads 3 slides at a time so would have expected it to hang after three slides.

Phil

Peter Zaidel

I'm guessing the course was running from a local cache.  We were actually in the car, with no chance of having an internet connection, yet all the videos played and the course worked fine (with the exception of external downloads, sections we didn't click on the first time around, etc.). 

We have the course set to submit each question and score by quiz completion.  It still looks like it was "submitting" each question to the LMS but there weren't any errors.  I'm a little confused on how this tracking works then.  If It only communicates at the end of the course, how are we able to resume where we left off (when connected to the internet of course)? Can additional forced LMSCommits be built in?  I would prefer the course tell the LMS each time it goes to the next slide, that way if your computer crashes, you can still start off from the place where you left off. 

Ultimately isn't that one of the main reasons for the LMS; to track course progress and completion.  If the course isn't communicating what it's doing, and periodically checking in, what's the point of the LMS?

Brian Batt

Hi Peter,

Based upon my experience, it's typically up to the LMS to throw the communication error.  However, if you don't have an internet connection, how is the LMS going to send that error to your browser?

Just so you know, we are constantly communicating to the LMS while the user progresses through the course.  However, we don't "commit" the data to the LMS until the content is exited.  The reason for this is that most LMS's can't handle the data if we commit after every slide.  With that being said, we are looking to send commit data on certain time intervals to the LMS in the future.  

Peter Zaidel

I take that back.  Looking through the logs and comparing to our debug console, it appears Articulate courses try to commit the suspend data every 10 minutes.  Unfortunately there is no error when it tries to commit and gets no response from the LMS.  That's where the problem lies.  We've designed our LMS to take certain actions when Errors are thrown, however if there is no Error, we can't respond.  Any plans to include LMS communication errors in future releases?

Additionally, I'm a little confused by the statement that "most LMS's can't handle the data if we commit after every slide." what is it that they can't handle.  We're talking about 1 line of text.... I'm aware that some LMSs have limits to the length of that line of text, but why wouldn't they be able to handle a commit more often?

At this point my plan is to replace the "powered by Articulate" icon with a SWF that runs a little script that forces a commit more often.  Anyone ever try that?

Andreas Aronsson

Peter Zaidel said:

At this point my plan is to replace the "powered by Articulate" icon with a SWF that runs a little script that forces a commit more often.  Anyone ever try that?


I'm experiencing the same problems and we have tried a few different solutions to force a commit at a set interval for presentations made in Presenter bur so far we haven't found a way around this. Can you please post here if the swf worked for you?

Peter Zaidel

I was able to make a very small change to the SCORMFunction.js  file (in the lms folder) and now the course commits after every slide. 

On line 1693 just add  
 SCORM_CallLMSCommit();

This is right after  WriteToDebug("Returning true"); in the SCORM_CallLMSSetValue(strElement, strValue) function.

Hopefully this will solve our tracking issues with customers who have intermittent internet connections. 
 

Thomas Albright

Peter Zaidel said:

I was able to make a very small change to the SCORMFunction.js  file (in the lms folder) and now the course commits after every slide. 

On line 1693 just add  
 SCORM_CallLMSCommit();

This is right after  WriteToDebug("Returning true"); in the SCORM_CallLMSSetValue(strElement, strValue) function.

Hopefully this will solve our tracking issues with customers who have intermittent internet connections.



Peter,

It has been a while since your post and I am having the same issue.  1693 doesn't look like the right spot to add the code, maybe the SCORMfunction.js has changed since 2011.  Could you please elaborate on where and why you made the change?

Thanks in advance for your help.

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