Send Data on Every Slide

Participant ,
Jul 08, 2020 Jul 08, 2020

Copy link to clipboard

Copied

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

Views

271

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct Answer

Participant , Oct 22, 2020 Oct 22, 2020
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. Anoth...

Likes

translate

Translate

Translate
Most Valuable Participant ,
Jul 08, 2020 Jul 08, 2020

Copy link to clipboard

Copied

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. 

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Jul 08, 2020 Jul 08, 2020

Copy link to clipboard

Copied

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/

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jul 09, 2020 Jul 09, 2020

Copy link to clipboard

Copied

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!

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Jul 09, 2020 Jul 09, 2020

Copy link to clipboard

Copied

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.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jul 16, 2020 Jul 16, 2020

Copy link to clipboard

Copied

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.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 25, 2020 Aug 25, 2020

Copy link to clipboard

Copied

 

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

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 20, 2020 Oct 20, 2020

Copy link to clipboard

Copied

Hi ChrisMayAtDelta,

I am having a simular issue. Did this solve your issue? would you be able to share how you applied the solution?

 

What version of SCORM are you using?

We are using 1.2, would this affect what code to use?

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 22, 2020 Oct 22, 2020

Copy link to clipboard

Copied

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.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 22, 2020 Oct 22, 2020

Copy link to clipboard

Copied

@chrismay_at_delta 

Hi Chris, I am working with Charley trying to resolve this issue. I have gone in and added this on the slides and wanted to confirm I implemented the code correctly.

I added "Execute JavaScript" advanced action with the following code when the user selects the Next button.

The LMSCommit seems to be working based on the Debug feature in SCORM Cloud, but I cannot seem to trigger the alert to see if it is functioning as expected. 

SCORM_CallLMSCommit();

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.");
}

 

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 23, 2020 Oct 23, 2020

Copy link to clipboard

Copied

One way you could test this would be to launch the lesson, let it sit for a couple of minutes to allow the Captivate player to preload the rest of the lesson, then disconnect Wi-Fi or un plug your Ethernet. Then the next time you press the next button, you should see the msg.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 23, 2020 Oct 23, 2020

Copy link to clipboard

Copied

I tried disconnecting Wifi unfortunately SCORM Cloud window shuts down when it loses connection.

I will keep trying though. I really appreciate your suggestion and think it checks all the boxes we need!

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 23, 2020 Oct 23, 2020

Copy link to clipboard

Copied

Yeah - SCORM Cloud has a lot of good error checking like that. Can you try on your regular LMS?

 

Another way to test is to close the LMS window that usually opens behind the lesson window. The one that usually says something like "Don't close this window or your progress will not be saved." Of course SCORM Cloud also detects this and closes the lesson window. 

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 22, 2020 Oct 22, 2020

Copy link to clipboard

Copied

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?

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 23, 2020 Oct 23, 2020

Copy link to clipboard

Copied

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.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 23, 2020 Oct 23, 2020

Copy link to clipboard

Copied

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.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 23, 2020 Oct 23, 2020

Copy link to clipboard

Copied

The timeout issue can be solved by enabling the browser to accept third party cookies (AKA accepting cross-site tracking).  Not sure of your IT situation, but that might be a change IT can push to all users' browsers.

 

Over here, we are bring your own device, so we cannot force the setting on everyone, we needed to enable these checks and try to comunnicate the settings needed.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 27, 2020 Oct 27, 2020

Copy link to clipboard

Copied

Great info again. The solution you provided worked for us!

I do have an additional follow up. The pop-up box from the javaScript window is not displaying the okay button. Did you experiance this? Any ideas on how to fix? (see screenshot)

popupBox.png

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 27, 2020 Oct 27, 2020

Copy link to clipboard

Copied

I have not seen the missing OK before...
Are you publishing to HTML5 or Flash?

 

My alert boxes show up as regular browser alerts in Safari and Chrome, with either "Close" or "OK" as the label for the button.

 

I would search around the forum for alerts or dialog boxes, maybe someone else has seen this. Screen Shot 2020-10-27 at 3.33.27 PM.png

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 21, 2020 Dec 21, 2020

Copy link to clipboard

Copied

That is interesting that it is so different, I was using HTML 5. here is the solution I found: 

  1. Close Captivate.
  2. Go to: “C:\Program Files\Adobe\Adobe Captivate 2019 x64\utils”
  3. Double Click : “CleanPreferencesWin.bat”
  4. Launch Captivate.
  5. Open your project.
  6. Go to Edit > Preferences > Quiz> Settings.
  7. Select Submit All.
  8. Click on Submit All Messages
  9. Make Sure you have “OK" and “Yes” under Ok button and Proceed Yes button as below:

screenshot.jpg

10. Click Ok and check the issue again.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines