Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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 in the ecosystem around the repository
  • Fix bugs

Excerpt
Note

This release is a major release (i.e. 4.5.0 instead of 4.4.1) because there are a several REST API updates that are not backwards compatible with 4.4.0. The theme of these updates is the removal of JCR-related properties that have heretofore been leaked from the Fedora API in the RDF returned to users. Fedora 4 is in no way dependent on JCR, and any mention of JCR found in RESTful responses will be removed. No client code should require updating for this release unless it contains dependencies on JCR-namespaced properties.

See tickets in "Application Programming Interface" below for more details.

Application Programming Interface

...

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
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13423
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

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
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13420
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

...

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 (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 [1513].

Expand
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13421
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

...

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/FF/2015+-+2016+Technical+Priorities
[6]  https://en.wikipedia.org/wiki/Technology_Compatibility_Kit
[7]  https://github.com/fcrepo4-exts/migration-utils
[8]  https://github.com/fcrepo4-exts/fcrepo4-vagrant
[9]  https://github.com/dain/leveldb
[109] http://camel.apache.org/
[11] http://www.w3.org/wiki/WebAccessControl
[1210] https://wiki.duraspace.org/display/FEDORA45/Principal+Providers#PrincipalProviders-DelegateHeaderPrincipalProvider
[1311] https://wiki.duraspace.org/display/FEDORA45/Default+Filesystem-based+Policy
[1412] https://wiki.duraspace.org/display/FEDORA45/How+to+Use+WebAC+agentClass+Groups
[1513] https://wiki.duraspace.org/display/FEDORA45/WebAC+Authorization+Delegate