Re: DELETE Semantics in Advanced Collections

Caught by the spam filter.

- Jim

-----Original Message-----
From: Geoffrey Clemm [mailto:geoffrey.clemm@rational.com]
Sent: Monday, May 24, 1999 10:30 AM
To: 'WebDAV'
Subject: [Moderator Action] Re: DELETE Semantics in Advanced Collections


Another approach we could take would be to keep the terms "member"
and "binding" distinct, with a binding being a mapping from a segment
name to a resource, and leave the term "member" to mean a URL
(as it is in RFC-2518).  This would produce the following changes:

At 04:16 PM 5/20/99 -0400, Slein, Judith A wrote:
>The authors of the advanced collections spec would like to get general
>reactions to the DELETE semantics that appear in section 4.2.8 of our
>current spec.  I've extracted some relevant definitions and the text of
>4.2.8:
>
>Binding
>     An association between a single path segment and a resource.
>     Because a binding is a member of a collection, a binding creates
>     one or more URL mappings to the resource.

"An association between a single path segment and a resource.
A binding is part of the state of a collection, and identifies an
internal member of the collection.  A new binding
to a collection resource creates a new URL mapping to that
collection resource and new URL mappings to each of the members
of that collection."

>Collection
>     A resource that contains a set of bindings, termed member
>     bindings, which identify member resources.

"A resource whose state consists of a set of bindings which identify
the internal members of that collection."

>Member Binding
>     A binding that is a member of the set of bindings contained by a
>     collection.

(Do not need the term "Member Binding" since there is no other kind
of binding).

>URL Mapping
>     An association between an absolute URL or URI and a resource. It
>     is possible for a resource to have zero, one, many, or even an
>     infinite number of URL mappings to URLs or URIs. Mapping a resource to
>     an "http" scheme URL makes it possible to submit HTTP protocol
>     requests to the resource using the URL.
>
>4.2.8 DELETE and Bindings
>
>The DELETE method requests that the server remove the binding between
>the resource identified by the Request-URI and the binding name, the
>last path segment of the Request-URI (with trailing slash, if present).
>The binding MUST be removed from its parent collection, identified by
>the Request-URI minus its trailing slash (if present) and final segment.
>If DELETE removes the last binding to a resource, the server MAY also
>reclaim system resources associated with the resource.

>Since DELETE as specified in [WebDAV] is not an atomic operation, it may
>happen that parts of the hierarchy under the request-URI cannot be
>deleted.  In this case, the response is as described in [WebDAV].

"Since DELETE of a single binding can delete many mappings, a DELETE
may fail if any of those mappings are locked."

>
>Section 8.6.1 of [WebDAV] states that during DELETE processing, a server
>"MUST remove any URI for the resource identified by the Request-URI from
>collections which contain it as a member."  Servers that support
>bindings SHOULD NOT follow this requirement.
>
>-----------------
>
>In addition, we are proposing to add to the specification an All-Bindings
>header for use with DELETE.  This would request the server to remove all of
>the bindings to the resource, and would allow the server (but not require
>it) to reclaim system resources associated with the resource once the
>bindings were removed.
>

Received on Monday, 24 May 1999 15:14:24 UTC