[ 
https://issues.apache.org/jira/browse/CMIS-365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13029096#comment-13029096
 ] 

Florian Müller commented on CMIS-365:
-------------------------------------

The CMIS Workbench hides and displays buttons based on the allowable actions. 
It doesn't check if the document is actually a PWC when the user hits the 
cancel-check-out button. It trusts the repository to provide valid allowable 
actions.
The allowable actions in IBM P8 seem to be a bit mixed up. For example, after I 
create a document the allowable actions allow me to check it in and check it 
out at the same time - which is logically impossible.

So my guess is that getChildren() returned the document and not the PWC after 
the check out. The document allowed an (impossible) cancel-check-out and the 
CMIS Workbench displayed the button. The AtomPub binding maps cancel check out 
and delete to the same resource and that's why it deleted the whole version 
series. 

I think the CMIS Workbench works correctly, but we could improve the UI in this 
area.

> Workbench tool 'cancel checkout' will delete the entire version series (data 
> loss)
> ----------------------------------------------------------------------------------
>
>                 Key: CMIS-365
>                 URL: https://issues.apache.org/jira/browse/CMIS-365
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-workbench
>    Affects Versions: OpenCMIS 0.4.0
>         Environment: IBM P8 CMIS server implementation and latest OpenCMIS 
> workbench. 
>            Reporter: jay brown
>             Fix For: OpenCMIS 0.4.0
>
>
> While using OpenCMIS workbench:
> (Version: 0.4.0-SNAPSHOT / Build: 20110426-2129)
> Using the workbench to perform a 'cancel checkout' will delete the entire 
> version series in the following scenario (and perhaps others)
> (all steps performed with the workbench version above)
> (all steps include a refresh step in between to verify that object is current)
> -Create a doc. (as major) (refer to this as V1)
> -Checkout the doc.  
> -Checkin the doc.  (refer to this as V1)
> (you can now verify that there are two versions)
> -Checkout the doc. (refer to the working copy as 'pwc')
> -Cancel checkout on the doc. 
>   Performing a trace on this step shows that the workbench requests a delete 
> on the id for doc V2 instead of the id for the PWC.   This correctly results 
> in deleting the entire version series since there were no additional/optional 
> parameters specified, resulting in data loss that user would not expect.
> In our CMIS implementation (where this occurs) our PWC objects have a 
> separate/unique id than the version that preceded them.  Not sure if this is 
> related but it is certainly spec compliant. 
> If you would like to get access to the IBM server used in this scenario 
> please let me know.  It is the same one that we have used in the past for 
> interop work.  

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to