High Level Design Documentation

work in progress

Introduction

A DOMS is a Digital Object Management System. This document describes the open source DOMS developed at the State and University Library in Aarhus, Denmark. Program sources for our DOMS are accessible at <TODO: SOURCE FORGE URL>.

The DOMS aims at fulfilling the following objectives.

What is not part of the objectives:

Overview of a DOMS system

Our DOMS keeps its data in two different kinds of storage:

  1. A Fedora repository
  2. A bitstorage

The Fedora repository keeps metadata, and the bitstorage keeps the actual digital material files. If, for example, we were to store audio CDs in a DOMS, the actual digitized tracks, along with scanned cover art, could be stored as files in the bitstorage. The Fedora then would keep an object (or a cluster of objects) representing the CD, and containing information about for example artist(s), production year and record label, as well as information relating this CD to the digitized material in the bitstorage.

System structure

Our system is available as several different packages, each containing part of the DOMS, and each part interacting with the others.

The packages that form the DOMS are the following.

In addition, the following separate projects are needed:

Finally, you may need:

The figure below illustrates how the different modules make use of each other. <TODO: ENSURE THAT EVERYTHING IN THE FIGURE IS COVERED BY THE PACKAGES MENTIONED ABOVE>

attachment:DOMSOverview.png

DOMS objects

The metadata stored by the DOMS is represented as objects inside a Fedora repository. Each metadata object in the repository contains the following:

In addition to objects containing descriptive metadata (metadata like artist in the CD example above), there are objects that we call file objects. All relations to data in a bitstorage come from file objects, and these objects instead of descriptive metadata contain technical metadata about the files they point to (things like sample rate, for sound files).

In addition to the objects that contain metadata, i.e. which represent the content of the DOMS, there are a number of special objects which a DOMS always contains. The kinds of predefined objects in this base collection are:

The figure below shows the objects in the base collection, and their relations.

attachment:DOMSBaseCollection.png

Content models are related in a hierarchy with ContentModel_DOMS at the top. Similarly, collections are related by the isPartOfCollection relation, and at the top of this hierarchy is Root_Collection. The file objects mentioned earlier have the content models (via relation hasModel) that extend ContentModel_File. That is, each has a content model for either image, text, audio, or video. Finally, ContentModel_License is the content model of all licenses, and we include Open_License, which is the license of all content models in the base collection.

Datamodels

<TODO: ADD MORE INFO>

Usage of a Fedora repository

<TODO: ADD MORE INFO>

Usage of the Fedora ECM

<TODO: ADD MORE INFO>

Validation

<TODO: ADD MORE INFO>

Interfacing with a bitstorage

<TODO: ADD MORE INFO>

Handling OAI-PMH requests

<TODO: ADD MORE INFO>

Interfacing to search engines

<TODO: ADD MORE INFO>

Usage of the DOMS GUI

<TODO: ADD MORE INFO>

The included testbed

<TODO: ADD MORE INFO>