Introduction
The following document provides high-level description of cmi5. For specific details see the cmi5 specification.
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.
Why cmi5 ?
cmi5 provides rules for using xAPI with an LMS. It is a key component of an xAPI based learning ecosystem and an excellent starting point for organizations that wish to adopt xAPI.
cmi5 provides the following functionality :
Richer Data Collection - Record any data you want (and get it back!) - You are not limited to a "list" of data collected. cmi5 is open-ended on the data you can collect.
Share Data more easily - cmi5 uses a web service (xAPI) and data structure that allows easy integration with other systems/applications.
Distributed Content - cmi5 content can reside anywhere, it allows for content as a service.
Elimination of "Pop-up" Windows - Eliminates pop-up blocker headaches.
Mobile app launch support - cmi5 content does not require a browser. Content could be a mobile app.
Complete course definition:
Components
Course Package - a course structure (see below) optionally packaged in ZIP with optional learning content media files.
Course Structure - A list of assignable units (see below) and their launch parameters, with an implied sequence, representing a course.
LMS - Learning Management System. A system that includes the capabilities to register learners, launch learning presentations, analyze and report learner performance, and track learners' progress.
LRS - Learning Record Store. A web service that receives, stores, and retrieves xAPI statements.
AU – Assignable Unit. A separately launchable learning content presentation. The AU is the unit of tracking and management. The AU collects data on the learner and sends it to the LMS.
Roles
Learner - The user who is interacting with the learning content with the purpose of acquiring knowledge, skills, or abilities.
Author - A user who assembles assignable units into a course package for consumption in the LMS. The author may also create the Assignable Units or reference them from other sources.
Administrator - A user who ingests the course package into the LMS and provides access to the course for learners.
Process
Key cmi5 features
Launch Mechanism - The Content (AU) is launched by LMS using a cmi defined Launch URL. The Launch URL is a URL to content with Query String Parameters which provides connectivity and authorization to the LRS. The Query String parameters provide the following:
Example:
http://www.example.com/LA1/Start.html
?endpoint=http://lrs.example.com/lrslistener/
&fetch=http://lms.example.com/tokenGen.htm?k=2390289x0
&actor={"objectType": "Agent","account":
{"homePage": "http://www.example.com","name": "1625378"}}
®istration=760e3480-ba55-4991-94b0-01820dbd23a2
&activityId=http://www.example.com/LA1/001/intro
Fetch URL - The AU must retrieve an authorization token using the Fetch URL provided in the query string parameters in order to access the LRS. The Fetch URL may only be called once.
Session Management - A session is a period of time marked by the launch of an AU (Learning Activity) until its termination. All statements made by the AU and the LMS during a session are identified with a Session ID. The LMS manages the creation of sessions. cmi5 has rules for specific statements that must be sent to the LRS in a session.
Extensibility - cmi5 has statements specifically defined for completion, mastery, and session start/termination. However, AU’s are not solely restricted to these statements. AU’s may send additional statements for any other purpose as long those statements contain cmi5 session identification and are issued within an session.