Skip to main content
chrismay_at_delta17095116
Inspiring
July 8, 2020
Answered

Send Data on Every Slide

  • July 8, 2020
  • 6 replies
  • 4803 views

Hello!  We are expereincing a combination of events which result in our users not having their progress or completion recorded in the LMS.

 

We are expereincing a lot of users who are timing out of their session. They get to a point in the lesson and the lesson will not continue. I can see users getting 404 or 403 errors when this happens. This seems to be an IT or LMS vendor issue, but it is exposing another problem.

 

We have a lot of users who are timing out and after the re-authenticate and launch the lesson again, they are having to start the lesson back at slide one. This is confusing me, because I have the "Send Data on Every Slide" option turned on in my publish settings.

Does anyone know exaclty what data is being sent on every slide? Are user variables being sent? I update a "visited" variable on every slide visit, but either it is not being sent to the LMS on every slide, or the send data on every slide is not working.

 

My lessons based on this template have been working flawlessly for the last couple of years, but with this timeout issue, we are finding a new flaw.

 

Captivate version: 11.5.1.499

OS: MacOS 10.14.6

LMS: SuccessFactors

    This topic has been closed for replies.
    Correct answer chrismay_at_delta17095116

    I am using SCORM 1.2.

     

    I have have checked "Send Data on Every Slide" in LMS Advanced Settings.

     

    In order to get Successfactors to store the progress and other Captivate variables, you need to add this code in a JavasScript window:

     

     

    SCORM_CallLMSCommit();

     

     

    I would recommend doing this on the "On Enter" of the slide actions. 

    You could do it every screen or every 5 screens, whatever interval you decide is an accaptable amount that users might have to repeat if they loose connection to the LMS.

     

    Another issue I have found is that Captivate is preloading the lesson, so user may be able to go several slides, or even finish the lesson without noticing they have lost connection with the LMS.  To solve this, I improved my script some:

     

    var commitTest = "xx";
    try {
        commitTest = SCORM_CallLMSCommit();
    } catch (err) {
    }
    
    
    if (commitTest == "xx" || commitTest === false) {
        alert("ERROR: The LMS did not respond to the last request. Please exit and relaunch the lesson. If you continue, without doing so, your progress will not be saved.");
    }

     

     

    Every time you call this, Captivate will attempt to save the progress and variables to the LMS. If it cannot complete the transaction, users will get an alert message. You can edit the alert message as you see fit.

    6 replies

    Participating Frequently
    May 11, 2021

    Chrismay_at_Delta

    As a follow up to these, this was working great for a while, but recently, when I went back to test the old courses, and create new ones, SCORM_CallLMSCommit(); stopped working. The pop up no longer comes up when disconnecting, and the course does not save its spot when timing out. It was working, now it is not. Have you had the same experiance? Could it be updated browser security? Or possibly Successfactors changed their settings? Any insight is welcome. 

     

    Thanks

    Charley

    Participating Frequently
    June 8, 2022

    Is there any updates on this? We are having a similar issue with Cornerstone on Demand LMS.

     

    - Mark -

    Participating Frequently
    June 8, 2022

    An edit to my last mesage, the code actually does save the place, as long as you exit the course through the captivate interface, and not close the browser. But, the pop-up we could not get to work again.

    Participating Frequently
    October 22, 2020

    This is great information. I have a follow up question,

    You mentioned using "Send Data on Every Slide" in LMS Advanced Settings. Do you think this necessary if I am mainly concerened about Bookmarking becuase I only have one question at the end? When talking with some Adobe help reps, I was told that "Send Data on Every Slide" does not effect bookmarking, because Captivate already bookmark every slide. However, because the code is calling the Commit(), it makes sense that it would be necessary. Just thinking this may be a way to save sending so much data every time, but am interested in your thoughts, or if you have tried it without it already?

    chrismay_at_delta17095116
    Inspiring
    October 23, 2020

    That would depend on what other data you are generating in Captivate. If you have any variables that are changing and you need the most up to date values to resume the lesson properly, you might want to do this.

     

    It also depends on your LMS. Some LMSs will store the data as soon as you send LMSSetValue(), others require LMSCommit() to tigger the saving of the variables, including bookmarks to the LMS.

     

    Don't lose sight of why I started down this road. It is because the LMS we are using, SuccessFactors, will terminate the users connection after 1/2 hour when the browser setting are not properly configured. If you do not have an issue where users are losing their progress due to internet connectivity or time-out issues, then this could all be over-kill.

    Participating Frequently
    October 23, 2020

    Got it, it sounds like the safest bet to include. We are using SuccessFactor as well, and have the same exact issue, so your post was a life saver. It takes the client a little while to upload once we send, and we have run out of time, so we are hoping to get it spot on this time.

    chrismay_at_delta17095116
    Inspiring
    July 16, 2020

    I think I found the issue.

    Captivate DOES send cmi.suspend_data on every slide.

    Captivate does NOT send LMSCommit() on every slide.

    The LMS we are using, SuccessFactors, needs to have the commit called to store the data.

    Participating Frequently
    August 25, 2020

     

    I am not familiar with all this technical stuff, but I seem to have the same problem.
    We are also using SuccessFactors and I have a certain percentage of users where the lessons are not reported completed (though they are).
    Without being IT or able to write code or influence SuccessFactors:
    Do I have the chance to eliminate that problem with simply changing settings in Captivate?
    IT told me to set a different commit, but I have no clue what to do.
    I appreciate every bit of help you can offer!
    Thanks,
    Sandra

    chrismay_at_delta17095116
    Inspiring
    July 9, 2020

    Ron and Lilybiri,

     

    Thanks for the replies. I am working with IT to track down the issue.

    I still want to know what data Captivate is sending to the LMS when you select "Send Data on Every Slide".

    Is it sending user vars along with the default Captivate vars? 

     

    Thanks!

    TLCMediaDesign
    Inspiring
    July 9, 2020

    The problem is that since the session timed out, Captivate can no longer communicate with the LMS and it cannot exit the session properly. If a course exits in the middle of a session it needs to set the exit to suspend so it will save the progress, them terminate the session, this is not happening.

    RodWard
    Community Expert
    Community Expert
    July 9, 2020

    If the lessons have been working perfectly before then something else has changed.  I agree with Lieve that you may be looking at a server latency issue.
    https://infosemantics.com.au/about-learning-management-system-server-latency/

    If the server is bogged down with too many users throwing data at it to record then it starts taking longer and longer to respond until it then starts hitting time-out errors or else crashes.  

    Your IT department or LMS server administrator should be able to look at their logs or watch the server Task Manager to see whether this is the issue.  If that turns out to be the case, you either need to upgrade the server to something more robust that can handle the load or you need to start turning off reporting options in the SCORM settings of the learning module so that it reduces the load.  However, that will also have other side effects (e.g. less bookmarking).

    Here are the options available for reducing the load:

    https://infosemantics.com.au/how-to-reduce-load-on-learning-management-systems/

    Lilybiri
    Legend
    July 8, 2020

    In college it happened that the swtiches were overloaded when too many students wrere doing the same quiz at the same time. Solution could be to replace the Scorm template by the one which sends data only at the end.