Best Approach for Internal Bookmarking

Feb 12, 2013

I want to allow users to go grab some content in a course and then return to where they were in the scenario. What's the simplest approach to bookmarking each slide using variables? Thanks.

16 Replies
Connie Malamed

Right. Not the resume functionality and the user would not leave the course. It would be for getting back to wherever they were in one click. it's for medical, so they're in a clinic seeing a patient and have to make a decision. They step out of the clinic to look something up. Then I'd like to have a Return to Clinic button that lands them exactly where they were when they left.

Steve Flowers

Got stuck in meetings all afternoon:(  But came up with something in about 15 minutes that works OK. Couple of issues.

  • This only worked for me when published to a Web server accessed through HTTP. Local links failed with the querystring when I accessed this locally on IE7. I didn't troubleshoot why it doesn't want to cooperate.
  • You'll need to turn off "prompt for resume" and set resume to "always resume" or "never resume" (if you don't care to retain progress or states / variables) under Player > Other.
  • For each screen you want to "jump" to you'll need to create a trigger on your master slide. Fortunately copy paste and editing in the trigger panel makes this really easy.
  • The code is all in the master slide so it'll apply to all of your slides. This was required since I set it to always resume. The menu was annoying
  • The querystring must be ?page=5 (or another 4 letter prefix, I guess it would still work if you used ?cake= but it woudn't work if you used ?pie=)

Give it a shot. Would really be nice to have something like this built in. But it's nice to be able to work around with JavaScript and variables. This may give you other ideas for bringing in dynamic items. If you're going to be pulling in multiple querystring values, you'll want to use a different string parser. I picked the simplest method I knew of for this particular use case.

var player=GetPlayer();
var addr = window.location.search.substring(6);
player.SetVar("leap",addr);

Steve Flowers

More info. If you enter a value in the querystring that doesn't map to a slide jump or don't have a value at all, it'll just return to the last location automatically.

Connie Malamed

Okay, will try it out. Thanks. I was thinking that if every slide had a variable counter, that increased by 1 that could be used as a unique identifier. Or also, if there was a way to access the slide number, then that could be the unique identifier. Just wasn't sure how to get it to display. So maybe that's where the javascript comes in.

Steve Flowers

Howdy, 

I think this is closer to what you were originally asking for. The lightbox would be the simplest way to do this but if you want something with a bit better readability / scale, a "stored address jump" might be just the ticket.

Three parts to this.

  1. The content scene contains buttons that increment a value.
  2. This value is "watched" by triggers on the master slide. These triggers cause a jump to the scenario. If the scenarioAddress is blank, it jumps to the first slide in the scenario. If scenarioAddress has a value, each jump trigger processes the condition for this value and jumps to the right slide. Copying and pasting these triggers and quick changing the target and condition are fast and easy
  3. Each scenario slide contains a trigger that changes an address variable. You could make these variables say whatever you want. Incrementing a value on each scenario slide would probably screw things up on your return to the scenario. This is the same number of triggers. Each scenario slide also contains a jump to the content scene. You could tie these to specific slides if you wanted to. You could also run everything from slide masters to make stuff a bit cleaner. 

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