chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller (JIRA) <>
Subject [jira] [Commented] (CMIS-365) Workbench tool 'cancel checkout' will delete the entire version series (data loss)
Date Thu, 05 May 2011 01:50:03 GMT


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:
>             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
> 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:

View raw message