"Automatically Decide" slide property resetting object states

I have incorporated a custom tracker, on the slide master, that increments when an unvisited slide becomes "visited" (I have a trigger to set a radio button off-canvas to change to the state of "selected" when the user visits the slide. I also have a condition that states NOT to increment the value for the tracker if the given slide has already been visited).

I have only been able to get this to work when all of the slides properties are set to "Resume Saved State" - which makes sense since if one revisits the slide the states of everything persist. The problem with this, though, is the all the slides' audio and animations have completed, so the learner is confused when nothing happens when they revisit a slide.

To alleviate that issue, I set the slides to "Automatically Decide" based on the info I found below:

"Automatically decide: This is the default choice, and it means Storyline will decide automatically whether to resume or reset the slide when users view the slide again later. Here's the logic: If the slide contains just simple objects and/or audio but no interactivity, Storyline resets the slide to the beginning of the slide’s timeline each time users view the slide. However, if the slide contains any interactive elements, such as buttons or any other object that includes a visited or selected state, Storyline resumes at the slide’s current state if users view the slide more than once."

However, when I do this, the radio button's state gets reset back to normal when revisiting (and then instantly getting set back to "selected" based on the trigger), so the tracker increments. This is not the expected behavior since it is my understanding that my "interactive element" (in this case a radio button located off-canvas) is NOT resuming the "visited" state of that object/interactive element.

Any advice would be helpful!

12 Replies
Eric Rohrer

Here's a definition of all the "When Revisiting" option within Slide Properties for reference:

"When revisiting

This property determines how objects on the slide behave if users revisit the slide later. Choose from the following options:

  • Automatically decide: This is the default choice, and it means Storyline will decide automatically whether to resume or reset the slide when users view the slide again later. Here's the logic: If the slide contains just simple objects and/or audio but no interactivity, Storyline resets the slide to the beginning of the slide’s timeline each time users view the slide. However, if the slide contains any interactive elements, such as buttons or any other object that includes a visited or selected state, Storyline resumes at the slide’s current state if users view the slide more than once.
  • Resume saved state: Use this option if you always want the slide to remember the state it was in previously when users return to it. In other words, this allows users to pick up where they left off if they leave the slide and come back to it.
  • Reset to initial state: Use this option if you always want the slide to reset to its initial state when users return to it. This means every time users view the slide, it will restart at the beginning of the slide’s timeline, and any interactive objects will return to their initial states."

Taken from: http://community.articulate.com/tutorials/products/controlling-a-slide-s-advance-behavior-and-other-slide-properties.aspx

Ashley Terwilliger-Pollard

Hi Eric,

Thanks for sharing a description here of your set up. Based on what you're saying, you want the audio to restart but the state of the elements to stay within the visited state. Unfortunately those two things would be counter intuitive based on the slide's revisiting properties and what you've set up. Since you've allowed it to automatically decide and there are some elements such as audio probably beginning first the entire slide is resetting and therefore the trigger plays again to set the state of the object from normal.

What about setting those additional interactive elements to appear on a layer instead where you could use the layer's revisiting properties in addition to the slide's properties?

If you're still having some difficulty it may also be worth sharing the .story file here with us so that we could take a look at your set up and offer some other alternatives. There is around a 20 mb limit for the forums upload, so you may also want to strip it down to just that one slide.

Eric Rohrer

Hello Ashley,

Thank you for your response. I believe what you are saying (setting those additional interactive elements to appear on a layer instead where you could use the layer's revisiting properties in addition to the slide's properties? ) would work. Are you saying to create a layer on the slide master, place the interactive element on that layer, and set that slide master's layer's properties to "Resume Saved State"?

My fear is that if this does not work (I will test this evening and post my results) is that I will have to move all of these triggers (24 in total) from the slide master and incorporate them on each slide. I hope that is not the case because I don't look forward to copying and pasting all those triggers on each slide - especially considering that will take a long time since you can only copy a trigger at a time) Also, that will create a significant maintenance issue should something changes, which is why I'd like to keep all this logic on the master.

Crossing my fingers it works, and I look forward to testing it this evening. Again, thanks for your help!

Ashley Terwilliger-Pollard

Hi Eric,

I'm just reading again, and I may have overlooked the slide master element - with that being said, slide master layers don't have the same properties to set on the slide master themselves, but you could still change the properties on the individual slide layers when you apply them. So essentially the triggers and variables will be set up on the slide masters, and then you'll set the slide properties per slide.

Let us know how the testing went!

Eric Rohrer

Hello Ashley,

I moved everything out of the slide master since I wasn't getting the desired behavior and put all the logic on each slide. However, this is still not working the way I had hoped. I'm basing what I'm trying to accomplish from this site: http://cooeeproductions.wordpress.com/2013/03/24/showing-the-learner-a-course-progress-meter-in-storyline/.

As a recap, here's what I'm trying to accomplish:

  1. A progress meter (in the form of a pie chart) that shows/increases as a learner visits unvisited pages. Therefore, it does not matter what order a learner access those pages.
  2. If a learner revisits a page, it should have no effect on the calculation of the progress meter since the page should already be flagged as visited.

The problem I am running into is this:

This solution works ONLY if I set the BASE layer to RESUME SAVED STATE. This is undesirable, though, because any narration and animations do not restart when a learner revisits the given slide

Even if I have the trigger and logic on a separate layer (in this case called "Visited") with layer's properties set to "Resumed Saved State" for revisits and the base layer set to "Automatically Decide", it appears (and also makes sense) that this base layer property takes precedent over the "Visited" layer's property of "Resume Saved State". Therefore, the slide resets completely - wiping out the logic of the slide being "visited", and subsequently re-adding to the variable that is part of the calculation.

There are 3 variables in play:

  • constScreensInCourse - this is manually set to the total # of slides in the course (in this case, 5).
  • gblScreensVisitedCount - every time a user visits a page that has not been visited, a trigger adds to the total count of slides visited. Logic is also built to check to see if the page has been previously visited, and if so, to not add to the count
  • gblScreensVisitedPerecentage - this variable is adjusted when the timeline starts to equal gblScreensVisitedCount. Also, a percentage of slides viewed is calculated by dividing gblScreensVisitedPerecentage by constScreensInCourse. The resulting value is what defines which state of the pie chart to display. Looking at the Visited slide layer in the attached Story file will show you how this all works.

Bottom line is that I need this progress meter to work correctly by ONLY counting a visited slide ONCE when a learner revisits the page, but that the page replays the audio and animations as if watching the slide for the first time.

As I stated earlier, I was not able to get this to work with the trigger logic, pie chart image, and visited flag (in the form of a radio button) on the slide master, though I would prefer as much, if not all, of this on a slide master from a maintenance perspective.

Could you please review the attached story file and provide any feedback on how I can get this to work the way I need it to? I have a feeling I'm missing something very elementary.

Andrea Seaton

Hi, i am working on the same scenario. i have a custom tracker built in my course that increments when the user correctly answers a series of questions. The tracker works great on initial run through, increments correctly and everything. I dont have any audio in the page, so no issues there.

My Action: I set the question slides to "Resume saved state" when revisiting.

Result: The questions themselves resume correctly (shows that the use completed the question), but the tracker resets to initial state. This confuses users because they are focusing on the tracker and the tracker looks like they havent completed the question.

I am at a loss.

I should also mention that the tracker lives in a slide master along with variables used to increment the tracker. Any help would be much appreciated.

Thanks

Ashley Terwilliger-Pollard

Hi Andrea,

The "reset to initial state" will cause issues with the review as you mention, as when the user revisits the slide it's counting it as if they've never seen it. It's unusual that this is allowing your tracker to perform in the opposite way though. You mentioned it set up on a slide master, are there triggers to reset it or adjust it based on the timeline starting or something similar? Do you have a paired down example you could share here with the community? 

Andrea Seaton

Hi everyone, just an update. I was able to figure out where I went wrong with my custom tracker. Essentially, I had to strip down all my variables and triggers and take a look at them one-by-one. The first and most critical thing that I fixed was the "Object" in the Trigger Wizard. I had to change the object to the slide where I wanted the trigger to execute. Thanks to another poster in the blog (dont remember her name), it saved me.

What I learned -- Keep variables and triggers simple. I had triggers where I didnt even need them, for example, on buttons. Buttons will automatically change to "Visited" when the user clicks them, so i didnt need a trigger changing them to "Visited".

Very happily relieved e-learning developer!