What is cmi5? The Next Generation of SCORM
If you have been working with SCORM for any length of time, you have probably heard whispers about its eventual successor. While xAPI (Experience API) gets most of the attention as the “next big thing,” there is another standard that may be more relevant to your day-to-day work: cmi5. It combines the flexibility of xAPI with the structured launch and tracking model that made SCORM so successful in the first place.
This guide explains what cmi5 is, how it differs from both SCORM and raw xAPI, and when you should consider adopting it.
What cmi5 Actually Is
cmi5 is a profile of xAPI. That distinction matters. xAPI is a general-purpose specification for recording learning experiences as “statements” (actor + verb + object). It is extremely flexible but intentionally unopinionated — it does not define how to launch content, how to manage sessions, or which verbs are required. cmi5 takes xAPI and adds a well-defined layer on top:
- A launch mechanism so the LMS can start content in a controlled way, similar to how SCORM launches SCOs.
- Required verbs that every cmi5 content package must use:
Launched,Initialized,Completed,Passed,Failed, andTerminated. - Session management so the LMS knows when a learner starts and stops interacting with content.
- A course structure defined in XML that describes the content hierarchy, much like SCORM’s
imsmanifest.xml.
Think of cmi5 as “xAPI with rules.” It constrains xAPI just enough to make interoperability between LMS platforms and content possible, without sacrificing xAPI’s rich data model.
A Brief History of cmi5
The name “cmi5” is a nod to the CMI (Computer Managed Instruction) data model used in SCORM and its predecessor, AICC. The cmi5 specification was originally developed by the AICC (Aviation Industry Computer-Based Training Committee), the same organization that created the AICC/HACP standard used by the aviation industry for decades.
When the AICC dissolved in 2014, the cmi5 working group continued development under the auspices of the ADL Initiative and the IEEE learning technology standards committee. The specification reached its first stable release in 2016 and has been refined through several subsequent updates. It is now managed by the cmi5 Working Group, which includes representatives from major LMS vendors, content authoring tool companies, and standards bodies.
How cmi5 Differs from SCORM
While cmi5 and SCORM solve the same fundamental problem — enabling content to communicate with an LMS — they differ in almost every technical detail:
| Aspect | SCORM | cmi5 |
|---|---|---|
| Data transport | JavaScript API in browser (CMI data model) | xAPI statements via HTTP to an LRS |
| Content hosting | Must run inside LMS iframe | Runs in its own browser window/tab |
| Mobile support | Limited (iframe constraints) | Full (content is a standalone web app) |
| Offline support | Not supported | Possible (queue statements, sync later) |
| Data richness | Fixed CMI elements (completion, score, time) | Arbitrary xAPI statements plus required verbs |
| Cross-domain | Blocked by same-origin policy | Content and LRS can be on different domains |
| Sequencing | SCORM 2004 sequencing rules | Defined by LMS, not the spec |
The biggest practical difference is that cmi5 content runs outside the LMS iframe. This eliminates the cross-domain issues, mixed-content warnings, and responsive-design headaches that plague SCORM deployments. Content opens in its own window or tab, communicates with the LRS via REST API calls, and the LMS tracks progress through xAPI statements.
How cmi5 Differs from Raw xAPI
If cmi5 uses xAPI under the hood, why not just use xAPI directly? The answer is interoperability. Raw xAPI is a blank canvas — any actor can send any verb about any object. This flexibility is powerful for analytics but makes it impossible for an LMS to reliably launch content and track completion without prior agreement on which verbs and data structures to use.
cmi5 solves this by defining:
- A launch sequence: the LMS generates a unique
fetchURL, content retrieves an auth token, and a session begins. This replaces SCORM’sLMSInitialize()call with a secure, HTTP-based handshake. - Required verbs: content must send
Initializedwhen it starts,Completedand/orPassed/Failedwhen appropriate, andTerminatedwhen done. The LMS sendsLaunchedandAbandoned(if the learner leaves without terminating). - Defined result extensions: score, duration, completion, and success are reported using standard xAPI result properties, so every LMS interprets them the same way.
The Assignable Unit (AU) Concept
In cmi5, the fundamental unit of content is the Assignable Unit (AU), analogous to a SCORM SCO. An AU is a piece of content that the LMS can assign to a learner and track independently. A cmi5 course package can contain one or many AUs, organized in a hierarchical structure defined by an XML course structure file (cmi5.xml).
Each AU has its own launch URL, and the LMS tracks completion, score, and satisfaction (passed/failed) at the AU level. This is similar to how SCORM tracks SCOs, but with the added flexibility of xAPI statements for richer data capture within each AU.
When to Adopt cmi5
cmi5 is not yet as widely supported as SCORM, so adoption should be driven by genuine need rather than trend-following. Consider cmi5 when:
- You are building new content and can choose your standard from scratch. cmi5 is a better long-term investment than SCORM for new development.
- You need mobile delivery. Content that runs outside an iframe works far better on phones and tablets.
- You need richer analytics than SCORM can provide. xAPI statements let you track granular interactions (video watched, question answered, simulation step completed) alongside the standard completion and score data.
- You need offline capability. Field workers, healthcare staff, and military personnel often need training in environments without reliable internet. cmi5 content can queue statements and sync when connectivity returns.
- Your LMS supports it. Check with your LMS vendor. Major platforms including Moodle, Watershed, and Learning Locker support cmi5, and adoption is growing.
cmi5 on AllureConnect
AllureConnect supports cmi5 packages alongside SCORM 1.2, SCORM 2004, and xAPI content. Upload a cmi5 package the same way you upload a SCORM package — via the dashboard or the REST API. AllureConnect handles the launch sequence, provides the LRS endpoint for xAPI statements, and tracks completion, score, and duration in the same analytics dashboard you use for SCORM content.
Because AllureConnect includes a built-in LRS, you do not need a separate xAPI data store. All cmi5 statements are stored, queryable via the API, and available for export. If you are already using AllureConnect for SCORM hosting, adding cmi5 content requires no additional configuration.
For teams managing a mixed portfolio of SCORM and cmi5 content, AllureConnect provides a unified view across both standards — one dashboard, one API, one set of webhooks.