Subject: RE: WebDAV Bindings - Issue Yaron.MrIntegrity

From: "Slein, Judith A" <[email-masked]>
Date: Wed, 19 Jan 2000 12:05:00 -0500

A binding is a relation between a segment S in a collection C and a resource
R, represented C:(S->R).  We are saying that when a server agrees to create
a binding, it MUST guarantee that the binding will continue to exist until
one of the following happens:
 
DELETE with a Request-URI whose final segment is S and the rest of the URI
identifies collection C
MOVE with a Request-URI whose final segment is S and the rest of the URI
identifies collection C
BIND with a Destination whose final segment is S and the rest of the URI
identifies collection C, and Overwrite is T
DELETE the last binding to collection C
 
It is not acceptable for a binding to be destroyed as a side effect of any
other operation.
 
That's it for currently defined methods, I think.  But I also think that we
do have to rely on a more conceptual definition, however inexact, to convey
the implications for other methods that might be defined in the future.
 
So here's a shot at the conceptual definition:
 
If a server allows binding C:(S->R) to be created, it MUST guarantee that
the resource R will continue to be accessible through the URI mappings
induced by that binding until it receives an explicit request to destroy the
binding.  Such a request would have to ask explicitly that some element of
the relation C:(S->R) be removed, or that the relationship itself be
removed.  It would have to explicitly request that the last binding to C be
removed, that the last binding to R be removed, or that the binding C:(S->R)
be removed from C.
 
--Judy
 
 -----Original Message-----
From: Yaron Goland [mailto:[email-masked]]
Sent: Sunday, January 16, 2000 8:49 PM
To: [email-masked]
Subject: WebDAV Bindings - Issue Yaron.MrIntegrity

The last sentence of the last paragraph of section 4 reads "Implementations
MUST ensure the integrity of bindings." Similar language is used in the
second paragraph of section 5.1. However the term "integrity" was never well
defined inside of the specification. As such it is impossible to comply with
this requirement in an interoperable way. I would strongly caution against
attempting to specify the definition for integrity, English is much too
inexact a language for such an attempt to be successful.

        As such, I move that both sentences be removed and be replaced with
a series of statements that define, in exact language, the requirements that
are to be represented by the term "integrity", each sentence properly
qualified with a MUST.

---

From: "Roy T. Fielding" <[email-masked]>
Date: Thu, 20 Jan 2000 16:38:44 -0800

>It is not acceptable for a binding to be destroyed as a side effect of any

I don't understand why this is a requirement of bindings.  It certainly
isn't a requirement of normal resources.  Why should the requirements on
bound names be stronger than the names they bind to?

....Roy

---

From: Jim Whitehead <[email-masked]>
Date: Fri, 21 Jan 2000 09:56:11 -0800

> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of Roy T. Fielding
Another way of stating the rationale for the integrity requirement is this:
we wanted to create a requirement that would prevent bindings that "dangle".
It must not be possible for a client to interact with a binding that doesn't
have a destination resource.

- Jim

> Sent: Thursday, January 20, 2000 4:39 PM
> To: Slein, Judith A
> Cc: [email-masked]
> Subject: Re: WebDAV Bindings - Issue Yaron.MrIntegrity
>
>