- From: Clemm, Geoff <gclemm@rational.com>
- Date: Fri, 15 Mar 2002 15:44:05 -0500
- To: "Ietf-Dav-Versioning@W3. Org" <ietf-dav-versioning@w3.org>
From: Sohn, Matthias [mailto:matthias.sohn@sap.com] how can undelete of a versioned resource (residing in a versioned collection) which has been deleted somewhen in the past be done using DeltaV ? There are two things which have to be solved here: * find the deleted resource(s) under a given path * undelete resource(s) I would like to do it with using an activity and working resources so that the undeletion is tracked in the activity. Note that tracking the undeletion requires that your server support either versioned collections or baselines (or both). If your server does not support in-place-checkout, then it has to support versioned collections in order to track the undeletion. Also note that tracking the undeletion in an activity requires that your server support versioned collections (baselines aren't enough) and activities. Also note that using a working resource (i.e. a client side workspace) is not needed for either tracking the undeletion, or for tracking the undeletion in an activity, but that it does affect the requests you need to issue in order to do the undeletion. How can the browsing for deleted resources (or collections) be done in an efficient way, i.e. how can the client find out which resources have been deleted let's say recursively under /a/b/c/... ? The easiest way to find deleted resources is if the server supports baselines. In this case, you can just browse the collections identified by the DAV:baseline-collection property of the baselines to find the resource you want to undelete. Alternatively, if the server supports versioned collections, you could browse through versions of visible collections to find the version history of the deleted resource. And finally, you could scan through the DAV:version-history-collection-set, but that would be an extreme last resource, since it is likely to be hard to find the version history you want from the set of all version histories. Once you have found the version you want to restore, what you do depends on whether the server supports the checkout-in-place or the working-resource option. If it supports checkout-in-place, you just do a VERSION-CONTROL request that identifies the version you want restored. If it supports the working-resource option, you need to checkout a collection containing the version history of the resource you want to restore, checkout a destination collection, MOVE the desired resource from the first working collection to the second, delete the first working collection, and CHECKIN the second working collection. Cheers, Geoff
Received on Friday, 15 March 2002 15:44:39 UTC