- In fcrepo-kernel-api and fcrepo-kernel-modeshape
- Repurpose isVersioned(), enableVersioning() and disableVersioning() in FedoraResource interface, add getTimeMap() function this is our LDPRv.
- Create TimeMap interace defining getVersions(), getVersion(final Date/Instant d), createVersion(), createVersion(final Date/Instant d), getOriginal() and Modeshape implementing class (LDPCv)
- VersionService interface and VersionServiceImpl functions/code (if useful) can be moved to TimeMap class. createVersion() for instance.
- Repurpose FedoraVersion interface and FedoraVersionImpl, perhaps need getOriginal() and getTimemap() for them (LDPRm)
- In fcrepo-http-api
- Repurpose FedoraVersioning paths for use with TimeMap
- Repurpose FedoraVersions to allow direct access to a specific Memento via its URI. (/fcrepo/rest/foo/fcr:versions/1234-5678)
- Add new handing of headers and setting of response headers in FedoraLdp (
Jira server DuraSpace JIRA serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-2612
- Handle DateTime negotiation on LDPRvs in FedoraLdp (
Jira server DuraSpace JIRA serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-2613
REST Interaction questions
(POST w/o body) → LDPCv → (copy) LDPRv → LDPRm
- POST to LDPCv without body and with or without Memento-Datetime header
- Copy LDPRv to new child of LDPCv
- Add rdf:type or identifier of Memento type (Identify as a Memento)
- Add snapshot datetime as property
- If we use a rdf:type to mark a Memento then should we display that when the Memento is requested?
- Should we just call Mementos anything inside of a TimeMap?
- Where do we store the snapshot datetime? Property on the node?
(POST w body) → LDPCv → (compare LDP subtype) LDPRv → LDPRm
- POST to LDPCv with a new body and with or without Memento-Datetime header
- Can you provide a body and NOT provide a date?
- Compare the type of resource because we can't provide a LDP-NR as a Memento of a LDP-RS or vice versa
- Set the entity body as the new resource.
- Identify as a Memento?
- Add snapshot datetime as property.