Importing SCORM packages

Adding external content to the Electude LMS through SCORM

When your Electude LMS license allows it, you can convert SCORM packages to courses and modules. This allows you to use external content inside the LMS. SCORM versions 1.2, 2004 2nd, 3rd and 4th are supported. This document describes the details and limitations of the SCORM import functionality for a technical audience. For instructions on how to import a SCORM package, please refer to the Teacher Manual.

1. Conversion into LMS entities

During import each organization in the SCORM package manifest is converted to a course structure. Each item in the organization is converted into either a module or a (sub)course. When the item has a identifierref it is converted to a module that can be launched as a a SCO or an asset depending on the type of the associated resource. When the item is an aggregation that has no identifierref and only contains children, it is converted to a (sub)course.

This has conversion has a limitation. In the Electude LMS both (sub)courses and modules can be arranged in any desired order in separate lists. In a course, subcourses are always displayed first, followed by the modules. So you cannot arrange courses and modules alternately with this, e.g. you cannot have a course followed by a module followed by a course.

If a SCORM package has no organization because it is a SCORM Resource Package, import will fail. The LMS only allows import of SCORM Content Aggregation Packages.

After a SCORM package is converted, the modules can be arranged and reused in other courses.

The content of the SCORM package is stored unzipped on the Electude LMS server. The size of the unzipped package is accounted for in the disk quota for the LMS account. Only when all imported modules are deleted, the unzipped content of the package is removed from the server.

2. Launch behaviour

A user can launch a module (SCO or asset) from a course structure. This takes the user to a new page with a header at the top that contains the title of the module a link to return to course structure. There are no other navigational controls on the page. The content is launched in an iframe below the header. When a SCO calls the LMSFinish (SCORM 1.2) or the Terminate (SCORM 2004) function the user is also returned to the course structure.

By default for students when they launch a SCO for the first time these Run Time Engine (RTE) data are used:

SCORM 2004 SCORM 1.2 value
cmi.mode cmi.core.lesson_mode normal
cmi.credit cmi.core.credit credit

For teachers and for students in groups that can 'browse through lessons' (can be set by teachers) these initial data are used:

SCORM 2004 SCORM 1.2 value
cmi.mode cmi.core.lesson_mode browse
cmi.credit cmi.core.credit no-credit

SCO's can always be launched again for another session, except when the SCO has set cmi.success_status or (cmi.core.lesson_status in SCORM 1.2 to passed or failed in a previous session. When a student needs to retake a passed or failed SCO, the teacher should remove the result manually in the LMS.

3. Reporting progress and scores

The Electude LMS reports scores for all courses and modules in a graph. Here is an example of such a graph:


This sample graph shows several percentages:

  • the progress is 60%
  • the correct score is 30% (green area, which is 50% of the progress)
  • the incorrect score is 20% (red area, which is 33.3% of the progress)
  • the unknown score is 10% (grey area, which is 16.7% of the progress)

To calculate these percentages the RTE data submitted by the SCO is analysed.

For SCORM 2004 the LMS looks at values for cmi.progress_measure, cmi.completion_status and cmi.score. This is the pseudo code:

if cmi.progress_measure is set then
    set the progress to cmi.progress_measure * 100%
else
    if cmi.completion_status is set to 'completed' then
        set the progress to 100%
    end
end
if progress is set then
    if cmi.score is set then
        calculate the correct score from cmi.score
        set the incorrect score to (progress - correct score)
    else
        set the unknown score to 100%
    end
end

Since SCORM 1.2 lacks a numerical progress measure, the LMS looks at values for cmi.core.lesson_status and cmi.score. This is the pseudo code:

if cmi.core.lesson_status is set to 'completed', 'passed' or 'failed' then
    set the progress to 100%
    if cmi.core.score is set then
        calculate the correct score from cmi.core.score
        set the incorrect score to (progress - correct score)
    else
        set the unknown score to 100%
    end
end

4. Sequencing and Navigation

The LMS offers no support for Sequencing and Navigation. All imsss:sequencing tags in the SCORM manifest are ignored. When a SCO requires these data from the manifest, the SCO may not work in the Electude LMS.