Nerdy Complex Slide - How to commit data to LMS on variable change?

Sep 21, 2022

Howdy,

I'm making a really complex slide with about 30 layers. Behind the layers is an interactive "PDF Web Object". The layers trigger narration, and scroll my custom web object and highlight specific segments of the document.

To provide the best user experience, I'm doing this on one slide. If built across many slides, the web object would reload, removing scroll position, etc., from slide to slide.

The problem is: Storyline doesn't sync variables until you leave a page.

If a learner gets to step 16 in my PDF interaction (layer 16 in Storyline), there is a variable to track that. So, when the learner exits the module, I'd like for them to still be on step 16 when they come back, however, because there was no slide change, the variables are "what they were when you entered that slide" on the next visit.

If I were to get to step 16, then go to a different slide in my course, then go back to the interaction, then exit, it works fine as variables are updated in the LMS.

I want users to be able to click the browser "x" to close.

I don't want an exit button that jumps to an exit slide as a hack.

I've tried manually calling every 2004 commit function I can find in the browser console on Scorm Cloud, and no matter what, when I return, the variable IS NOT UPDATED (unless I change slides).

Feels like data commits could/should happen on the "variable change" level. I understand that adds way more LMS calls, but for advanced stuff this is needed. Or maybe it's a checkbox setting in the variable manager "sync on change"

2 Replies