SCORM Explained: Packages, LMS Compatibility, and Completion Tracking - Yenra

Check course-package compatibility, distinguish completion from passing, and test launch, resume and reporting before release.

A navy laptop sits beside course tiles in a glass container and separate teal and amber status tokens.
Conceptual illustration: a course package, its player and its reported status need to work together.

SCORM, the Sharable Content Object Reference Model, describes how packaged learning content is organized and communicates with a learning management system. For an instructional designer, the practical test is whether a learner can launch a course, resume it and receive the intended completion and score record in the destination LMS.

Follow the package from export to report

An authoring tool produces a package, commonly a ZIP file, containing the lesson's files and an imsmanifest.xml manifest. The manifest describes the resources and their organization. The LMS imports that information and launches a sharable content object, or SCO. While it runs, the SCO exchanges supported data with the LMS through a JavaScript interface.

Think of three separate checks: packaging gets the content imported, runtime communication exchanges data, and LMS rules decide how stored results appear in activity completion and grade reports. An imported ZIP and a working first screen establish only part of the result.

ADL's SCORM position paper hosted by W3C explains the content aggregation, runtime and sequencing components. It is a historical technical explanation; use current LMS documentation to establish product support.

Choose the version your destination supports

Questions to resolve before exporting
DecisionSCORM 1.2SCORM 2004
Status modelUses cmi.core.lesson_status for values such as completed, passed or failed.Separates cmi.completion_status from cmi.success_status.
SequencingDoes not include the SCORM 2004 sequencing model.Defines sequencing and navigation behavior; implementation support matters.
Selection checkConfirm the target LMS accepts this version and the required tracking fields.Confirm the particular edition and the needed sequencing/runtime features.

Use the destination LMS documentation and administrator's confirmation to choose an export. As a concrete example, Moodle's SCORM FAQ documents native SCORM 1.2 support and states that native SCORM 2004 is unsupported, even though some packages may appear to run. A separately configured player or integration can change the environment; document what is actually installed.

Keep the editable authoring project as well as the exported ZIP. Changing a manifest's version label cannot convert the runtime calls and behavior of a lesson. Re-export through a suitable tool when changing the target standard, and repeat the acceptance tests.

Define completion and passing before building

Write an acceptance statement in ordinary language. For example: “The learner completes all required practice and answers at least four of five scored questions correctly.” Decide what counts as completing the activity, what counts as passing, and whether a later attempt replaces an earlier result.

In SCORM 2004, a lesson can report completed work and an unsuccessful assessment separately. A five-question fictional quiz with four correct answers has a score of 80 percent. With an 80 percent passing threshold, that result passes; a learner who attempts every question but scores 60 percent may be complete and failed. The authoring tool's export settings and the LMS's rules must agree with that intended distinction.

For SCORM 1.2, the combined status field requires particular care about the value the authoring tool sends. A score alone may leave the lesson's status unchanged. Check both the stored attempt data and the learner-facing report. ADL's archived SCORM-to-xAPI profile documentation maps SCORM status data and makes these fields explicit. It is a technical reference for the distinction, not evidence that a particular course reports the intended result.

Run a small acceptance test

  1. Record the environment. Note the authoring-tool version, export standard/edition, LMS/player version, browser, package revision and configured completion rule.
  2. Use a learner account in a test course. Start a fresh attempt and confirm that required content, media and controls load. Author-preview behavior can differ from learner behavior.
  3. Exit partway through. Use the lesson's supported exit route, then relaunch the same attempt. Check the expected location and restored answers.
  4. Finish with a passing result. Follow the required activities, exit normally and inspect the stored status and score in the LMS.
  5. Try a fresh unsuccessful attempt. Verify the intended result and retry policy. Keep it distinct from resuming the earlier attempt.
  6. Repeat on supported learner devices. Include keyboard use, narrow screens, captions and a realistic session duration. Record deviations, not just screenshots of success.

Download the SCORM acceptance-test record (plain text). It prompts for expected and observed results. It is a manual test record, not an executable package or a claim of standards certification.

Locate the failed boundary

Symptoms and useful next checks
SymptomCheck firstEvidence to keep
ZIP will not importManifest at ZIP root, export type, package integrity and upload limits.Exact import error and package revision.
Lesson opens; result stays emptyRuntime initialization, reported fields and authoring completion trigger.A sanitized API log and the steps to reproduce.
Score exists; completion differsStatus sent by the SCO and activity/grade completion rules.Stored attempt data alongside the configured rule.
Resume starts overSame learner and attempt, suspend/resume behavior and reset policy.Exit method, attempt identifier and saved-state behavior.

Use the LMS's supported diagnostics in a test environment. Compare the values the content sends with the values stored and displayed. Change one cause at a time. Share a minimal reproducible example with authorized support; remove student details, credentials and restricted course content from reports.

A package can be technically interoperable while its lesson remains difficult to use. SCORM handles packaging and communication; learning design, accessible interaction and meaningful assessment still need their own review. If a project requires xAPI or cmi5, establish the complete authoring, launch and record-store integration before treating it as an alternative export choice.

Continue learning

Explore all education guides