STANDARDS

Packages, protocols, and the difference between them.

A SCORM package is a zip a learning management system imports. cmi5 is also a package specification, but the course inside it sends xAPI statements. xAPI on its own is a statement protocol with no packaging — it needs a learning record store to send to. Pick per course; the same content can produce more than one output.

StandardFormReports throughIn this build
SCORM 1.2 Package (zip) cmi.core.lesson_status, cmi.core.score.raw Supported
SCORM 2004, 2nd–4th Ed Package (zip) cmi.completion_status, cmi.success_status, cmi.score.scaled Supported
AICC HACP exchange HTTP form posts, no zip import In test
cmi5 Package (zip) xAPI statements against an LRS Supported
xAPI Statement protocol, not a package POST /xapi/statements to an LRS Supported

SCORM 1.2

The most widely imported package format. Completion and score report through cmi.core.lesson_status and cmi.core.score.raw. Suspend data is capped at 4 KB on strict runtimes, which is the most common reason a 1.2 course loses its bookmark.

SCORM 2004 (2nd–4th Edition)

Separates completion from success: cmi.completion_status, cmi.success_status, and a normalised cmi.score.scaled. Adds sequencing and navigation rules in the manifest and raises the suspend-data ceiling to 64 KB.

AICC

An HTTP form-post exchange (HACP) rather than a zip import. Still requested by some regulated-industry platforms. Currently in test: packages build, and we are completing profile coverage before marking it supported.

cmi5

A package the LMS imports, but the course inside it sends xAPI statements to an LRS. You get packaged distribution with statement-level reporting. Requires an LRS; the built-in one is used by default.

xAPI

A statement protocol, not a package. A plain xAPI course is launched from a link, records interactions, paths, and durations, and posts to /xapi/statements on an LRS. Use it when you want more than a single pass or fail.

Test profiles, not compatibility promises

Each profile is a saved set of runtime behaviours — commit timing, suspend data ceiling, how the platform handles a missing score — that the test suite can replay your package against. A passing profile means the package behaved correctly under those conditions, not that a given vendor has certified it.

  • Moodle 4.x
  • Cornerstone
  • Docebo
  • SuccessFactors
  • Workday Learning
  • TalentLMS
  • Canvas
  • Absorb
  • Open edX

Start with one file.

Upload something you already have and see it as a package, with the conformance report and the runtime log alongside it.

→ upload  handbook.pdf
  parsing … 14 sections
  building manifest …
  validating … 0 errors, 2 notes
✓ handbook-scorm2004.zip
✓ preview link ready