Suspend Data Issues Using SCORM 1.2 and Storyline

I'm mainly wondering if anyone is experiencing any similar problems with Storyline when publishing for SCORM 1.2.

 

When I publish as SCORM 1.2 and load it into an LMS that requires SCORM 1.2, my co-workers and I have found that we run into bookmarking issues. Mainly we see these issues in the Test at the end. If you exit the course after finishing the test and then re-run the course, the bookmarking will place you back in the test.

 

After many hours of testing, we discovered that it appeared to be a suspend data cap issue. SCORM 1.2 allows for only 4k characters in the suspend data where as SCORM 2004 4th Edition allows for 64k characters.

 

We then started to experiment with Storyline files to see where the bloat of the Suspend Data was coming from. The bloat comes from the test (if you are basing completion off of a score, not off slides viewed). How much bloat you ask? Here are our findings.

 

We created a test file that contains 3 slides and uses the default Storyline interface. 

-Slide 01 is a "content slide." All it contains is text.

-Slide 02 is the question bank. The question bank contains 30 questions but only gives the user 25 to answer. This is also in the default Storyline question template.

-Slide 03 is the results slide. The results slide tracks the question bank on slide 02.

-Published as SCORM 1.2, Reporting: Passed/Failed, Tracking: Using quiz results (Results Slide).

*All Suspend Data will be referenced by character count. (e.g. Suspend Data = 100 means Suspend Data = 100 Characters)

*Data was gathered using Google Chrome's developer tools.

 

Slide 01 Suspend Data Generated = 18

Slide 02 Suspend Data Generated (25 Questions) = 2,819

Slide 03 Suspend Data Generated (Results Slide) = 108

Average Suspend Data per question = 112.8

Total Suspend Data for the Course = 2,945

 

As you can see, the Test generates the bloat of the suspend data. Also, remember our suspend data cap of 4k? This means that a default Storyline Test with 25 questions generates over half the allotted Suspend Data cap for SCORM 1.2.

 

Which brings me to my question. Has anyone else experienced any issues publishing SCORM 1.2 using Storyline? Problems with bookmarking or with scores being recorded incorrectly?

 

-Chris

34 Replies
Ashley Terwilliger

Hi Chris,

Thanks for sharing that here. Based on the suspend data amount you're seeing, you should be able to return back to the point where the user left off based on the suspend data limits detailed here. But you're returned back earlier in the course? Have you also looked at testing this at SCORM Cloud which is an industry standard for testing SCORM content. 

Steve Flowers

Yes! This is a known issue. If the suspend data is truncated, it'll return you to the place in the module up to the point of truncation. It's a pain...

Our LMS enforces the 4K limit (which isn't supposed to be a limit by the spec, it's supposed to be a floor). We've asked the LMS vendor to increase the limit to 64K. Which would help, but as you've seen, the questions are eating up more then the reasonable share. I believe that there might be a way to prevent the push of some of the question data by modifying some of the js dependencies.

It really isn't necessary to store all of the question data in most cases -- I get why it's done as the results will pull back the way a question was answered. But if one isn't using the results printout, this just eats up valuable suspend data space.

Steve Flowers

I haven't tested this, but for the Flash-based output, you might be able to suppress the storage of question data in suspend data by commenting a line in your story.js file. Haven't dug into the HTML5 output but I'd imagine a similar feature is used.

//g_listQuizzes[strQuizId].AddQuestionResult(oResult);

If that doesn't do the trick, perhaps both this line and the one above it:

//var oResult = new Questio...

case "BW_StoreQuestionResult":
var strQuizId = arrArgs[0];
var strId = arrArgs[1];
var strLMSId = arrArgs[2];
var strType = arrArgs[3];
var strCorrectResponse = arrArgs[4];
var strUserResponse = arrArgs[5];
var nLatency = arrArgs[6];
var strStatus = arrArgs[7];
var nPoints = arrArgs[8];
var strCompletedTime = arrArgs[9];
var nWeight = arrArgs[10];
var nQuestionNumber = arrArgs[11];
var strDescription = arrArgs[12];
var strQuizName = arrArgs[13];
var bTracked = (arrArgs[14] == "true");

if (g_listQuizzes[strQuizId] == null)
{
g_listQuizzes[strQuizId] = new QuizData(strQuizId, strQuizName);
}

var oResult = new QuestionResults(strId, strLMSId, strType, strCorrectResponse, strUserResponse, nLatency, strStatus, nPoints, strCompletedTime, nWeight, nQuestionNumber, strDescription, bTracked);

//g_listQuizzes[strQuizId].AddQuestionResult(oResult);
break;
Chris Curry

Hey Natalia,

 

There was never a solution that really worked. Without looking into suppressing the suspend data through file manipulation as Steve suggested above. 

 

The solution we ended up going with was that Storyline 2 generated slightly less suspend data for Tests. So we broke the tests out of the courses and delivered the course as a separate SCORM package. The tests themselves never went over the 4k character cap, and neither did the course on its own. Not the best solution, but that was the only way to solve it.

Rebecca Carter

Hello,

How do you check how much suspended data you have used in a course? Is there an option to view this information in storyline?

I am forced to only publish courses to SCORM 1.2 as our (awful) LMS will only accept that amount. I know I have gone over the limit but want to check by how much so I can start to strip my course back to make it fit.

Leslie McKerchie

Hi Rebecca,

Storyline compresses suspend data to avoid exceeding data limits imposed by some learning management systems. 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.

Not sure if anyone in the community has found a way around this or has another solution to share to help you out.

Rebecca Carter

Hi thanks for your reply Leslie,

I know this, I just want to know how I see how many characters I have used? I see people posting saying "my course used 5900 suspended data characters until I cut out a few slides and now it is only 3000"  where do they get these figures from? How do they find out how many characters their course has used?

Leslie McKerchie

Hey Rebecca,

That's a great question. I hope that someone in the community will be able to pop in and share that information as I'm not sure either.

I know one user mentioned previously here that he worked with his LMS to find this information out.

We typically just advise enabling the LMS Debug Mode to see if the data is flowing back and forth as you would expect. Justin wrote a great article about this if you'd like to check it out.

Phil Mayor

Dont worry I skim read and never saw that.

You are looking for this line 

LMSSetValue('cmi.suspend_data',

Mine looks like this

'2M5m60708090a0b0c0d0e0f0g0~201$1001a12T0101201112012120131201412015120161201712018120191201a12P600000010101010v_player.6Xlk9IegMGe.6LfxAXnUt071^1^00~2o3~2K102vb~2y13400340034003400342034003400g600101^8_defaultg6w0101^8_default3000300030003000300030003000300030000000~2y102Be~2m134003400340034003420340034003420340034003000g600101^8_defaultg600101^8_default300030000000000')

For a very short coursejavascript:void(0)