SCORM 1.2 Suspend Data--Seems Wonky to My Pea Brain

Nov 04, 2014

For the last couple of weeks I've been working on a SCORM 1.2 resume issue for a Storyline 2 course that I'm trying to finish up on for a client.  I posted on this previously but that post appears not to be available now in the new forums.  So here's an update . . .

First of all, I have to say the Articulate front-line support person that I've been working with has been very helpful and very responsive.  Couldn't ask for a better experience there.

Anyway, back to the problem.  Basically, I have a SCORM 1.2 course that, after you launch it from the LMS and fail the final quiz, you, say you exit from the quiz results page. When you re-launch the course later to re-try the final quiz, and bookmarking kicks in, you are not returned to the quiz results page but to somewhere in the middle of the quiz to a quiz question that needs answering.

So bookmarking appears not to work right.

After that happened I filed a case and working with Articulate support, we confirmed it was a issue with the amount of resume (of suspend) data. It was exceeding the SCORM 1.2 limit of 4096 characters as nicely described here in the KB

So, when re-launching the quiz turns out I was being returned to just before the SCORM 1.2 4096 character limit had been reached in the previous session, which makes sense.

So, working from a couple of my own ideas and more suggestions from my fellow Super Heroes (thank you, Steve F. and Phil. M) I tried to reduce the suspend data in the course by trying some of these things:

  1. Publish to SCORM 2004 3rd or 4th Edition or Tin Can/Experience if you can or LMS supports. (Not an option here--the LMS only supports AICC and SCORM 1.2, and SCORM 2004, for a variety of reasons, is not an option).
  2. Reduce the number of slides in a course.
  3. Reduce the # of layers in a course
  4. Consider using lightbox slides for layers that repeat over many slides or come from masters.
  5. Set as many slides as you can to "reset to initial state" if you can.
  6. Reduce the number of questions in a quiz or cut any freeform interactions that you can.
  7. Use freeform questions instead of text based questions as less data may be sent.
  8. Reduce the use of longform variable strings.

The course is fairly short, just 50-55 slides. Most slides have a pause layer and transcription layer for displaying narration text.  Three of the slides are separate multiple response quiz questions at the end of the topics and 10 slides are simple multiple-select questions for the final quiz.

The course also use a mandated Storyline template that the client had developed by another firm.  I had to use that template with little, if any, variations.

The master had 4 layers on the layouts which I was able to cut down to just two by moving two of the layout layers over to two lightbox slides. The other two layers I could not reduce due to the way lightbox slides currently work in Storyline (needed more customization than currently is permitted).

To verify the suspend data overage, Articulate Support had me turning on LMS debugging in the course and send them the log files. So, after providing that for them, I decided to watch the log files myself and record the amount of suspend data after I had moved to a new slide.

If you've not set up a LMS debug file for a SCORM course, this is how you do it.

Actually, kind of fun to watch the debug file generate and see how it builds up with and after each slide in a course.  Neat tool.

And this is the line you want to look for in the LMS debug file to see the suspend data.

This command will appear many times as you deal a with a slide (so I was always looking at most latest occurrence of the string in the debug file for my character counts).

For that line, eliminate the "strValue=" and anything before it and then copy the data after (for that line only) and then bring that text into something like Notepad++, and then select all the text to get a character count for the resume data.

And when you exceed the SCORM 1.2 data limit, you'll see a line like this with "intSCORMError=405" in the LMS debug file.

Now my method for recording the suspend data was not exactly perfect as recording the suspend data after moving to a new slide also includes data for visiting that new slide. But I was mainly looking for general trends in going from slide to slide.

Going through simple, click-to-read slides with simple narration seemed to add only 7-20 characters per slide (and usually just 7 characters) when moving to a new slide.  Seems like a reasonable number to moi.

However, when looking at the "check your knowledge" questions and the final quiz questions, what I found initially was jaw-dropping. I was seeing well over 400 characters generated for each.  So just with my 10-question final quiz, I'd was going over the 4096 character limit for SCORM 1.2 suspend data.

After trying some of the things I listed above to reduce resume data, I was able to get the quiz questions to over 200 characters per question.

But still too much data . . .

This past weekend, I re-created the quiz from scratch using the default plain template in Storyline and nothing else. Quiz questions seemed to now add over 100 characters of resume data--pretty consistently 114-115 characters regardless of the amount of text in the question answers.

Much better but still too much data to my (limited :) ) way of thinking.  And I'm left to ask what in the real course itself is causing that number to be even higher? 

If there is indeed something in the template causing things to balloon up, it'd be nice if we as developers could know that to prevent that in the future.

Now here's the kicker. I took an earlier version of the course that was done in Storyline 1 Update 5 and published it out to SCORM 1.2 and set it up in the LMS.  I went through the course, touching each slide and quiz questions, and failed the final quiz. I then exited the course from the final quiz results page and looked at the last suspend data string sent to the LMS.

Then I opened the same course up with Storyline 2 Update 1 and published it out to SCORM 1.2 and set up a new course in the LMS. I then went through the course exactly as I had before, and answering every quiz question the same. Again, I exited from the quiz results page and looked at the last suspend data string sent to LMS.

I then compared character counts from both trials:  The Storyline 2 Update 1 version had produced 32% MORE SUSPEND data.

Now I'm not a programmer and my old pea brain may not understand all what is going on, but I'm left with at least a couple of possibilities . . .

1) Storyline's suspend data generation MIGHT POSSIBLY BE inefficient and could benefit from some tightening.  Again, I'm not a programmer but I scratch my head when it takes at least over 100 characters (in a plain vanilla version of the course) and over 200 or 400 characters each in the designed version of course with the mandated template to record my answers to a simple multiple choice quiz question.  Something doesn't seem right to me there . . .

2) Something in the course is causing the resume data to balloon up to over 200 or 400 characters when the plain vanilla version only has over 100 characters. But what is that? I'm using Storyline as it is meant to be used, and the supplied template isn't doing anything special or highly customized. So why the difference in suspend character counts?  Is Storyline 2 keeping track of a lot of new things as we proceed through a course?

One more kicker--publishing to AICC produced nearly the same amount of resume data as its SCORM 1.2 counterpart (which is good).  However the course didn't have the bookmarking problem at re-launch.

AICC has the same suspend data character limit of 4096 characters. But it appears that this LMS was not enforcing the AICC character limit the way it was with SCORM 1.2.  An unexpected, but very lucky, result--and a temporary solution.

Unfortunately, using AICC is just an interim solution at best. The client the course is for wants SCORM 1.2 as they will be migrating to a new LMS soon and it may not support AICC.  And the new LMS does not support Tin Can yet and they're currently having trouble getting SCORM 2004 3rd of 4th edition to work.

Sorry for the long post but I thought I'd share my recent experience in case it might help someone else in some way.  Starting to feel like I'm engaged in one of the labors of Hercules . . .  ;)

Hoping I hear something more definitive from Articulate support soon.  The QA team is looking at it.

With fingers crossed  . . .

79 Replies
Robert Edgar

Hi Doug,

Thanks for your note, and I agree with your suggestions.

My note, however, was intended for an additional cause of the corruption of the suspend data, leading to a learner's having to relaunch a course after having spent time going through much of it. Sometimes this is caused by the suspend data string being too large, yes. But if suspend data string size is not the problem, there is still a percentage of learners who will have online time wasted because of a loss of connection between the server and the client.

It is for those who have that problem that I offer my suggestion.

Robert Edgar

Program Manager, Learning Systems Design and Development

Director, Stanford Redwood City Digital Production Studio

Stanford | University Human Resources | Learning Solutions Group

485 Broadway, University Hall, 3rd Floor, Room U309

Redwood City, CA 94063

Cell: 650-387-5914

rbedgar@stanford.edu

Visit Us Online: Learning Solutions Group

Stay Connected: Cardinal at Work Connect

See Our Studio: https://redwoodcity.stanford.edu/campus-resources/srwc-digital-media-production-studio

Phil Baruch

Most LMS vendors have to deal with content vendors and authoring tools that
conform to SCORM in various degrees and allow more data than what the
specification defines for Suspend Data in SCORM and Core Lesson in AICC.
If an LMS vendors is hard nosed about the size of Suspend Data, and you
have lots of content you are developing and/or use 3rd party content where
the expected LMS adaptability to be able to support larger than allows
field size, you will want to assess either using a different LMS if you
cannot keep the size of Suspend data under the size limits.

I suggest you engage the Docebos support team to see if they are strict
about the Suspend Data field size or not. A 2nd question is whether they
can provide some type of API log of actual course to LMS communication. A
3rd question to ask them is whether they have the ability to reset course
tracking user to a previous suspend state as that is a whole let better
than having them redo the entire course and hope the issue the user
experience does not re-occur. That is a sure fire way to lose confidence
in the quality of the content and in the LMS if not well managed.

Articulate, to their credit, makes a good faith effort to keep Suspend Data
to the standard size limit using an encryption method of suspend data to
shrink the file. This approach does have limitations as the compression and
decompression has to work at the quality of the connection and if one bit
gets jacked in movement the entire suspend data might break how the course
tracks. If I may complain a little, prior to encrypting the data,
Articulate would use 1s and 0s to indicate tracking of slides which made it
easier to support Articulate as if a course was not tracking it would be
pretty easy to identify the slides that might need some correction.

While your guidance from others suggests there is some corruption in the
suspend data, which is a rather reasonable starting point, you still need
to assess if the problem is in the course design (maybe some interaction
created a javascript error which breaks communication to the API under some
uses), the user environment where a post back to the LMS did not go through
or only partially went through, or in the LMS itself such as a load problem
because you sent out an email to 30,000 users and you have a stampede to
the server. There are a lot of imperfections and failure points in this
ecosystem to manage, but the key thing is your strategies for management.
Your LMS vendor should be an essential partner in problem resolution, even
if the problem is in the content or environment, and should be able to
guide you to further narrow the failure point with tools and expertise.

Good luck and hope this is helpful.

Regards

[image: photo]
*Philip Baruch*
Senior Partner/CLO, MaxIT Corporation

413-441-3704

www.maxit.com

RECOMMENDED READ: Learning Engagement and the Cost of Impact

"Start with the power of gratitude"

Doug Kipta

Good points Phillip. I totally agree on everything. Guess this is all of us figuring it out. If anything we do know there are solutions. They are just harder than our past of 1.2. After 20 years I guess we need to shift our teaching of the 1.2 and toward the new courses.

Cheers,

Doug Kipta, CTDP.

Learning Advisor | HR Learning Services | Suncor Energy Inc.

C: 403.296.8696 | C: 403.650.4722

dkipta@suncor.com

HR Learning Services Portal<https://can01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsecure-web.cisco.com%2F1hO6ateL8TtrkilRWvIP9tjOEKJ6prpJdq-7takJEqmTS9SuS8htHBYSYwkYUqB8tEYy6-tXNLxYKS6ekXf0fjydxFsQoCNMgRt9q9LB-pEU6hsHiKvUtJdtH3Z0Gyf6W8kjHWhWyNwbSYlU-vfmpB-WenZSUQFo-O5

Vanessa Barnes

Maximum suspend data sizes for different publish settings:

  • SCORM 1.2 (released 2001) = 4,096
  • SCORM 2004 (original 2004 release) = 4,000
  • SCORM 2004 4th edition (released 2009) = 64,000

Came across the 'Maximum Suspend Data Sizes' using SCORM Cloud for troubleshooting.
To check the maximum suspend data for a given SCORM setting, upload a SCORM file to SCORM Cloud, then scroll down to Course Properties and select Compatibility Settings.