Title (Goal)

As a developer, I would like to expose point-in-time versions of the resources in my Fedora repository in a standard way, by using the memento protocol

Primary Actor

Developer

Scope

 

Level

 

Author

Aaron Birkland

Story (A paragraph or two describing what happens)

My organization heavily leverages Fedora's versioning capability, but would like to expose the presence of resource versions to the public via a well-adopted standard. We believe memento is the best choice for us. There is a current Fedora JIRA ticket for exploring memento as a basis for re-thinking Fedora's versioning API. This use case explores the possibility of implementing memento exposure as an API extension, outside of the core Fedora HTTP API.

API Extension Architecture's role:

  • Provide a means of filtering/enhancing the representation of existing Fedora objects in an extension.  In this case, that means adding various headers as required by the memento protocol to indicate the presence of TimeMap resources, etc
  • Provide a means of exposing resources (e.g TimeMaps) as required by the Memento protocol to convey information about the object's versions.

Developer's role:

  • Create and deploy an API Extension module that leverages the existing versioning functionality in Fedora's APIs to implement the memento protocol

Fedora's role:

  • Provide its usual representation of a given resource
  • Provide access to information about an object's versions
  • Provide URIs for each discrete object version.

1 Comment

  1. Memento may become part of the core API. Unable to locate Jira server for this macro. It may be due to Application Link configuration.