Learning Management Systems – Everything you already know

xAPI_EcosystemThis is a big topic, so be prepared to fall asleep in the process.

This first post, describes everything you ever wanted to know about SCORM.

We could discuss AICC (the predecessor to SCORM), but that goes back to the 90’s (as you will later see) and is most likely no longer used anywhere today.

A Learning Management System (LMS) provides management and learners with results based information. In the future, you should expect more from your LMS.

The type of information we get today varies based on many factors, is usually generated around organizational requirements and, is restricted by the type of LMS we use as well as any customizations we’ve had to make to it.

Let’s take a look at the most popular LMS type in use today.

The SCORM (Sharable Content Object Reference Model) compliant LMS:

First, what is SCORM?

SCORM is a set of technical standards for e-learning software products. It does not extend outside the realm of e-learning, nor does it actually define the LMS, it defines the type of content that the LMS must be able to process.

The job of a SCORM compliant LMS is to read the uploaded SORM package, it does this by reading a file that:

  1. must be in the root of the uploaded ZIPped file, and
  2. the file must be named “imsmanifest.xml”

In a nutshell, the imsmanfiset.xml file describes:

  • the course title
  • the course information such as the course structure (like a Table of Content)
  • the content descriptions
  • quiz information, and
  • the resource locations

The job of the SCORM compliant LMS is to read and interpret the imsmanifest.xml.

Next, the LMS must store any resulting records the learner generated while traversing the imsmanifest.xml file in using the self-hosted e-learning course.

Finally, the LMS must make the stored data available in reports.

Some high-end (expensive) LMS’s may pass the data to other systems for further evaluation and reporting.

The Rolls-Royce (extremely expensive) LMS’s may receive data from other sources and merge it all together for planning purposes.

Unfortunately, SCORM based LMS systems suffer from a few set-backs that require a great deal of customization to overcome.

Starting with the acronym, SCORM; generally considered the “root of the problem”, most LMS systems do not allow for remote courses to be launched. The original objective of the term “Shareable” was almost immediately lost amongst the LMS manufacturers and became an exception to the rule.

Unfortunately, if you had the same course in LMS A, LMS B would require you to upload it locally to use it. This was a setback, as the predecessor to SCORM, AICC, allowed you to run one centrally located course in many different remote LMS systems.

“Shareable” seemed to become shareable amongst local users as opposed to shareable amongst various platforms. There were exceptions, however, they were typically one-offs that required you use a custom SCORM player.

SCORM has been around for about 20 years and has had 6 major releases. Each release had its advantages and issues; whereas most organizations did not, and still do not, see the advantages or issues because they use SCORM in a very minimalist manner by only recording course, module, page start times, durations, quiz scores and course completion statuses.

SCORM 1.1, the first SCORM version. In short, this could help you launch an e-learning course, but could not tell you much about how it was used due to the lack of reporting data available. It lasted a few nano-seconds (relatively speaking). This version had you to load courses locally or get a custom player (all later versions followed suit), therefore you lost the ability to run one course from a central location and have many LMS platforms communicate with it.

SCORM 1.2, Provided a great deal better reporting information with the introduction of Metadata.

This version could tell you who opened a course, module, page, quiz, question, and how long it took them to complete each; along with the question results and quiz score(s).

SCORM 1.2 is, to this day, the most widely used version of SCORM, and of the SCORM versions, requires the least system resources from the LMS.

SCORM 2004 1st. Ed. Provided more granular reporting, but virtually no-one used it.

SCORM 2004 2nd. Ed. Fixed 1st. Ed. Bugs in functions that barely anyone used, however, it was widely adopted anyhow.

SCORM 2004 3rd. Ed. Increased the allocation of each users cache (like filling a larger bucket with digitized water) for the very few organizations that tracked enough stuff to need the increase in data cache.

SCORM 2004 4th. Ed. Added a great deal more data to the without increasing the size of the bucket (eventually the last water in, overflowed and did not get stored). This left us with learners telling us they completed a course, yet our data telling us they did not.

In the end, we’ve been left with e-learning being published at the latest SCORM edition, yet only using features from the original SCORM 1.2 version. If you don’t believe me, publish your current SCORM 2004 3rd. or 4th. Ed. course as SCORM 1.2 and see if you even notice the difference in your LMS reporting.

Here is a nice summary of SCORM versions and their operating abilities with an LMS:

SCORM has another major flaw that only time has revealed; with the advent of mobile computing, learners today are typically learning from a mobile device before they are from a stationary computing device. The big difference here is that mobile devices will disconnect and reconnect to a computing network based on WiFi, Bluetooth and cellular availability. A standard SCORM based LMS will not deal with this, it will error and become out-of-synch. with the learner. This will, in turn, cause incorrect reporting results. Although programmatic solutions are available (given enough money, anything can be resolved), they are costly.

What other options are available today?

SCORM focuses on courses launched in a web-based LMS.

A relatively new specification (released in 2013) that is becoming widespread today is xAPI (Experience Application Programmers Interface). This specification is a flexible open-source approach that allows learning experiences that occur outside of an LMS to be tracked, and stores the data within a Learning Record Store (LRS).

A few examples of these experiences (already in use) are:

  • Mobile Applications
  • Team based learning
  • Web pages visited
  • Classroom lectures attended
  • Geographical locations visited
  • Pokémon type characters captured (had to throw it in)
  • Activities outside a web browser
  • Simulations / Virtual Reality / Augmented Reality, and
  • Finally, restoring the AICC functionality of being able to launch a course from another platform or domain.cmi5 (computer managed instruction) is an easy implementable specification that provides structure and rules for those using a LMS with xAPI.

xAPI manages the data communication between the learners device and an LRS. The LMS can then retrieve information from the LRS about the formal learning that was originally launched from the LMS or even another LMS.

If you’re interested in learning more about these efforts, their history, or their outlook you can tirelessly search the internet, or just join our groups on LinkedIn!

Our LinkedIn groups, slack channels, and Google + groups are filled with people actively trying to help out in understanding, problem solving, and planning the future of Learning Management.

If you prefer reading, beyond our LinkedIn groups, here are the links to our Group efforts and other valuable information:




In about a week, my next post will describe everything you ever wanted to know about xAPI and a cmi5 compliant LMS.

My final post will describe how integrating HR (Human Resources) and production related systems into a cmi5 compliant LMS, or visa-versa, can change everything, saving your organization time and money while merging and synchronizing all your data performance data into consumable, valuable reporting and planning data.

Now that you’ve read this post, I recommend you read my product page to put thing in the context of the LearnDash LMS system: https://learning-templates.com/product/learndash-xapi/
Once you read that, you may be interested in some of the IoT projects I working on. They will send data to the LRS to include the physical world into your LMS processes.