GSoC 2011 Project: A W3C Widget Packaging Standard Compliant Content Packaging Infrastructure for OpenACS

Michael Aram
Gustaf Neumann

General Information


Content packaging is one of the most relevant concerns for learning management systems in the area of interoperability and is therefore integrated in a range of important e-learning standards which evolved over the last years and decades (e.g. SCORM, IMS Common Cartridge ...). Although content packaging is getting increasingly more important the more learning resources become available, the e-learning community is rather small compared to the overall web development community. With the rise of rich Internet applications and mobile apps, several alternative approaches for rich content distribution were developed outside of the e-learning communities: small, web-based applications/web-content packages commonly referred to as widgets. One of the reasons of the higher acceptance of these widgets is there exist already several user agents for many operating systems and web-based platforms. However, compared to the respective standards from the e-learning world, these new packaging standards are in several respects even more restricted, i.e. less powerful.

Generalizing the Content Packaging Aspect

In general, content packages are being deployed as archive files and hold some form of configuration / manifest file describing the content. In addition to that, the packaged content might be allowed to use some form of API provided by the run time environment. Hence, from a technical perspective, there is a range of aspects regarding this "content packaging task" that could be abstracted from the different standards into a generic implementation. As a consequence, the standard specific content packages could be generated by specializations of this universal component.

An OpenACS Component for Content Packaging

The implemented package will provide generic means to generate content packages conforming to the "W3C Widget Packaging and XML Configuration" specification out of learning materials that reside within the OpenACS Content Repository (i.e. within an XOWiki instance). Generic code for generating such content packages out of OpenACS content repository items (in particular xowiki based learning material) should be implemented.

Project Idea: GSoC Idea: A W3C Widget Compliant Widget Content Packaging Infrastructure for OpenACS

Schedule & Progress

Milestone 1 - May 23rd (GSoC - Start):

 * Development & testing environment set up (relevant widget user agents like Wookie installed, etc.)

Milestone 2 - June 15th

 * Widget standards implementations evaluated / investigated
 * Architecture of the content packaging component elaborated 
 * Schedule reviewed in the light of the findings

Milestone 3 - July 15th (GSoC - Mid term evaluations deadline)

 * W3C conformant content packages can be generated containing learning materials from the content repository 
 * Goals for the forthcoming milestones selected together with mentor out of the “optional goals pool” 

Milestone 4 - July 22th

 * Existing code is documented 
 * Exposal of xo*-based applications in other contexts through widgets / content packages (Envelope Scenario). 

Milestone 5 - August 15th (Pencils down)

 * Packaging complex learning materials (in particular XOWiki-based textbooks) (Dumping Scenario)
 * Code is clean, documented and finished

Milestone 6 - August 26th (Evaluation)

 * Project evaluations (mentor & student) sent to Google

Optional Goals Pool

Worthwhile optional goals:

 * Content package generation/export into one or more other standards, e.g. IMS-CC, SCORM, OpenSocial Gadgets, Google Gadgets, Opera Widgets, Yahoo! Widgets, Apple Dashboard
 * Exposal of legacy dotLRN applications/portlets through widgets. 
 * Refactoring / integration of existing SCORM content packaging code to fit into the new architecture.


 * http://www.michael-aram.com/gsoc/2011/Content%20Packaging%20Service%20Documentation.pdf%|%Documentation%|%
 * http://www.michael-aram.com/gsoc/2011/xocp.tar.gz%|%Code%|%