Fedora Repository
Browser Interface
The application can be accessed through the browser interface for demonstration purposes of the repository's basic functionality. Once deployed (see Deployment) navigate to either http://localhost:8080/rest using the one click install or http://localhost:8080/<war file name>/rest using the tomcat or jetty servers.
REST API
The primary way for applications to work with a Fedora repository is through the REST API Specification.
- The Fedora HTTP API is generally a RESTful API. HTTP methods like GET, PUT, POST and DELETE are implemented on most resource paths. The API also relies heavily on content negotiation to deliver context-appropriate responses, and a HATEOAS-driven text/html response (providing a decent GUI experience on top of the repository).
Messaging
In addition to interacting with the Fedora application via its RESTful HTTP API, all actions that affect a change in the repository result in a message being emitted. Client tooling can be created to perform asynchronous actions based on those messages.
As a starting point, tooling already exists
- to inspect messages, Inspect Event Messages.
- to perform common workflows based on Fedora events with a Fedora / Apache Camel toolbox.
Search
To support the differing needs for sophisticated, rich searching, Fedora comes with a standard mechanism and integration point for indexing content in an external service. This could be a general search service such as Apache Solr or a standalone triplestore such as Fuseki or Blazegraph
Frameworks
Contributing to Fedora
Fedora is built with the contributions of developers just like you. If you've found a bug, or have a feature you want to add, we would love your help. Our Guide for New Developers includes links to our project resources (source code, issue tracker, mailing lists, etc.) and our Git workflow.