[
https://issues.apache.org/jira/browse/OAK-2416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14322786#comment-14322786
]
Francesco Mari commented on OAK-2416:
-------------------------------------
As the result of an offline conversation, the first step to solve this issue is
to expose the concept of a {{Revision}} from the {{Root}} interface. These
additions are required to the current API:
- A {{Revision}} marker interface should be created.
- It should be possible to obtain a {{Revision}} from a {{Root}} instance.
- It should be possible to convert a {{Revision}} to an opaque string
representation.
- Given a {{ContentSession}} and a {{Revision}} (or its opaque string
representation), it should be possible to obtain the {{Root}} corresponding to
the {{Revision}}.
> Support continuable sessions
> -----------------------------
>
> Key: OAK-2416
> URL: https://issues.apache.org/jira/browse/OAK-2416
> Project: Jackrabbit Oak
> Issue Type: Sub-task
> Components: core
> Reporter: Michael Dürig
>
> Implement support for continuable sessions to keeps state across multiple
> client/server interactions. Continuable sessions do not require any
> additional state on the server (i.e. Oak) apart form the apparent repository
> state.
> To continue a session a client would obtain a continuation token from the
> current session. This token can be used on the next call to
> {{Repository.login}} to obtain a new {{Session}} instance that is based on
> the same repository revision that the session the token was obtained from.
> Additionally the token could contain information re. authentication so
> subsequent request can go through a simplified authentication procedure.
> ([~asanso]'s work on OAuth might be of help here.)
> Transient changes are not supported in continuable sessions. Obtaining a
> continuation token from a session with transient changes results in an error.
> Continuable sessions are typically short lived (i.e. the time of a single
> HTTP request). Specifically continuable session do not retain the underlying
> repository revision from being garbage collected. Clients need to be able to
> cope with respective exceptions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)