Forum Discussion
Storyline Suspend Data Compression
I read this long post and this story is something that perhaps Articulate can consider to improve the software. I am not a developer but I wonder if articulate can do something to bypass this limitation. I don't know....I found this script inside the file scormdriver.js of the course published in SCORM 1.2... What does this mean? Is articulate chunking the volume of suspend data as soon as the y reach 4096? However, is it possible to make something to ignore that limit keeping the SCORM 1.2 format?
if(USE_STRICT_SUSPEND_DATA_LIMITS==true) {
if(strData.length > 4096) {
WriteToDebug("SCORM_SetDataChunk - suspend_data too large (4096 character limit for SCORM 1.2)");
return false;
}else{
return SCORM_CallLMSSetValue("cmi.suspend_data", strData);
}
}else{
return SCORM_CallLMSSetValue("cmi.suspend_data", strData);
}
}
"I wonder if articulate can do something to bypass this limitation." - unfortunately, the limitation of 4096 bytes comes from the SCORM 1.2 specification itself. Depending on the LMS system, some will adhere to the specification very strictly and others will make accommodations where it makes sense. Eg, many LMS systems will allow the administrator to configure the maximum size of suspend_data regardless of the spec (all variants of the Rustici driver support this). However, Articulate is bound by whatever implementation of the specification the LMS's has and can not just bypass that.
Note: The really simple solution is actually just to use any variant of SCORM 2004 where it was quickly recognized that 4096 bytes was insufficient and increased the specification maximum to 32768 bytes (as well as many other improvements to the specification). SCORM 1.2 is from 2000-2001, almost 20 years ago! It's unbelievable to me that we are still struggling to get out from under a specification from that long ago! Unfortunately, they did not build in a plan for obsolescence to force progression to newer standards (many standards today do this). About all I can say is there must be a clear desire for simplicity and that is one of the driving reasons why so many people continue to use SCORM 1.2 - it is "simpler".
In regard to your question about that piece of source code, that is designed for the few LMS systems that will potentially crash your course if you attempt to send more than 4096 bytes. If you happen to have one of those rare LMS systems, then you can simply set the USE_STRICT_SUSPEND_DATA_LIMITS variable in the Configuration.js file. Most LMS systems that strictly support 4096 bytes will merely drop the portion that is over 4096. This will often result in your Articulate course resuming some place prior to where you actually left off. With the setting above, if you get to a point that suspend_data exceeds the 4096, all suspend_data will be dropped and you will be resumed to the beginning of the course.