You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by David Kennedy <da...@us.ibm.com> on 2006/08/17 23:29:02 UTC

Multi-version restore withWebDAV VersionControlledItemCollection.update

The WebDAV multi-version restore code in 
VersionControlledItemCollection.update method is suspicious.  The code is 
trying to restore by label or by name.  If multiple version hrefs are 
supplied or if multiple labels are supplied, the code will use the 
multi-version restore method of Workspace.  The problem is that the 
versions are all retrieved for the same node and you can't have more than 
one version of the same node in a workspace.  The multi-version restore 
method is intended for cross node dependencies.  To enable the 
multi-version restore the body needs to support fully qualified version 
name and labels.  You could argue that the version href already does so, 
however you'd assume the name is the version label and what's preceding it 
would be the itemPath (currently thrown out) to the actual node.  However 
this would be a bit of a hack.  It seems as though the body structure 
needs to change a bit to truly support multi-version restore.

David

Re: Multi-version restore withWebDAV VersionControlledItemCollection.update

Posted by Angela Schreiber <an...@day.com>.
hi david

i opened a new jira issue for this.

https://issues.apache.org/jira/browse/JCR-544
JCR-544 JCR-Server: Workspace.restore not mapped correctly

regards
angela

David Kennedy wrote:
> The WebDAV multi-version restore code in 
> VersionControlledItemCollection.update method is suspicious.  The code is 
> trying to restore by label or by name.  If multiple version hrefs are 
> supplied or if multiple labels are supplied, the code will use the 
> multi-version restore method of Workspace.  The problem is that the 
> versions are all retrieved for the same node and you can't have more than 
> one version of the same node in a workspace.  The multi-version restore 
> method is intended for cross node dependencies.  To enable the 
> multi-version restore the body needs to support fully qualified version 
> name and labels.  You could argue that the version href already does so, 
> however you'd assume the name is the version label and what's preceding it 
> would be the itemPath (currently thrown out) to the actual node.  However 
> this would be a bit of a hack.  It seems as though the body structure 
> needs to change a bit to truly support multi-version restore.
> 
> David