Versions Compared

Key

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

Although there are various community-driven developments in the Fedora ecosystem, this document describes the roughly 12-month technical focus of the core repository platform.

  1. Formalize the core Fedora services Application Programming Interface (API)
    This priority is to clearly define the core services that Fedora promises as a standards-based RESTful API
  2. CRUD
    • Import/Export (RDF serialized to disk)
  3. Versioning
    • Memento
  4. Transactions
  5. , accompany this API with any necessary domain-specific ontologies, and provide a Technology Compatibility Kit (TCK) for each service.
    The Fedora services are:Fixity
  6. fcr:fixity as resource
    1. Create/Read/Update/Delete on repository resources
      1. Standard: Linked Data Platform
      2. Include Import and Export of RDF, and option for RDF serialization to disk
    2. Versioning
      1. Standard (partial, only retrieval): Memento
    3. Transactions
      1. Standard: TBD
    4. Fixity
      1. Standard (partial, on ingest):
      1. http://tools.ietf.org/html/rfc3230#section-4.3.2
    AuthZ
    1. Authorization
      1. Standard: WebAC
  7. Formalize the core Fedora Service Provider Interface (SPI)
    1. Eventing SPI
      1. Will probably abstract the current interfaces between the kernel and fcrepo-jms, unless we can find something to adopt
      2. Runtime configurable
        • configuration (this is distinct from intermodule wiring, which would come under the heading below)
        • modules
          1. Defining the interface that a Fedora repository implementation should implement to publish repository events
      3. Runtime configurability
        1. Enable the update of configuration settings at runtime, e.g. changing hostname published in repository events
        2. Enable pluggability of extension modules, e.g. adding an OAI-PMH module at runtime
      4. Performance and Performance/ Scale
        1. Repository limits - number of resources
        2. Repository limits - number of bytes
        3. Storage options