...
The Fedora 4.5.0 release furthers several major objectives:
- Tighten the definition of the RESTful application programming interface (API)
- Further align this API to community standards, including the Linked Data Platform [3] (LDP) and Web Access Control [4] (WebAC)
- Enhance preservation capabilities and related documentation
- Improve tooling for external services live in the ecosystem around the repository
- Fix bugs
Excerpt | ||
---|---|---|
|
Application Programming Interface
One of the technical priorities [5] 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 [6] (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 [7].
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
Fedora is a Linked Data Platform (LDP) server implementation. This release fixes resolves a few bugs bug that relate relates to the interactions that an LDP client should expect.
...
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 [87]" upgration utility, the most notable of which is enabling the utility to optionally be configured with authorization credentials.
...
In support of Fedora's role in the preservation stack, this release includes two advances:
...
investigation and documentation around backup and restore strategies for Fedora's datastore. By default, the database that Fedora currently is configured to use is LevelDB [
...
8]. This release includes documentation and recommendations for performing backup and restore of the internal data Fedora uses in maintaining state
...
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 [10] toolbox introducing the ability to configure the LDP 'Prefer' header that is used when requesting RDF to be indexed in an external triplestore.
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
Following the initial implementation of the Web Access Control [119] authorization module, this release furthers that effort with several fixes and improvements. Enhancements include:
WebACLs can now apply to binary resources
An HTTP header, 'On-Behalf-Of', can optionally be configured to offer delegated authorization (documentation [1210])
- A WebACL can be placed on the server acting as the final backstop for authorization decisions for resources that have no other effective WebACL (documentation [1311])
- WebACLs can now include references to 'agentClass' Fedora resources as defined in the Web Access Control specification specification (documentation [1412])
- An HTTP 'Link' header is included in responses to protected resources pointing to the effective WebACL
Additional documentation of Fedora's implementation of Web Access Controls is available on the wiki wiki [1513].
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
From the perspectives of code maintainability, intelligibility, replaceability, and clearly defined separation of responsibility, significant focus continues towards increasing the modularity of Fedora. In this release, this effort can be seen in the extraction of the 'transform' and 'id minting' modules into their own projects, and the decoupling of project dependencies.
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
This release includes several minor, but useful , updates to the HTML user interface:
- Ability to create versions in the HTML UI
- Auto-populate binary resource's 'educore:filename' property with name of file uploaded in the HTML UI
- Limit the number of children shown of any given resource shown in the HTML UI of any given resource to 100
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
No Format |
---|
[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/FEDORA44FF/RESTful2015+HTTP-+API2016+-Technical+FixityPriorities [6] https://wikien.duraspacewikipedia.org/display/FEDORA44/RESTful+HTTP+API+-+Export+and+Importwiki/Technology_Compatibility_Kit [7] httphttps://wwwgithub.duraspace.org/registry/fedoracom/fcrepo4-exts/migration-utils [8] httphttps://www.duraspace.org/register-repositorygithub.com/dain/leveldb [9] httpshttp://wikiwww.duraspacew3.org/display/FF/2015+-+2016+Technical+Prioritieswiki/WebAccessControl [10] https://enwiki.wikipediaduraspace.org/display/wiki/Technology_Compatibility_KitFEDORA45/Principal+Providers#PrincipalProviders-DelegateHeaderPrincipalProvider [11] httphttps://fedorawiki.duraspace.infoorg/definitionsdisplay/v4/2015/07/24/repositoryFEDORA45/Default+Filesystem-based+Policy [12] https://github.com/fcrepo4-exts/migration-utilswiki.duraspace.org/display/FEDORA45/How+to+Use+WebAC+agentClass+Groups [13] httphttps://camelwiki.apacheduraspace.org/ [14] http://www.w3.org/wiki/WebAccessControl display/FEDORA45/WebAC+Authorization+Delegate |