Slides "viewed" only on first visit?

I'm creating a large training module (will be nearly 400 slides when all is said and done).  It's fairly simple in its construction: a main menu slide with buttons linking to a number of sub-modules.  At the end of a sub-module, the user is routed back to the main menu to make another selection.

I want each sub-module's button on the main menu to change to a "completed" state only after the user has viewed every slide in that particular sub-module.  The easiest way to do this seems to be creating a numeric variable for each sub-module that counts up +1 for each slide viewed, and change the state to "completed" when it reaches the correct number.  The problem is that, with the sidebar menu available, the user can click around to various slides at will (this is an option the client wants).  So if a user clicks into a given slide multiple times, it will count up +1 each time they visit the same slide - meaning, they can technically reach the number of slide views needed to register as "completed," even if they haven't actually completed the entire sub-module.

So, that brings me to my question... short of creating a unique true-false variable for each and every slide (again, we're talking about a large number of slides), is there a way to track when a slide has been viewed for the first time, and not upon re-visiting?  

11 Replies
Walt Hamilton

So, that brings me to my question... short of creating a unique true-false variable for each and every slide (again, we're talking about a large number of slides), is there a way to track when a slide has been viewed for the first time, and not upon re-visiting?

This seems to be about the only reliable method :(

Nick Wilson

Yeah, having now dug around the forums a little more and changing up my search terms, I realize there are some other threads on this issue and similar topics, going back at least 2+ years.  I've submitted a feature request, as have others.  But seriously, it's a little bit ridiculous that this feature doesn't exist at this point.  What I'm trying to do is really a very basic, simple thing.  Count the slides as they are viewed.  Simple.  Straightforward.  The number of hours I am apparently going to have to spend creating unique variables, triggers, conditions, etc. for this project is enormous.  And the idea that the information I need is already being tracked by some sort of global/system variable that's just out of my reach is maddening.  Why, Articulate, why?

Melanie Sobie

You can set up a T/F variable for each main menu item that tracks when the user reaches the very last slide in each sub-section. For instance, Menu 1's state cannot change to visited(T) until the user reaches the last slide in sub-section 1 and the variable for Menu 1 changes the variable to T.

Nick Wilson

Thanks for the suggestion, Melanie.  Unfortunately, with the navigation menu visible in the player, the user could just click directly to the last slide of the sub-section, skipping any amount of the previous content, and still trigger that variable to T.  The user would return to the main menu and see "complete" for a section they may have completely skipped over (unless I'm misunderstanding your suggestion).

As I continue down the rabbit hole of old posts regarding system variables, I'm starting to get discouraged, as I now realize this is a pretty major shortcoming of Storyline, one that has been around for several years, and one that Articulate does not seem particularly keen on solving.

Melanie Sobie

Is there a reason you need all of the menu items visible?  You could consider hiding the last slide in each section from the menu. Also, if your sub-sections have groupings of topics, you can have the menu show the first slide in each section and hide the rest of the slides under each topic.

Nick Wilson

Yes, my life would be so much easier in this scenario if the client didn't want the menu items visible, ha!  I understand your point about hiding slides in the menu, but I'm still left with essentially the same problem (Imagine a sub-section that is 4 slides long, so I hide slide 4 in the menu.  The user can still click directly to slide 3 in the menu, then advance to slide 4 having skipping over slide 2).   

Again, I really appreciate your suggestions.  It's helpful to make sure I'm thinking through all the options, but I'm losing hope that there is any simple solution in this case.

Melanie Sobie

Oh my.  So it sounds like they will just need the "restricted navigation" setting, so at least the first time they must proceed in a straight line, before the can go back and revisit any other slides in whatever order they want. Probably not exactly what they  want, but that would make the project work correctly.

Melanie Sobie

Here's an article you might be interested in. This method let's the user know they are still "in progress". You could create a custom message for each section that says something like "You haven't viewed all 12 slides in this section."

http://www.thearticulatetrainer.com/why-does-my-custom-menu-lose-track-of-my-progress/

Nick Wilson

I actually hadn't looked into the restricted navigation setting.  This could actually be a pretty good solution for this.  I'm going to pitch this to the client and see if restricting forward navigation will work for them (will keep my fingers crossed, ha!).  Thanks again for sticking with this thread and continuing to offer up options, Melanie!  You may have just saved me a lot of hours...