Storyline 360: Is there a way to limit the amount of data saved in cmi.suspend_data?

Good morning everyone, we are publishing our lessons to an LMS in scorm 1.2 compliance.

According to the scorm 1.2 spec, the string length for cmi.suspend_data is about 4096 bytes.

Yet we are publishing courses that (right now) have around 80 slides and 20 exam questions... And our cmi.suspend_data is hitting about 7199 bytes in size.

I am worried that when we have a longer course (120 slides for example) the suspend data will reach in size over 7999 bytes, which is the max limit in our database.

It appears to be archiving either every screen, or every interaction. Possibly both, and we want to try to limit the amount of data that Articulate Storyline 360 generates and tries to save in cmi.suspend_data. Both for SCORM specification, and for our database and indexing purposes.


Does anyone have any advice on this?

1 Reply
Dario Dabbicco

Hi David, limiting the size of suspend_data boils down to a combination of these factors:

- try to use the "resume saved slide" setting on the least amount of slides possibile. Set slides to "reset to initial state" (don't leave the "automatically decide setting") and use variables to obtain the same effect as "resume saved slide". Variables are a much more cheaper (in terms of suspend_data) way of retaining state in your app / course.

- don't use the pre-set buttons of Storyline. They have lots of useless states that get saved in the suspend_data, if combined with the "resume saved slide" setting. Create custom buttons and then copy/paste them.

- if the suspend_data is still over the limit, read this discussion: https://community.articulate.com/discussions/articulate-storyline/storyline-suspend-data-compression and apply the method suggested by David Hansen. It's a bit tricky if you don't know Javascript, but it's well documented in the discussion. There are even more powerful compression libraries for string data than Pako, but they're definitely overkill for the job. In that case, maybe the problem is within the project structure/design.

Hope this helps, bye & stay safe!