Forcing LMSCommit() to save through the Connector to the Database, and Rewinding Slides set to Save Status
Jul 13, 2015
Our problem is that we have many cases of learners having their courses freeze on them, and not having a bookmark near the freeze.
To handle this, I have set up Storyline to send a LMSCommit() on the load of every screen. This sends the LMSCommit() to the connector, but not necessarily through to the database.
I've implemented WarnOnCommitFail in order to open a message to the learner when the connection to the internet or server is lost. I have set every screen to "Resume Saved State" to force the LMSCommit to not only save to the connector, but all the way to the LMS. This works.
The problem is that some of our authors have complex interactions across many screens. If the learner moves to a previous slide, they will see it's end state (the "saved" state), which will be confusing.
What I need is a way for the learner to be able to review previous slides without manually having to drag the timeline bar to the left. Possible options I imagine are:
1. Resetting the timeline for a slide with a trigger upon entering the slide. I don't see that option.
2. Finding another way to add to the suspend_data string once per slide without setting the "Resume Saved State" box. Having something added to the suspend_data string since the previous LMSCommit() call is the secret to forcing the connector to save the string to the database (this follows SCORM 1.2 specs).
I am open to any and all suggestions. If there is a JavaScript call that you think might add to the suspend_data string, please tell me and I'll try it out. I've tried several SetValue() calls without success.
Thanks
Robert
4 Replies
Hi Robert,
I can't assist with the Javascript elements so I'll defer to the community on that.
In regards to your other question, there is not a "timeline resets" trigger option.
Hi Ashley,
Right, I certainly didn't see one. So for some courses, that tends to rule out using the "Resume Saved State" function for the slide to force the LMSCommit(). I'm searching for any alternative.
Here's a non-Javascript question. If a slide is set to "Reset to initial state", but a layer within the slide is set to "Resume saved state", will the layer's final state be saved to the suspend_data string?
Hi Robert,
I believe the slide's base layer properties will override the individual layers as it'll reset the entire slide. The layer properties of "resume" will hold true if visiting the layer again while still on the slide or if revisiting the slide as a whole and it has a setting of "resume" or "automatically decide" the latter of which is dependent on slide content as described here.
This discussion is closed. You can start a new discussion or contact Articulate Support.