The following document provides high-level description for implementing cmi5 in learning activities. For specific details see the cmi5 specification.
The chart below provides a high-level description of the execution flow for an implementing cmi5 in an AU (Assignable Unit) - i.e. learning content. Each of the shapes in the chart are further explained (below the chart).
It is assumed that prior to the learner starting a learning activity:
LMS Launches AU
AU parses Launch URL for connect information:
See Sections:
Get Authorization Token
It is important to note that the AU does NOT authenticate to the LRS. Authentication is performed by the LMS and the LMS provides authorization to the AU with an LRS access authorization token.
AU uses the fetch URL to get the LRS access authorization token. The fetch URL can only be used once. The retrieved token must be used for all subsequent xAPI calls in the AU launch session.
See Sections:
Get State Document
The AU retrieves the state document LMS.LaunchData using the current registration id
The AU retrieves the following data from LMS.LaunchData:
See Sections:
Get Agent Profile
The AU retrieves the “cmi5LearnerPreferences” document from the Agent Profile using the Actor provided from the Launching URL.
The AU checks for “languagePreference” and “audioPreference” values.
See Sections:
Perform AU Setup
The AU performs it is internal setup activities prior to being for learner interaction.
This includes activities such as:
Send Initialized Statement
To indicate that the AU is ready for learner interaction, the AU sends a Statement to the LRS using the “initialized” verb and the other “cmi5 defined” statement required data elements (i.e. object requirements, context template, extensions, etc.).
See Sections:
Deliver Learning Experience
The AU delivers the learning experience to the learner. As the AU processes its events, it may
See Sections:
Write Completed Statement
When the learner views or performs all of the relevant activities, the AU sends a Statement to the LRS using the “completed” verb and the other “cmi5 defined” statement required data elements (i.e. object requirements, context template, extensions, etc.).
See Sections:
Write Failed Statement
If the AU is designed to have a judged activity and the learner fails to meet the minimum criteria (e.g. passing a quiz), the AU sends a Statement to the LRS using the “failed” verb and the other “cmi5 defined” statement required data elements (i.e. object requirements, context template, extensions, etc.).
See Sections:
Write Passed Statement
If the AU is designed to have a judged activity and the learner successfully to meets or exceeds the minimum criteria (e.g. passing a quiz), the AU sends a Statement to the LRS using the “passed” verb and the other “cmi5 defined” statement required data elements (i.e. object requirements, context template, extensions, etc.).
See Sections:
Exit AU
Depending on the AU design, the learner may take an action to exit from the presentation or the AU may start its exit process based on some other criteria.
Terminate
When the AU was terminated by the Learner and that the AU will not be sending any more statements for the session, it sends a Statement to the LRS using the “terminated” verb and the other “cmi5 defined” statement required data elements (i.e. object requirements, context template, extensions, etc.).
See Sections:
Redirect or Close Window
After the AU has finished all processing, it will do one of the following things:
See Sections: