Help needed in Forced navigation

Mar 21, 2014

Hello,

I have new requirements for one of my projects in Storyline. 

The requirement is to restrict navigation in following conditions:

  1. Menu should be restricted. (I have enabled in menu settings)
  2. User must view slide till the end before moving to the next slide.
    (this is also achieved with help of tutorial explained here.) 
  3. In case of interaction slide, all interactive tabs should be visited before moving next.
    (this is also done using several triggers and variables)
  4. When user revisits any of the previously  visited slides all restrictions set should get disabled and user should freely navigate within visited slide. (Here I'm having trouble.)

I'm trying to solve this last point with help of external Java script, Can anyone tell me the way out or possibilities of controlling Storyline variable through external Java Script.

Thanks,

9 Replies
Ashley Terwilliger-Pollard

Hi Parashuram,

I'm unable to assist with the writing on the Javascript, but you may want to review the Javascript best practices here. 

In regards to revisiting the slides though, what do you have set up in regards to the revisiting properties? You'd want to set it up to "resume saved state" instead of "automatically decide" or "reset to initial state". 

Parashuram Vhaval

Hi Ashey,

Again, Thanks for your reply on my this query too. 

The tutorial you shared about revisiting properties, I'm already aware of this. I want more than this. 

I want:

  1. User must view slide till the end before moving to the next slide.
  2. In case of interaction slide, all interactive tabs should be visited before moving next.
  3. When user revisits any of the previously  visited slides all restrictions set should get disabled and user go to next slide without viewing entire slide.

I achieved this results with SL inbuilt triggers, I did not include that Java script concept, as I'm not aware of how to write it.

Will check with my senior authorities, If I could share my file sample with you.

Thanks,

Steve McAneney

I can't give you a definitive answer Parashuram, but I think you could achieve what you want by using a custom slide template with variables/slide layers.

You might be able to build a template with a variable that displays a navigation layer when the timeline finishes, on the CONDITION another variable that tracks slide completion is FALSE. Then, you'd have another variable that showed a different navigation layer (that essentially does the same as the first one) but that displays when the slide completion variable is TRUE, and when the timeline starts.

Might work...but you'd have to build your own navigation. I don't know how you could achieve this using the built in player navigation.

Ashley Terwilliger-Pollard

Hi Parashuram,

I'm sorry - I thought you had already set up your slides to prevent the user from advancing until they interacted with all elements as described here, and then as such if they revisit the slide you'll want it to resume the saved state of all those triggers allowing the next button to be used right away. In regards to viewing the slide to the end, I'd set this up so that the user can jump to the next slide based on a shape or a variable whose state or value has changed at the end of the timeline as that would force the user to stay on the slide till the end. You may also want to consider whether you enable the seekbar within this course, as that would allow the user to "skip" to the end of a slide. 

Steve McAneney

Ashley's suggestion of triggering the state seems simpler, but I couldn't get it to work. Setting the 'resume' setting means the slide is at the end of its timeline, not the start. 

However, using variables does work. It means adding a variable for each slide completion though.See my sample attached. You could build this into a template, but it would still mean you need a variable for each slide. 

The sample also includes one of my many failed attempts at using states, if anyone wants to have a go at making that work how Parashuram wants it to please be my guest.

Parashuram Vhaval

Steve McAneney said:

Ashley's suggestion of triggering the state seems simpler, but I couldn't get it to work. Setting the 'resume' setting means the slide is at the end of its timeline, not the start. 

However, using variables does work. It means adding a variable for each slide completion though.See my sample attached. You could build this into a template, but it would still mean you need a variable for each slide. 

The sample also includes one of my many failed attempts at using states, if anyone wants to have a go at making that work how Parashuram wants it to please be my guest.


I have prev/next buttons enabled in UI and also seekbar I'll share my file as soon as I finish I found solutions to achieve required result but my project is pretty long (53 slide) I'll prepare a short demo to share with you all.

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