Jared Whiklo, University of Manitoba
• Aaron Birkland, Johns Hopkins University
• Aaron Coburn, Amherst College
• Andrew Woods, DuraSpace
• Esme Cowles, Princeton University
• Jared Whiklo, University of Manitoba
• Joshua Westgard, University of Maryland
• Kevin Ford, Art Institute of Chicago
• Longshou Situ, University of California, San Diego
• Michael Durbin, University of Virginia
• Yinlin Chen, Virginia Tech
• Aaron Birkland
• Aaron Coburn
• Andrew Woods
• Bethany Seeger
• Esmé Cowles
• Jared Whiklo
• Jim Coble
• Joshua Westgard
• Justin Coyne
• Matthew Hanlon
• Peter Eichman
The Fedora 4.7.0 release furthers several major objectives:
• Upgrade to Modeshape 5.0.0 Final
• 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.
• The deprecated filesystem federation connector has been moved from the core codebase into a separate module.
• The transform feature has been replaced by the more robust tooling found in the external LDPath service.
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.
In an on-going effort to decouple non-core features from the core codebase, two features have been refactored.
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.
Additional information about LDPath can be found on the Marmotta website.
• 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.
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.
Housekeeping and Bugfixes
Numerous refactorings, bugfixes, and clean-up tasks were addressed in this release