- From: Greg Stein <gstein@lyra.org>
- Date: Wed, 17 Feb 1999 16:21:25 -0800
- To: Imran Khan <imrank123@yahoo.com>
- CC: w3c-dist-auth@w3.org
Imran Khan wrote: > > I am implementing WebDAV server but I feel I might be hitting in a > brick wall. I was wondering if PROPPATCH command enforces atomicity? > Atleast according to the WebDAV draft it says that either all the > set/remove operations pass or they all fail which means rolling back. > Can't I do "besteffort" vs. "atomic" in case of PROPPATCH? Because in > my application scenario I am trying to replace the current protocol > that allows besteffort as well as atomic flexibility. Painful as it may be, the operation must be atomic. As a fellow server implementor, I sympathize ... I haven't implemented rollback either :-) It would be nice if a client could say "do best effort", but that doesn't exist. The atomic requirement allows a client to ensure that a consistent set of changes are made. IMO, if you have a closed system (your own client and server), then it is perfectly acceptable to insert a new child element in the PROPPATCH to identify best-effort. For example, the request body could look like: <?xml version="1.0" encoding="utf-8" ?> <D:propertyupdate xmlns:D="DAV:" xmlns:Z="http://www.example.com/mydav/"> <Z:besteffort> <D:set> <D:prop> <Z:some-prop/> </D:prop> </D:set> <D:remove> <D:prop> <Z:other-prop/> </D:prop> </D:remove> </D:propertyupdate> Your server could then recognize the besteffort tag. Your client would also use the tag. Other clients that access the server would not include it, so your server would guarantee atomicity for them (since they expect it). Cheers, -g -- Greg Stein, http://www.lyra.org/
Received on Wednesday, 17 February 1999 19:22:27 UTC