eCampus

SCORM


The Shareable Content Object Reference Model, or 'SCORM', is a way of organising data for e-learning. It's an open standard maintained by the Advanced Distributed Learning Initiative ('ADL'). Being a popular open standard, many institutions use it, in the same way they use .pdf documents, spreadsheets and .jpg images.

I suppose the first question you might ask is: why have a standard for e-learning at all?

An LMS will need to know how to present things such as pdfs, web pages, video, and other resources as courses. This is where SCORM comes in. It is a standard format that tells the LMS how to present a set of resources as a course or several courses.

Now let's say you create a course in one LMS, and then realise you want to run the same course on a different LMS, at a different institution, on a different remote server.

If both LMSs supports the SCORM standard, that means your course can be transferred from the first LMS to the second LMS with minimal fuss. Further, most good content development systems produce resources that meets the SCORM standard, so content created using them can be added to any SCORM course. More than that, if two courses had, say, videos or web pages in common, then those courses could share those resources.


How does it work?


The e-learning 'resources' (usually files such as web pages, pdfs, videos, audio or images) are placed in a folder or directory. The resources are then described in a SCORM 'XML manifest file' called 'imsmanifest.xml'.

This file tells an LMS what to do with all the content, how to present it, how the course is organised and so on. Then all these files, along with any necessary schema files (.xsd and .dtd files that are used to 'validate' the manifest file) are packaged into a 'zip' archive. This archive is called a SCORM 'content package'.

If this sounds a little complicated, don't worry. There is software for automatically generating these content packages, and they will be able to do most of the technical work for you; leaving you to concentrate on the actual course content and organisation.


Resources


As I said, most resources are web pages, images, style sheets, pdf documents, videos, and so on. Files used to present a course, in other words. In SCORM terms, these are called 'assets' or 'resources'.

Resources are defined in the manifest file, along with the other files they depend on. A web page resource might contain references to image resources, for example.

Resource urls are relative to the location of the manifest file. Metadata (information such as names and descriptions) can be added concerning elements of a content package, so you could name a resource; a web page might be named 'Introduction to SCORM', for instance.

Resources can also be classified as 'launchable'. Launchable resources present course content to a student (usually in a browser), calling on other resources to complete the presentation. A classic example would be a simple html web page that makes use of images, movies, and so on.


Shareable Content Objects


Some resources are called 'shareable content objects' or 'SCOs'. SCOs are interactive elements of a content package; generally, SCOs communicate with the LMS to record marks, report errors, create part of the user interface, and so on. SCOs are often little pieces of software in themselves, 'plug-ins' that do fancy things with courses.

Typically, SCOs communicate with the LMS using Javascript. For the technically minded, the LMS provides a javascript variable called 'API_1484_11'. This variable complies with what is called the 'SCORM run-time API'.

To get at this variable, the SCO could try looking for it in its parent window - the one generated by the LMS to host the SCO. So, an SCO could ask the LMS to record a mark for a student, for instance, or note the progress of a student by calling:

var scormRunTimeAPI = null;
if ((typeof(window.opener.API_1484_11) != "undefined") && (window.opener.API_1484_11.Initialize)) {
scormRunTimeAPI = window.opener.API_1484_11;
}
else
{
alert(";We have a problem Houston! SCORM run-time API adapter cannot be found or cannot be initialised.");
}

scormRunTimeAPI.SetValue("studentMark", "A+");

scormRunTimeAPI.Terminate();

If this seems difficult, don't worry. There are systems to take care of the nitty gritty for you.


Organising Resources into a Course


We've discussed what SCORM 'resources' are - web pages, pdfs, videos, 'SCOs' and the like. We've discussed how some are launchable, and how some resources can make use of other resources. Actually setting up a course is a matter of deciding the order launchable resources are presented in, for the most part.

How does this work?

Well, as with the definitions of resources, a content package's manifest file defines how resources in the content package are organised into courses. In SCORM terms, these course definitions are called 'organisations'. These organisations are defined in a hierarchical tree format, like an organisation chart or a football tournament.

Image

You might, for instance, have a course called 'Introduction to SCORM', with sub-topic such as 'Resources', 'Organising Resources into Courses' and so on.

An activity that has no sub-topics must point to a 'launchable' resource within the content package. So in our case, 'Resources' might be a html page containing some text explaining SCORM resources. Similarly, the 'Organising Resources into Courses' might be a pdf file. Both of which can be viewed by a student.

As you might already have guessed, you can define different 'organisations' of the same resources; creating different courses from the same set of resources. For instance, you could design different types of courses for different types of students; a SCORM course for programmers familiar with 'xml' and javascript, and one for academics interested in creating courses in using the open source SCORM creation software called 'reload'. There would be some resources both courses shared; you could add them to the organisation tree for each course as you saw fit.

How students progress through a given course defaults to 'free choice', but SCORM allows for definitions that allow for non-sequential, sequential and adaptive courses too. The user interface is defined by both the LMS and any SCOs that might be present. Users can elect to do things such as 'continue', 'exit', and so on. Quite how this is organised is a matter for the LMS in concert with any launchable SCOs.

Where now?

I want to create SCORM content .

I want to deliver a SCORM course .

If you need help with a SCORM problem, just contact us.