cmi5 is gaining traction across the learning space. The ADL and U.S. Department of Defense have a number of projects underway, including a cmi5 test suite, to support the goal of replacing the outdated SCORM standard with cmi5. Rustici Software released a study at the end of 2019 showing the increased use of xAPI and cmi5 content. By the end of 2019, 4,000 cmi5 courses had been uploaded to the SCORM Cloud. In 2019 alone, the SCORM Cloud LRS received more than 2.5 million xAPI statements – an increase of 150% in three years. This has left Authoring Tools, Learning Management Systems and Learning Record Stores working hard for cmi5 conformance. Just since the beginning of 2020 the number of LRS that have passed the ADL conformance test has grown to 28.
Wait, what? I thought xAPI was the next SCORM
xAPI is a syntax or communication structure for recording learning experiences. This makes the format of xAPI open to track just about anything. But the xAPI specification never mentions a Learning Management System or Learning Experience Platform. cmi5 is the xAPI profile for the use case of “LMS Launches Content”. cmi5 still uses xAPI for its communication but defines some rules to provide some of the convenient features of SCORM, like course packaging, while still allowing the rich data-collection possible with xAPI.
For a high-level overview of cmi5, I recommend you read cmi5 Overview Process Flow. It is a great introductory resource for how cmi5 works. Another great resource from the cmi5 Working Group is the SCORM vs. cmi5 comparison.
So what is a cmi5 Package?
One of the goals for cmi5 was to provide the ability to “package” a course and import it into an LMS. This is similar to SCORM but has a few distinct differences including:
- Full Course Structure – When a cmi5 package is imported, it defines the course title, objectives and structure.
- 1000+ lessons – A cmi5 conformant LMS must be able to import a course with AT LEAST 1,000 assignable units.
- Unlimited Blocks – Assignable units can be nested into an unlimited number of blocks. When all required AUs are satisfied in a block, the entire block is satisfied.
- Remote Content – The course package can contain media or other content, or content can be stored remotely. In this case, just the course structure is still imported into the LMS but fully qualified URLs are used to access content or resources residing in other domains.
- MoveOn Criteria – The satisfaction or “moveOn” criteria is defined more clearly in cmi5 than SCORM. It could be completed, passed, completed AND passed, completed OR passed. Plus in cmi5 the LMS may set the more on criteria. For more information, check out What is the cmi5 moveOn criteria?
Blocks, as noted above are just nested groups of Assignable Units. A block of AU can be nested within a block of AU, within another block of AU, and on, and on, and on… The specification does not limit the number of blocks within a course package. This block structure helps support sequencing of content and adaptive content that alters a learner’s path based on their needs. Let’s take a look at a block structure in complex course. Don’t forget to turn on your audio.
As you see, when the course is started, you can view all of the blocks and sub-blocks plus what AU are required. As AU are completed, they will be marked Satisfied or Waived if your LMS supports waived lessons.
|Curious about this course structure? Its is available on the cmi5 GitHub site.|
To make all this work, there are jobs to be done by the LMS and the AU.
Requirements & Recommendations for an LMS
For an LMS to conform to the cmi5 specification there are some things it must do. First and foremost, it must have access to an LRS, either integrated into the LMS or in addition to LMS. It is important that the LRS has passed the ADL conformance test as it will be required to comply with all the rules of xAPI. With an LRS available that the LMS and AU can write to and read from, the LMS still has quite a few tasks defined in the specification including:
- Import the Course Structure
- Support course structures containing more than 1000 AUs
- Support course structures conforming to the XSD schema defined in the specification
- Write the required data to the State API for the AU to read
- Limit permissions to prevent the AU from sending voiding statements
- Void statements that are valid (not rejected) but still conflict with the Statement API requirements.
Below, you can see the Geology course with the complex course structure when imported into an LMS. Note how the LMS, in this implementation allows for modification of the course structure. This is a recommended practice in the specification. Again, volume on.
In addition to the recommendation that the LMS provide a way to create, edit and maintain course structures, there are other recommendations for implementation. These include:
- Allow the export of of the course data structure
- Provide a user interface for LMS Administrator to edit course structures
- Reject statements that conflict with the Statement API
The final responsibility is to write a satisfied statement for the AU if LMS determines that the completion criteria is met…
But Wait, there’s more!
The LMS must also evaluate the course structure and issue a satisfied statement for the block when all required AU in the block have been satisfied. If that block is a child block, the LMS is responsible for determining if satisfying the child block also satisfies the parent block. If it does, the LMS must issue a satisfied statement for the parent and continue rolling all the way up until the LMS sends a satisfied statement for the entire course.
Requirements & Recommendation for an AU
Just like the LMS, the AU is responsible for a number of tasks as well. When a course is launched, the LMS writes data including the unique session ID, moveOn criteria and return URL to the State API. The first task of the AU is to fetch this information and initialize the course.
Outside of respecting the move on criteria, the AU is largely unaware that it is even within a block. Don’t worry the AU has plenty of other tasks to complete. Click here to learn more.
Where to go from here?
First, find out where cmi5 is on your vendors’ roadmap. This includes Authoring Tools, Learning Management Systems, and off-the-shelf content providers. What about your LRS provider? If it is included on the ADL’s Conformant LRS list, then you have no worries. If they are not conformant, what is their plan to pass the LRS test suite?
The test suite to certify LMS and Authoring Tools (via their published content) conformant is already underway.The Department of Defense (DoD) issued an instruction (DoDI 1322.26) outlining the requirement to support xAPI and cmi5 for all distance learning within the DoD. To help support adoption of cmi5, the DoD funded a project to develop a cmi5 player and test suite. The ADL Initiative awarded development of the test suite to Rustici Software in September 2020. The player and test suite are expected to be completed in the second half of 2021.
Questions, thoughts, or comments? We always love to hear from you at RISC, the foundation of your learning ecosystem.