Automatic slide variable to know if it is completed

Mar 05, 2019

Hello there.

I usually make variable such as "CompSlide0102" in order to know if the slide is completed or not yet. (e.g. CompSlide0102 is for the slide 02 in scene 01.) (e.g. I set True into the CompSlide0102 when the slide is completed so that the slide can indicate a check mark when user see the slide he/she has already completed.)

When making another scene or slide, duplication function is handy when the another scene or slide is very similar with existing ones.

But it needs to amend the variable such as "CompSlide0102" since they are manually made.

so my question is;

Does Storyline 3 have function providing automatic generated variable for each slide?  and the automatic generated variable will be changed when scene or slide number changed, when duplicating/inserting/deleting scene or slide?


Thank you very much.

5 Replies
Judy Nollet

You have to create the variables manually. There's no automatic function to generate what you want.

I do have some good news, though. Instead of using all those variables, you could just add a trigger to each slide that shows the checkmark when the timeline ends, e.g., change its State from hidden to Normal. (Or the trigger could be added to the NEXT button; if you do that, just be sure that trigger comes before the one that goes to the next slide. )

If you have the checkmark object and the associated trigger set up on one slide, that programming will be there when you duplicate the slide. However, if you want to add this to existing slides, you will have to do a lot of copying-and-pasting.

Scott Wiley

Hi Judy,

That works while you are on that slide, but I think Takeyoshi's intent is to show the checkmark to a learner when returning to an already completed slide. I do this a lot too.

The only way that can be done is to use one of the following methods:

  • Set slide properties to "resume saved state" when returning.
    • This is less than desirable if the slide was some sort of click-to-reveal and you want to always start from an introductory view, yet still show completion state, enable Next, etc.
    • Also, this tends to blow up the amount of data saved in the suspend_data field, possibly exceeding what's possible in SCORM 1.2, or others less than SCORM 2004 3rd Edition.
  • Create true/false variables, set to true once completed (timeline ends, all buttons clicked, etc.)
    • When returning to an already completed slide, the triggers can set up the completion states based on the condition the variables are true.


The main issue I've had is that I create various screen templates that can be imported with their already existing variables. This alleviates the need to manually create new ones, but are named generically at first. Generally I rename them based on the sequence, in our case a screen ID.

But when you import a 2nd template of the exact same type, number of buttons, tabs, etc., the new template takes on the previously renamed variables. In this case you have to manually create new variables and go through the 2nd template to reconnect everything to these new variables.

I've started a thread on this here:

Judy Nollet

My suggestion shows the checkmark when the slide is done, so, yes, the learner sees it the first time they view the slide completely. I don't think it's bad to have a visual that lets the learner know the slide is "done." 

Also, the checkmark would still be there if the user revisits the slide, which seems to be what's desired in this case. 

Soren J Birch

Takeyoshi, not knowing what obligations you must comply with, why do you need a variable to verify completion of each slide? Could you not rework the course into scenes so that you validate on a series of slides instead?
It is a lot of work to do for people just to give them a checkmark.
But I think you could get around this by using a timeline end trigger.
Create a trigger that changes the state of a check mark shape from Hidden to Visible on timeline end.
On interactive slide, rework the trigger to be on click Submit, or click <Any Object> for example.
This at least means you can do it without variables.

Takeyoshi Nakajima

Thank you all for your advice! and sorry for this late reply!

What I want to do is;

  • show check mark when user finished the slide.
  • when user go back to the slide that the user has already completed, check mark appears from the beginning of time line.

and what I do for those requirements is;

  • make Boolean variable of each slide. (I usually name them something like CompSlide0102.)
  • set default status of the variable as False
  • put check mark shape
  • the check mark's default status is hidden
  • put the trigger when the slide completion condition is fulfilled, in order to;
    • set the variable with True
    • change check mark's status to Normal
  • put trigger "change status of check mark to Normal when the time line starts with the condition the variable is True.

That way learner will see check mark from the beginning of time line when they visit the slide they have already visited.

and my original questions is if the Storyline has the functions that;

  • automatically generates variables that I can use for my purpose above.
  • automatically the variable name will be changed when duplicating scenes / modules.

and now I understand the Storyline has no such function.


why I wanted such function is;

  • I did not know that I can change scene number (an order of scene), cutting and paste the scene.
  • When I copied some slides from some other Storyline file and paste it to the new Storyline file, the scene number (the order of scene) will be different from what I expect. so it was really hard to manage actual scene number on Storyline file and the scene number on my storyboard.

but now I know that I can change the scene number (the order of scene), cutting and paste it  in STORY VIEW. Now my problem has been resolved.

Again, thank you for your advice all and sorry for this late reply.
Things are fine now, thanks to you!




This discussion is closed. You can start a new discussion or contact Articulate Support.