How to parse state data aka "suspend data" sent over xAPI?

Mar 12, 2019

Previously discussed but not resolved here:

https://community.articulate.com/discussions/articulate-storyline/how-to-parse-the-state-content-in-tin-can-api?utm_campaign=elh_search&utm_medium=internal&utm_source=elh-referral 

New information in this article updated Jan 22, 2019:

https://articulate.com/support/article/Implementing-Tin-Can-API-to-Support-Articulate-Content#communication

"Articulate content supports resuming content from where a user has left off. The state data is stored and retrieved by posting requests to http://mycompany.com/TCAPI/endpoint/activities/state?method=[REQUEST METHOD]. The value of [REQUEST METHOD] will be replaced with GET when retrieving the state data and PUT when storing state data. Headers and content will be sent as described above. For more information about storing and retrieving state data, refer to the section State in the Tin Can API."

We're successfully sending and retrieving state data to Drupal via xAPI.

The problem is the data is compressed. Two years ago staffer https://community.articulate.com/users/AshleyTerwilliger hinted there might be an update. Can you release a way for us to decode/uncompress this data?

Our goal here is to elegantly use this same method to receive custom learner answers into our database.

Here's an example of the compressed data:

2cnw60708090a0b0c0d0e0f0g0h0i0j0k0l0~2V2~2R21001214~2G201012011120121201312014120101301113010140111401214013140141401015011150101601115010160111601016011150101501414010150111501016011160101601116010160111501015014140131401214~2G7Ee6000000Ls2000000000000000000000180000003SSS151^1^1^1^1^1^1^1^1^153SSS1^1^1^1^1^1^1^1^4TEST5TOPICeSOMETHING ELSE4TEST3TWO5TYREE1^101^1^1^1^1^1^1^1^1^1^iLET^2S GO CAMPING!1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^iLET^2S GO CAMPING!1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^1^v_player.6irYx9HUG0V.5mKmnabJtv41^1^00~2S2~2O232103g$1~2w23420n6200iLET^2S GO CAMPING!34203420o70000111^e_default_Hovero70000111^e_default_Hover342034203420340034003420g600101^8_defaultg600101^8_defaultb740101013133400021a000~2X8~2Q232103CK0~2A234003420342034203400o70000111^e_default_Hovero70000111^e_default_Hover3400g600101^8_defaultg600101^8_default962004TEST34203420340034003420342034203420960004TEST34200000~2M232103ch1~2w23400340034003400o70000111^e_default_Hovero70000111^e_default_Hover3400g600101^8_defaultg600101^8_default862003TWO34203420342034203420342034203400a62005TOPIC34200000~2b332103kY1~2X23400340034003400o70000111^e_default_Hovero70000111^e_default_Hover3400o70000111^e_default_Hovero70000111^e_default_Hover342034203420a62005TYREE34203420342034203420j6200eSOMETHING ELSE342000000000

thanks!

Loc

 

3 Replies
Crystal Horn

Hi Loc. Because it currently isn't a supported function of Storyline, I don't have any advice to offer about having more than one quiz interaction on a single slide. But you're in the right place for outside-the-box community advice!

Does anyone have workaround ideas about sharing multiple variables from single slides using JavaScript?

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