32
An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Embed Size (px)

Citation preview

Page 1: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

An OCW Installer for Sakai using OKI v3 OSIDs

Mark J. Norton

Nolaria Consulting

July 2008

Page 2: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Overview

– Open Courseware– IMS Common Cartridges– OKI v3 Initiative– Design Challenges– The Installer Application

Page 3: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Sponsorship

• This work was sponsored by contributions from:– The Hewlett Foundation– C( )SL at Utah State University– Office of Educational Innovation and Technology

at MIT

Page 4: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Objective

• Create a web application that:– Installs OCW packages formatted as IMC

Common Cartridges.– Uses the v3 OSIDs for portability– Implements the Filing OSID on Sakai.

Before we get into the details of the project, let’s have a quick look

at OCW, IMS-CC, and OKI.

Page 5: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Open Courseware

and many others …

Page 6: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

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.

Page 7: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

The OCW Movement

• Over 200 organizations worldwide are involved with creating and distributing open courseware.

• Most of these are available under some of a Creative Commons license, which makes them free to use and re-use.

Page 8: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Access to OCW Courses

• Most OCW courses are available in two forms:– Directly viewable in some kind of on-line

repository.– Downloadable in some form of package

The focus of this presentation is on expanding and improving support for OCW packaging creating an

installer application based on IMS Common Cartridges.

Page 9: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

OCW Packages

• Early OCW packages where either simple archives (zip, tar, etc.) or an IMS Content Package (with internal manifest).

• The introduction of the IMS Common Cartridge specification provides a new packaging profile that should promote better interoperability for OCW.

Page 10: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

IMS Common Cartridge

Page 11: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

IMS Common Cartridges

• 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

Page 12: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Common Cartridge Package

Object folder

Object Resources

Associated Content

imsmanifest.xml

Web Content Metadata

Question Bank

Page 13: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Resources Supported

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

Page 14: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Additional Info

• 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.

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

Page 15: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Open Knowledge Initiative

Page 16: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

OKI v3 OSID Initiative

OKI v3 OSIDs,C’est Arrivé!

Page 17: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Problems Addressed

The V3 OSIDs, though still preliminary, address problems of:

• Session based threading, • Transactions• Unified handling of metadata • Abstract definitions vs. specific bindings• Problems identified in the v2 OSIDs

Page 18: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Filing OSID

FilingManager

FilingProfile DirectoryAdminSession

DirectoryEntryLookupSession

DirectoryNotificationSession

DirectorySearchSession

FileNotificationSession

FileSearchSession

FileSession

This session oriented approach is one of the new design

patterns that shows up through out the v3 OSIDs.

Page 19: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Design Challenges

– Most OSIDs are an intermediate service layer between an application and system services.

– In this case, it is a layer between the installer application and Sakai services (CHS).

– The Filing OSID is designed to be more generic than the Content Hosting Service at it exists in Sakai.

– Revealing detailed functionality through a generic interface can be challenging.

Page 20: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Data Streaming

Zip File I/O

OutputStream FileSession

Input Output InputStream

CHS Storage

FilingManager CHS Service

Application Filing OSID CHS Service

This coupling is a design challenge

Page 21: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Separate Processes

Zip File I/O

OutputStream

Input

Output

InputStream

CHS Storage

Application Filing OSID CHS Service

Page 22: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Three Solutions

Three possible solutions were explored:• Spawn threads to handle each phase of the

data transfer process. • Write the entire data block to the front. • Short-cut the whole chain.

Each of these potential solutions have problems…

Page 23: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Problems with Spawning Threads

• Threads are closely managed in Sakai.• Closely associated with specific types of

activity.• While possible to spawn and use a generic

thread, it is complicated.• Synchronization, blocking I/O, deadlocks, etc.

Page 24: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Problems with Writing All Data

• Writing the whole data block to the stream results in some very large buffers for large media files (such as video).

• Memory resources are limited.• Too easy to end up with multiple copies in

memory.

Page 25: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Problems with Using Shortcuts

• Creating a short cut involves an out of band agreement that reduces interoperability and subverts the OSID.

• OoBA take away from the interoperability that the OSIDs seek.

Page 26: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Solution Used

• Regardless of these problems, the current implementation loads all data into memory and uses a OoBA to communicate this data to the final content commit into the Sakai Content Hosting Service.

• Besides actually working, this is fairly efficient, reducing install time required.

Page 27: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

The Installer Application

RSF PresentationLayer

Filing OSIDImplementation

Content HostingService

cc-installer

SakaiResources

IMS-CC

Page 28: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

CC-Install User Interface

• Current implemented in RSF.• Three page views:

main upload results

Page 29: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Select Target Directory

Page 30: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

File Upload

Page 31: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

Results

Page 32: An OCW Installer for Sakai using OKI v3 OSIDs Mark J. Norton Nolaria Consulting July 2008

More Work to Do

• Application is not 100% based on OSIDs yet – need to use DirectorySessionSearch

• Complete the Filing OSID implementation.• Re-implement back end onto a file system to

show portability.