Admin Guidescmi5 Content

cmi5 Content

Who this guide is for: Tenant administrators who upload and manage cmi5 (xAPI) course packages in EmbayLMS.

cmi5 is the modern xAPI-based packaging standard. Unlike SCORM (which runs entirely in the browser), a cmi5 package’s Assignable Units (AUs) report progress as xAPI statements to a Learning Record Store (LRS). EmbayLMS includes a built-in LRS, so cmi5 packages work out of the box — no external LRS to configure.


Uploading a cmi5 package

  1. Open Admin → Courses, pick a course, and open the Modules tab.
  2. Add a module and set its type to cmi5.
  3. Upload the package .zip. EmbayLMS detects the cmi5.xml course structure inside the zip, parses the AUs, and stores them. (A zip with an imsmanifest.xml instead is treated as SCORM.)
  4. Publish the course version.

The package is virus-scanned and its files are served from the same content pipeline as SCORM.

What a cmi5 package contains

PartMeaning
cmi5.xmlThe course structure: the course and its list of AUs
AUAn Assignable Unit — a launchable lesson with its own launch URL and completion rule (moveOn)
moveOnWhen the AU counts as satisfied: Completed, Passed, CompletedOrPassed, CompletedAndPassed, or NotApplicable

How learners take it

  1. On the course player, the learner opens the cmi5 module. EmbayLMS prepares the launch (registration, launch data, a signed session token) and opens the AU in a frame.
  2. The AU tracks the learner and reports xAPI statements (initialized, completed, passed, …) back to the built-in LRS.
  3. Multi-AU packages show a unit picker; a green check marks each satisfied unit.
  4. The module completes when every AU meets its moveOn rule. For a single-AU course that’s immediate on completion; for a multi-course package the learner must finish all units (including, e.g., a final quiz that requires both completed and passed).

Completion flows into course progress and certificates exactly like any other module.


Configuration reference

ItemWhereNotes
Module typeCourse editor → ModulesSet to cmi5
PackageUpload on the module.zip containing cmi5.xml
CMI5_TOKEN_SECRETPlatform env (optional)Signs AU session tokens; falls back to NEXTAUTH_SECRET

There is no external LRS to set up — the LRS endpoints (/api/v1/cmi5/…) are built in and authenticate each AU with a per-session token.


Troubleshooting

SymptomCause / fix
Upload accepted but the module won’t launchThe zip may not contain a root cmi5.xml. Re-export from your authoring tool as a cmi5 package (not SCORM/xAPI-only).
Learner finishes a unit but the module isn’t completeMulti-AU packages complete only when every unit is satisfied. Check the unit picker for any without a green check — a quiz unit set to CompletedAndPassed needs both a completed and a passed.
Progress isn’t recordingConfirm the learner is actively enrolled and launched from the course player (the AU needs the session the player provides).
”Unauthorized” in the AUThe session token expired (12h) — reopen the module to get a fresh launch.

Standards note

EmbayLMS supports SCORM 1.1, SCORM 1.2, SCORM 2004, cmi5, and AICC (HACP). See the AICC Content guide for AICC packages.