Google Summer of Code 2005

Google(tm) Open Source Program

Google is sponsoring the Summer of Code, a program designed to introduce students to the world of Open Source Software Development. OhioLINK is pleased to participate as a mentoring organization, furthering the development of information technology in academic libraries in Ohio and around the world. This page outlines ideas for projects; take a look, augment or add your own (feel free to read the project documentation through the 'Wiki' link above and suggest other ideas), and apply to participate. Questions about the program? Take a look at Google's participant FAQ. Questions about the suggested projects or about OhioLINK? Contact Peter Murray.

The my Library and Information Network, OhioLINK, is a consortium of Ohio's college and university libraries and the State Library of Ohio. OhioLINK's membership includes 17 public universities, 23 community/technical colleges, 44 private colleges and the State Library of Ohio. Funded by the Ohio Board of Regents, it serves more than 600,000 students, faculty, and staff at these 85 institutions with a consolidated catalog of library items across the state, a physical transport service that delivers those items to users within 48 hours, and cooperative buying of journals and research databases.

OhioLINK is also in the early stages of building the Digital Resource Commons (DRC), a state-wide publishing and archive platform for scholarship and primary resources created by Ohioans or about Ohio. Using the open source Fedora Digital Object Repository Platform (not to be confused with Redhat's Fedora Linux Operating System), the DRC will be an institutional repository, an e-journal publishing platform, an online exhibition tool, and a digital asset preservation and management system. While the intent is to create a single central platform, development of the DRC is being run with the philosophy and tools of an open source project (for instance, a Subversion code repository and the Trac project management system). Code contributed to the DRC project is available under the (to be determined) Open Source license and can be applied to other projects.

Ingestion Workflow Framework

Part of the configuration for each content area of the DRC is the specification of how new items are processed. The processing happens in Queues that make up the IngestionWorkflowFramework, ultimately leading to the publication of the content in community. Workflow Queues are set up to provide for -- among other functions -- a hold on publication pending EditorModerator approval, a web-assisted peer review process, enrichment of metadata, and setting of digital rights and access management.

Under the guidance of this framework, processing of an object is stewarded among a string of Queues as defined by the EditorModerator for a particular Community. Once an item finishes in one Queue -- for instance, the setting of digital rights by the AuthorCreator -- it moves to the next Queue in the string -- say, to be held pending EditorModerator approval. There is no limit to the length or complexity of the string of Queues.

One could anticipate that this could take the form a J2EE engine such as XFlow.

Image Viewer

Most browser-based JPEG 2000 plugins must be licensed from a software vendor and are not freely distributable, resulting in inefficient server-side transformations of JPEG 2000 codestreams into JPEG chunks that are delivered to the browser. In addition, these general-purpose viewers do not have features, such as the display of metadata boxes, important to the application of JPEG 2000 in the museum, library and archival communities. What is desired instead is a cross-platform (Java, flash, etc.) JPIP (streaming JPEG 2000) viewer with these characteristics:

  • web distributable, browser compliant, and broadly available
  • ability to see the entire image and parts of an image with acceptable performance over narrow-band connections
  • manipulation functionality such as pan, zoom, rotate, invert, and mirror
  • ability to put the image in its context with metadata that is either textual or in other media and can be made visible or suppressed
  • dynamic retrieve the contextual information
  • meets identified image quality requirements
  • transformative tools (i.e. the ability to save the image into a file format selected by the user)

Image Viewer Tool Architecture

As superset or framework for the image viewer above, the "image viewer tool architecture" would allow for the creation of viewers that meet the differing needs of user communities and source images beyond the baseline characteristics identified above. (For instance, the needs of a biological taxonomist to annotate portions of an image are different from that of a geologist working with georeferenced, multi-spectral satellite imagery, which is certainly different from a middle school student viewing images of cultural heritage objects.) This could take the form of a series of cross-platform Java classes that could be combined in this applet framework to meet the variety of needs from various user communities.

Community Tagging/Onotology Framework

A web-based tool for digital object community EditorModerators? to bring loose structure to "tags" (a.k.a. subject terms) suggested by users. While not modifying the terms themselves, the loose structure would suggest clearly alternate forms of a term to the user (e.g. "frogs" versus "frog") as well as allow the moderators to link together terms that defy automation (e.g. "JPEG 2000" versus "JPEG2000").