UNC Digital Library Project

home - tasks

 

Digital Library To-Do List

The functionality of the pilot Digital Library may be summarized as follows:

  • Track and keep information about digital assets at UNC and elsewhere.
  • Provide a broad range of tools to aid instructors, researchers and students in discovering digital assets.
  • Allow users to organize, annotate, and share references to digital assets.
  • Provide tools that allow users to build customized views of groups of digital assets and to share those views with colleagues and students.
  • Strong authentication and authorization to provide protection for copyrighted and restricted materials.

The following matrix attempts to summarize some of the functions and elements that will be developed and notes some of the developers who will be working on the various pieces.  This matrix covers the functionality of the pilot (as noted above) as well as functions and elements which will be developed for later phases. Empty slots in the matrix are open for volunteers. To volunteer your services on the development team, please contact Bob Henshaw.

We have settled on Oracle as the back-end database for the system and we are looking at developing the middleware components using Open Source tools. We are looking in particular at Cocoon, a Web publishing framework being developed by the Apache group, which employs Java servlets and XML. We may also employ other Open Source tools and languages, such as PHP, for some of the digital library's functions. The database will store metadata as XML, using a schema developed by the project committee and the Triangle Digital Libraries Group. The schema is based on the Dublin Core element set. The following are links to schema documents:

A DTD for DL metadata
An XML schema for DL metadata
A diagram of the metadata schema

This matrix should be considered to be a draft. If you have any feedback, please contact Hugh Cayless.

function/development task platform developers
Oracle8i Balu, Cayless, Fiser, Winget
Cocoon/Java servlets Balu, Brunk, Cayless, Fiser
  • keyword search
Cocoon/Java servlets Cayless
  • advanced search
Cocoon, Java applets Brunk
  • search by Dublin Core elements
   
  • search by other schemes
   
  • search by (sub)collection
   
  • browsing tools
Cocoon, Java applets Brunk, Cayless
  • browse by subject heading
   
  • browse by (sub)collection
   
  • browse graphically (using tools that visually
    summarize the contents of the database)
   
  • discovery presentation
Cocoon, Java Servlets/Applets Cayless, Fiser
  • customizable search results
   
  • enable/disable summary results
   
  • enable/disable graphical search results
   
  • enable/disable thumbnails
   
  • choice of metadata fields returned by search
   
  • display results according to arbitrary schemes
   
  • tools for manipulating search results
   
  • save searches for future reference
   
  • move search results into user space
   
  • object handling
Cocoon/Oracle Brunk, Cayless, Fiser
  • object management
Oracle/Java applet/XML Brunk
  • object metadata in directory
Oracle/XML   
  • check for objects in filespace
Java servlet?  
  • generate digital surrogates (e.g. thumbnails for images)
Oracle interMedia?   
  • external department-level database (with basic
    network connections to the main database)
MS Access Westmoreland (NCSU)
  • object delivery
Oracle/Java   
  • retrieve (offline) objects in AFS space
Java servlet?   
  • stream audio/video to browser
Java servlet?   
  • upload object
Cocoon/Oracle Cayless, Fiser
  • metadata handling
     
  • metadata management
Oracle   
Oracle?   
  • metadata quality control
Oracle?   
  • usage tracking
Oracle  Cayless, Fiser
  • metadata delivery (see "discovery presentation" above)
   
  • metadata upload
Oracle/Java/MS Office   
  • transform incoming XML to DC XML
Cocoon   
  • parse DC XML and insert into Oracle tables
Cocoon   
Cocoon/Oracle Cayless, Fiser
  • manage users' "virtual collections"
Cocoon/XML Cayless, Fiser
  • develop multiple presentation modes for folders
XSL/Java Cayless, Daniel, Fiser
  • deliver folders as desktop documents (e.g. PowerPoint presentations)
Java/Visual Basic Daniel
  • cut, copy, paste, move, delete functions
Cocoon/Oracle  
  • rights assignment functions
Cocoon/Oracle  
  • manage controlled vocabularies
Oracle?  
  • manage schemas
Oracle? XML Canon?
 
 
TIMELINE LEGEND (platform/developers)
TO BE COMPLETED THIS MONTH
TO BE COMPLETED DURING THE NEXT TWO MONTHS
TO BE COMPLETED DURING THE NEXT THREE MONTHS
TO BE COMPLETED DURING PHASE TWO
AS YET UNASSIGNED DEADLINE