Copy link to clipboard
Copied
Hello,
Basically, what I would like to do is create a math class that consists of multiple lessons. I would like later lessons to be able to change based on previous lessons.
For example, each lesson might track the user's competence with fractions. If lesson 8 requires knowledge of fractions, I want Captivate to show some fraction review slides if and only if the fractions variable has a certain value.
How would I go about using variables that are shared by all of the lessons?
On a related note, is there a functional limit to how many variables could be used? For example, I might want to have Captivate keep track of a variable for 20+ mathematical concepts, then have each project/lesson identify the concept with the lowest score and provide a review slide that corresponds to that variable.
Copy link to clipboard
Copied
You're talking about persisting User Variables outside the Captivate modules AFTER closing them down. Captivate itself doesn't currently do this by default, but it is possible to achieve using JavaScript programming (if you know how) or with widgets.
It's currently easier to achieve this in HTML5 output than in SWF output. For example, the Infosemantics CpExtra HTML5 widget makes it very easy for non-programmers to persist variables.
Once you have the mechanics set up to allow persistence, there's really no limit to the number of variables. But what you are proposing to do with these modules is going to end up being quite complex in terms of the Conditional Advanced Actions etc. You'll need to be somewhat experienced with Captivate to pull it off.
Copy link to clipboard
Copied
Thank you. With the JavaScript, the variables would be saved in cookies, right? Would that mean that if the user clears their cookies, uses another browser, or uses another computer, those variables would be inaccessible?
Would the widget have the same limitation?
Copy link to clipboard
Copied
Correct. It's even more complex actually because there's no guarantee with HTML5 devices and browsers that you WILL be able to store data in cookies. The safer option is to store data in the LMS instead, because then it's not resident on the user's device, but that's not always easy to do either.
The widget only makes it easy to achieve client-side persistence. It doesn't overcome all the limitations.