Search form

You are here

On the Way to Beta: Fifth Alpha Release of Fedora 4

Submitted by Carol Minton Morris on Tue, 2014-04-29 09:15

Winchester, MA The Fedora 4 team is proud to announce the fifth Alpha release of Fedora 4. In the continuing effort to provide rapid access to the quickly growing Fedora 4 feature set, this Alpha release is one of several leading up to the feature-complete Fedora 4 Beta release in June.

This release enhanced the object and datastream versioning capability [6] in two fundamental ways. Specifically, whereas the creation of new versions was previously supported, this release added the logical corollary capability of rolling back to or reverting [7] to a previous version.

While the internal search index within Fedora 4 natively supports the ability to reindex on startup, the recommended pattern [9] for exposing a search experience to repository users did not support the ability to reindex the external Solr or triplestore indices prior to this release. This release introduced an HTTP endpoint [10] for triggering the reindex of external indices for:

the entire repository

a tree of resources within the repository, or

a single repository resource

Beyond reindexing, this release also demonstrated the configuration [11] where there are more than one Fedora 4 repositories all feeding events into a single external triplestore.

Linked data

In the on-going effort to expose repository resources in a standardized, linked-data friendly manner, Fedora 4 continues to keep in step with the maturing Linked Data Platform (LDP) draft specification [12]. Support for appropriate HTTP request headers which allow the user to indicate a preference for the comprehensiveness of triples found in responses was added. Likewise, appropriate HTTP response headers were added that specify paging [13] information and relationships between parent and child resources in an LDP fashion.

Performance

Tests were performed this release focused on the determination of whether there is an impact on object creation speeds with the increase in the number of child resources (object or datastream) under a single parent resource. These tests were run with multiple backend storage configurations to additionally assess what, if any, factor the storage backend plays into performance trends.

Thirty thousand objects (first with 1 KB datastreams, then with 2 MB datastreams) were created at the top level of the repository and individually timed using the following backends:

LevelDB

RAM

File

Although a slight up-tick in per object slowdown was indicated during the 2-MB tests, the trend was not absolutely conclusive. Further tests will be repeated with a greater number of objects.

Test Coverage
Having a comprehensive suite of unit and integration tests affords the Fedora 4 code-base with greater resilience to rippling bugs, demonstrations of expected usage patterns of the APIs and components, as well as enables architectural refactoring to occur with less risk. A focus of this release was to increase our test coverage [15].

The following are the code coverage statistics at the end of this release.

Unit tests: 73.1%

Integration tests: 71.7%

Overall coverage: 86.0%

Housekeeping

Several feature enhancements and bugs were addressed during this release. Bug fixes and application polishing included: