Forum Discussion
Resuming an articulate story
When you launch an Articulate story (at least via SCORM Cloud), the question "Would you like to resume where you left off?" pops up. This must come from the state API, specifically the GET call on activities/state. Looking at the response from that, you get something like:
25245060ji1001111a010110111100~2C1~2w1cb101001a1a113te1M6Ai00H06Ai00I26Ai0000jDi3000m1118_default6Ai0012pn02Dkfe720118_default0000001000
What format is that in? How can I use that data to know which slide to go to? And even if you know, how do you get the browser to go to that slide? Articulate must be getting (or giving) some information about that.
None of this is documented anywhere.
18 Replies
- PhilMayorSuper Hero
The data is compressed, the player uncompresses it and decides where to go this is not user editable.
There is no jump to slide API, you cannot jump into a slide
- FrankSiegelCommunity Member
So what is this data? Is it some kind of bookmark? What am I supposed to store via the TinCan state API's /activities/state/?method=PUT, and when I get whatever comes back in /activities/state/?method=GET, what am I supposed to do with it? How does that get the Articulate story to go to where we left off?
- PhilMayorSuper Hero
This is the resume data, are you building your own LMS I have no idea where you need to put it sorry
- FrankSiegelCommunity Member
It didn't start out that way, but yes -- it looks like I'm building my own LMS, or at least trying to implement a lot of the Tin Can stuff myself. I've implemented services for launching stories, and for storing and retrieving Tin Can statements, and all that's working fine. I figured I would implement the state API, but there is no documentation on what the format of state data is, and especially, how you actually communicate with Articulate to get it to use the resume data. I guess since I'm using an LMS, I wouldn't be dealing with Flash cookies. So all I have is this weird compressed data with no idea what to do with it. I wish this were documented somewhere.
Hi Frank,
As Phil mentioned, suspend data is compressed to allow for more robust storage, the suspend_data string in an LMS debug log isn't human-readable. That is, you won't be able to decipher it. Since you're building your own LMS, I'm not sure this information will help, but figured I'd share here the information on an LMS and Flash cookies:
If you choose Always or Prompt, and if you'll be hosting your content in an LMS, do one of the following:
- If your LMS supports bookmarking, mark the box labeled When running in LMS, ignore Flash cookie. The LMS will control resume behavior in this scenario.
- If your LMS does not support bookmarking, uncheck When running in LMS, ignore Flash cookie. The Flash cookie will control resume behavior in this scenario.
- FrankSiegelCommunity Member
So I'm not sure what "if your LMS supports bookmarking" means. Does that mean that the LMS has implemented the State API, and is dealing with this compressed resume data? And if it doesn't support bookmarking, I assume that means the state API wasn't implemented, and we would use the Flash cookie so Flash would take care of it.
There seems to be no documentation on what the state API is supposed to return, and how to use this data to influence the Articulate player.
Hi Frank,
Yes, if the LMS supports bookmarking it is tracking the resume data itself. If it doesn't, the flash cookies will do this. That data is compressed, so I don't have information on what it's returning, but for more information about how it's handled within Storyline I wanted to point you to this kb article.
- FrankSiegelCommunity Member
Thanks
Happy to help Frank, and please let us know if you need anything else.
- FrankSiegelCommunity Member
Well -- since nobody knows how this data is compressed, and therefore what I should store and retrieve, it seems like it's impossible for me to implement the State API in my LMS, and I will just have to rely on the Flash cookies. I suppose Rustici probably knows about this, but it seems weird that nobody documents it. The spec talks about LMS's having to implement the State API, but they then make it impossible to do so.
- atirahCommunity Member
hi,finally were you able to solve the problem. I have been dealing with the same problem for 2 weeks.could you please help me
Related Content
- 10 months ago