The name Fedora is an acronym for the Flexible Extensible Digital Object Repository Architecture. The Fedora Repository is very flexible; it is capable of serving as a digital content repository for a wide variety of use cases. Among these are digital asset management, institutional repositories, data repositories, digital archives, content management systems, scholarly publishing enterprises, and digital libraries. The Fedora Repository is able to store any sort of digital resource such as documents, videos, datasets, computer files, and images, plus it can store metadata about the content items in any format. In addition, the relationships between content items can be stored–which is often as important as the content items themselves. You can choose to store just the metadata and relationships for content which is held by another organization or system such as cloud storage, archival tape storage, databases etc.
Technological innovations occur because there is an unanswered need within a community that inspires individuals or groups to develop potential solutions to solve a problem. By 1998 early Internet users, particularly in the scholarly ecosystem, had become more sophisticated at creating and using many varieties of complex digital content. Digital repositories needed to evolve into more sophisticated storage and access containers. As digital collections grew, and were made use of in previously unconsidered ways, repository managers were faced with management tasks of increasing complexity. Collections contained multiple data types, and organizations need to archive and preserve complex objects, as well as web sites and other complex, multi-part documents. And finally, the need to establish relationships between data objects in a repository had become more and more apparent. It was in this era that core attributes of the Flexible Extensible Digital Object Repository Architecture–Fedora–were developed. But this is no mere anachronism; these core Fedora attributes remain key relevant features because community use cases of today are no less complex than they were 20 years ago.
Fedora development has been focused on whittling down the core to the most valuable kernel of abstraction around digital objects so that users and developers can access a Fedora repository to serve digital objects with even more flexibility in how they integrate surrounding services.
These original goals for Fedora’s development are still important:
• 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 of features to support longevity and archiving, including text-based 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
The Fedora digital object model offers the strengths and advantages of:
• Abstraction: The object model is the same whether the object is data, behavior definitions, or other kinds of objects. 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 can be extended in a number of ways: event-based messaging workflows, the REST-API, and the API Extension Framework, which provides a mechanism for binding shareable services to repository resources.
Fedora continues to focus on durability as well, though this thinking has evolved over time. Fedora originally focused on XML as a preservation standard, specifically the Fedora Object XML or FOXML. While this had the advantage of making Fedora resources relatively human-readable, the use of a custom XML schema known only to the Fedora community presents its own set of long-term preservation and access challenges. The current version of Fedora focuses on modern, widely-adopted web standards as a means of avoiding the need to maintain custom schemas, and leverages RDF as the primary means of describing Fedora resources in a standardized way. An import/export utility allows Fedora users to export some or all of their resources as serialized RDF, which does not depend on a custom Fedora schema. Current efforts like the Oxford Common File Layout may be implemented in Fedora in the future to support even more preservation use cases.
Fedora repositories offer implementers the option of versioning both container (metadata) and binary resources. Versions can be created on-demand, and previous versions can be restored. The next major release of Fedora will support the Memento standard for retrieving historical versions of repository resources.
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: An audit trail can optionally be maintained for every object in a Fedora repository, which preserves a record of every change made to the object.
Fedora remains the best repository platform choice for users who need a flexible, extensible, scalable repository for complex modeling of data and objects that may be re-used in a wide variety of instances. Over 300 organizations in more than 35 countries have registered their Fedora installations. Visit the Fedora Registry to learn more about how Fedora is used by organizations and institutions.