SCORM course doesn't resume or loses progress
Why learners restart a SCORM course from the beginning: SCORM 1.2's 4,096-character suspend_data limit, LMS quirks on relaunch, and new package versions — and how to diagnose each.
Last updated 5 min read
Learners close the course halfway, come back, and start from slide one — or finish and the LMS still says incomplete.
The most common cause: suspend_data overflow
SCORM keeps a course's resume state in one text field, cmi.suspend_data. SCORM 1.2 guarantees only 4,096 characters; SCORM 2004 guarantees 64,000 (Rustici: suspend data limits). Long courses with many slides, variables or questions can write more than 4,096 characters. Many LMSs truncate the overflow silently, the saved state no longer makes sense to the course, and the learner starts over.
To check: in the LMS's attempt details, look at the stored suspend_data. If it is exactly 4,096 characters long, or ends mid-word, it was cut off. Fixes, in order: publish as SCORM 2004 if your LMS supports it; ask the LMS vendor whether the limit can be raised; reduce what the course saves.
Other causes worth ruling out
- The LMS opens a fresh attempt. Some LMS settings start a new attempt on every launch; check the course's attempt settings.
- The course reads the wrong signal. On relaunch, SCORM Cloud and Moodle both report the entry mode as empty rather than "resume", so a course that only resumes on "resume" sends everyone back to the start.
- The course closes before it saves. Closing the browser tab rather than the course's own exit can lose the last commit.
- A new package replaced the old one. Some LMSs reset progress when a course's package is updated.
How Scormbusters packages avoid it
Exported packages keep resume data under 3,800 characters in both SCORM versions, dropping the least important state first when a slide course saves a lot, and never dropping completed lessons, the score or question draws. They restore progress from their own saved data rather than trusting the entry mode, and check that the LMS session actually works instead of reading the return value of Initialize. Verified with a relaunch on SCORM Cloud and Moodle 4.5. See Export a course to your LMS.
Part of the documentation: Deliver.
Found something here that does not match what the product does? That is a bug in the guide — see all guides or tell us from the Help Center.