Notes
Slide Show
Outline
1
The Fedora Project

DLF Forum
Albuquerque, NM
November 17, 2003
2
The Fedora Project
  • Fedora Digital Object Repository System
    • Extensible digital object model
    • Repository System exposed via Web service APIs
    • Scalable, persistent storage for content and metadata
    • Local and remote content
    • Associate services with objects
    • Content versioning


  • Fedora Use cases
    • Content Management (CMS)
    • Digital Library architecture
    • Digital Asset Management
    • Institutional Repository
    • Scholarly publishing
    • Preservation


  • Open source software


3
Fedora History
  • Research (1997-present) :
    • DARPA and NSF-funded research project at Cornell
    • Reference implementation developed at Cornell


  • First Application (1999-2001) :
    • University of Virginia digital library prototype
    • Scale/stress testing for 10,000,000 objects


  • Open Source Software (2002-present):
    • Andrew W. Mellon Foundation granted Virginia and Cornell $1 million to develop a production-quality Fedora system
    • Fedora 1.0 released in May 2003
4
Fedora Motivations
  • Generic model to manage/access heterogeneous content
    • Operations via the digital object abstraction; default disseminator


  • Extensibility
    • Add new functionality to objects via service associations

  • Object Lifecycle and preservation
    • Content versioning and event history


  • Content repurposing
    • Same content in different objects; dynamic transformations


  • Easy integration with other applications and systems
    • Web services with open APIs
    • Clear separation of server from clients/web user interfaces
    • Does not assume any one workflow or end-user application
5
Digital Object Model
6
 
7
 
8
Some Common Use Cases
  • [Simple Image]
  • Image Manip + DC graph
  • [Scholarly Publication]
  • Document Transformation
9
Content Versioning
  • [Demo]
10
Repository System

software distribution
11
Fedora 1.2  Software Feature Set
  • Open Fedora APIs
    • Repository as web services (REST and SOAP bindings); WSDL interface defs


  • Flexible Digital Object Model
    • Content View: objects as bundle of items (content and metadata)
    • Service View: objects as a set of service methods (“behaviors”)
    • Extensible functionality by associating services with objects


  • Repository System
    • Core Services: Management, Access/Search, OAI-PMH
    • Storage:  XML object store; relational db object cache; relational db object registry
    • Mediation -  auto-dispatching to distributed web services for content transformation
    • Auto-Indexing – system metadata and DC record of each object
    • HTTP Basic Authentication and Access Control
    • Built-in disseminator services: XSLT x-form, image manipulation, xml-to-PDF


  • Content Versioning
    • Automatic version control (saves version of content/metadata when modified)
    • Enables date-time stamped API requests (see object as it looked at a point in time)


  • Clients
    • Fedora Administrator: GUI client to create/maintain objects
    • Default Web browser interface: search; access objects via default disseminator
    • Command line utilities (batch load, ingest, purge, others)
    • Migration Utility – mass export/ingest
12
Fedora Repository
Service Interfaces
  • Management  Service (API-M)
    • Ingest - XML-encoded object submission
    • Create - interactive object creation via API requests
    • Maintain - interactive object modification via API requests
    • Validate – application of integrity rules to objects
    • Identify - generate unique object identifiers
    • Security - authentication and access control
    • Preserve - automatic content versioning and audit trail
    • Export - XML-encoded object formats


  • Access Service (API-A and API-A-LITE)
    • Search - search repository for objects
    • Object Reflection - what disseminations can the object provide?
    • Object Dissemination - request a view of the object’s content


  • OAI-PMH Provider Service
    • OAI-DC records
13
Client and Web Service Interactions
14
Fedora Mapping to OAIS
15
Fedora  Software Distribution Package
  • Open Source (Mozilla Public License)
  • 100% Java (Sun Java J2SDK1.4)
  • Supporting Technologies
    • Apache Tomcat 4.1 and Apache Axis (SOAP)
    • Xerces 2-2.0.2 for XML parsing and validation
    • Saxon 6.5 for XSLT transformation
    • Schematron 1.5 for validation
    • MySQL and Mckoi relational database
    • Oracle 9i support
  • Deployment Platforms
    • Windows 2000, NT, XP
    • Solaris
    • Linux
16
Fedora in Use
17
Projects using Fedora
  • University of Virginia: digital library (images, EAD, e-texts)
  • VTLS: basis for new commercial product (library system)
  • Indiana University: EVIA Digital Archive (video)
  • Northwestern: academic technologies (images, art, video, e-texts)
  • Rutgers University: digital library (e-journals, numeric data)
  • Tufts University: educational (VUE/concept maps); digital library
  • Yale University: Electronic Records Archive
  • New York University: Humanities Computing Group


18
Sampling of sites using/evaluating Fedora:
  • JSTOR
  • American Geophysical Union
  • NSDL at Cornell
  • Cornell Information Technologies
  • British Library
  • National Library of Portugal
  • Society of Biblical Literature
  • National Archives of Australia
  • Office of Defense Resources, Thailand
  • Monash University, Australia
  • Oxford Digital Library
  • Harris Corporation (R&D for digital archives)
19
Fedora Downloads since May 2003
  • Total downloads:  1427
  • Average downloads per day: 9
  • # Countries: 32
  • Types of orgs:
    • Universities: libraries, IT, departments
    • Software and technology companies
    • Defense/military
    • Banks
    • National libraries and archives
    • Publishers
    • Research labs
    • Library automation vendors
    • Scholarly societies
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
31
Future Software Releases
  • Fedora Object XML (FOXML)
    • Internal storage format; direct expression of Fedora object model
    • Better support for relationships (“kinship” metadata)
    • Better support for audit trail (event history)
    • Format identifiers for dynamic service binding
  • Shibboleth authentication
  • Policy Enforcement
    • XACML expression language
    • Fedora policy enforcement module
  • Web interface for easy content submission
  • Batch object modification utility
  • Administrative Reporting
  • Object Event History (ABC/RDF disseminations)
  • Better support for “collections”
  • New ingest and export formats (METS1.3, DIDL)
32
Future Development Proposals
  • Digital Library in a Box
    • Full-featured DL application with “Fedora inside”
    • Optimized for common set of content types


  • Fedora Power Server
    • Integrity Management Tools
    • Service and link liveness checker
    • Fault Tolerance
    • Mirroring and Replication
    • Peer-to-peer interoperability features
    • Repository clustering
    • Load balancing


  • Object Creation Tools
    • Workflow applications based on content models
    • Web interface for document/content submission


33
Questions