What is SCORM?

SCORM is a standard for e-learning, is specification to define the combination of LMS (learning management system ) and learning contents. Any SCORM based learning content can be used with a SCORM based LMS. SCORM was developed by Advanced Distributed Learning in the United States, and in Japan, Japan E-Learning Consortium certifies LMS,contents and SCORM-related qualifications.

QuizGenerator is a learning content compatible with both SCORM1.2 and SCORM2004. Not only pass/fail and score but also correct/incorrect and answer contents for each quiz are sent to LMS.

learningBOX is an LMS that supports SCORM1.2. You can receive all data models defined in SCORM1.2 including optional items. (We are also considering supporting SCORM2004 in the future.)

Two roles of SCORM

SCORM has two main roles.

  1. Register learning contents
  2. Transfer grades etc. between learning contents and the system

By defining these as standard specifications, you can use a combination of learning contents from different vendors and LMS (Learning Management System).

1. Register Learning Contents in the LMS

SCORM learning contents are organized in ZIP format. The ZIP contains files that make up the learning contents (mainly HTML, JavaScript, image files, video files, etc.) and a metadata file (imsmanifest.xml) that defines the structure of the learning contents. imsmanifest.xml is always stored in the top directory of the ZIP archive. imsmanifest.xml describes the titles of learning contents, hierarchical structure, passing grades, restrictions on learning order, etc. The LMS (learning management system) interprets the contents of this file and registers the learning contents to the system in the system.

In learningBOX , HTML, JavaScript, image files, etc. are stored in Amazon S3, and learning content names and the structure of learning contents are stored in a relational database called Amazon RDS.

In the above diagram, only the red arrow is specified by SCORM. The rest is implemented for each LMS (Learning Management System).

2. Exchange Grades between Learning Contents and LMS

When you open the SCORM content, the content explores the API of the system. Specifically, the learning content searches the parent frame of its own frame (iframe or frame) and looks for an object named API. You can get the user ID and test taker names through the API. Also, as the learning progresses, the learning contents send correct/incorrect, score, and time for each quiz to the system. By exchanging information via SCORM’s API, you can exchange grades between different vendor systems (LMS) and learning contents.

The configuration of an LMS conforming to SCORM is rough as shown in the figure above. Among them, SCORM stipulates the red arrow part, and the remaining blue arrows are the parts implemented individually for each LMS. LMS users do not need to know the specifications in the blue area, and they are not publicly available. On the other hand, the red arrow part is standardized as SCORM API, and it is no exaggeration to say that the specification of this part is SCORM itself.

Contents of Communication by Memorization Card

The contents of the SCORM communication of the memorization card are shown below.

Initialize #Initialize on setup
GetValue (cmi.suspend_data) Get # cmi.suspend_data. Restore which cards are memorized.
SetValue (cmi.core.lesson_status, completed) #Send completed to grade
Commit #Synchronize API and server
SetValue (cmi.suspend_data, 1100000) # If you check Remember, the memorization status will be sent
SetValue (cmi.core.lesson_status, completed) #Send completed to grade
SetValue (cmi.core.score.raw, 29) #Send score
Commit #Synchronize API and server
Terminate # Terminate the API

By performing the communication as described above, information on which cards are “learned” is stored, and LMS (learning management system) is used to determine the percentage of cards that have been learned.

If You Can’t Save the Data with SCORM

When Cardgenerator is used outside of LMS, the content of cmi.suspend_data is saved in the cookie of the browser. Therefore, even if you use it outside of LMS, information such as “remembered” checkmark of cardgenerator and completed quizzes of Master mode of QuizGenerator will be saved.

Tip: If Cardgenerator or QuizGenerator is used outside of LMS, the DummyAPI will be loaded and the SCORM communication will be displayed on the browser console. If you are interested in SCORM, expand the ZIP file output by CardGenerator or QuizGenerator on your PC and open index.html in a web browser to help understand SCORM.

Tip: Since the memorization card installed on this page is also installed outside the LMS, the content of the communication is displayed on the browser console. Open the console with F12 key (for Windows) to check the communication contents. * Strictly speaking, there is no communication function in DummyAPI, so no communication is performed.

When you open the console on this page, the communication content, as shown above, will be displayed.

Advantages of Using SCORM

You can achieve interoperability between LMS (learning management system) and learning contents (content) by complying with SCORM. Prior to SCORM, the contents created by Company A could only be used in Company A’s LMS. Unless company A and company B have a business tie-up and share common specifications, basically company A’s content can only be used with company A’s LMS, and company B’s content can be used with company B’s LMS. Before SCORM came out, that is the normal standard.

Disadvantages of Using SCORM

The disadvantages of using SCORM include development costs and the difficulty of incorporating specifications that are not assumed by SCORM.

Development Cost

I want to create a simple e-learning system that supports only the MCQ. If you do not care about standard specifications such as SCORM and create only with server-side programming, a skilled programmer may complete the system in less than a month. However, developing SCORM based LMS and learning contents would take one month just to understand the SCORM specifications, and each development would require several months. Therefore, it is not a good idea to introduce SCORM into a simple system that can only be used internally. QuizGenerator has been around for five years since the start of development, and learningBOX has been around for over two years since the start of development.

Difficulty to Incorporate Specifications not Defined by SCORM (1)

You shouldn’t use SCORM if you want to do things that SCORM does not expect.
For example, it is not assumed in SCORM that the first textbook (SCO) will answer a quiz and the second textbook (SCO) will display a different commentary depending on whether the first quiz is correct or incorrect cannot be achieved by the method. In SCORM, the learning contents (SCO) are independent, and because they are independent, reusability can be ensured, if you use a system that is very different from the learning content composition and operating environment assumed by SCORM, it is not suitable using SCORM. To adopt SCORM, you need to understand the SCORM specifications and determine whether the system you are developing meets the requirements of SCORM.

Difficulty to Incorporate Specifications not Defined by SCORM (2)

Garakae does not support JavaScript, so it was not possible to implement SCORM properly. You had to make special support on the server-side. Now, even in a smartphone application, you can incorporate SCORM in these days by embedding Web components, but it may happen that SCORM is not suitable due to technical restrictions.

Difficulty to Incorporate Specifications not Defined by SCORM (3)

I want to conduct a speaking test. I want to implement the assignment submission function. In fact, the data model of SCORM (such as variables that can be sent) is, in principle, only text, so it is impossible to implement these functions with SCORM alone. If there is such a learning content as a part of a large number of learning contents, develop it as a whole based on SCORM, and use the original API only for parts that can not be supported by SCORM, or respond by displaying a separate screen That’s fine, but if you want to create an e-learning system that has more parts that are not specified in SCORM, you should not adopt SCORM in the first place.

Example of LMS using SCORM

A list of LMSs certified by SCORM (Japan E-Learning Consortium) can be found at the following URL.
List of SCORM compatible LMS

learningBOX is not an LMS certified by the Japan E-Learning Consortium, but the API implementation is equivalent to RTE3. In addition, although a function to import SCORM-compatible contents has been implemented, it is unable to import a course consisting of multiple SCOs as of version 2.5. (You can import one SCORM package by exporting it as a SCORM package.) If you need to transfer the content after switching from another company’s LMS, please contact us.

Examples of Learning Contents (Creation Tools) Using SCORM

Writing at the moment