Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Figure 1 - Fedora repository as mediator for services and content
Figure 2 - Fedora Administrator Login Screen
Figure 3 - New object dialog
Figure 4 - Configuring an object
Figure 5 - Datastream display
Figure 6 - Adding a new managed content datastream
Figure 7 - Complete datastreams for example 1
Figure 8 - Example 1 digital object and datastreams
Figure 9 - Adding a datastream with type Redirect
Figure 10 - Example 2 datastream display
Figure 11 - Example digital object and redirected datastream
Figure 12 - Abstract View: Key Fedora Components for Producing Disseminations of Content
Figure 13 - Relationships between Data objects and CModel/SDef/SDep objects for CMA
Figure 14 - Dynamic dissemination access
Figure 15 - Example 3 Linking a Digital Object to a Content Model
Figure 16 - Example 3 dissemination via CMA
Figure 17 - Dissemination with redirect datastream

What is this document and who should read it?

This is an introduction for system developers and repository managers who are new to the Fedora Repository open-source content management software. This is a hands-on tutorial. It assumes that you have already installed the Fedora software and are at a computer with access to a Fedora repository through the Fedora Administrator while reading this tutorial.

You don't have to have to be a programmer to understand and use this tutorial. However, you should be familiar with the operation and structure of web servers and web services.

This document is not intended for end users of content disseminated by a Fedora repository.

What is Fedora and what does it do?

Fedora is content management software that runs as a web service within an Apache Tomcat web server. Fedora provides the tools and interfaces for creation, ingest, management, and dissemination of content stored within a repository. There are a number of features that distinguish Fedora:

  1. It supports the creation and management of digital content objects (from this point on called digital objects) that can aggregate data from multiple sources. For example, a digital object might be a set of tiff images that are the individual page images of a scanned document. The data sources may be either locally managed within the Fedora software or sourced from another URL accessible network server. The data sources may be content or metadata. You may think of these digital objects as advanced digital documents, especially in light of the feature described next.
  2. It supports the association of web services with the digital objects. These services typically consume the data packaged within the digital object to produce dynamic disseminations from the digital object. For example, the digital object described above with multiple tiff page images may be associated with a service that OCRs the images that are components of the digital object and disseminates an html HTML version of the pages. The services may be either local to the machine of the respective Fedora server or sourced from another network accessible server that is addressable via a URL. In this manner, Fedora acts as a mediation layer that coordinates local and distributed data and web services within a uniform framework. This is illustrated in Figure 1.
  3. It provides uniform access web-based interfaces to these digital objects, through REST requests and more powerful SOAP-based methods. These interfaces consist of a set of built-in methods to access characteristics common to all digital objects such as key metadata and internal structure. These include a method to introspect on an object to reveal the set of methods that constitute the extended behavior of that object. For example, a client could use these built-in methods to "learn" about the capability of the digital object described above to dynamically disseminate an html HTML page from a set of tiff images.
    The benefits of these are two-fold:
    1. Clients accessing Fedora digital objects can rely on uniform access regardless of the nature of the object.
    2. The disseminations available from an object are independent of the internal structure of the object. For example, the client interface of the example above in which html is disseminated from a set of source tiff pages could remain constant regardless of whether the underlying object contained tiff images, jpeg, pdf, or even simple static htmlHTML. This gives the content developer great freedom to modify a repository's internals without disrupting the client and user views of the content.
  4. It presents a uniform and powerful REST and SOAP-based management interface. All internal operations of the repository such as object creation and management are available through this APIthese APIs, providing the hooks for integrating Fedora into a variety of environments. These makes Fedora useful as the foundation for advanced content management applications
  5. It includes a comprehensive versioning framework that tracks the evolution of objects and provides access to earlier versions.
  6. It includes a basic relationship framework for representing the links among digital objects.
  7. It supports ingest and export of digital objects in a variety of XML formats. This enables interchange between Fedora and other XML-based applications and facilitates archiving tasks.

A number of these features are illustrated in Figure 1. Image Removed
Figure 1 - Fedora repository as mediator for services and content

Section
Wiki Markup

{center}
!worddav4faeb0ef9ecb547cecc66330247efbb1.png|height=213,width=429! 
*Figure 1 - Fedora repository as mediator for services and content*
{center}

Why should you use Fedora?

Fedora may be the wrong choice for management of simple static web pages. There are a number of excellent tools for html HTML editing and web site creation. Fedora is more appropriate for more advanced content management tasks. These include management of content and associated metadata, multiple versions of content, content available in multiple formats, and dynamically generated content from local and dynamic sources.

How should you read this document?

This document is intended to be hands-on, with you trying the examples on a running Fedora repository. You should therefore, have already downloaded and installed Fedora, and started a server. You should then access the Fedora repository by running the Fedora Administrator interface, fedora-admin, which is located in the FEDORA_HOME/client directory (you can start this program from the command line if you have configured your environment variables properly). Upon starting up the administrator interface you will be presented with the login screen shown in Figure 2. This document assumes that you have not changed any of the configuration defaults for your Fedora server so the Password you enter should be fedoraAdmin. If you have changed your configuration values or are running the Fedora Administrator from a machine different from the machine on which your Fedora server is running you will need to change the values in the Login screen appropriately.


Figure 2 - Fedora Administrator Login Screen
You should read this document in order, since later examples assume knowledge of techniques and definitions introduced earlier.

...

  1. Defined terms are introduced like this.
  2. Text in dialog boxes and windows is shown like this.
  3. URLs, directory paths, file names, and similar items are shown like this.

All pathnames assume that you have set your FEDORA_HOME environment variable and descend from the directory defined by that variable.

...