Tom Cruise
Tom Cruise

Reputation: 1415

Interactions and Objectives in Scorm 1.2 LMS API

We are getting not implemented errors while integrating a third party content in our SCORM conformant LMS. These errors were because of the interactions element.

It is defined as follows:

CMI_DEF["cmi.interactions.n.id"] = new elementDef(true, true, true)

We need to replace the value of n with an incrementing value starting from "0", and we need to set the object values accordingly.

But while calling the LMSSetvalue function, we are getting a not implemented error because the course is looking for cmi.interactions.0.id, which is not defined.

It would be helpful if someone could help us on how this mapping to be done or how this data model element can be supported in our SCORM API.

Upvotes: 0

Views: 4980

Answers (2)

Jeyan
Jeyan

Reputation: 769

While loading SCORM conformance content to SCORM compliance LMS,

  • Content is responsible to make SCORM calls (basically call to JS API that should be implemented in LMS) to LMS to create/terminate the SCORM session, data transfers (getters and setters) and error handling.

  • LMS is responsible to expose the SCORM API (JavaScript API) to receive the SCORM calls from content and adapt them for server data and persistence.

From the Error message it seems the API don’t have the implementation to receive the call for cmi.interactions.0.id. So the LMS API has to be enhanced to receive/adapt the calls for cmi.interaction elements.

Please refer the RTE documents (https://stackoverflow.com/a/17700430/1341062) for more details,

thanks,

Upvotes: 1

jacano
jacano

Reputation: 1

cmi.interations is sequential array, and each time a SCO wants to record something to it, it has to ask for the next available space (via cmi.interactions._count).

Example:

n = LMSGetValue("cmi.interactions._count");
CMI_DEF["cmi.interactions."+n+".id"] = "Interations_"+n;

Separate from the N I’ve just mentioned, though, is the identifier of the interaction… cmi.interactions.n.ID.

The cmi.interactions.n.id data model element is a label for the interaction.
Data Model Element Implementation Requirements:
Data Type: long_identifier_type

I always use a string for "id"

Without knowing more of that library use to the integration. I cannot help more.

Upvotes: 0

Related Questions