-
Notifications
You must be signed in to change notification settings - Fork 92
CMI 5 Working Group Meeting Minutes – March 18th, 2016
cmi5 Working Group Meeting Minutes – March 18th, 2016
Attendees
- Bill McDonald - cmi5 working group leader
- Andy Johnson - ADL
- Art Werkenthin - RISC
- Ben Clark - Rustici Software
- Ray Lowery - Pratt & Whitney
- Bernard Bouyt - Airbus
- David Pesce - Exputo
- Christopher Thompson - Medcom Inc
- Mike Kennedy - Workday
- Henry Ryng - InXsol
- Andrew McGarrity - Thrivist
Notes
Issue #378 - Explicitly allow the LMS to override the "masteryScore" as defined in the course structure
This issued is really about how Activity ID's are to be managed with cmi5. (The question about changing the AU metadata in the course structure raise the issue about the definition of Activity ID's). The group has struggled with this issue for several weeks and has agreed to the following approach:
- Activity ID for launch line (comes from the LMS – LMS generates it)
- LMS MUST NOT use the “Publisher ID” (the AU ID the from the course structure).
- LMS writes "Publisher ID" to the state
- AU Reads "Publisher ID" from the state
- AU writes the "Publisher" ID Context in its statements
The rationale being that the LMS will manage the Activity ID generation, but the ID from the course structure will also be added to statements as a "reference".
As a result of this decision, the cmi5 specification will change as follows:
8.1 Launch Method
activityId
Description: The Activity ID of the AU being launched.
LMS Usage: The LMS MUST generate a unique actvitityId for the AU. The LMS MUST place its value in the query string. The actvitityId generated MUST NOT match the AU’s id from the course structure (See Section 13.1.4 - AU Metadata). The LMS MUST use the same generated actvitityId on all subsequent launches (for the same AU) within the same registration. The LMS SHOULD use the same generated actvitityId (for the same AU) for all registrations.
AU Usage: The AU MUST get the activityId value from the query string. The AU MUST use the activityId value in API calls that require an "activity id" when sending xAPI requests.
Data type: String (URL-encoded)
Value space: IRI (as defined in the cmi5 Course Structure Section 13.1.4 - AU Metadata)
9.6 Context
Sample JSON:
"context": {
"registration": "<registration value provided by LMS>",
"contextActivities": {
"category": {[
{"id": "https://w3id.org/xapi/cmi5/context/categories/moveon"},
{"id": "https://w3id.org/xapi/cmi5/context/categories/cmi5"}
]}
},
"extensions" {
"https://w3id.org/xapi/cmi5/context/extensions/sessionid":"<the value of session ID provided by the LMS>",
"https://w3id.org/xapi/cmi5/context/extensions/publisherid":"<the unaltered value of the AU’s id from the course structure>"
"https://w3id.org/xapi/cmi5/context/extensions/masteryScore": 0.50,
"https://w3id.org/xapi/cmi5/context/extensions/launchMode" : "Normal"
}
}
9.6.3.4 publisher ID
ID: https://w3id.org/xapi/cmi5/context/extensions/publisherid
Description: Used to identify the AU using the publisher’s original activity id from the course structure. (See Section 13.1.4 AU Metadata – id).
LMS Usage: The LMS MUST record the publisher ID in the State API (See Section 10) prior to launching an AU. The LMS MUST also provide the publisher ID in the context as an extension for all "cmi5 defined" and "cmi5 allowed" statements it makes directly in the LRS.
AU Usage: An AU MUST include the publisher ID provided by the LMS in the context as an extension for all "cmi5 defined" and "cmi5 allowed" statements it makes directly in the LRS.
AU Obligation: Required
LMS Obligation: Required
Data type: String (URL-encoded)
Value space: string value
10.0 xAPI State Data Model
Sample JSON
{
"contextTemplate": {
"extensions": {
"https://w3id.org/xapi/cmi5/context/extensions/sessionid":"<The LMS generated session ID value>",
"https://w3id.org/xapi/cmi5/context/extensions/publisherid":"<The unaltered value of the AU’s id from the course structure>"
}
},
"launchMode": "<launchMode value>",
"launchParameters": "<launch parameters from Course Structure>",
"masteryScore": "<masteryScore from the Course Structure>",
"moveOn": "<moveOn value from the Course Structure>",
"returnURL": "<URL value>",
"entitlementKey": {
"courseStructure": "<Entitlement data or key from Course Structure>",
"alternate": "<alternateEntitlementKey>"
}
}
contextTemplate
Description: Context template for the AU being launched.
LMS Required: Yes
AU Required: Yes
LMS Usage: LMS MUST include a "contextTemplate" object and MUST place all of the following values in that object's “extensions”:
- The value for session id placed in the element "https://w3id.org/xapi/cmi5/results/extensions/session"
- The unaltered value of the AU’s id from the course structure (see 13.1.4 AU Metadata) placed in the element: "https://w3id.org/xapi/cmi5/results/extensions/publisherid"
The LMS MAY place additional values in the "contextTemplate".
AU Usage: AU MUST get the contextTemplate value from the "LMS.LaunchData" state document. The AU MUST NOT modify or delete the "LMS.LaunchData" state document. The AU MUST use the contextTemplate as a template for the context property in all xAPI statements it records to the LMS. While the AU may include additional values in the context object of such statements, it MUST NOT overwrite any values provided in the contextTemplate.
Data Type: JSON context object as defined in xAPI specification.
All Previous CMI-5 Meeting Minutes
https://github.com/AICC/CMI-5_Spec_Current/wiki
CMI-5 on GitHub: