RE: Move and Delete (was: bind draft issues)

"Best effort" deletion is forbidden by the bind protocol,
because it can cause a DELETE in one collection to cause a change
in another collection, and this kind of "deletion side effect"
was something we explicitly were trying to avoid.  For example,
suppose /henry/has-friend/jeff and /jim/has-friend/jeff
were bindings to the same collection, JEFF, and JEFF has a binding
named "wife" to a resource, MARI.  Now suppose henry gets mad
at jeff, and issues a "DELETE /henry/has-friend/jeff" request.
But suppose at that moment someone else has a Depth:0 lock
on the /henry/has-friend collection.  The result of a "best effort"
deletion is the removal of the "wife" binding from JEFF.  That
may be OK if you were just updating the information accessible
from /henry (he isn't JEFF's friend anymore, and he's happy to
purge as much information about JEFF as he can), but with multiple
bindings, "best effort" deletion has now trashed the JEFF object
in all the other contexts in which it is still visible (and the
folks that still are his friends are still interested in that
information).

So we're not saying that "best effort deletion" is always a bad thing,
but we are saying that "best effort deletion" is a bad thing when
you care about multiple bindings to the same resource.

Cheers,
Geoff

-----Original Message-----
From: Julian Reschke [mailto:julian.reschke@gmx.de]
Sent: Monday, March 03, 2003 5:08 PM
To: Clemm, Geoff; WebDAV
Subject: RE: Move and Delete (was: bind draft issues)


> From: w3c-dist-auth-request@w3.org
> [mailto:w3c-dist-auth-request@w3.org]On Behalf Of Clemm, Geoff
> Sent: Monday, March 03, 2003 10:44 PM
> To: WebDAV
> Subject: RE: Move and Delete (was: bind draft issues)
>
>
>
> To emphasize an earlier comment, it is true that the bind protocol
> places constraints on how a server is allowed to implement the DELETE
> and MOVE methods.  In particular, a server that supports the bind
> protocol is not allowed to do a partial MOVE or a partial DELETE (even
> though 2518 allows it).
> ...

Good catch. I remember that we discussed that at some point of time, but it
seems it was never added to the issues list.

Our server indeed is able to support the BIND method and live properties
with all their semantics, yet won't do an atomic DELETE on collections. I
agree that *technically* a server that properly handles bindings *could* do
atomic deletes, but in reality, there may be reasons why you don't *want*
to.

Therefore, I'd like the spec not to require a specific behaviou, or, as a
minimum, change the MUST to a SHOULD.

Julian

--
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760

Received on Monday, 3 March 2003 18:35:36 UTC