< Previous | Contents | Next >
4.2.11. Learner Id
The cmi.learner_id data model element identifies the learner on behalf of whom the SCO was launched. The cmi.learner_id shall be unique at least within the scope of the SCO [1]. How the cmi.learner_id is assigned is outside the scope of SCORM. One typical case on how learner_ids are assigned is through some learner registration process defined by the LMS. The cmi.learner_id identifies the learner in a given LMS.
Table 4.2.11a: Dot-notation Binding for the Learner ID Data Model Element
Dot-Notation Binding | Details |
cmi.learner_id | Data Model Element Implementation Requirements: Data Type: long_identifier_type Value Space: A characterstring (SPM: 4000) that represents a valid Universal Resource Identifier (URI) as per RFC 3986 [6]. It is recommended that the URI be a URN as per RFC 2141 [3]. Format: Refer to Section 4.1.1.7: Data Types for more information on the requirements for the format of the long_identifier_type data type. LMS Behavior Requirements: This data model element is mandatory and shall be implemented by an LMS as read-only. The LMS shall be responsible for initializing the cmi.learner_id. How this is done is currently outside the scope of SCORM (e.g., this is typically handled via a learner registration system within the LMS). SCO Behavior Requirements: This data model element is required to be implemented by an LMS as read- only. The SCO is only permitted to retrieve the value of the cmi.learner_id |
Dot-Notation Binding | Details |
data model element. API Implementation Requirements: GetValue(): The LMS shall return the associated learner identifier currently stored by the LMS for the learner and set error code to 0 – No Error. The characterstring returned shall adhere to the requirements identified in the Data Model Element Implementation Requirements. SetValue(): If the SCO invokes a SetValue() request to set the cmi.learner_id, then the LMS shall set the error code to 404 – Data Model Element Is Read Only and return “false”. The LMS shall not alter the state of the data model element based on the request. Example: GetValue(“cmi.learner_id”) |