[ 
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)

Reply via email to