Cmi5

The educational technology and digital learning wiki
Jump to navigation Jump to search

Introduction

cmi5 is a xAPI profile, originally proposed by the AICC working group (one of the earliest actors in elearning standardization).

The specification “describes interoperable runtime communication between Learning Management Systems (LMS) and Assignable Units (AU)” (cmi5 Specification Profile for xAPI, retrieved July 2018). More precisely it defines how to use the [[xAPI] specification for the following:

  • Launch by an LMS of AUs.
  • Launch and runtime environment used by LMS and AUs.
  • Runtime communication data and data transport between the LMS and AUs.
  • LMS course definition as it pertains to runtime data used by AUs.
  • LMS Course Structure Import/Export
  • Reporting requirements for the LMS.

Versions:

Major versions have stone names (they might have used them alphabetical order)

  • Sandstone (First version: May 15, 2015)
  • Quartz (First version: June 1, 2016)

Basic mechanism

Cmi5 defines how learning materials are defined to include monitoring commands that can interact with a learning management system.

The most important object in the Cmi5 specification is the Assignable Unit (AU), i.e. a kind of learning object. Assignable Units are defined as: “learning content presentation launched from an LMS. The AU is the unit of tracking and management. The AU collects data on the learner and sends it to the LMS.” (cmi5 specification, V. Sandstone)

A course is then defined a as a collection of assignable units. Consequently the course structure is a “list of assignable units and launch parameters, with an implied sequence” (ibid)

The learning management system (LMS) is defined as “A computer system that may include the capabilities to register learners, launch learning presentations, analyze and report learner performance, and track learners' progress. LMS launching, reporting, and tracking roles are the focus of the cmi5 specification. The LMS must have an Learning Record Store (LRS) as part of its implementation.”

The LMS imports a course structure that contain at least one AU. The cmi5 model then describes the following steps of a learning/tracking experience:

  • The AUs are launched by the learner and the the LMS writes launching data to the LRS, i.e. identification of the AU, student ID
  • The AU requires launch data plus previous state information from the LMS, i.e. it will have some data about the learner, including prior work with this unit.
  • The Learner view AU contents and (hopefully) engages in learning. During this time, the AU can store data and request data from the LMS.
  • When the learner exist from the AU, it reports final tracking data to the LMS.

Launching

The launch method uses "Get" URLs like this (not URL-encoded, and formatted with spaces for better readability!)

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"} }
 &registration = 760e3480-ba55-4991-94b0-01820dbd23a2
 &activityId =   http://www.example.com/LA1/001/intro

Parameters mean the following:

  • endpoint: The URL address of the LMS to be used for sending messages from the AU
  • fetch: URL for an authorization token
  • actor: A JSON object defining the learner
  • registration: A unique ID for this learning session
  • Activity ID: A unique ID associated with this AU.

Supported xAPI verbs

xAPI is based on messages that can be sent from the LMS to the AU or from the AU to the LMS

Supported xAPI verbs in cmi5
Verb
Launched
Initialized
Completed
Passed
Failed
Abandoned
Waived
Terminated
Satisfied

Course structure example

Links

Official

Specifications

CMi5 makes the use of the following specifications:

Links