A Common Cartridge Installer using OKI OSIDs

Mark J. Norton
Nolaria Consulting

June 17, 2008

This paper describes a utility web application that installs IMS Common Cartridges (IMS-CC) into a web environment. The initial focus is to take Open Courseware (OCW) packaged as an IMS Common Cartridge using available specification documents and upload them into a target learning environment such as Sakai. This project explores the use of interchange standards like those provided by IMS combined with portability standards such as the OSIDs developed by the Open Knowledge Initiative.

1. The V3 OKI Open Service Interface Definitions

The Open Knowledge Initiative (http://www.okiproject.org/) has been working to solve problems of interoperability and portability of educational applications since 2001. Initial work led to the development of Open Service Interface Definitions (OSIDs) that define commonly used capabilities in a way that promotes re-use and portability. The v2 OSIDs have been stable for several years and have seen widespread use in a variety of education applications (VUE, LearnXact, Hive, etc.). Experience gained with developing and using the v2 OSIDs has provided ideas on how they could be improved, leading to the current (draft) v3 OSIDs.

The following v2 OSIDs are defined at this time:

  • Root Interfaces
  • Assessment
  • Authentication
  • Authorization
  • Course Management
  • Dictionary
  • Filing
  • Grading
  • Hierarchy
  • ID
  • Logging
  • Repository
  • Scheduling
  • Shared
  • SQL
  • User Messaging
  • Work Flow

This list is likely to be different for the v3 OSIDs, but will include all of the essential, core services.

The V3 OSIDs, though still preliminary, address problems of session based threading, transactions, unified handling of metadata, and better language bindings. Given the file handling nature of a Common Cartridge Installer, the proposed v3 Filing OSID was selected. The Filing OSID defines capabilities for handling and administering files and directories, creating and processing file queries, searching for files across a file space, and change notification.

The Filing OSID includes the follow interface definitions:

Directory

File

DirectoryAdminSession

FilingManagementSession

DirectoryEntry

FilingManager

DirectoryEntrySearch

FilingProfile

DirectoryEntryQuery

FilingProxyManager

DirectoryEntryLookupSession

FileSession

DirectoryList

FileList

DirectoryNotificationSession

FileNotificationSession

DirectoryQuery

FileQuery

DirectoryReceiver

FileReceiver

DirectorySearch

FileSearch

DirectorySearchResults

FileSearchResults

DirectorySearchSession

FileSearchSession

The Filing OSID capabilities are managed by the FilingManager. This service, in turn, allows session requests:

Most of the work to install cartridges happens in a DirectoryAdminSession, that allows both files and sub-directories to be created. Once a file has been created a FileSession can be created that allows data to be written to it.

2. IMS-GLC Common Cartridge Specification

The Common Cartridge specification was developed IMS-GMC (http://www.imsglobal.org) largely at the request of several large publishers of educational materials and textbooks. IMS-CC is based on the v1.2 Content Package specification and provides support for handling:

  • Web content, media files, and application specific files (Word, etc.)
  • Assessments based on IMS-QTI 2.1
  • Discussion forum topics
  • Metadata using Dublin Core
  • Remote authorization to protect intellectual property

The cartridge is a zipped archive with an imsmanifest.xml file describing it's content, according to the IMS-CP 1.2 specification. The specification defines a directory to contain web content and others that may contain learning application objects with included resources or associated content:

These learning application directories can contain resources like:

  • Additional web content
  • Links
  • Discussion topics
  • SCORM package
  • Assessments
  • Question bank references
  • Inter-package references

Additionally, each package can contain metadata, either embedded in the manifest, or in a separate file and a question bank in IMS-QTI 2.1 format.

Note The IMS Common Cartridge specification has not been ratified by the IMS community at this time and is not publicly available.

3. Open Courseware

The point of open courseware is to create and distribute free educational material organized as courses. These are usually derived from actual course descriptions, syllabus, notes, slides, videos, and other support materials vetted to protect intellectual property rights. More that two hundred institutions are involved in the OCW effort, including the following:

Web Site

Organization

http://www.ocwconsortium.org/

The OCW Consortium

http://ocw.mit.edu/

Massachusetts Institute of Technology

http://ocw.usu.edu/

COSL, Utah State University

http://ocw.jhsph.edu/

Johns Hopkins University

http://ocw.tufts.edu/

Tufts University

http://openlearn.open.ac.uk/

Open University of the UK

Both the OU-UK and Utah State have developed applications that package up OCW content as IMC-CC packages for easy distribution. Previously, this had been done either with simple ZIP archives or as IMS Content Packages. IMS-CC has been designed to collect course materials together and facilitate distribution. For this reason, IMS-CC is seen as a good distribution method that will increase adoption of OCW use and promote interoperability. Adding OKI OSIDs increase portability of the applications and software re-use.

4. The Common Cartridge Installer

A prototype Common Cartridge Installer application has been developed as a Sakai tool that uses an implementation of the v3 Filing OSID to process OCW content packaged as a cartridge and install it into Sakai. Content this then available via the Sakai Resource tool or directly links.

4.1 User Interface

The prototype implementation uses Reasonable Server Faces (//http://www2.caret.cam.ac.uk/rsfwiki/) since a similar tool had been previously written and could be used as a start. Later, this may be re-coded to use a more broadly accepted presentation technology, such as JSP. The user interface consists of three views, each written as an RSF producer.

Select a Target Directory

The user is presented with a view that allows collections in the currently selected course site to be browsed (drill down). The target directory is specified by clicking on the "Install" link on the right.

Select the Package for Upload

Since all OCW material will be grouped into a single collection, the user is presented with a field to specify this name and a file selection field to indicate the IMS-CC archive to upload.

View Results

The target collection is created and content is unzipped from the archive into it. Installing a typical course cartridge takes several minutes.

4.2 Package Handling

The target directory is created using a DirectoryAdminSession gained from the FilingManager. The cartridge package is unzipped using the java.util.zip.* classes. As the application iterates over ZipEntry's, sub-directories are created using new DirectoryAdminSessions. Files are adding using FileSessions, which allow content to be extracted from the archive and saved as ContentResource's in Sakai.

Since the Filing OSID implementation uses the Sakai Content Hosting Service, all content is subsequently available via the Resource Tool, where reveal and conceal dates may be set. Direct access to the content (index, etc.) can be accomplished using the direct link ability of content hosting.

4.3 OSID Implementation Against the Sakai Content Hosting Service

A sub-set of the proposed v3 Filing OSID was implemented against the Sakai Content Hosting Service. All access to filing services start from the FilingManager OSID implementation. The DirectoryAdminSession and FileSession are both used in the application to create directory and file entries.

Several challenges were encountered in this implementation. Since this is the first time that a v3 Filing OSID has been created and implemented, there were problems in creating a Java binding from the abstract OSID definitions. Most of these are purely mechanical problems that just need to be weeded out. In some cases, the abstract OSID definitions need a bit of refinement. More seriously, some of the OSID dependences were not included. In particular, a stubbed version of org.osid.transport.DataInputStream and DataOutputStream were created as placeholders until the official OSIDs become available.

Implementation took place over the course of two weeks. The Content Hosting Service offers more capabilities than are required by the Filing OSID, especially in the area of metadata support. This will be improved in subsequent implementation versions.

4.4 Status of Work

Both the cartridge installer application and the v3 Filing OSID are preliminary drafts/prototypes at this point in development. The Filing OSID will need several rounds of comment and refinement before it can be considered a stable proposal. However, this doesn't prevent projects like this from exploring it's potential and feeding back lessons learned. A secondary implementation against a server filing system would also likely lead to improvements.

The CC installer application is not fully written against the Filing OSID at the time of this writing. Selection of target directory is currently done directly against the Content Hosting Service, but work is in progress to use FileSearchSession and related OSID capabilties. Work is also anticipated (mentioned above) towards making the application more portable by exploring other presentation technologies and IMS Tool Interoperability.

Finally, no work is done with the imsmanifest file. There is a wealth of information contained in this file with respect to ordering, sequencing, descriptions, metadata, external links, and (optionally) external authorization. This missing support will be addressed in subsequent versions of the application.

Acknowledgments

This work was funded by the Hewlett Foundation under a grant administered by David Wiley and Brandon Muramatsu of the Center for Open and Sustainable Learning at Utah State University, and by MIT's Office of Educational Innovation and Technology under the direction of Vijay Kumar and Jeff Merriman.