Versions Compared

Key

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

...

  • A full backup, including all Datastreams binaries as well as a compact serialization of all objectscontainers, can be performed at any time
  • A full restore from a repository backup can be performed at any time

Export and Import

  • A specific Fedora objectresource, its children objectsresources, and associated Datastreams binaries can be exported
    • The serialization of the Fedora object resource is more portable than the compact form found in the backup/restore feature
    • Exported objects resources are serialized in a standard JCR/XML format
  • An exported object resource or hierarchy of objects resources can be imported at any time

...

  • Versions can be created across the entire repository or on particular API calls.
  • A previous version can be restored via the REST-API.

Policy-Driven Storage

  • Different types of content can be routed to different back-end stores on ingest
  • Policies can be written to route content based on properties (e.g. filetype)

Data Modelling

...

Resources

  • Both objects containers and datastreams binaries are represented as nodesresources.
  • Object Container nodes can have both Objects containers and Datastreams binaries as children.
  • The tree structure allows for inheritance of things like security policies.

Properties

  • Nodes Resources have a number of properties, which are expressed as RDF triples.
    • The node resource itself is the implicit subject of each triple.
  • Properties can be RDF literals (e.g. dc:title) or they can express relationships both internal and external to the repository.
  • Any number of RDF namespaces can be defined and used.

...

  • Content can be modelled using Compact Node Definitions (CNDs).
  • Mixins can be used to define any number of properties. A mixin can be added to a CND to be applied to objects.
  • RDF properties
  • Properties can have either literals or URIs as their objects
  • Resources can have any number of properties using any number of namespacesAn object can inherit properties from any number of mixins; their effects are cumulative.

Linked Data

  • Fedora 4 .0 is compliant with the LDP 1.0 spec.
  • Metadata can be represented as RDF triples that point to objects resources outside the repository.
  • Many possibilities for exposing, importing, sharing resources with other web applications.

...

Tour of the HTML administrative interface.

Internal Search

  • Internal search can search across all node properties.
  • It also functions as a limited SPARQL endpoint.

External Components

Camel

Indexing

  • Indexing repository content for external applications can be accomplished by using the JMS Message Consumer web application.This is just one possible implementation - different message consumer implementations could be writtenCamel component.
  • The JMS Message Consumer Camel component receives JMS messages on repository updates and relays these messages to one or more external applications.
  • Repository content needs to be assigned the rdf:type property "indexibleIndexible" in order to be indexed.
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.
External Search
  • An external search application can be used to perform more complex search queries on repository content.
  • Any search application that supports SPARQL-update can be used; Solr has been tested.

...

  • 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 node resource does not have an associated ACL, Fedora will examine parent nodes resources until it finds one.

XACML Authorization

  • XACML policies can provide much more complex and granular authorization.
  • A default policy must be defined for the repository, and each node resource can override the default with another policy.
  • A XACML policy referenced by a node resource will also apply to all the noderesource's children, unless they define their own XACML policies that override the parent policy.

...