Long suspend_data for SCORM

Third party plugins, patches, bugfixes
Post Reply
marcelmuntaner
Newbie
Posts: 5
Joined: Mon Feb 03, 2014 9:01 pm

Long suspend_data for SCORM

Post by marcelmuntaner »

Hi,
I use Articulate Storyline a lot.
One of the things with Articulate Storyline is that it makes an intensive use of the SCORM string 'suspend_data'.
This is the string that is used to store the information about interactions of the user so that when the user is back, the state of the course can be resumed.
If the course is very long and there are lots of consuming elements (like: text variables, slides that are set to resume saved state, objects with states, text inputs, etc.), the space in this string runs out. This makes that when you reenter a course, it doesn't bring you back to where you were, but to the place where the string has reached its limit.

To see this, find a SCORM package that I had prepared for testing (click here to download, I couldn't upload it here due to the size limit). It's only 16 slides where each slide uses one text variable (in the background).
Try the following:
- upload the package
- enter, advance (one or two slides) and exit - a few times.

You'll see that after a while it doesn't bring you back to where you were (I think it reaches the limit at the sixth slide).

Proposed solution:
In the file ‘\appLms\modules\scorm\ScormTypes.js’, change:

Code: Select all

function scormTypes_characterstring( maxlen, value ) { 
       if( typeof(maxlen) == 'undefined' || maxlen === null || maxlen === '' ) 
             maxlen = 4000;
       return scormTypes_checkLen( maxlen, value);
}
For:

Code: Select all

function scormTypes_characterstring( maxlen, value ) { 
       //if( typeof(maxlen) == 'undefined' || maxlen === null || maxlen === '' ) 
             maxlen = 4000000;
       return scormTypes_checkLen( maxlen, value);
}
If you do this fix and then go back to the package, you will find that it always remembers the last position.
User avatar
max
FormaLms Guru
Posts: 2735
Joined: Thu Mar 01, 2012 10:41 am
Version: forma.lms 2.4
Contact:

Re: Long suspend_data for SCORM

Post by max »

Hi Marcel,

thank you for the analysis. I see your point. Even other forum users had pointed out similar issues. Our developers will have a look at the solution you propose, although I don't see anything wrong with it (it just changes the maxlen value).
---------------------
Massimiliano Ferrari
Elearnit - Elearning e Knowledge Management
https://www.elearnit.net
https://www.linkedin.com/in/massimilianoferrari
m.ferrari[at]elearnit.net
Skype: m_ferrari_it
User avatar
canelli
FormaLms Guru
Posts: 496
Joined: Thu Nov 08, 2012 12:21 pm
Version: forma.lms 2.0
Contact:

Re: Long suspend_data for SCORM

Post by canelli »

Hi marcel
the solution you propose can not be accepted and included in standard forma.lms package beacause it breaks SCORM specification.

suspend_data specification
SCORM 1.2: CmiString4096 datatype - the element must be max 4096 char
SCORM 2004 3rd: Data Type: characterstring (SPM: 64000) , e.g. 64000 char len
Cercate nel forum le riposte prima di chiedere. Check the forum before posting
---------------
Claudio Anelli
Joint Technologies - Sistemi avanzati per l'information technology

http://www.joint-tech.com
---------------
marcelmuntaner
Newbie
Posts: 5
Joined: Mon Feb 03, 2014 9:01 pm

Re: Long suspend_data for SCORM

Post by marcelmuntaner »

Hi Claudio and Max,

Thanks for the quick responses, it's very good for an open source software to have an active community.

While I was trying to resolve the issue due to a long SCORM module I was trying to track, I noticed that some other users had similar issues. But those threads were resolved, so, not being sure if the issue was the same, I opted to not to reply those threads.
This is one of the reasons for the long explanation before the fix: so that a user that has a similar issue can identify it and easily find it via the search utility of this forum.

Concerning the specifications of SCORM, I must admit that I've exaggerated a lot the size of the maxlen variable.
However, I think that increasing at least ten times the original value is important. In my case this is an essential feature.
Leaving it as it is now makes the player not compliant with the standards for being too short, while it's a common practice now for eLearning platforms to extend the limits beyond SCORM specifications. This is due to the increasing popularity of Authoring tools like Articulate Storyline, that make intensive use of the suspend_data variable.
Post Reply