Sunday, June 21, 2015

Finalized Spec for the project - Javascript based SCORM 1.2 Player for the new moodle mobile app

In this blog post I will be mainly discussing about the specifications of the project that I am working on for GSOC 2015. When we look at the project in an overall view, this project ideally has two main components that need to be developed. First one is the additional web services for the Moodle site and the second one is the SCORM player. The web services will be developed by the developers in the moodle HQ . (By the time I publish this bog post they have already developed most of the web services).

Moodle Requirements 

SCORM Module Changes

 In order to make possible to play SCORM packages in online and offline modes, the Mobile app needs to download the complete zip SCORM package and extract to the local sdcard/storage system.

The Mobile app will notify the user if the SCORM package is supported, checking if the package was uploaded or downloaded via URL, if the “Allow to download complete SCORM packages” is enabled, and if there is enough free space in the device.

The Moodle guys have also created some new external web services for the moodle as well which are supposed to use in the SCORM mobile application. Following are the new web services.

mod_scorm_get_scorms_by_courses

Parameters: list of course ids
Returns: A list of SCORM packages module settings in the specified courses, including only the settings the user may see

mod_scorm_get_scorm_attempts

Parameters: scormid and userid
Returns: A list containing information of all the attempts done by the specified user id

This will be used to know the current attempt status for the user (last attempt, etc..)

mod_scorm_get_scorm_scoes

Parameters: scormid
Returns a list of scoes inside the specified scorm

mod_scorm_get_scorm_user_data

Parameters: userid, attempt
Returns all the user tracks for all the scorm scoes (including objectives and interactions)
This will be used for preparing the API runtime data

mod_scorm_insert_scorm_track

Parameters: scoid, userid, attempt, element, value
Inserts track information about a SCO
Returns: true or false (success or not)

Moodle Mobile Requirements


The SCORM player will be an AngularJS module integrated in a Mobile app addon. It will be responsible for:
  1. Parsing the imsmanifest.xml file in order to display the available Organizations and Structures inside the package.
  2. Displaying a basic SCORM player with a basic menu tree.
  3. Implementing a basic runtime support in order to retrieve the SCOs tracking information (including objectives and interactions) and sending tracking information too.

The SCORM player will be an AngularJS player that will communicate with the Mobile app SCORM add-on via the SCORM runtime.


Moodle Mobile SCORM addon

A new addon for the SCORM module that will contain the AngularJS SCORM player and will perform the following tasks:
  • Downloading and synchronizing the SCORM zip package
  • Unzipping the package into the device persistent storage
  • Populating the SCORM SCO’s default tracking information
  • Storing and synchronizing tracking information with Moodle via Web Service

In order to do that, the SCORM player (AngularJS module) will have to communicate with the addon via the API runtime (functions LMSInitialize, LMSGetValue, LMSSetValue)

So the above features are finalized specification of this project. If you like to see some more features in the SCORM mobile player please feel free to leave them as comments.

Till next post -------------- Happy Coding ----------------------------------------


No comments:

Post a Comment