With Chrome 83 course completion gets pushed to LMS regardless of whether completion criteria is met

We have noticed that with Chrome version 83, successful course completion appears to get pushed through to the LMS regardless of whether the completion criteria have been met.  Has anyone else noticed the same?  It seems to be limited to Chrome version 83 which I believe was released on May 20, 2020.

 

I should add that this only appears to happen when the learner closes the browser window rather than clicking on exit within the content itself.

13 Replies
Karl Muller

Hi Mark,

I updated my Chrome browser to V83 and did some tests using a student account in our LMS. Note: our courses run in a separate window with the LMS window still open in the background.

Here is what I found:

Q. What happens when the learner closes the browser window rather than clicking on exit within the content itself?

A1. The LMS does not record any learner progress related to their last learning session.

A2: Successful course completion does not get pushed through to the LMS regardless of whether the completion criteria have been met.

Q. What happens when the learner correctly exits the the course by clicking on exit within the course content itself?

A1. The LMS correctly records learner progress related to their last learning session.

A2. Course completion is not pushed until the actual course completion criteria have been met.

Nathan Leavitt

Hi Mark, I work with Kelly. I'd like to add some details of our other findings:

  • Chrome: Our IT dept manages all our workstations. Our IT contact narrowed down the browser problem to the flag: chrome://flags/#allow-sync-xhr-in-page-dismissal. Upon this discovery, IT rolled out an organizational change from Disallow to Enable for Sync XHR. Ideally, once the dust settles with Saba's implementation, it should be changed back to the default value, which is Disallow.
  • Saba: Saba's team helped us discover the microsite setting:

    System>Configure System>Microsites>Saba Cloud>Site Properties>Content>”Relax the requirement of LMSFinish for triggering completion check for SCORM 1.2 only”

     The choices are:
    0-No
    1-Yes

    When it is set to 0, the LMS guesses the completion status based on what it receives from the content. Saba recommended it be set to a 1. When it is set to 1, the course needs to explicitly and properly send course status and LMS_Commit. 

But before you start talking to your IT contact and changing your microsite settings, I recommend trying your content again. Saba may have made a change to their production environment ...

Karl Muller

The XHR issue goes back quite a while. The article below describes  the changes to Chrome and the impact it could have on SCORM course status reporting.

We worked with our LMS vendor and did tests to ensure they had addressed the issue.

https://support.scorm.com/hc/en-us/articles/360035814314-Blocked-SCORM-Exit-Postbacks-with-Google-Chrome-78-and-Above  

https://community.articulate.com/discussions/articulate-storyline/chrome-78-release-on-22-october 

 

Seth Merriam

There are two settings we were told to change to 1. The "Relax the requirement of LMSFinish for triggering completion check for SCORM 1.2 only" one seemed to have very little effect. The "Scorm 1.2 LMS Lesson completion Control" option being set to 1, however, seems to have fix the issue for us. 

Alyssa Gomez

Hey folks,

Thanks for sharing what's going on with your Rise 360 content. We're having a look at this behavior, and we've seen that making this adjustment in Chrome 83 has helped in some LMS environments:

1. Open Chrome browser
2. Go to chrome://flags/#allow-sync-xhr-in-page-dismissal
3. Change the drop-down selection from "Default" or "Disabled" to "Enabled"

We'll let you know if we are able to make changes to Rise 360 output that would help.

Crystal Horn

Hi everyone. Thank you for giving us some time to explore this issue.

Chrome has deprecated a technology that was used by many LMSs to allow a course to communicate back to the LMS when the course window is closed. If your LMS hasn't upgraded their system, or if you're using an older version of your LMS that doesn't include an update to address this change, the course cannot communicate progress or completion properly. This causes learners to start over from the beginning instead of resuming a course or recording completion after they close the browser window.

Please reach out to your LMS and find out if they have released an update to address the Chrome changes. These changes will also impact Microsoft Edge users. If you need support from us with the technical details, please let us know by starting a case with us here.

Sungmin Hong

I'm SuccessFactor LMS Administrator.  I work with internal IDs to build a better course.

Let me break it down what is happening to non technical folks. 

In the case of successfactors LMS,  When you launch a course, your course completion , progression, bookmarking information is kept at the course content level.  These progression information is only sent to LMS when you press close button or close the learning session.

- The course send TWO separate command. ONE> Your progression information. ( I completed the course or... I am at the slide 24 out of 30 )   + and Exit Command. 

Starting with Chrome 80 Last year, Chrome disallowed synchronous API request  + Page dismissal.   

Chrome does not like that fact that you are sending message to  LMS with return receipt ( Bookmarking information ) while you are exiting the course. 

This security policy is unique to Chrome, IE11, and Older version of Edge browser ( not chromium based ) has no problem bookmarking or completing the course.

 

SHORT term Solution 

- for this particular problem, you can ask IT department to push out corp policy to all chrome browser to over ride default solution.

- Don't use chrome.

 

Long term Solution

- Learned to Debug course content using Chrome's INSPECT window. you can trace network errors and warning.   We are anticipating another error with Chrome 84 release. ( Cross domain cookie sharing ) 

- Read Google's chrome release notes. and anticipate the change. 

- Your LMS need to patch up system.

 

Chrome 80

Starting with version 80, Chrome will disallow synchronous API requests made on page dismissal. To clarify, this means two things:

This change only affects synchronous requests.
Chrome will only block synchronous requests made from an exiting browsing context. For example, synchronous requests issued during the "beforeunload", "unload", "pagehide", and "visibilitychange" browser events will be blocked.
This does not require changes from SuccessFactors Learning for multiple reasons:

For all SCORM content, the closing window issues no requests. Instead, to record content status changes, the content calls a local JavaScript API from the parent SuccessFactors Learning browser context. The SuccessFactors Learning browser context then issues a request to the server. The closing window never issues a request itself, and cannot be affected by the changes being made to Chrome.
For AICC content, two paths are available to content developers for recording status changes.
Similar to SCORM, the content calls a local JavaScript API from the Learning browser context. In this case, no API calls are issued from the closing window.
The content issues an HTTP request to the server. However, the AICC standard does not require that such requests be made synchronously.
It is possible that some content developer has chosen to implement their AICC content using synchronous HTTP requests. In such a case, the content developer must update their course to issue asynchronous requests.

Customers should be made aware that AICC content configured to issue synchronous requests may fail in Chrome 80. As iContent is self-managed (unless you have a PCM contract, customers are responsible to inspect their own AICC content to see if there are issues with synchronous requests. If any AICC content does rely on synchronous requests to SuccessFactors Learning, reach out to your respective content vendor.

Other content types such as browser, document, etc, will not be affected by Chrome 80 as they do not rely on synchronous behavior.