cmi5 is a "profile" for using the xAPI specification with traditional learning management (LMS) systems.
Since the xAPI specification is highly generalized to support many different use cases, a set of "extra rules" (called a "profile") is needed to ensure interoperability for a given use case. The cmi5 profile ensures plug and play interoperability between learning content and LMS systems.
The use case that the cmi5 profile is specifically designed for is one where the learner launches the learning content/activity from the LMS user interface.
cmi5 defines specific interoperability rules for the following areas:
- Content Launch Mechanism
- Authentication
- Session Management
- Reporting
- Course Structure
The mission of cmi5 is to provide a better alternative to current AICC/SCORM specifications with something considerably more flexible, robust, and adaptable to today's technologies. The specific goals of cmi5 are as follows:
SCORM and AICC data models were too complicated and had many optional data elements that were not used. The goal of simple data model is to only define the bare minimum data elements required that would work across most learning domains. (e.g. Score, status, and time).
Restricting data collection to a small set of required data elements was too limiting. In most cases what was really needed was the just the ability to record the data from the content in the LMS and later retrieve it for analysis. The goal of allowing content defined data recording/retrieval allows content designers to add features and still be interoperable.
Content defined data can either be text or digital data.
- Extensible Data Model (defined by the content text data)
- Digital Data attachments
Allow content to be stored on other domains (independent of the LMS server domain)
Allow for content to be independent of a browser in order to communicate or be launched.
Allow data to be shared between learning activities for multiple learners enrolled in the same course.
The cmi5 project was originally started in the AICC (Aviation Industry Computer-Based Training Committee) in 2010. cmi5 was expected to replace both AICC and SCORM specifications with a more feature-rich and robust solution. Both AICC and SCORM specifications had technical issues and constraints as well as significant overlap.
The AICC was nearing completion of SOAP-based communication mechanism for cmi5 in 2012 about the same time the Tin Can API research project (now called xAPI) was completed in the ADL.
The AICC and ADL participants soon determined that there was significant overlap between the two specifications. xAPI had broader application than cmi5, so the ADL and AICC agreed to cooperate on an "xAPI profile" to meet the more specific use case needs of cmi5. So the cmi5 project was "rebooted" in 2012 and the SOAP architecture was replaced with xAPI. The cmi5 project is still guided by its original goals.
In 2014, the AICC dissolved and formally transferred the cmi5 project to the ADL.
The versioning of cmi5 is as follows:
- Major versions change functionality or interoperability.
- Major versions of cmi5 are named by "rocks" (granite, basalt, etc.).
- Minor versions correct errata (errors) only
- Minor versions of cmi5 are serialized by "edition" (1st, 2nd 3rd, etc)
For example "Sandstone, 1st edition".
Sandstone is the first release of cmi5. It is a "developer release" to collect feedback from learning technology developers. It is not intended for actual implementation.
Quartz is currently in work and scheduled for release in June 2016. The Quartz version will include developer feedback collected from Sandstone. When completed, Quartz will be the first "production release" intended for implementation.
The following are articles that discuss cmi5 and explain its potential uses:
- Experience API, cmi5, and Future SCORM
- Time to Plugin to cmi5?
- cmi5: The next generation SCORM
- cmi5 Process Flow: An overview
- cmi5: xAPI for LMSs
(More will be added as they become available)
Please note that the cmi5 working group is a volunteer community effort and is open to all.
We very much want to encourage people to share their thoughts about cmi5 and participate. Please consider connecting with us in one or more of the following ways:
All are welcome to raise issues/comments on this GitHub repository.
Also, please see our wiki for a comprehensive set of meeting minutes.
Please send questions for the working group to: [email protected]
The cmi5 working group holds weekly Web Conferences that are open to all. The meeting are held every Friday at 10:30 am US Eastern Time. See link below to register:
The xAPI group meets the first 3 Wednesdays of each month from 2:30 - 3:30 EST. All are welcome.
This list provides weekly meeting minutes and news about cmi5.
- Subscribe to cmi5 Mailing list (Managed by Mail Chimp).
The cmi5 LinkedIn group was established to encourage discussion about cmi5 and answer your questions. Please join at link below:
Follow cmi5 on Twitter: #cmi5, @cmi5spec
The cmi5 working group is currently testing Slack team communication. To join the slack group, please use the following link: Add me to the cmi5 Slack Team