Anatomy of a SCORM Course

4 min read | May 9, 2024
Anatomy of a SCORM Course cover image

SCORM is a standardized format to create online courses with a predefined structure. This allows any SCORM-compliant learning management system (LMS) to be able to import and run the SCORM course and provide certain analytics and reporting immediately out of the box, such as completion status.

Creating and Exporting a SCORM Course

A SCORM course is usually created in an authoring tool first and then exported in a zip file format to be used by an LMS. Some commonly used authoring tools currently on the market include Articulate Rise, Articulate Storyline, Adobe Captivate, iSpring and Trainably.

See The Platform In Action

Not a sales call. No strings attached!

Structure of the SCORM zip package

A SCORM zip package consists of various types of files including HTML, CSS, JavaScript and some XML. Simply put, a SCORM course is a collection of files that can be run natively on any web browser and mobile devices because under the hood, it is primarily plain HTML, CSS and Javascript. Additionally, it can provide tracking and reporting based on learner activity, providing data on things like:

  1. Completion status of an entire course, including pass/fail status
  2. Completion status of a quiz, if embedded within the course
  3. Quiz scores, if embedded within the course
  4. Progress percentage tracking, if provided by the authoring tool

When viewed using a file explorer or finder, a SCORM zip package and its contents often look like the files in this example screenshot:

SCORM zip package

What is SCORM Manifest file (imsmanifest.xml)

A manifest file – generally named imsmanifest.xml – defines all the critical details of the SCORM course including:

SCORM version: The most common versions of SCORM are 1.2 or 2004, and each has various editions. The version type can always be found in the imsmanifest.xml file under the tag:

SCORM Version File

Course title: The basic details of the course such as name, title, and the authoring tool are defined in the tag.

Course title file

Launch file: This is a very critical component that defines the exact file that an LMS should launch as the “index” file, or the starting point for running the program. Think of it as a homepage for the entire course. The launch file is defined within the tag, as seen below:

Launch file

Understanding the Launch File for a SCORM Course

The launch file – also known as the “index” file – is very important because the LMS uses it to launch the course when a learner clicks on “Start Course.” If the launch file is not defined correctly, the LMS will not be able to determine where to start the course and users will encounter technical issues that impede their learning.

Along with the launch file, the tag also defines various other files (usually HTML and JavaScript) that are integral to various interaction, analytics and reporting capabilities within the SCORM package. For example, you can use the “bookmark” capability within a SCORM course to track where exactly a learner is in the course. Even if they save and exit the course with the intention to come back later, a bookmark will remember that they were on slide 4 of out 10 in a presentation, for example.

In the screenshot above, these capabilities are defined by the “AutoBookmark.js” file.

SCORM Runtime: API Signature and Data Model

Depending on the version of the SCORM, an LMS must implement a set of APIs and a data model.

Communication between SCORM course and LMS

Typically, a SCORM course can work with any compliant LMS and is not built specifically for just one LMS. This means that the LMS should be able to import the SCORM course, run the SCORM course and track various analytics provided by the SCORM course.

The analytics must first be set by the authoring tool. For example, lesson status within a course is implemented using a specific key or data model called “cmi.core.lesson_status” – and the authoring tool will know when to send a specific data model event (such as lesson status) back to the LMS based on which of the following values is assigned: “passed”, “completed”, “failed”, “incomplete”, “browsed”, “not attempted”.

Once the authoring tool has implemented generating a specific event such as cmi.core.lesson_status, the LMS should also implement reading the values generated and then using it to track the overall completion of the course, knowing exactly when a learner has completed, passed or failed a particular lesson.

Does this sound technical? It is, but front-end users are met with the simplicity of seeing whether a learner has completed and satisfied the requirements for completion without having to worry about the data modeling on the back-end of a platform.

Challenges with exported SCORM packages

Even though SCORM provides a set of data model – also known as “keys” – authoring tools do not always implement the available data model in its entirety. For example, one such key is “cmi.progress_measure” which can help determine the progress percentage within a course, such as showing whether a learner has finished 2 out of 5 slides, or 40% of the course.

Academy of Mine’s sister product, Trainably, is the most prominent authoring tool available to have implemented this kind of data modeling. Currently, most other popular authoring tools do not have this capability, making it impossible to track progress percentage within a course.

Mastering SCORM: Elevating Online Learning Experiences

Knowing the anatomy of a SCORM course is pivotal for creating dynamic and effective online learning environments. Understanding manifest files, launch configurations, and runtime APIs can help educators and developers optimize their e-learning initiatives for seamless integration into numerous LMS platforms and enhanced learner engagement.

While challenges persist, such as incomplete data model implementation, innovations in authoring tools like Trainably offer promising solutions. Request your free trial today to start unlocking the full potential of online education and shape the future of learning in your organization.

Supercharge Your eLearning Business

Academy Of Mine is the top-rated LMS for Professional Development, Continuing Ed, Certifications and B2B training.