Versions Compared

Key

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

...

Add versioning response headers to LDPRv HEAD/GET responses

Responses The following headers should be added to responses to HEAD and GET requests to LDPRv's (regular LDPR's which are or can be versioned) should return the following headersonly when the resource is versioned (has the http://fedora.info/definitions/fcrepo#VersionedResource type):

  • Vary: accept-datetime
  • Include 'Link: rel="timegate"' referencing itself. This is always present for versionable LDPR's. 
  • Include 'Link: rel="timemap"' on versioned resource pointing to LDPCv. This is only present if this LDPRv has been previously versioned/has a LDPCv.
  • Since the LDPRv is also its own timegate, it must return an 'original' link header referencing itself

...

Make application/link-format the default serialization for TimeMaps

GET on LDPCv must return interaction model

"An implementation must indicate TimeMap in the same way it indicates the Container interaction model of the resource via HTTP headers."

See: https://fcrepo.github.io/fcrepo-specification/#general-3

Answered questions

  • 4.1.1 Should the "timegate" link only be present when an object is versioned or should all LDPR that could be versioned provide this link?
    • Yes, it should always be present
    • This seems to imply that all resources are LDPRv's from the start 
  • 4.3.1 Why does each memento need a separate TimeMap to be created, rather than sharing one for all of the LDPRv and LDPRm of one LDPR?
    • This was a misinterpretation.  In the modeshape implementation, currently the timemap is the fcr:versions endpoint.
  • 4.3.1 LDPCv must not be contained by the LDPRv
    • does that mean that fcr:versions will no longer be a subpath of the LDPR?
    • This only applies to ldp:contains, the uri is irrelevant
  • 4.1.2 The Fcrepo spec doesn't mention it directly, but is there a conflict between the Memento "Content-Location" header and External File's "Content-Location"?  Can they both appear in the same response?
    • External File Content-Location header just appears on LDP-NR HEAD/GET requests, while Memento uses the header for responses from LDPRm and maybe LDPRv, both of which are LDP-RS's.  So the headers should not both appear on the same response
  • 4.3.1 How do you determine what serializations are available for TimeMaps?  HEAD is not currently supported and is not in the Memento spec.

...