Definition
cmi5 is a specification, maintained by the Advanced Distributed Learning (ADL) Initiative, that defines how a learning management system imports, launches and tracks xAPI-based courses. It adds the rules xAPI lacks: a course structure file, a launch method that passes the learner and LRS details to the content, and a fixed set of verbs such as launched, initialized, completed, passed, failed and terminated. In effect, cmi5 gives LMS-launched courses SCORM-like interoperability with xAPI data underneath.
A cmi5 course is described by a course structure file (cmi5.xml) listing its assignable units, the pieces an LMS can launch and track. When a learner launches an assignable unit, the LMS passes a URL with the learner identity, an LRS endpoint and an authorisation token. The content then sends xAPI statements using the cmi5-defined verbs, and can add any other xAPI statements it needs. The LMS decides when a unit and the course are satisfied according to the move-on criteria set in the course structure.
The practical advantages over SCORM are that content can be hosted on a different domain from the LMS, because communication runs over HTTP to the LRS rather than through a JavaScript object in a parent window, and that it works on mobile and in native apps. It also gives a clear, consistent way to record completion and pass or fail.
Common mistakes: assuming every LMS that supports xAPI also supports cmi5 (they are separate capabilities, so ask specifically), and choosing cmi5 when your authoring tool and content vendors only export SCORM. Adoption is growing but SCORM remains far more widely supported, so check both ends before committing.
Key points
- An xAPI profile maintained by ADL that defines import, launch and tracking.
- Course structure file (cmi5.xml) lists assignable units and move-on criteria.
- Defines verbs including launched, initialized, completed, passed, failed, abandoned, waived, terminated and satisfied.
- Content can be hosted on a different domain from the LMS.
- Supported by fewer LMSs and authoring tools than SCORM.
An example at work
A Bengaluru IT services company commissions a mobile-friendly cybersecurity course hosted on its content vendor’s server. Packaged as cmi5, the course is launched from the company LMS, sends “passed” and “completed” statements to the LRS, and keeps working even though the content and the LMS sit on different domains.
Where this is used at Bodhih
Related terms
xAPI
xAPI is an e-learning standard that records learning experiences as “actor, verb, object” statements sent to a learning record store, inside or outside an LMS.
SCORM
SCORM is a set of technical standards that lets e-learning content packaged by one tool run and report progress inside any compliant learning management system.
Learning record store
A learning record store (LRS) is a database, defined by the xAPI specification, that receives, stores and returns xAPI statements about learning activity.
Learning management system
A learning management system (LMS) is software that delivers, assigns, tracks and reports on training, from e-learning courses to classroom sessions and certifications.
More about cmi5
What is the difference between cmi5 and xAPI?
xAPI is the data standard: how learning activity is written as statements and stored in a learning record store. cmi5 is a profile built on xAPI that adds course packaging, LMS launch and a fixed set of verbs, so courses behave consistently across LMSs. Every cmi5 course uses xAPI; not every xAPI activity uses cmi5.
Is cmi5 better than SCORM?
cmi5 is more flexible: content can be hosted anywhere, it works on mobile and it can record rich xAPI data. SCORM is far more widely supported by authoring tools, content vendors and LMSs. For most corporate libraries today SCORM is still the safe default, with cmi5 chosen for specific mobile or cross-domain needs.