What is SCORM?

  • HOME
  • What is SCORM?

What is SCORM?

SCORM is a standard for e-learning.LMSSCORM is a set of specifications for combining learning materials with a learning management system (LMS), and any SCORM-compliant materials can be used with a SCORM-compliant LMS.Advanced Distributed LearningIn Japan, it was established by theJapan E-Learning Consortiumcertifies LMSs and content, and SCORM-related certifications.

Purchase a QuizGenerator Licenseis a teaching material that supports both SCORM1.2 and SCORM2004. Not only the pass/fail and score, but also the correctness of each question and the content of the answers are sent to the LMS.

 learningBOXis an LMS that supports SCORM1.2, and can receive all data models defined in SCORM1.2 including optional items. (In the futureSCORM2004(We are also considering support for


The two roles of SCORM

There are two main roles for SCORM.

  1. Registering materials into the system
  2. Exchange grades and other information between the teaching materials and the system

With these standard specifications, it is possible to use a combination of teaching materials and LMS (Learning Management System) from different vendors.

1. register teaching materials to the system

The SCORM materials are organized in a ZIP format, which contains the files that make up the materials (mainly HTML, JavaScript, image files, video files, etc.) and a metadata file (imsmanifest.xml) that defines the structure of the materials. imsmanifest.xml is always stored in the top directory of the ZIP archive. imsmanifest.xml contains the title of the course material, the hierarchical structure, the passing score, the constraints on the order of learning, etc. The LMS (Learning Management System) interprets the contents of this file and stores the course material in the system. The LMS (Learning Management System) interprets the contents of this file and registers the material into the system.

 learningBOXIn the following example, HTML, JavaScript, and image files are stored in Amazon S3, while the names of the materials and the structure of the materials are stored in a relational database called Amazon RDS.

In the above diagram, only the part with the red arrow is regulated by SCORM. The other parts are implemented in each LMS (Learning Management System).

2. exchange grades and other information between the teaching materials and the system (LMS)

When you open a SCORM teaching material, the teaching material explores the API of the system. Specifically, the teaching material will explore the parent frame of its own frame (iframe or frame) and look for an object named API. Through the API, the learning material can obtain the user ID and the name of the examinee. By exchanging information via SCORM's API, different vendors' systems (LMS) and teaching materials can exchange grades and other information.

The structure of a SCORM-compliant LMS is roughly as shown in the diagram above. In this diagram, the red arrows are the parts that SCORM specifies, and the rest of the blue arrows are the parts that each LMS implements independently. The users of LMSs do not need to know the specifications for the blue parts, and they are not generally available to the public. On the other hand, the red arrows are standardized as the API of SCORM, and it is no exaggeration to say that the specification of this part is SCORM itself.


Examples of teaching materials using SCORM

QuizGenerator is SCORM compliant, but QuizGenerator is complex and hard to explain.cardgeneratorThe cardgenerator is a memorization card creation service released in February 2017. learningBOX version 1.2 or later can be used as a teaching tool in the course.

Contents of communication on memorized cards

The contents of the SCORM communication for memorization cards are shown below.

  • Initialize # is initialized at startup.
  • GetValue(cmi.suspend_data) #cmi.suspend_data. Restore which cards have been memorized.
  • SetValue(cmi.core.lesson_status, completed) Send completed to # grades
  • Commit #API and synchronize the server
  • SetValue(cmi.suspend_data, 1100000) # Check memorized to send memorization status.
  • SetValue(cmi.core.lesson_status, completed) Send completed to # grades
  • SetValue(cmi.core.score.raw, 29) Send # score
  • Commit #API and synchronize the server
  • Terminate Terminate the #API

By communicating as described above, we can store information about which cards are checked for "remembered" and how many cards are checked for "remembered" in the LMS (Learning Management System).

If you can't save with SCORM

When you use Cardgenerator outside of the LMS, the contents of cmi.suspend_data are saved in your browser's cookie. Therefore, even if you use Cardgenerator outside of the LMS, information such as "remembered" checkmarks in Cardgenerator and solved problems in Master mode in QuizGenerator will be saved.

Tip: If you use Cardgenerator or QuizGenerator outside of LMS, DummyAPI will be loaded and SCORM communication contents will be displayed on your browser console. If you are interested in SCORM, you can extract the output ZIP file on your PC and open index.html in your web browser to understand SCORM.

Hint: The memorized cards on this page are also placed outside the LMS, so the communication contents are displayed in the console of your browser; you can check the communication contents by opening the console with the F12 key (on Windows). Strictly speaking, the DummyAPI does not have a communication function, so no communication is taking place.

If you open the console of this page, you will see the communication contents as shown above.


Advantages of using SCORM

By complying with SCORM, it is possible to achieve interoperability between LMS (Learning Management System) and teaching materials (contents). Before SCORM was introduced, teaching materials created by Company A could only be used in Company A's LMS. Until SCORM came along, that was the norm.


Disadvantages of using SCORM

The disadvantages of using SCORM are the development cost and the difficulty of incorporating specifications that are not assumed in SCORM.

development cost

If you want to create a simple e-learning system that only supports multiple-choice questions, and if you don't care about standard specifications such as SCORM and just use server-side programming, a competent programmer may be able to complete the system in less than a month. However, if you want to develop a SCORM-compliant LMS and teaching materials, it will probably take you a month just to understand the SCORM specifications, and several months to develop each of them. QuizGenerator has been in development for 5 years, and learningBOX has been in development for over 2 years.

Difficulty in incorporating specifications that are not specified in SCORM (1)

If you want to make it behave in a way that is not expected by SCORM, then you should not use SCORM.

For example, having the first SCO answer the question, and the second SCO display different explanations depending on the correctness of the first question is not envisioned in SCORM, and cannot be achieved in a proper way. In SCORM, SCO and SCO materials are independent, and because they are independent, reusability can be guaranteed, but I won't go into that in depth. In any case, if you use a system that is far removed from the structure of the teaching materials and the operating environment envisioned by SCORM, you may regret adopting SCORM. whether to adopt SCORM or not, you need to understand the specifications of SCORM and determine whether the system you are developing meets the requirements of SCORM. Whether to adopt SCORM or not, it is necessary to understand the specification of SCORM well and judge whether the system to be developed conforms to the requirements of SCORM.

Difficulty in incorporating specifications that are not specified in SCORM (2)

It was a long time ago, but I once did a development project to make an e-learning system compatible with Galaga. Garakei doesn't support JavaScript, so we couldn't implement SCORM properly, and had to take special measures on the server side. Now, even within smartphone apps, it's possible to incorporate web-based components and support SCORM with straightforward implementation, but there may be times in the future when SCORM is unsuitable due to technical limitations.

Difficulty in incorporating specifications that are not specified in SCORM (3)

I want to implement a speaking test. I want to implement an assignment submission function. In fact, SCORM's data model (such as variables that can be sent) is, in principle, text only, so it is impossible to implement such a function using SCORM alone. If you have this kind of material as part of a large number of teaching materials, you can develop the whole thing based on SCORM, and only use your own API or display a different screen for the parts that SCORM can't handle, but if you want to create an e-learning system where there are many parts that are not regulated by SCORM However, if you want to create an e-learning system where there are many parts that are not regulated by SCORM, you should not adopt SCORM in the first place.


Example of an LMS using SCORM

You can check the list of SCORM-compliant LMS certified by (Japan e-Learning Consortium) at the following URL.
 List of SCORM compliant LMS

 learningBOXis not an LMS certified by the Japan e-Learning Consortium, but the API is implemented as RTE3 equivalent. It also has the ability to import SCORM-compliant materials, but as of version 2.5, it is not possible to import a course consisting of multiple SCOs. However, as of version 2.5, it is not possible to import a course that consists of multiple SCOs. (You can import SCOs by exporting each one as a SCORM package. If you are switching from another company's LMS and need to port your content, please contact us.


related article

 Let's make SCORM teaching materials.