Blog Post

Articles
3 MIN READ

Learning More About Your LMS: Resume Behavior and Suspend Data

Justin's avatar
Justin
Staff
10 years ago

Have you ever run into a situation where your course doesn’t pick up where you left off when you view it more than once on your LMS? Or maybe it does, but you’d prefer it start over from the beginning? The way your course responds when it’s relaunched is called the resume behavior. 

If your course isn’t resuming as desired, you’re probably wondering what’s going on and how to fix it. In this article, we’ll help you figure that out.

How Do I Control the Resume Behavior?  

First, let’s examine our options. If you’re using Storyline 360, Presenter 360, Quizmaker 360, or Engage 360, you can choose from three resume options:

Prompt to resume

If learners previously viewed part of the course, this option displays a prompt, asking learners if they want to pick up where they left off.

Always resume

This forces your course to open at the place where learners left off. They won’t see a prompt; it just happens automatically.

Never resume

This forces your course to always open at the beginning, even if learners completed part of the course previously. They won’t see a prompt.

 

If you’re using  Rise 360, the course will always resume from where the learner left off. 

How Does Resume Actually Work?

As a learner makes his way through a course, a compressed chunk of information—called suspend data—is sent to the LMS after each slide. This suspend data describes everything about the current state of the course, including the learner’s responses, navigation history, object states, variable values, interaction results, and more.

When the learner opens the course again, it asks the LMS where they previously left off. The LMS sends the suspend data back to the course, and the course uses it to resume at the same point and in the same state as before.

Why Do Courses Fail to Resume?

A few things could get in the way of the resume communication process:

You exceeded the suspend data limit.

Your LMS might be imposing limits on suspend data. Older LMS specs, such as SCORM 1.2, have outdated restrictions on suspend data.

We recommend publishing for the latest edition of SCORM 2004, xAPI (Tin Can API), or cmi5. See these articles for more information:

You’re in a cross-domain environment.

If you’re hosting AICC content on a different server than your LMS, you may experience a cross-domain conflict. See this article for solutions. (Note that this doesn’t apply to Rise 360 courses.)

You already completed the course.

The resume feature might not work as you’d expect after you meet the completion requirement. Most LMSs consider a course to be in review mode after the tracking requirement has been met.

In review mode, resume data is no longer sent to the LMS, which prevents learners from accidentally changing their course status from Complete back to Incomplete. See this article for more information. (Note that this doesn’t apply to Rise 360 courses.)

Can I Examine Suspend Data?

Enable LMS debug mode to watch your suspend data flow back and forth between your content and your LMS. By doing so, you can verify that the data returned by your LMS upon resume is the same data that your content sent upon suspend—a common point of failure.

To help you avoid exceeding suspend data limits (see above), we compress suspend data. As a result, the suspend_data string in an LMS debug log isn’t human-readable. You won’t be able to decipher what it means, but you can see if the data sent to the LMS matches the data that comes back from the LMS.

Doesn’t My LMS Need to Read Suspend Data?

No. Only the course itself needs to be able to decompress and read suspend data. The LMS just functions as a handy place to store suspend data between attempts.

The Bottom Line

Now that you have a better understanding of how resume behavior works, you should be able to troubleshoot these issues more easily if you run into them.

Need more help troubleshooting? Check out these other resources:

Published 10 years ago
Version 1.0
  • RobertEdgar's avatar
    RobertEdgar
    Community Member
    HI Mark,

    With Storyline and our LMS, we don't seem to have a 4k limit, even with SCORM 1.2. I am sure that other LMSs do, but we've done a lot of testing, and our LMS (Oracle ELM 9.1 and 9.2) doesn't break with longer suspend_data strings.

    However, can you provide an example of a cmi.comments call? I'm not sure I get how that would bookmark without creating a longer suspend_data string, but I'm certainly interested!

    Thanks
    Robert
  • Your LMS doesn;t conform to the SCORM 1.2 standard then, which in this case is a happy situation for you. 4K is the limit. A lot do conform to that limit.

    cmi.comments is another read write data field available to the courseware. The official definition is:

    cmi.comments (CMIString (SPM: 4096), RW) Textual input from the learner about the SCO

    Note it's read / write and is another 4K so basically 'doubles up' on the suspend_data field.

    It's not something you could implement yourself (well you could with Javascript calls, but there would be no point as the suspend_data is still going to be used to store bookmarks currently as that is what Articulate decided). It is something that Articulate would have to implement in the back end.

    • SteveFlowers's avatar
      SteveFlowers
      Community Member
      4K in the spec is a floor (minimum), not a ceiling(maximum) :) An LMS that doesn't limit suspend data string length isn't necessarily non-conformant.

      I'm in agreement about using bookmarks for the bookmarking string. Suspend data truncation is something we contended with frequently when we published to SCORM 1.2. OR, at the very least, moving the restore location to the front of the string so it's never chopped off.

      We've been using SCORM 2004 for awhile because our system supports better reporting of interactions in 2004.
      • MarkTomlinson-7's avatar
        MarkTomlinson-7
        Community Member
        The SCORM 1.2 specification states that suspend_data is of type CMIString4096. The specification defines CMIString4096 as "A Set of ASCII characters with a maximum length of 4096 characters". Note the use of the word maximum, not minimum. In software implementation specifications, limits are always maximums so the appropriate data type can be used to ensure efficiency.

        The other way to look at it is that if courseware sends a string in excess of 4K characters, then the courseware is non-compliant. In that sense Storyline sending over 4K is non-conformant and the LMS that rejects it is conformant.
  • I suggested the use of cmi.comments for the bookmark however, the specification provides for cmi.core.lesson_location which is a 255 character string. I don't understand why this is not used.
  • CathyFrost's avatar
    CathyFrost
    Community Member
    Hi, I noticed that we were getting the suspend data limits error. When publishing from SCORM 1.2 to 2004, 3rd or 4th Edition, we started seeing a split screen of the course and a page that had the hyperlinked name of the course displayed. In some adjusting of the player, we were able to separate these two pages, however, I do not want a second page with the hyperlinked name. I only see it when publishing to 2004 and not when publishing to 1.2. Has anyone experienced this and/or know if it is resolvable?
    Thank you!
  • Hi Justin,

    I am facing problem in LMS resuming functionality in completed state(SCORM).

    Scenario:-

    1.If the first package was in completed state and If I uploaded the second package, the latest uploaded package is resuming from where I left in the first package(Resuming taking place). Actually I need second package should start from starting onwards.
    2.Can you please share how this resuming functionality is working and where should I debug to solve this issue.

  • ITRC1's avatar
    ITRC1
    Community Member
    Hi Justin,

    We are having a problem with Resume.
    We are working on a large course - 12 lessons plus 12 quizzes - lots of interactions
    i exported the course to SCORM 2004, Edition 3
    - have added the exit link - this works
    - but the course does not resume
    - our LMS is Sakai 11.3
    - can you help?
    jane
    • Justin's avatar
      Justin
      Staff
      Good Morning, Jane!

      I'm sorry to hear that. The best way to identify an LMS issue is to compare how your published output behaves in an industry-standard testing engine. SCORM Cloud is a free testing engine that supports AICC, SCORM, and Tin Can API (xAPI) content: https://cloud.scorm.com

      This video demonstrates how to use SCORM Cloud with Articulate content: http://articulate.fyi/1OHe39f

      You'll also find some helpful LMS-troubleshooting tips here: http://articulate.fyi/1TBEwac

      If your content works properly at SCORM Cloud but not in your LMS, please open a support case with your LMS provider. They’ll know how best to help with LMS-specific problems.

      If your content doesn't work in SCORM Cloud, we'll be glad to investigate it further. Just send me a copy of your project file using this upload link: http://articulatecase.com
      • ITRC1's avatar
        ITRC1
        Community Member
        Thanks, Justin our Rise course is large 650MB zipped. so i duplicated and removed many lessons - got a pared down version to 40MB zipped. (the StormCloud free account limits uploads to 100MB).
        Followed the steps you provided and it worked - was able to resume. i was not taken to the exact spot i left at but it took me to the start of the lesson where i exited from which is OK for us.
        one more question before i head on over to our LMS devs… is the large size of our Rise course going to be a problem for Suspend Data in our LMS? i see that you listed Suspend Data size for SCORM 2004 Edition 3 at 64,000(?). How would i even know what to set this limit to?
        jane
  • DocFox's avatar
    DocFox
    Community Member
    It would be great if the resume options provided with Storyline and Studio (prompt to resume, always resume, never resume) could be included with Rise courses, as well. I have a number of Rise courses where the automatic resume feature is problematic and I'd like to be able to turn it off.
  • BillDane's avatar
    BillDane
    Community Member
    I see that Storyline 360 compresses the suspend data, but Rise does not and that's a problem. I have a very large Rise course with 50+ topics/lessons and hundreds of blocks total and the suspend data grows beyond what SCORM 1.2 can hold (don't get me started about how old this spec is and why my client can't use 2004). It sure would be nice if it were compressed. It seems that data is stored in suspend data for each and every block in the course when completed. Maybe an option to store completion data at the topic level instead?
  • Hello,
    I've had several issues with my LMS not keeping track of where you left off. I go through the whole module, the LMS will track as completed. If I close out of the training before finishing, then the training will go back closer to the beginning and not tracking where I left off. I tested it using SCORM Cloud, and it doesn't work on SCORM cloud. Can anyone help?