Standards and tech

What is cmi5?

cmi5 is an e-learning standard, built on xAPI (Experience API), that defines how a learning management system (LMS) imports, launches and tracks online courses. It keeps the LMS course model of SCORM but records learner data as xAPI statements in a learning record store (LRS).

Example

A software company’s L&D team publishes product courses for customers and partners. The courses live on the company’s own content servers so the product team can update them, but every learner enrolls and is tracked through the LMS. With SCORM, that setup needed workarounds, because SCORM content expects to run on the same domain as the LMS.

The team switches new courses to cmi5. Each course is imported as a small XML file that points to where the content is hosted. When a learner clicks launch, the LMS sends the course the address of its learning record store and a link to fetch a login token. The course reports statements such as initialized, passed and terminated, the LMS marks the learner complete, and the team can still see every answer in the learning record store.

How it works

cmi5 is an xAPI profile: a set of extra rules on top of xAPI for one specific job, running courses from an LMS. xAPI alone leaves launch, login and completion rules up to each vendor. cmi5 makes them standard, so a cmi5 course behaves the same way in any conformant LMS.

Course structure

A cmi5 course is described in an XML file called cmi5.xml. It lists the course, any blocks that group content, and the assignable units (AUs). An AU is the smallest piece of content the LMS launches and tracks, such as a single module or video lesson. The file can be imported on its own, with the AUs hosted elsewhere on the web, or zipped together with the content files.

Launch

When a learner starts an AU, the LMS opens it with a launch URL that carries what the content needs: the LRS address, the learner’s identity, a registration ID and a link to fetch an authorization token. Because everything travels in the URL, the content does not have to sit inside an LMS frame. It can run on a different domain from the LMS or open in its own window.

Defined statements

cmi5 fixes the meaning of a short list of xAPI verbs so every LMS reads them the same way:

  • Sent by the content: initialized, completed, passed, failed and terminated.
  • Sent by the LMS: launched, satisfied, waived and abandoned.

The content can send any other xAPI statements too, such as answers to individual questions or choices made in a scenario. Those details go to the LRS, while the LMS uses the defined statements to set the learner’s status.

moveOn and mastery score

Each AU has a moveOn setting that tells the LMS when the learner has met the requirement: Passed, Completed, CompletedAndPassed, CompletedOrPassed or NotApplicable. An AU can also carry a mastery score, the pass mark the content uses to decide between passed and failed. When all the AUs in a block or course are satisfied, the LMS marks that block or course as satisfied.

cmi5 vs SCORM and xAPI

  • SCORM runs content in an LMS browser window and talks to the LMS through a JavaScript API. Data is limited to the fields the standard defines and is stored in the LMS.
  • xAPI records any learning activity as statements in an LRS, from any source, but does not define how an LMS launches or tracks a course.
  • cmi5 uses xAPI for the data and adds the LMS rules: course import, launch, authentication and completion.

cmi5 is often described as the successor to SCORM for LMS-based courses. In practice, fewer LMSs and authoring tools support it than support SCORM, so check both before you commit.

When to use cmi5

cmi5 is worth choosing when:

  • Your content needs to be hosted outside the LMS, for example on your own content server.
  • You want detailed xAPI data, such as question-level answers, while keeping LMS enrollment and completion reporting.
  • You already record simulations or other activity with xAPI and want courses to report to the same LRS.

Stay with SCORM when your LMS or authoring tool does not support cmi5, or when completion and a score are all you need.

Why it matters for L&D teams

  • LMS tracking with richer data. Completion and pass or fail land in the LMS as usual, while question-level detail goes to the learning record store.
  • Content can live anywhere. Courses can be hosted on a separate server and still be launched and tracked by the LMS.
  • Consistent results across systems. Because the meaning of completed, passed and failed is fixed, a cmi5 course reports the same way in any conformant LMS.
  • A gradual move from SCORM. An LMS that supports both standards lets teams switch course by course instead of replacing their whole catalog.

How Colossyan helps

Colossyan exports SCORM, not cmi5: Colossyan Video creates SCORM 1.2 or SCORM 2004 packages, and Colossyan Learn exports whole courses as SCORM 1.2. LMSs that support cmi5 generally import SCORM too, so teams moving toward cmi5 can keep Colossyan videos and courses in the same catalog. Completion fires when the learner starts or finishes, and interactive videos and Learn courses can report a score against a pass mark.

See SCORM export in Colossyan
FAQ

cmi5 frequently asked questions

xAPI is the general standard for recording learning activity as statements in a learning record store. cmi5 is a profile of xAPI that adds the rules xAPI leaves open for LMS courses: how courses are imported, launched, authenticated and marked complete. Every cmi5 course uses xAPI, but not every xAPI activity is a cmi5 course.

SCORM courses run inside an LMS browser window and report a fixed set of data, such as completion and score, through a JavaScript API. cmi5 courses are launched by the LMS through a URL, can be hosted on any domain, and report through xAPI, so they can send much more detailed data. SCORM is still supported by far more LMSs.

Yes. cmi5 data is recorded as xAPI statements, so a cmi5-conformant LMS must include a learning record store (LRS) or connect to one. Teams should check whether their LMS has an LRS built in before buying a separate one.

Use SCORM when you need the widest LMS compatibility and only need completion, pass or fail and a score. Use cmi5 when your LMS supports it and you want content hosted outside the LMS, or detailed xAPI data alongside standard completion tracking. An LMS that supports both can run SCORM and cmi5 courses in the same catalog.

Turn this concept into a working module.

Build your first interactive video. Free, no credit card.