Zurück zum Blog
updatescormlearner-recordslmscompletion

How to Update a SCORM Course Without Losing Learner Records

von The ScormEdit Team·21. April 2026·8 Min. Lesezeit

You fix a typo, re-upload the course, and a week later someone in compliance asks why fifty employees who completed the training last quarter now show as "not started." Updating a SCORM course in a live LMS can quietly destroy the very records you are responsible for keeping. Here is why it happens and how to avoid it.

Why updating wipes records

Learner records — completion, score, resume state — are stored by the LMS and keyed to a course identity. When you replace a package, many LMSes treat the new upload as a different course, or reset the activity, and existing learners are detached from their prior attempts. The community consensus is that this is structural to how most LMSes handle a replaced package, not a one-off bug: the LMS assumes the content changed enough that learners should take it again.

Replacing a SCORM package is not the same as editing it in place. Depending on your LMS, a replace can reset or orphan every existing learner’s completion and score.

The identifiers that matter

Whether records survive often comes down to identifiers. Two things tend to govern continuity:

  • The manifest and organization/item identifiers — if the new package changes them, the LMS may no longer match it to the old activity.
  • How your specific LMS keys records — some key to the course identifier, some to the activity slot you upload into, some to a version number. The same update can preserve records in one LMS and wipe them in another.

The practical implication: the smaller and more identity-preserving your change, the better your odds. A content-only edit that keeps the manifest identifiers stable is far safer than a re-export that regenerates them.

Strategies to update without losing records

1. Edit the published package in place instead of re-exporting

If all you need is a text correction or an image swap, editing the existing published package — keeping its identifiers and structure intact — is the lowest-risk path. You change the content, the course identity stays the same, and the LMS is more likely to treat it as the same course. This is precisely the case where editing the published output (rather than re-publishing from source) is an advantage, not a compromise.

2. Use your LMS’s "update/replace content" feature, not "delete and re-add"

Many LMSes have a dedicated "update content" or "replace file" action that swaps the package while keeping the activity and its records. Deleting the course and uploading a fresh one almost always loses history. Always check whether your LMS has an in-place update path before you delete anything.

3. Export records before you touch anything

Whatever path you take, export completion and score data first. Some LMSes (Canvas, for instance) only offer a clunky delete, re-upload, and re-import flow to preserve grades — so having the export in hand is your insurance even if the update goes sideways.

Always export learner completion and score data before updating a live course. It is a two-minute safeguard that can save a compliance audit.

4. Decide whether a re-take is actually wanted

Sometimes resetting records is correct — if the content changed materially (new regulation, new policy), you may want everyone to retake it. The danger is resetting records by accident for a cosmetic fix. Make it a conscious decision: trivial edit, preserve records; substantive change, require re-completion.

A safe update checklist

  1. Export current completion and score data as a backup.
  2. Make the smallest change that solves the problem — prefer an in-place content edit over a full re-export.
  3. Keep the manifest and item identifiers stable so the LMS recognizes the course.
  4. Use the LMS’s in-place "update content" action, not delete-and-re-add.
  5. Test on a copy first, confirm a prior completion still shows, then roll out.
The cheapest way to keep learner records is to change as little as possible — same identifiers, same structure, only the content that has to change.

Make minimal, identity-preserving edits in the browser

ScormEdit is built for exactly this: edit the text or image in your published package without re-exporting, while keeping the manifest and identifiers intact, so your LMS is far more likely to treat it as the same course and keep existing records. It works from the .zip you already have, needs no source file, and gives you a record of precisely what changed — useful evidence that the update was a content tweak, not a new course.