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