Versions Compared

Key

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

...

  • 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
  • Include 'Content-Location' header ?
  • Add 'Memento-Datetime' header ?

See Pattern 1.2 in https://tools.ietf.org/html/rfc7089#page-18 for details.

...

  • GET requests to LDPRv URIs must support the 'Accept-Datetime' header
  • It must follow the syntax outlined in https://tools.ietf.org/html/rfc7089#section-2.1.1
  • The response must contain headers as outlined in ticket <LDPRm GET response>
  • When a datetime is provided, Fedora will respond with the LDPRm chronologically nearest to the given header as follows:
    • Returns nearest LDPRm with Memento-Datetime <= provided Accept-Datetime
    • otherwise, return nearest LDPRm with Memento-Datetime > Accept-Datetime
    • If no LDPRm's exist, then the LDPRv is returnedOtherwise, it responds with a 404 not found response.

Add versioning headers for LDPRm HEAD/GET responses

...

DELETE -  If a resource is deleted from the repository, it appears as if all triples across the repository that have that resource as an object will get removed.  Even in a versioned resource.  According to the API spec, mementos need to be immutable.  This particular behavior of cleaning up will have to change where mementos are concerned.  

PUT requests to LDPRv (work in progress)

See https://fcrepo.github.io/fcrepo-specification/#httpput

If a Accept-Datetime is provided on a regular PUT request to an LDPRv

  • A new LDPRm is created from the LDPRv
  • The LDPRm will have a Memento-Datetime matching the provided Accept-Datetime
  • Response includes 'Link: rel=timemap' pointing to LDPCv for versioned resources
  • include 'Vary: Accept-Datetime' header in response
  • If the LDPCv for the LDPRv does not already exist, then it will be created and contain the new LDPRm

POST request to LDPCv to create new LDPRm (work in progress)

...