How to setup a slide to show if all other slides have been viewed?

Apr 29, 2014

I've developed a small tutorial that requires learners to view 5 software demos. At the moment if all slides are viewed from 1 to 5 in that order the final slide(course review) will display but if not viewed in that sequence, so the 5th slide is viewed first, then the final slide is triggered which doesn't make sense if you've only viewed one software demo.

I'm guessing that I'll need a trigger for the final slide that has to meet some conditions to only display if all 5 demos have been viewed whatever sequence they are viewed.

My question is, how do I setup that final slide to only trigger if all 5 demos have been viewed, whatever sequence the learner selects?


19 Replies
Jeff Kortenbosch

Hi Marcus, What I would do is set a true/false variable for every software demo e.g. VarDem1, VarDemo2, VarDemo3 , VarDemo4 VarDemo5. The default setting would be false (they have not seen the demo yet)

On your menu slide where the users select the demo's you simple test the value of the 5 variables that triggers the jump to the final slide.

Jump to slide X on condition that

VarDemo1=True and

VarDemo2=True and

VarDemo3=True and

VarDemo4=True and


That should do the trick

Antony Snow

Hi Marcus - welcome to Heroes!

Without seeing how your tutorial is set up, it's a little hard to provide a definative solution to your issue but you're right in stating that you will need a trigger for the final slide that has to meet some conditions to only display if all 5 demos have been viewed.

Assuming that each demo is on its own slide, you could create 5 T/F variables (called "Demo1", "Demo2" etc.) and set the default value to FALSE. Then, on each slide, apply a trigger that adjusts the corresponding variable to TRUE when the timeline of the slide ends and then add a second trigger that jumps to the "Course review" slide when the timeline ends on condition that variables Demo1, Demo2 etc. are equal to TRUE.

As triggers are executed from top to bottom within the trigger panel, you will need to make sure that this second trigger is BELOW to trigger that adjusts the variable.

I hope that this makes sense


Ashish QA

Hi, I have same issue but it's quite different. I have used slides as Progress button.

Progress button1= Slide1

Progress button2= Slide2

Progress button3= Slide3

Progress button4= Slide4

Progress button5= Slide5

User will go in sequence 1st then 2nd, 3rd, 4th & 5th.

I have used manually buttons for all 5 slides.

slide1(Progress button):- button1(Active with Grayedout), button2(blank), button3(blank), button4(blank), button5(blank)

slide2(Progress button):- button1(Grayedout), button2(Active with Grayedout), button3(blank), button4(blank), button5(blank)

slide3(Progress button):- button1(Grayedout), button2(Grayedout), button3(Active with Grayedout), button4(blank), button5(blank)

slide4(Progress button):- button1(Grayedout), button2(Grayedout), button3(Grayedout), button4(Active with Grayedout), button5(blank)

slide5(Progress button):- button1(Grayedout), button2(Grayedout), button3(Grayedout), button4(Grayedout), button5(Active with Grayedout)

If we go 1 to 5th slide then all working fine but if user go on 5th to any slide like 5th to 1st then 2nd, 3rd, 4th & 5th slide progress button looks with blank instead of Grayed out.

Please hint me how I complete slides with above functionality.

Rob Verzera

Is there any javascript that can be used to set a flag to see if all slides have been visited?
Take the above example and push it to 40 slides.  You really dont want 40 vars - ideally just a small piece of JS that sets a var that shows the number of slides viewed.  Ive been searching and have not found it yet.  I can do it in articulate presentor using as2 - so im sure there is a way in SL to do it.

Any ideas?

Rob Verzera

Thanks Ashley - but that seems to track if you are in an LMS environment or a quiz.
Here is the scenario - I have a course w/ 40 slides, the user gets to the end I just want to know that they have viewed every slide.  Is this possible with out putting a completed variable on every single slide - then doing a trigger on the last slide to check if all 40 variables = TRUE?

Ashley Terwilliger-Pollard

Hi Rob,

How are you going to have them send that information to you? We don't support tracking in an excel or text file, and there isn't an email results feature - but the set up you've shared in regards to the variable behavior would be the only other option vs. the tracking option I shared. If you choose to lock down the navigation so that the user can only advance in the order you indicated may be another potential as then the user is forced to follow a particular path through the course and then you could set it to show some information on the last slide that they'd need to share with you? 

Rob Verzera

Thanks for the quick response Ashley,

Sorry - I'm not understanding your question - how are you going to have them send that info......

Lets take a step back and simplify things, I have a stand alone course & this is what I want to accomplish:

On the last slide of the course, if all the slides have been viewed, I want to show a message (Hey, thanks for taking this course, you are done)

If they have not all been viewed I want to show another message (Hey you have not viewed all the slide) 

How can I do that?  (I'm looking for any solution here)    

Locking down the nav is not really an option, b/c users can go back to the course for reference.

Thanks for your help!




Ashley Terwilliger-Pollard

Hi Rob,

By a standalone course, I assume you mean one not hosting in an LMS? If so, my question was in regards to once you've "tracked" the user - how do you plan on capturing that data and sharing that data with you (or the administrator who needs to know that they saw every slide)? 

I'd look at using the variable method you mentioned of setting a variable on every slide to true once it's visited - tedious, but effective - and then on the last slide checking that all the variables are equal to True and showing a completion layer, or if they are not true showing a "hey you have not viewed all the slides layer".  If you do not need to track this information but just want the user to know they viewed all slides - than you should be good to go! 

Rob Verzera

As far as the how I track it - its really outside the scope here.  (I make an ajax call to php, grab a session variable that was set before they accessed the course, write some data in the database using some fields they filled in from the course, email a record of completion to them and their supervisor)  I understand that part is not supported which is fine.

What I have done in the past in presenter, is using flash, I can access the player object, and grab all the slides and their status (viewed or not).  And i can present things based on those results.

I have to assume I can do the same thing in storyline.  I say this because a status of each slide is being set somewhere as evident in the menu item turning a different color after a slide is viewed, as well as if I close it and open it again, and select yes I want to start where I left off.  Those menu items I have viewed are a different color.

Honestly, Even is its not an officially supported feature, thats fine - it just seems that having to set 40 variables, then check all 40 of them is a little silly.  

Walt Hamilton
Check the mixed Navigation in the sample at this post:
It has four buttons that take the learner to different slides, and when they are all visited, a button appears that can have any trigger on it you want.  In the restricted navigation, the four buttons appear in order, only after the previous one is visited.