Summary

Tighten the definition of the RESTful application programming interface (API)

Replace legacy transform service with more powerful LDPath service

Fix bugs

This release is the first release built against a version of Modeshape that does NOT use Infinispan for data storage.

This release is a major release (i.e. 4.7.0 instead of 4.6.1) because of the upgrade in an underlying application, Modeshape 5. This requires a backend data upgrade. See the "ModeShape 5 Upgrade" section below for details.

Changes

ModeShape 5 Upgrade

This release represents a significant change to Fedora's underlying persistence implementation. The ModeShape application over which the Fedora implementation is built has seen a major upgrade. As a part of that upgrade, the object persistence layer has changed from using a product called Infinispan to native, pluggable, support for storage backends including JDBC stores such as PostgreSQL and MySQL.

Although this simplifies the application architecture, it does require a backend data upgrade from previous Fedora 4.x versions to 4.7.0. The upgrade process involves performing a backup of your existing Fedora, followed by a restore into your new 4.7.0 Fedora.

Before performing a backup of your 4.x repository, you must first upgrade to the Fedora 4.6.1 patch release. Fedora 4.6.1 includes a patch to the underlying ModeShape that generates backups suitable for restore to Fedora 4.7.0.

Service Modularity

In an on-going effort to decouple non-core features from the core codebase, two features have been refactored.

Transform

The extension module fcrepo-transform is not included in the 4.7.0 release of Fedora. This module was used to transform RDF resources into JSON using programs based on LDPath. The functionality provided by fcrepo-transform is now available in the fcrepo-ldpath component of the fcrepo-camel-toolbox project.

More information about using the fcrepo-ldpath component is available in the project README.

File System Connector

This release extracts the file system connector functionality out as an optional, extension module in a similar fashion to the audit and authorization features. Although the file system connector feature is available in the "webapp plus" deployable artifact, its use should be considered with caution, as the feature will likely be removed in the future.

Application Programming Interface

One of the technical priorities 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 (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.

One new feature which has been requested by the community is support for checksums on non-RDF resources in addition to the previous SHA-1. This release includes additional support for fixity checking with SHA-256 and MD5 checksums.

Documentation

This release includes updated facilities for Fedora administrators. Application logging has been improved to support granular configuration of logging levels at the individual package level. Additionally, documentation on best practices for customized namespace prefix mapping has been updated.