Warning |
---|
These training archives may be out of date, but have been retained and kept available for the community's benefit in reviewing previous sessions. Current training documentation can be found here: Training |
Table of Contents |
---|
Learning Outcomes
- Understand the purpose of a repository
- Learn what Fedora can do for you
- Understand the key capabilities of the software
...
- Flexible, extensible object modelling
- Atomic objects with semantic connections using standard ontologies
- RDF-based metadata using Linked Data
- RESTful API with native RDF response format
New Vocabulary
Fedora 3 | Fedora 4 |
---|---|
Objects and datastreams | Resources |
Object | Container |
Datastream | Binary |
Core Components
Durable Storage
...
- Indexing repository content for external applications can be accomplished by using the Camel component.
- The Camel component receives JMS messages on repository updates and relays these messages to one or more external applications.
- Repository content needs to can be optionally assigned the rdf:type property "IndexibleIndexable" in order to be indexed.filtered from non-indexable content (any predicate will do)
Triplestore
- An external triplestore can be used to index the RDF triples of content managed by Fedora.
- Any triplestore that supports SPARQL-update can be used; Fuseki and Sesame have been tested.
...
- An external search application can be used to perform more complex search queries on repository content.
- Any search application that supports SPARQLJSON-update based updates can be used; Solr has been tested.
...
- Authentication (not to be confused with authorization) is assumed to take place in a layer above the application.
- The authorization framework provides a plug-in point within the repository that calls out to an optional authorization enforcement module.
- Currently, two authorization implementations exist.
...
Role-based Authorization
- Basic authorization compares the user's role(s) with an Access Control List (ACL) defined on a Fedora resource.
- ACLs can be inherited; if a given resource does not have an associated ACL, Fedora will examine parent resources until it finds one.
...
- XACML policies can provide much more complex and granular authorization.
- A default policy must be defined for the repository, and each resource can override the default with another policy.
- A XACML policy referenced by a resource will also apply to all the resource's children, unless they define their own XACML policies that override the parent policy.
Audit Service
- Maintains a history of events for each repository resource
- Both internal repository events and events from exterior sources can be recorded
- Uses the existing event system, Camel component, and external triplestore
OAI Provider
- Implements Open Archives Protocol Version 2.0 using Fedora 4 as the backend.
- Exposes an endpoint which accepts OAI conforming HTTP requests.
- Supports oai_dc out if the box, but users are able to add their own metadata format definitions to oai.xml.
Performance
Transactions
- Multiple actions can be bundled together into a single repository event (transaction).
- Transactions offer performance benefits by cutting down on the number of times data is written to the repository filesystem (which tends to be the slowest action).
...