What is SCORM?

This is next in a series of related posts on Fun Tech Stuff going under the hood with XML and its uses in learning technologies: Learning Management SystemsSCORMTin CanMetadata, and XML, as well as examples of XML in SCORM and XML in eBooks.

SCORM stands for “Sharable Content Object Reference Model.” It is a set of technical standards that define how Web-based online learning content and LMSs communicate with each other. SCORM is managed by Advanced Distributed Learning (http://www.adlnet.gov/), a research group sponsored by the United States Department of Defense.

SCORM is composed of three sub-specifications: the content packaging section, the run-time section, and the sequencing section.


The content packaging section specifies how the content should be packaged and described. For example, it specifies that all the content should be contained either in a directory or a zip file. And it specifies that the content must contain an XML file named imsmanifest.xml, which contains all the information the LMS needs in order to deliver the content. The XML manifest file describes the parts of the course, and puts the parts into a hierarchical order. Any SCORM-compliant authoring tool would put its course material in a directory or a zip file, and would include an XML manifest file describing the course. And any SCORM-compliant LMS would know where to look for these files and know what to do with them. (More on XML and manifest files in a future post: they turn up in all kinds of interesting places, including in ebooks.)

The run-time section specifies how the content should be launched and how it communicates with the LMS using its APIs, or application programming interfaces. These APIs permit the LMS and the learning module to communicate with each other via Javascript by using a built-in vocabulary. The learning module can tell the LMS whether the learner passed the module, what grade was achieved, how much time was taken, and other information relevant to course management.

The sequencing section specifies how the learner can navigate between the parts of the course. Like the content packaging section, it is defined by a set of rules and attributes in an XML manifest file. For example, the sequencing section defines which navigation controls the learner will see, determines whether there will be a navigable table of contents, defines any prerequisites within the content, controls which questions display, and determines whether the learner will be taken back to any sections not mastered.

The SCORM specification has evolved over the years. Two versions have gained widespread acceptance: SCORM 1.2 and SCORM 2004.

SCORM continues to evolve. The next generation of SCORM is called the Tin Can API, which we’ll talk about in the next post.