• No results found

This is information that typically cannot be passed as launch parameters to the SCO. The information is typically needed for every use of the SCO, in a certain context

Table 4.2.10a: Dot-notation Binding for the Launch Data Data Model Element Dot-Notation Binding Details

cmi.launch_data Data Model Element Implementation Requirements:

Data Type: characterstring (SPM: 4000)

Value Space: ISO-10646-1

Format: The format of this characterstring is left to the discretion of the SCO developer. The LMS simply returns the data, if requested to by the SCO ( GetValue() ). Refer to Section 4.1.1.7: Data Types for more information on the requirements for the format of the characterstring data type.

LMS Behavior Requirements:

• The data model element is mandatory and shall be implemented by an LMS as read-only.

• If launch data is required to operate the SCO, the designers shall provide this launch data using the mechanisms described in SCORM Content Aggregation Model. The ADL Content Package extension namespace provides an element (<adlcp:dataFromLMS>) that is responsible for storing this information. The element can be associated with an <imscp:item> for which the SCO resource is referenced by. The LMS shall initialize the cmi.launch_data value using the value supplied in the <adlcp:dataFromLMS> element. If no element or value is present, then the LMS should not make any assumption on how to initialize this value. If an LMS receives a GetValue() request and no information is defined in the manifest, then the LMS shall set the appropriate error code (refer to API Implementation Requirements).

SCO Behavior Requirements:

• The data model element is required to be implemented by the LMS as read-only. The SCO is only permitted to retrieve the value of the cmi.launch_data data model element.

API Implementation Requirements:

GetValue(): The LMS shall return the value stored for the cmi.launch_data data model element and set the error code to 0 - No Error. The characterstring returned shall adhere to the requirements identified in the Data Model Element Implementation Requirements.

o If there is no defined <adlcp:dataFromLMS> for the <imscp:item> in which the SCO resource is referenced, then the LMS is not

responsible for making an assumption of the initial value for the cmi.launch_data. If the SCO requests ( GetValue() ) the

cmi.launch_data in these cases, then the LMS shall set the error code

SCORM® 2004 3rd Edition Run-Time Environment (RTE) Version 1.0 RTE-4-85

© 2006 Advanced Distributed Learning. All Rights Reserved.

to 403 - Data Model Element Value Not Initialized and return an empty characterstring (“”).

SetValue(): If the SCO attempts to call SetValue() on the cmi.launch_data data model element, 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.

Additional Behavior Requirements:

The SCO developer is responsible for defining the cmi.launch_data. The Content Package Manifest contains an element (<adlcp: dataFromLMS>) that shall be used by the SCO developer for declaring this data. The element is placed in the manifest as a sub-element of the <imscp:item> that references the SCO resource. The LMS is responsible for initializing the cmi.launch_data for the referenced SCO with the value defined in the element. The

cmi.launch_data is permitted to be any valid representation of a characterstring (as defined by the above Data Model Element Implementation Requirements).

The LMS shall at least provide the smallest permitted maximum of 4000 characters. A characterstring that is greater than 4000 characters is not guaranteed to be stored in its entirety by an LMS. If no data is defined by the SCO developer in the manifest and the SCO requests the cmi.launch_data, then the LMS shall return an empty characterstring (“”) and set the appropriate API Implementation error code.

Example:

• GetValue(“cmi.launch_data”)

RTE-4-86 SCORM® 2004 3rd Edition Run-Time Environment (RTE) Version 1.0

© 2006 Advanced Distributed Learning. All Rights Reserved.

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 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”)

SCORM® 2004 3rd Edition Run-Time Environment (RTE) Version 1.0 RTE-4-87

© 2006 Advanced Distributed Learning. All Rights Reserved.

4.2.12. Learner Name

The cmi.learner_name data model element is the name provided for the learner by the LMS [1]. How the cmi.learner_name is assigned or created is outside the scope of SCORM. The cmi.learner_name may come from some LMS learner registration system or through some learner profile information. There may be other mechanisms for creation and assignment of the cmi.learner_name , however there is no restriction on how this process is accomplished.

How the LMS or SCO interprets and processes the delimiter for the characterstring is