GSOC2010:SCORM Compliant Run-Time Environment for OpenACS


SCORM Compliant Run-Time Environment for OpenACS
Michael Aram
Gustaf Neumann


This project is a follow-up project to last year's successful project "SCORM Compliant Content Packaging for Wiki-based Content Development", which focused on input/export and presentation of SCORM learning resources. During the last project, it turned out that implementing the runtime environment specified by the standard is a relatively big task. Thus, in the current state, the runtime environment implements only the most basic RTE-API functions and is therefore only capable of importing simple packages. However, a standard conformant runtime environment is still a precondition for using the outcome of the former project in real-world scenarios.

General Information

OpenACS is a powerful open source community system used for a wide set of applications ranging from e-learning (DotLRN) over community sites to e-commerce shops. The xo*-family of packages (xotcl-core, xowiki and xowf) has established itself as a flexible, generic, object oriented toolkit for OpenACS, enabling rapid development of arbitrary applications for both OpenACS and DotLRN. XoWiki is one of the most flexible wiki-frameworks, supporting advanced concepts like for example structured wiki features, multiple access policies, flexible application integration and workflows. In the e-learning context, XoWiki can be used as a single tool for content development for (adaptive) content presentation, (collaborative) content development, blog style content distribution and assessment.

The Sharable Content Object Reference Model (SCORM) is a collection of standards and specifications adapted from multiple sources to provide a comprehensive suite of e-learning capabilities that enable interoperability, accessibility and reusability of web-based learning content. SCORM is a de-facto standard in the e-learning world. It focuses on the interoperability of learning management systems. To achieve that it standardizes the way, in which learning material should be packaged, so that it can easily be transported (content aggregation / content packages). Moreover, it specifies how the communication between these content packages and the "hosting" system should take place (run time). Finally, SCORM provides the means for defining rules whether or not and in which order subparts of the content package can be accessed by the learner (sequencing).

Project Idea: GSoC Idea: SCORM Compliant Run-Time Environment for OpenACS


Milestone 1 - May 24 (GSoC - Start)

  • Development environment set up
  • Testing environment set up
  • Minimum requirements for the next two milestones defined

Milestone 2 - June 15

  • Other SCORM RTE implementations evaluated / investigated
  • Example content packages for testing collected
  • Basic architecture of the component defined and documented

Milestone 3 - July 16 (GSoC - Mid term evaluations deadline)

  • Server side API is minimal SCORM 1.2 compliant (LMS-RTE1) and passes the corresponding SCORM regression test suite
  • Real-world SCORM packages as provided by MIT OpenCourseWare can be played correctly

Milestone 4 - July 31

  • Administration UI for session management implemented, which allows a teacher to reset or manipulate the attempt status (i.e. learning progress) of an individual learner for each SCORM course. This is needed, for example, to allow a student to re-enter an already completed course, the contents of which are hidden otherwise.

Milestone 5 - August 9 (GSoC - Pencil Down)

  • Code is clean, documented and finished

Milestone 6 - August 20 (Evaluation)

  • Project evaluation sent to Google
  • Optional Requirements

In case the project progresses faster than expected, optional requirements will be incorporated into the schedule, e.g. the achievement of higher compliance levels (LMS-RTE2, LMS-RTE3, SCORM 2004)


You can get the code here . For any questions regarding installation and usage, dont hesitate to contact me.

dkf - 2010-05-07 04:13:44

Thanks for filling this out, Michael.