cmi5 is a set of extra rules for the xAPI standard that defines plug-and-play interoperability between learning management systems (LMSs) and learning content activities. It addresses issues with previous standards like SCORM and improves features like allowing any data to be recorded, eliminating confusion over completion statuses, and better supporting hosted and online content. The cmi5 rules standardize how LMSs launch content and interact with the learning record store, allowing content to do more while maintaining compatibility. By serving as an example profile, cmi5 aims to accelerate adoption of the xAPI standard and enhance the capabilities of current LMS models.
Apex Enterprise Patterns Galore - Boston, MA dev group meeting 062719
cmi5-xapi-camp
1. cmi5: xAPI for LMSs
Bill McDonald
Sabashiro Beach, LLC
cmi5 Working Group Leader
2. LMSs are Needed More
Than Ever…
…but not the LMSs we have today.
3. Overview
• What is cmi5 ?
• Why is cmi5 important ?
• What does cmi5 get you ?
• What are the “extra rules” that cmi5 defines ?
4. What is cmi5 ?
• cmi5 is a set of “extra rules” for xAPI
• The “extra rules” in cmi5 define “plug-and-play”
interoperability between traditional LMS systems
and learning content activities
• Logical components
• LMS – Learning Management System (includes a LRS
learning record store)
• AU – Assignable Unit (learning content/activity launched
by LMS)
5. Why is cmi5 important ?
• It is a BIG improvement over SCORM and AICC !
(Many new features and can map to existing ones)
• Profiles like cmi5 are crucial for plug-and-play
interoperability. xAPI is not interoperable by itself
because it is too broad.
• cmi5 is the “training wheels” that the industry
needs to adopt and understand xAPI.
• The Industry understands the current LMS model
• LMS adoption of cmi5 will lead to other xAPI profiles.
6. Here’s what you get with
cmi5
• The benefits of xAPI
• Content will plug-and-play with your LMS (no custom
xAPI engagements)
• Record ANY data you want (and get it back!) – LMS is
required to provide a user interface to access all cmi5
sessions recorded in the LRS.
• Eliminate Pass/Complete confusion
• Eliminate embedded vs. separate window launch
issues.
• Better support for hosted content/content as a service
7. So what does that mean ?
• Your content can now do really cool things that you can
record in the LMS !
• Language training – record voice responses
• Detailed custom “telemetry data” of what happened in the
content session
• Give assignments where learners must take photos or draw
pictures
• Have your content generate a PDF certificate and send it to
the LMS
• No more hassles with windowing !
• No more confusion over Passed vs Completed
• You can host content in other domains much more
easily.
8. What does this mean for
LMSs?
• LMSs need to implement an LRS and manage access to
that LRS.
• LMSs will need to write to the LRS prior to launching
content
• LMSs will need to change the way they launch content
(a URL query string with a content defined window)
• LMSs must determine when to void erroneous
statements – cmi5 doesn’t allow content to void
statements.
• LMSs will need to provide a reporting capability that
queries the LRS to provide access to all statements,
extensions, attachments, etc.
9. In general, the cmi5 rules
are …
• Rule #1 – You must conform to xAPI.
• Rule #2 – You can do whatever you want in xAPI as long
as it does not conflict the cmi5 specification.
• Rule #3 – LMS must use the cmi5 defined launch
mechanism to a launch cmi5 AU’s.
• Rule #4 – All sessions must include the required cmi5
statements.
• Rule #5 – LMS is required to support a (XML) course
structure to define implied sequence and completion
criteria for learning activities in a registration
• Rule #6 – The LMS must provide a user interface to
access all data recorded.
10. cmi5 defines the following
• Launch Requirements
• URL launch line
• LRS Authentication
• Basic Authentication delivery via “fetch URL”
• LRS/LMS Reporting Requirements
• (Additional) Statement API requirements
• (Additional) State API requirements
• (Additional) Agent Profile API requirements
• Course Structure
• (XML) defines implied sequence, moveOn rules, launch
window properties, launch parameters.
12. Summary
• cmi5 is a set of extra rules that make sure learning
content and LMS systems can work together.
• cmi5 will greatly enhance the interoperable
features for the current LMS model.
• cmi5 will serve as an example for other “xAPI
profiles” and accelerate more xAPI adoption.
13. Join Us !
• The cmi5 working group holds weekly web
conferences every Friday at 10:30am
Eastern/7:30am Pacific.
• https://github.com/AICC/CMI-5_Spec_Current/wiki
• Follow us on Twitter:
• @cmi5spec
• #cmi5
• Questions ?
• cmi5wg@adlnet.gov
Editor's Notes
Teaching pilots Aviation English. Ideally instructors would like students to record and upload the audio for a facilitator to review. That’s impossible to do with SCORM or AICC alone. It requires extension mechanisms like LTI that can put all sorts of files and data in multiple systems without the ability to easily pull it together as you need.
SCORM and AICC assumed a very auto-didactic learning model. We know that one size doesn’t fit all. Learning models can be self-paced or facilitated… teaching to one learner is still important, but teaching the learner in context with a cohort is also important. in the SCORM world, you never had the data.
There’s growing needs for training certificates, credentialing and microcredentialing. SCORM and AICC never addressed this.
Type-rating training, a two-week activity, can be one “presentation” with intense telemetry and detailed reporting. Extensions can give the blow-by-blow of what happened in high stakes training. All you can do in SCORM is score, status and time.
These real-world use-cases had to be addressed. We knew that technology itself wasn’t a barrier. Our barriers have been a lack of vision of how to commonly apply technology to deal with these use cases, improve performance of aviation professionals and save lives.
This is why cmi5 is part of the xAPI community. It solves incredible challenges for the aviation industry that benefit ALL of us in the training industry.
the reason why you care bout cmi5 is that solves a lot of problems with AICC and SCORM
Limited in what you can record in AICC and SCORM. Most people don’t use all of the data model (list of things you can record). No one makes a list that’s perfect - probably things you don’t need, but the restriction prevents recording “special things”
Problems with not implementing properly, by not supporting all the data model elements.
CMI5, you’re required to record this data and required to get it back out. Hurdle with SCORM and AICC was getting the data recorded.
CMI5 consciously not addressing reporting or querying… just that the data needs to be made available to access it - attatchments, extensions, extra context — there’s a requirement to retrieve it, but CMI5 is mute on how
* “retrieve and show all statements to a user (with appropriate permissions)”
* Must decode attachments and make it available as a file in the original MIMEtype
Extensions in context:
* Reasons why something got waived
Extensions in State
* Entitlements
* Passing launch parameters