Release date: 24 July, 2015
We are proud to announce the release of Fedora 4.3.0.
Resources
Team
Release Manager
Developers
- Yinlin Chen
- Kevin S. Clarke
- Unknown User (acoburn)
- Unknown User (escowles@ucsd.edu)
- Osman Din
- Michael Durbin
- James R. Griffin III
- Unknown User (daniel-dgi)
- Sébastien Leroux
- Nick Ruest
- Rob Sanderson
- Hélder Silva
- A. Soroka
- Jared Whiklo
- Andrew Woods
Issue Reporters
- Kevin S. Clarke
- Unknown User (acoburn)
- Hector Correa
- Stefano Cossu
- Unknown User (escowles@ucsd.edu)
- Justin Coyne
- Michael Durbin
- James R. Griffin III
- Nick Ruest
- Rob Sanderson
- A. Soroka
- Trey Pendragon
- Andrew Woods
Summary
The Fedora 4.3.0 release furthers several major objectives:
- Move Fedora towards a clear set of standards-based services
- Move Fedora towards runtime configurability
- Improve support tooling for upgration from Fedora 3.x to 4.x
- Improve support for participation in the semantic web
- Fix bugs
This release is 4.3.0 instead of 4.2.1 because there are two non-backwards compatible changes:
- Several properties (mimetype, filename, digest, and cnd update) no longer use the fedora namespace.
- The fcrepo-kernel and fcrepo-kernel-impl packages have been renamed to fcrepo-kernel-api and fcrepo-kernel-modeshape, respectively.
An update utility has been included with the release - run the utility to migrate the properties to their new namespaces and update the package names.
Updates
Strategic Direction
Fedora is moving towards a tightly defined, standards-based, set of RESTful services that are supplemented with a pattern of integrating message-driven, asynchronous services for non-core capabilities. The 4.3.0 release includes several updates that move the software in that direction.
- Aligning with LDP by
- Returning a 400 response when illegal triples are not persisted
- Advertising constraints in responses when an update request fails due to a repository constraint
- Showing inbound references for indirectly contained resources
- Tightening the core repository services by
- Forbidding the update of resources that are not the target of the request
- Removing the leakage of the underlying UUID to repository clients
- Allowing "mimeType" and "filename" properties to be mutable
- Moving towards full OSGi deployability for runtime configuration and feature activation
- Ensuring modules are property packaged as OSGi bundles
- Ensuring modules are importing and exporting correct dependencies and services
- Creating a Fedora features.xml for dependable deployment into Apache Karaf
- Enhancing external services with the Apache Camel integration framework by
- Adding a "reindex" endpoint
- Adding a "fixity" invocation service
- Adding support to the REST API for the JSON-LD "Accept" header "profile" parameter
Upgrading and Migrating
A primary focus of the ongoing Fedora effort is to facilitate the upgrade/migration of Fedora3 repositories to Fedora4. To those ends, a number of improvements have been incorporated into the "migration-utils" upgration utility.
- Packaging the utility as a standalone executable application
- Using opaque identifiers for migrated resources
- Adding support for user-provided RDF namespace mappings
- Providing specific mappings of Fedora3 to Fedora4 properties
- Improving support for migrating resources with non-existent datastreams
Audit
After the completion of the Audit Service sprints this spring, there remained two items to be completed:
- Aligning the identifier of internal Audit events with the identifier of that same event found in the external triplestore
- Publishing Audit events for runs of the Fixity service
The 4.3.0 release includes the resolution of the first item above.
Semantic Web
One of the primary goals of Fedora is to participate as a first-class member in the world of linked data. Two updates are included in the 4.3.0 release related to that goal:
- Cleaning the Fedora ontology by removing the obsolete "fedora:Blanknode" class
- Creating a JSON-LD @context file for the Portland Common Data Model ontology
Fedora Java Client
The Fedora Java Client library was updated for this release by
- Adding support for the creation of repository resources without a user-provided identifier, i.e. using the repository identifier minter
- Adding support for resource "copy", "delete", and "move" operations
Housekeeping and Bugfixes
Numerous refactorings, bugfixes, and clean-up tasks were addressed in this release. Some of the highlights include:
- Using more Java8 idioms
- Returning a 403 response code when trying to create a resource under a PairTree element
- Returning a 400 response code when trying to create a resource with an empty element, i.e. "//"
- Updating library dependencies
- Improving wiki and source documentation
References
[1] https://wiki.duraspace.org/display/FF/Downloads [2] http://docs.fcrepo.org [3] ...