Release date: 21 January, 2016

We are proud to announce the release of Fedora 4.5.0.

Resources

Team

Release Managers

Developers

Issue Reporters

Summary

The Fedora 4.4.0 release furthers several major objectives:

This release is a major release (i.e. 4.4.0 instead of 4.3.1) because there are a two updates that are not strictly speaking backwards compatible with 4.3.0:

  • HTTP GET requests on descriptions of NonRDF resources (i.e. binaries) now return RDF triples that all have the NonRDF resource as the subject, whereas previously the returned RDF contained a mix of subjects in the response: some subjects were the NonRDF resource, some subjects were the NonRDF description resource
  • When requesting the fixity service [5] be performed on a binary resource, the "status" of the fixity result has been changed in this release from: "fedora:status" to "premis:hasEventOutcome"

Although not a backwards incompatible update in the 4.4.0 release, it should be noted that the Import and Export services [6] have been deprecated due to their reliance on a JCR serialization versus an RDF-centric approach. These services will be supplanted by externalized machinery that transacts in RDF.

...

Updates

Application Programming Interface

One of the technical priorities [9] of Fedora is to define a well-specified application programming interface (API) against which client applications can be written and future server-side implementations can be created. This Fedora API should be clear and detailed enough such that a corresponding technology compatibility kit [10] (TCK) would be able to indicate if any Fedora implementation fulfills or diverges from the specification. With this in mind, several issues were addressed in this release that clean up Fedora's RESTful interaction and tease out the non-core aspects of the Fedora ontology [11].

Linked Data Platform alignment

Fedora is a Linked Data Platform (LDP) server implementation. This release fixes a few bugs that relate to the interactions that an LDP client should expect.

Upgrading and Migrating

A primary focus of the ongoing Fedora effort is to facilitate the upgrade/migration of Fedora3 repositories to Fedora4. To this end, a couple of improvements have been incorporated into the "migration-utils [12]" upgration utility, the most notable of which is enabling the utility to optionally be configured with authorization credentials.

 

Preservation

In support of Fedora's role in the preservation stack, this release includes two advances.

  1. Human-readable serialization to disk: A new component has been added to the suite of Apache Camel recipes that can be employed to react to updates in the Fedora repository by writing the resource RDF (and optionally the binaries) to a specified location on disk. This feature is now available in the Fedora Vagrant box.
  2. Backup strategies: By default, the database that Fedora currently is configured to use is LevelDB []. This release includes documentation and recommendations for performing backup and restore of internal data Fedora uses in maintaining state.

External Services

One of the exciting capabilities that Fedora enables is the creation of distributed, asynchronous, message-driven services that are external to the core repository but are triggered by repository events. This release includes an update to the Fedora-related Apache Camel-based [13] toolbox introducing the ability to configure the LDP 'Prefer' header that is used when requesting RDF to be indexed in an external triplestore. 

Web Access Control

Following the initial implementation of the Web Access Control [14] authorization module, this release furthers that effort with several fixes and improvements.  Enhancements include:

Additional documentation of Fedora's implementation of Web Access Controls is available on the wiki [].

 

Modularity

HTML User Interface

Java Client Library

 

Housekeeping and Bugfixes

Numerous refactorings, bugfixes, and clean-up tasks were addressed in this release:

References

[1]  https://wiki.duraspace.org/display/FF/Downloads
[2]  http://docs.fcrepo.org
[3]  http://www.w3.org/TR/ldp/
[4]  http://www.w3.org/wiki/WebAccessControl
[5]  https://wiki.duraspace.org/display/FEDORA44/RESTful+HTTP+API+-+Fixity
[6]  https://wiki.duraspace.org/display/FEDORA44/RESTful+HTTP+API+-+Export+and+Import
[7]  http://www.duraspace.org/registry/fedora
[8]  http://www.duraspace.org/register-repository
[9]  https://wiki.duraspace.org/display/FF/2015+-+2016+Technical+Priorities
[10] https://en.wikipedia.org/wiki/Technology_Compatibility_Kit
[11] http://fedora.info/definitions/v4/2015/07/24/repository
[12] https://github.com/fcrepo4-exts/migration-utils
[13] http://camel.apache.org/
[14] http://www.w3.org/wiki/WebAccessControl