Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

How does SCORM Work

SCORM is a specification that defines

  1. How distributable learning content should be packaged

  2. How the content can be embedded in a LMS

  3. How does the embedded content communicate with the LMS

  4. The standards / specifications of this communication

SCO

A SCO is the actual content package contained within a SCORM

...

file. Most content authoring tools produce SCORM files with a single SCO, and most LMS also only support single SCO SCORM files. However the specification allows creating SCORM files with multiple SCOs. (imsmanifest.xml – it details the contents of the scorm zip package)

SCORM <> LMS Communication

A SCORM compliant LMS is required to implement the API (Application Program Interface), which consists of 8 functions given as API signatures.

https://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/#section-5 - And read about API signature
The below diagram shows how a SCORM content embedded in the LMS, communicates with the LMS.

...

What data can SCORM send (Data model)

  1. Data model defines a set of variables that can be read and set by LMSGetValue() and LMSSetValue() respectively, what each of the various variables mean, and how they should be managed by the LMS. It also defines whether the data model elements are optional or mandatory for the LMS, format of the data stored in each variable, and whether elements are read-only, write-only, or read-write. 

  2. And read about data model.

https://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/#section-5 -

Current SCORM support in sunbird CB

  1. The SCORM adapter is currently available in the Sunbird CB repository - https://github.com/sunbird-cb/sunbird-cb-portal/tree/cbrelease-4.8.0/project/ws/viewer/src/lib/plugins/html/SCORMAdapter

  2. The adapter is a wrapper on top of the HTML5 player

  3. The adapter currently expects a Index_lms.html file to be present in the root of the folder, and plays it

  4. The adapter intercepts the LMS_* events from the SCORM and maps it to the content state update API calls

  5. A new progressDetails attribute has been added to the content progress cassandra table to allow storing progress/bookmarking data sent by the SCORM

Implement SCORM supoport in sunbird ED

Port the current implementation from Sunbird CB to Sunbird ED. This will allow Sunbird to play and track SCORM files and their completion.

SCORM file upload -

  1. Create content API (api/v1/create/content or update) along with content metadata should store following values against the content

    Code Block
    'scormValues': {
    'entry': <First SCO to be launched>,
    'version': <scorm2004/SCORM_1.2- to decide which API to be used> 
    'grademethod': <Grading method to give score to the user in case of multiple attempts>
    }
  2. Tables to be populated after reading imsmanifest.xml file. (here)

SCORM consumption through player

  1. Here for the first step we will store all the data provided by scorm in the database and use it for tracking completion and passing status of a student

https://docs.google.com/spreadsheets/d/1krwjn8t7H5Y80EtHsCKrUBALk5qw5jjH28atG3QjXPk/edit#gid=1594049563

http://www.vsscorm.net/2010/01/20/a-simple-scorm-1-2-content-package/