Skip to main content
U.S. flag

An official website of the United States government

cmi5 and the xAPI SCORM® Profile

January 08, 2016

How they differ, how they are similar, and how organizations may use them

Since the release of the cmi5 specification, questions have arisen regarding how it relates to the ADL Experience API (xAPI) Sharable Content Object Reference Model (SCORM) Profile.

On the surface they appear to be competing specs: both use the xAPI to encode e-learning data; both use the xAPI to announce the start and end of a piece of content; and both identify specific statements to indicate the status of the learner's activity in the content.

However, the intent of the two specs and the use cases they address are different. The following investigates these two specs, how they differ, how they are similar, and how organizations may use them.

cmi5

cmi5 is the next version of the Aviation Industry Computer-Based Training Committee (AICC) Computer-Managed Instruction (CMI) specification.

It is an update to the requirements of both the Learning Management System (LMS) and content. cmi5 leverages the xAPI specification to modernize the communication of the content, Assignable Units (AUs), and the LMS. In addition to modernizing the communication model, cmi5 defines a new course structure for packaging and describing the contents of a course, and the process of launching and initializing the content.

In short, cmi5 is a complete revision to the CMI specification.

xAPI SCORM® Profile

The xAPI SCORM® Profile is a spec describing how to represent SCORM® runtime activity data and attempt behaviors using the xAPI. Additionally, it can track non web-based content in a way that can be understood by SCORM® systems.

A Comparison of the Two
cmi5 xAPI SCORM® Profile
Packaging yes no
Launch yes no (just recommends minimal configuration values)
Runtime no yes
SCORM® Data yes yes
Import yes no

A Note on Launch

The previous table shows the xAPI SCORM® Profile as just recommending minimal values for launch. The xAPI SCORM® Profile focuses less on the learning architecture and more on identifying the likelihood that content will need to report xAPI Statements. This means that any launch mechanism, including cmi5, can be used.

Reporting

Both cmi5 and the xAPI SCORM® Profile have requirements about reporting.  However, these requirements detail things like the AU or Sharable Content Object (SCO) status, the AU or SCO session, or attempts on the AU or SCO. Because of this, there are a few conflicts in regards to additional reporting, such as SCORM® interactions or objectives, or non SCORM® learning experience data.

Reporting Process

Both cmi5 and the xAPI SCORM® Profile use verbs to indicate the start and end of a learning activity session, but there are some slight differences in the two approaches.

cmi5

  • Issue a "Launched" Statement using the ADL verb "Launched"
  • Issue an "Initialized" Statement using the ADL verb "Initialized"
  • (Send various Statements about the experiences in the learning activity)
  • Send "Completed", "Passed", "Failed", and/or "Satisfied" Statements to indicate the status of the learning activity
  • Send a "Terminated" Statement using the ADL verb "Terminated"
  • If "Terminated" isn't received by the LMS, it records an "Abandoned" statement

xAPI SCORM® Profile

  • Issue an "Initialized" or "Resumed" Statement using ADL verbs depending on whether the current attempt was suspended
  • (Send various Statements about the experiences in the learning activity)
  • Send a "Terminated" or "Suspended" Statement using ADL verbs depending on whether or not the learner has suspended this attempt
  • Status is reported in the "Terminated" Statement using the result object of the Statement
  • If no status information was included in the "Terminated" Statement, it is recommended to use status statements such as "Completed", "Passed", "Failed", and/or "Scored"

When to use these

cmi5

cmi5 is a complete specification for packaging, launching, and tracking interactions and the status of content. If your organization uses CMI, cmi5 is likely something you should investigate and consider implementing.

xAPI SCORM® Profile

The xAPI SCORM® Profile focuses mainly on representing SCORM® data consistently as xAPI statements to an LRS.

If your organization already uses SCORM®, the xAPI SCORM® Profile is a way to provide consistent access to SCORM® data through a specified data format and the xAPI storage and retrieval processes.

Additionally, organizations can use the xAPI SCORM® Profile to track non web-based content, such as simulations or mobile apps, in a manner that can be understood by SCORM® systems.

Both

Use the xAPI SCORM® Profile Statements to report interactions not defined in cmi5

cmi5 identifies a small set of session verbs and status verbs. Aside from that small set, the cmi5 specification allows any statements using other verbs to be recorded and reported.

This means that an organization could use the xAPI SCORM® Profile's data mapping to xAPI statements as a way to report other learning experiences within the AU.

Use cmi5 and additionally report xAPI SCORM® Profile data to another LRS

The xAPI SCORM® Profile was designed with the expectation that many developers would use this in addition to traditional SCORM® tracking, see Dual Track for more information. This scenario could be used with cmi5 because the cmi5 content would report to the cmi5 LMS following the rules in the cmi5 spec while sending xAPI SCORM® Profile Statements to a predefined LRS.

Conclusion

The two specs are similar in their approach to leverage the xAPI for encoding learning experiences and communication from client to server.

However, their intents are what truly separate them. cmi5 is working on the progression and revision of the CMI specification, detailing rules about packaging, launching, and tracking content.

The xAPI SCORM® Profile focuses on representing SCORM® data as xAPI statements to ensure consistency when reporting SCORM® to an LRS.