What is Fedora?
Fedora is an acronym for the Flexible Extensible Digital Object Repository Architecture.
In an abstract sense, it suffices to say that at the very core Fedora is a content management system (CMS) just like Wordpress, or Drupal. The similarities with Wordpress and Drupal include ability to add and alter content, have a relational (or graph) database store content and content description (XML), being coded in a server-side scripting language (Java in the case of Fedora, and PHP in the case of Wordpress and Drupal), user administration capabilities, and a user interface.
But that is about where the similarities end. Fedora as a CMS provides specialized tools for archiving and preservation related work that unlike other CMSs are not targeted towards publishing articles, blogs, or full-fledged web portals. Instead, Fedora is designed to fulfill the needs for archivists and collections managers who need to manage large repositories of digital 'objects' – including born-digital, as well as digitized objects from the built world (photographs, sound recordings, video clips, etc.). In accordance, Fedora provides tools and interfaces for the following typical activities involved in archival/preservation work:
- Creating content
- Ingesting content
- Managing content
- Disseminating content
Another important, and fundamental, characteristic that sets Fedora apart from other CMSs is that it is designed to be a component within a bigger framework of applications rather than an independent application by itself. While Fedora certainly has basic UI elements to allow creation, ingestion, management, and dissemination of data, it allows a repository owner/manager to use Fedora's object handling capabilities while at the same time keeping all other components (ingest applications, search engines, security components, UI frameworks, databases, file systems, etc.) immune to changes in Fedora.
Generally speaking, Fedora can serve as a digital content repository for a wide variety of uses including:
- Digital Asset Management,
- Institutional Repositories,
- Digital Archives,
- Content Management Systems (as referred to earlier in this article),
- Scholarly Publishing Enterprises (digital journal publishers like Elsevier, Sage, etc.), and
- Digital Libraries
The concept of digital objects and content is central to the motivations behind developing a system like Fedora, therefore, let us look at the motivations that led to the development of Fedora.
Fedora: Research Questions, and Goals
According to the original developers of Fedora at Cornell University, the following five research questions formed the basis for Fedora:
- How can clients interact with heterogeneous collections of complex objects in a simple and interoperable manner?
- How can complex objects be designed to be both generic and genre-specific at the same time?
- How can we associate services and tools with objects to provide different presentations or transformations of the object content?
- How can we associate specialized, fine-grained access control policies with specific objects, or with groups of objects?
- How can we facilitate the long-term management and preservation of objects?
From these research questions emerged the following goals for Fedora's development:
- Identifiers: provision of persistent identifiers; unique names for all resources without respect for machine address
- Relationships: support for relationships between objects
- Tame Content: normalization of heterogeneous content and metadata based on an extensible object model
- Integrated Management: efficient management by repository administrators not only of the data and metadata in a repository, but also of the supporting programs, services and tools that make presentation of that data and metadata possible
- Interoperable Access: provision of interoperable access by means of a standard protocol to information about objects and for access to object content; discovery and execution of extensible service operations for digital objects
- Scalability: provision of support for >10 million objects
- Security: provision of flexible authentication and policy enforcement
- Preservation: provision to features to support longevity and archiving, including XML serialization of objects and content versioning
- Content Recon: reuse of objects including object content being present in any number of contexts within a repository; repurposing of objects allowing dynamic content transformations to fit new presentations requirements
- Self-Actualizing Objects: ability of digital objects to disseminate launch-pads or tools for end-user interaction with content
Fedora, Digital Objects, and more...
- It supports the creation and management of digital content objects called Fedora Digital Objects, or FDOs, that can either represent a single unit of content, as well as an aggregation of FDOs. A good example is a set of TIFF images corresponding to all scanned pages of a physical document. Together, all these TIFF images form one FDO, but all individual TIFF images are themselves individual FDOs.
- Fedora can store these FDOs locally (in a file system, or a database), as well as remotely (via URLs pointing to external sources).
- The content stored in (or pointed to) by these FDOs can be either the data itself, or metadata that in one way or the other describes the data. Data here refers to the contents of the object (for example, the binary data in a TIFF image file). The Fedora repository is also capable of storing contents such as documents, videos, data sets, and computer files to name a few types.
- In addition to the data, and metadata pertaining to digital objects, Fedora can store relationships between digital objects. These relationships can themselves be stored as digital objects using RDF and FOXML (Fedora Object XML) markup.
The Advantages of Fedora's Digital Object Model
- Abstraction: The object model is the same whether the object is data, behavior definitions, or behavior mechanism. It also does not matter what kind of data the digital objects is representing—text, images, maps, audio, video, geospatial data are all the same to Fedora.
- Flexibility: Implementers of Fedora can design their content models to best represent their data and the presentation requirements of their specific use case.
- Generic: Metadata and content are tightly linked within the digital object.
- Aggregation: Fedora objects can refer to data that is stored locally or that is stored on any web accessible server.
- Extensibility: Fedora's behavior interfaces are extensible because services are directly associated with data within a Fedora object. As the services change, the objects change along with them. This extensibility is akin to the concepts of inheritance and abstraction in the Object Oriented Programming paradigm.
In particular, for archival and preservation purposes, Fedora offers the following advantages:
- XML: Fedora objects' XML and the schema upon which they are based are preserved at ingest, during storage, and at export
- Content Versioning: Fedora repositories offer implementers the option of versioning data objects. When a data object is versioned, the object's audit trail is updated to reflect the changes made to the object, when the change was made and by whom and a new version of the modified data is added to the object's XML. This new Datastream cascades from the original and is numbered to show the relationship between original and version. This allows users to retrieve older versions of a data object by performing a date/time search and retrieval, or the most current version if the date/time criteria are not included in the search.
- Object to Object Relationships: Relationships between objects can be stored via the metadata included in the objects. This allows implementers to link together related objects into parent/child relationships.
- Event History: Every object in a Fedora repository contains an audit trail, which preserves a record of every change made to the object.
For more information on digital objects in Fedora, read this article.
Welcome to the University Wiki Service! Please use your IID (yourEID@eid.utexas.edu) when prompted for your email address during login or click here to enter your EID. If you are experiencing any issues loading content on pages, please try these steps to clear your browser cache.