Saba LMS Not Saving User Progress On Course Built In Storyline 360 But Does in Rise 360

Sep 11, 2023

I'm kind of at a loss here. I have a course built in storyline 360 that consists of 1 video embedded into 1 slide with various layers and interactives built ontop. For whatever reason, when I publish the course to our saba LMS (SCORM 2004 v3), user progress is not cached or saved when the user goes to exit the course. When a user resumes the course, the course reverts back to the beginning scene at the start of the course timeline. I initially thought that our LMS needed a reference point so I built in an "exit course" button but the problem persists.

Our LMS tech support claims that the LMS relies on interactions such as transitioning of slides to create reference points and is unable to create a reference point within a single stream of video. This doesn't make sense to us because courses created on Rise 360, that include just 1 video, behave as expected where the video resumes when the user relaunches the course. 

Does anyone have any insight on what I could lookout for on either the authoring or LMS side to ensure user progress is saved? Perhaps I'm missing a setting on Storyline. OR... can someone explain why the behavior would work as expected in Rise but not in Storyline

5 Replies
Jose Tansengco

Hello David, 

I’m sorry to hear your Storyline is not saved in your Saba LMS.

Before anything else, could you confirm if the same content works properly in SCORM Cloud? Here’s how you can test.

If the problem seems isolated to SABA LMS, please try these steps to modify the scormdriver.js file in your published output:

1) Publish your course for LMS distribution, then click Open Folder on the Publish Successful window.

2) Open the lms folder in your published output.

3) You'll see a scormdriver.js file. Open the file in a text editor, such as Notepad.

4) Find this line of text:

blnResult = SCORM_CallLMSSetValue("cmi.core.exit", SCORM_TranslateExitTypeToSCORM(strExitType)) && blnResult;

5) Add double forward slashes (//) at the beginning of the line:

//blnResult = SCORM_CallLMSSetValue("cmi.core.exit", SCORM_TranslateExitTypeToSCORM(strExitType)) && blnResult;

6) Add the following below this code:

blnResult = SCORM_CallLMSSetValue("cmi.core.exit", "") && blnResult;

7) Save and close the file.

8) Go back to the Publish Successful window and click Zip, then upload the zip file to your LMS for testing.

If the modified version works on your LMS and you’d like to apply this change every time you publish, you can edit Storyline 360's SCORM Driver template (scormdriver.js) in the following installation directory:

32-bit: C:\Program Files\Articulate\360\Storyline\Content\lms
64-bit: C:\Program Files (x86)\Articulate\360\Storyline\Content

Note: updating or reinstalling the app will reset these changes.

Let me know how it goes!

David Zaitz

Thank you so much! So i did some testing on SCORM cloud and the expected behavior is not working there either....

Does anyone have any advice on how to get videos to index and reference in LMS so that courses can be resumed when relaunching? A lot of our courses end up being lengthy videos with interactives layered on top so we need to be able to build in something. We don't want to break  the video up into modules or different scenes / slides.

Any idea why videos resume as expected in courses built in Rise as opposed to Storyline?

Jose Tansengco

Hi David, 

Thanks for the additional information. The state of a slide can be saved, but a learner will have to navigate away from the slide for this to happen. You'll notice that the Slide Revisit behavior discusses what happens to a slide when it is revisited. In your case, no revisit is happening because the learner never navigates away from the slide. 

One workaround is to create a 'Save' button that navigates the learners away from the slide. You can check out this solution from a community member for more details.

Try adding an interaction that navigates learners away from the slide, and let me know if this fixes the issue for you.