Forum Discussion

BomL97's avatar
BomL97
Community Member
2 months ago

Decoding suspend_data Field: Is It Possible?

Hello Community,

I’m working with SCORM files generated by Rise 360, and I’m curious about the suspend_data field and its role in tracking learner progress. Specifically:

  1. Is it possible to decode the suspend_data field? If so, are there recommended programming approaches for decoding or decompressing this data (like base64 decoding, JSON parsing, etc.)?
  2. If the data isn’t directly decoded or decompressed, how does SCORM interpret the data for tracking progress? For instance, what mechanisms allow SCORM to understand which parts of the suspend_data reflect progress, quiz answers, or other interactions?

Any insights, experiences, or resources on handling the suspend_data field in a SCORM environment would be really appreciated!

Thanks so much for any help!

Luke

  • I will leave the decoding bit for others to explain if it is possible.

    In terms of the LMS, there is no need for the LMS to understand the bookmarking data. The bookmarking data is passed to the LMS and transferred back and is not read.

    As for completion and question level data that is sent separately using Scorm.

  • Hello BomL97,

    Phil is correct. Rise 360 compresses suspend data to avoid exceeding data limits some learning management systems impose. As a result, the suspend_data string in an LMS debug log isn't human-readable, so you won't be able to decipher it. You can check out this article to learn more about how suspend data works in Articulate courses: 

    Let me know if you have any questions!

  • BomL97's avatar
    BomL97
    Community Member

    Thank you so much for the quick responses and helpful tipps! JoseTansengco your attached article states that the course itself can decompress and read suspend_data. Now, regardless of the LMS, I would like to evaluate a user's learning progress by doing the same. Is it therefore possible to decompress and decode suspend_data, as the course itself can do? In the best case programmatically?

    Cheers!

  • BomL97's avatar
    BomL97
    Community Member

    Thank you! This is exactly what i was looking for!