Developed nearly two decades ago, the Sharable Content Object Reference Model (SCORM) is a set of interoperability standards for packaging and delivering online courses via web-browsers and Learning Management Systems (LMSs). However, SCORM is not extensible enough to support the myriad of technologies used in modern learning environments, and SCORM does not provide sufficient guidance for capturing robust, interoperable learner performance data. DoD Instruction 1322.26 recommends the Experience Application Programming Interface (xAPI) data specification as the contemporary method for managing learner-performance data, and while xAPI and SCORM can be implemented together, a more modern approach to content packaging and delivery is warranted.
The cmi5 specification was created to replicate SCORM functionality, with the intention of replacing SCORM as the de-facto format of online courses and traditional computer-based training. Although the Advanced Distributed Learning (ADL) Initiative created both SCORM and xAPI, they did not create cmi5. The underlying use cases were so similar between cmi5 and xAPI that they simply merged.
The cmi5 specification defines a set of rules for how online courses are imported, launched, and tracked using an LMS and xAPI. Technically, cmi5 is an xAPI Profile, which means it inherits all of the characteristics mandated by the xAPI specification, but cmi5 also imposes additional requirements, including interoperability rules for content launch, authentication, session management, reporting, and course structuring. The cmi5 specification also enables the packaging and delivery of distributed learning resources that sit outside of a web-browser (e.g., mobile apps, offline content).
The cmi5 specification could play an important role in DoD’s modernization, facilitating progress from SCORM-based LMS-centric courseware to a distributed learning “ecosystem” that delivers diverse learning opportunities across a range of federated platforms.
This tutorial provides an in-depth understanding of cmi5. It introduces learners to the core concepts of xAPI and cmi5 and of the structure and communication of xAPI data and systems. It describes implementation details, best practices, as well as community activities and resources.