Keeping track of variables across LMS sessions?

Can Storyline keep track of variables across different LMS sessions? I ask because i have a single story with 5 distinct scenes, but if the user leaves the session after completing only 2 scenes, i want to keep track of that and upon relaunch from the LMS, I want to indicate the 2 scenes have been completed. Is this possible?

Thanks! Andrew

23 Replies
Justin Grenier

Good Morning, Bruce.

There is no support for passing variables between two Storyline courses, but that would make a cool Feature Request for sure!

Once you've sent the value of a variable to the LMS, it might theoretically be possible to retrieve that value from the LMS (ideas here, here, and here), although it may require some coordination with your LMS Vendor to make it happen.

Alexander Reid

Is it possible that the procedure outlined in Peter's article is not required anymore?  I have a variable used to keep track of quiz attempts at runtime to limit attempts to a maximum of 3.  When I exhausted my 3 attempts, closed, and launched another session from the LMS, my visible variable of quiz attempts was still displaying 3 (good behaviour).

Ashley Terwilliger

Hi Alexander,

Storyline still does not pass the value of a variable to your LMS, so you'd want to use that method Peter originally shared. It sounds like your LMS is continuing to resume to the point where you left off regardless of what you set up in terms of attempts - did you set that within Storyline or within your LMS? Storyline doesn't track total attempts on a course to stop a user from attempting it more than X number of times, and that is typically something handled by an LMS. 

Steve Flowers

Variables are stored in suspend data on the LMS and restored to the Storyline file when relaunched from the LMS.

Since suspend data not intended as human readable and is a compressed blob of characters, it would be very difficult (pretty much impossible) to report that Sally chose Red Apples and Sam chose Green Grapes. Using questions to commit interactions to the LMS through SCORM 2004 r3 would provide reporting of individual values.

Alexander Reid

Yes, I'm leveraging the Resume function of Storyline, so it's probably linked to that and/or Steve's mention of suspend data.  I'm tracking the quiz attempts with a custom variable being used as a counter (when the counter reaches 3, the Retry button disappears from the results slide in addition to the Start button when attempting the quiz).  I went bonkers with another authoring tool and a different LMS once and I think you can only control quiz attempts on an LMS if the quiz is built from the LMS' integrated quiz maker (if available), not if you're using a SCORM package.

Ashley Terwilliger

Thanks Steve for clarifying that piece - and I should have shared that the variables aren't reported in terms of pulling them on a score/answer report as an example but that are included in the suspend data. 

As far as the resume behavior, it will return you to where you left off, but it sounds like that is working in terms of disabling the retry element? As long as there isn't another way for the users to navigate back to the quiz (menu, previous button, etc.) that should work for you and you could use that vs. the LMS. But typically tracking attempts and stopping a user after a certain amount of things are handled by the LMS. 

Willi Stolz

Preserving Variable Values Across Sessions: I need to send the values of variables--Boolean if possible, but text would work--to the LMS. Then, the next time the same SCO launches, I need it to go find those values and assign them to the correct variables. Previously I used to use SmartBuilder, and it had built in functions to do both of these things (1. write all variables to LMS using suspend data and 2. read all variables from LMS using suspend data). In this way, if I can lesson that includes several discrete activities that unfold over time (several days or weeks) and I can preserve the completed status of completed activities across user sessions.

Willi Stolz

Ashley, sorry to seem so dense, but I read the article and did not see anything related to the effect that choice of resume setting might have on the preservation of the values of variables. Is selection of a particular Resume option necessary to realize the preservation Steve indicates is already in place? Or did you include that article just so I'd know more about Resume?

Willi Stolz

Thank you Steve and Ashley! It worked for me with Resume set to 'always'. I'll test to see if it also works with Resume set to 'prompt' when the user selects 'yes'; that is, variable and states would persist is the user selects 'yes' and would not if the user selects 'no'.

Ashley, I this the article you shared would be even more helpful if it you added this business about persistence of variables/states and described how the Resume setting effects that features.

Willi Stolz

What I'm suggesting is that it is possible to divorce how a lesson is re-accessed (last spot or page 1) from whether variables/object states are persistent. Both may be via the cmi.suspend variable, but it ought to be possible to for a user to select to start form page 1 without resetting variables/states. The way AS2 works now, these are both rolled up into the 'Resume' choice.

Independent of this feature suggestion for AS2, I think it is important to describe that (currently) the ‘Resume’ choice also dictates the persistence of variables/states. Adding just a few lines to the article you suggestion would accomplish that.