SCORM Courses
Shareable Content Object Reference Model (SCORM) is an XML-based framework used to define and access information about learning objects so they can be easily shared among different learning management systems (LMSs). It is a standard for packaging 'courses' so that they can be installed/used on any system that supports SCORM. At a very high level the SCORM standard consists of two parts:
- Packaging - This part of the standard describes how all the content of the course is arranged and connected. SCORM is designed for dealing with web-based content, so a SCORM package can consist of HTML pages, images, sounds, Flash files, etc.
- API - This part of the standard governs how the content files in the SCORM package can interact with the underlying LMS. Since SCORM deals with web-based content, pretty much the only way the content can interact with anything is via JavaScript. So, SCORM defines a standard API, in JavaScript, that any LMS must implement in order to be SCORM compliant.
SCORM is a set of technical standards for e-learning software products. Many training modules that are housed in ULearn are packaged as SCORM content. If you own SCORM content that you would like to deliver using the MarineLS platform, you can test this content beforehand to make sure it will be delivered successfully on your new platform. Note: SCORM packaged as SWF, Shockwave or Flash will most likely not work well with MarineLS. We recommend repackaging these files as HTML-5.
The following help resources are available for SCORM:
See how to Import SCORM Courses
See how to Set up a SCORM Course Grade Book
See how to Troubleshoot SCORM Courses
MarineLMS SCORM Web APIs
Of course, although the API is defined in JavaScript, in almost all cases, the implementation of that API is just going to end up calling down into an API that the LMS exposes. The term 'API' typically conjures up the notion of a set of methods/routines that carry out specific tasks. However, the SCORM API is not really like that. Instead, it consists of just a handful of entry points, and of those there are only really two that are interesting:
LMSGetValue(CMIName) LMSSetValue(CMIName, dataValue)
This pair of entry points works in terms of 'CMINames'. CMI is basically a structured naming convention that allows one to refers to complex hierarchical data sets. To a C# programmer these dotted names look like they refer to a set of nested objects, and for the most part that is a valid interpretation. SCORM effectively defines what each of these objects are and how they are nested inside one another. Supporting the SCORM API is thus, essentially figuring out how to map the SCORM data model onto the data model of the LMS.
In order for SCORM scores to be recordable in LMS in a Course Grade Book or used to trigger a registration completion rule, the Scorm test must output, in addition to a sco id:
SetOutOf
SetUsersTotal
Notes
- Objectives => Exams
- Interactions => Questions
- Context => Registration
For more information, see the SCORM API help page or SCORM Data Model
TODO - Add course Creation Doc?