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?
Without seeing the file it's hard to guess. For starters, make sure that the slide properties on that slide are set to Resume Saved State. You can always share your .story file here and someone will help you out.
Hi, Susan -- Thanks for reaching out and welcome to the community! In addition to the information Michael shared, I wanted to provide you with a link to our Getting Started with Storyline 2 tutorials. Please feel free to use the ADD ATTACHMENT button in the bottom left corner to share your file, as well. :)
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.
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.
If someone rushes through - how do they get the next button to work? It seems that even if I go back through the buttons slowly a second time around I can't get the next button to work.
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.
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. -----------------------------------------------------------------------
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. :)
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.
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 .........??
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"
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.
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.
27 Replies
Without seeing the file it's hard to guess. For starters, make sure that the slide properties on that slide are set to Resume Saved State. You can always share your .story file here and someone will help you out.
Hi, Susan -- Thanks for reaching out and welcome to the community! In addition to the information Michael shared, I wanted to provide you with a link to our Getting Started with Storyline 2 tutorials. Please feel free to use the ADD ATTACHMENT button in the bottom left corner to share your file, as well. :)
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.
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.
Thanks very much and I apologise for my ignorance but the next button isn't working at all now???
oops - yes it does
Does this not preview correctly but is ok when published?
It seems to only work if a certain amount of time is taken per slide?
If someone rushes through - how do they get the next button to work? It seems that even if I go back through the buttons slowly a second time around I can't get the next button to work.
Also which of these player triggers should stay??
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.
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.
-----------------------------------------------------------------------
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. :)
Thanks Christie.
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.
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 .........??
Actually, now that I look at it, you're right. It should set Variable1 before it checks. Otherwise, the user would have to visit twice.
And that is true for all of them.
Good catch. I think that means you understand what is going on. :)
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"
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.
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.
Walt and Ashley Thanks very much for your responses - that makes sense now. I will try the variable checker.
Could you please take a look at my project? I am still having trouble with slides 1.5 and 2.1.
If the user returns to 1.5 the next button is disabled.
Occasional glitch in 2.1 every now and then the next button won't become normal after all numbers are visited.
Re: last message with slide 2.1 I think it is something to do with the Processes layer - number 4
Just put the tests in - all variables turn to true but for both of the slides when the slide is revisited the next button disables.
Hi Susan!
If you add the opposite conditions to your disabled state change, you can avoid this issue.
This discussion is closed. You can start a new discussion or contact Articulate Support.