New to Articulate Storyline 2

Nov 20, 2015

Hello

I have watched a beginners clip by Sally Cox which shows how to set up a simple variable and conditions to control the next button until all activities have been completed on a slide. I have set this up but when I revisit the slide even though I have done all the activities the next button is disabled again and I am not able to move on in the published project. What have I missed?

27 Replies
Susan White

Thanks - I have done Michael's suggestion but this doesn't resolve my issue of the next button being disabled if I go back to this slide by hitting previous on the next slide. I have attached my project - it is very much a learners first project and I have lots to fix on it but the slide in question is Privacy matters - your responsibility.

Walt Hamilton

Susan,

Notice the difference between these triggers:

  

The third one fires when an action (timeline starts) happens. The other two have no definite action to cause them to happen. "When the state of ..." is not an action, so it cannot start the evaluation of a trigger. It probably shouldn't be in the trigger wizard where it is, because it really finds its best use as a condition. The idea is that a trigger causes some action when a primary action occurs, if certain conditions are met. In this case, "when state is ..." is not an action. It is a condition, so the trigger is not evaluated.

I changed the triggers a little, and now the next button seems to act like I think you want it to.

In the first place, I put triggers on each layer to change a variable when the timeline ends. I use variables, because they persist much more reliably than states. You can visit any number of other slides with complex branching, and Storyline will still remember the value of the variables. It doesn't always remember the state of an object, especially the visited state. You can set the variables to change when the user clicks the oval if you want. I set them to change when the timeline ends so the user will spend at least a certain minimum of time on each slide. I put a variable on each layer.

Then I put a trigger to make the next button normal if all the variables are true, meaning all the layers have been visited. The action that triggers that is the user clicking the oval to close the layer. Otherwise, there is no action to initiate the evaluation of the trigger.

Finally I put a trigger to change Next to normal when the timeline starts if all the layers have been visited. That takes care of the user visiting another slide and then coming back to theis slide.

To save myself a little time, I only uploaded the pertinent scene, but you can easily import this one slide into your project.

Hope this helps. Any questions, just ask.

Walt Hamilton

Yes, it only works if a certain amount of time is spent on each layer. You can change that by shortening or lengthening the timeline on each layer. Or, if you want, you can change the trigger that changes the variable. Instead of when timeline ends, you can set it to when user clicks on the oval.

The object is that if they rush through, they can't get the next button to work. I'm operating under the assumption that the whole object of making the Next button disabled is to force the user to spend at least a minimum of time on each layer.  Making the previously suggested change (setting variable when user clicks) will allow them to rush through, and still have the Next button work.

The only triggers you need to keep are:

jump to previous slide if user clicks previous button, and

jump to next slide if user clicks next button.

 

The triggers that change the state of Next button to normal (one on the base layer, and one on each of the layers) are the ones that do the work, and you need to keep them.

Susan White

Walt

Thanks for your reply and I hear what you are saying. What do you suggest I can do to help those who rush and then can't move on - at this stage it looks like they would have to start the course all over again!!!! Should I give them an instruction on the slide that says you must spend a minimum of 3 secs on each point in this slide ??? What do other trainers do in this case???

Susan

-----------------------------------------------------------------------
This email, and any attachments, may be confidential and also privileged. If you are not the intended recipient, please notify the sender and delete all copies of this transmission along with any attachments immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
-----------------------------------------------------------------------

Christie Pollick

Hi, Susan -- As I see you are working with Walt, I'll step aside to give him the floor to answer your follow up questions, but I did want to note (as it appears you have replied via email), that your signature details are displayed publicly here in the thread. Please click this link and scroll down to your most recent response, where you will be able to hit EDIT to remove your signature details if you wish. :)

Walt Hamilton

On layer 1 there is this trigger:

 

When all the variables are true, the next button appears, so this is one of the 6 triggers that drives the navigation. Because it doesn't set the variable until the timeline ends, if the user rushes to close the layer, they do not get credit for completing the activity. You could keep it like it is and shorten the timeline. Then the user could leave sooner and still get credit.

Here are some other options:

  This trigger sets the variable when the timeline of the layer starts, so whenever they close the layer, they get credit for having been there. Probably not the best idea for accomplishing what we want here.

This is probably how I would do it:

 Delete the other trigger and have the oval that closes the layer also set the variable. Notice that it must set the variable before it closes the layer, otherwise it won't work.

Then delay the appearance of the oval until  some time (3 sec in this case) passes on the timeline:

 This way, they have to spend some time on the layer because they can't close it until the oval shows.

We can't force them to complete the activities, but we can force them to have the activities open on the computer for at least a little while.

Susan White

Walt - thanks very much - I can see how that works.

Hopefully my last question - above you have "Change the state of the next button" ...... appearing before "Set Variable 1 to True when user clicks" is there any significance to the order of these 2 triggers, I think I have them the other way around ie Set Variable1 to true ..... and then Change the state of next button .........?? 

Susan White

I still don't get the significance of that sequence.  The reason why I asked was because my project has the order: Set Variable .. to true and then ' change the state ...' on all my slides but when published the next button did not always change when every oval had been clicked .... I tested it trying to replicate random use by a trainee and can't find the glitch ....... so was going to swap which trigger came first but you are saying 'no keep that order" 

Walt Hamilton

When the oval is clicked, it goes through its triggers in the order they appear, so first it should set the variable to true, then check to see if all the variables are set. If it checks first, it won't change Next because the variable isn't true. Then it sets it to true, but it is too late, because it won't check again until the oval is clicked.

Here is a debugging trick:

On the base layer, create 6 text boxes, one for each variable.

1. Create a text box.

2. Go to the Insert tab, and choose reference

3. Select one of the variables. It will show in the text box as "%Variable1%", but when you preview it will be replaced with the value of the variable.

4. Repeat for all the variables.

Then preview the project, and you can tell when each variable changes from false to true. That may give you a good feel for where the problem is, which will make it easier to track down.

Ashley Terwilliger-Pollard

Hi Susan,

Trigger order plays a key role as detailed here. I'd also look at setting the variable first, and then checking the condition for the next button. You mentioned the next button didn't always change - and if that's the case I suspect the variable is not changing at some point in time. You may want to look at including a variable listener (such as the variable reference on the slide %Variable1% ) so that you can see if the change has occurred and then if it's still not proceeding there is likely something else occurring. You'll also want to make sure you're testing the published output within the intended publish environment as testing it locally could cause elements to not work as expected. 

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