- From: Clemm, Geoff <gclemm@rational.com>
- Date: Thu, 13 Dec 2001 02:29:04 -0500
- To: w3c-dist-auth@w3.org
From: Peter Raymond [mailto:Peter.Raymond@merant.com]
In my earlier e-mail I mentioned that I was unsure about the
contents of the DAV:bindings property. Here is some more detail
about why I think it is unclear, also find attached some PowerPoint
slides which I used to try to understand the bindings property.
I guess there are two things in the text that mislead me:
1) Section 13.1 says that the property "contains a complete list of
all bindings to that resource", but also says it is necessary to
select one URI mapping for a collection. It seems to contradict
itself, it is not complete because it only contains one URI
mapping for a collection.
A binding is an named association between a collection and a resource,
where the "name" is a URI segement. You perhaps are confusing a
"binding" with a "mapping" (where a "mapping" is an association
between a URL and a resource).
2) It also says you should preferably use the mapping in the
request-URI of the BIND request. But I am unclear as to which
BIND request.
The BIND request that created the binding named "bar" from C1 to R2.
It is a PROPFIND request which was issued to find
the DAV:bindings property, not a BIND request.
Yes, but that is not relevant for naming all the bindings
(since the collections containing the bindings are in general
unrelated to the request-URL of the PROPFIND request).
Perhaps it means
the last BIND request for that collection or perhaps it means
the first bind request for the resource in the collection?
No, the BIND request that created the binding that is being identified.
So using the example in Figure 1 of the bindings document you have the
URI
paths:
/coll1/bar
/coll2/bar
/coll3/foo
/coll1/ and /coll2/ are the same collection resource but all these
URIs point to the same resource (R2).
OK.
Imagine you make a PROPFIND request on /coll2/bar, asking for the
DAV:bindings
property...should you get:
<bindings>
<href>/coll1/</href>
<segment>bar</segment>
<href>/coll2/</href>
<segment>bar</segment>
<href>/coll3/</href>
<segment>foo</segment>
</bindings>
That is a "complete" list of all bindings for resource R2...
/coll1/bar and /coll2/bar both identify the same binding (from C1 to R2),
so you shouldn't have both in the dav:bindings list.
BUT section 13.1 says you should pick only one URI for a given
collection, so perhaps it should return:
<bindings>
<href>/coll2/</href>
<segment>bar</segment>
<href>/coll3/</href>
<segment>foo</segment>
</bindings>
Because /coll1/ and /coll2/ are the same collection I have picked
just one URI mapping for that collection...
Yes.
in this case I used the URI mapping from the PROPFIND request.
The URI mapping from the PROPFIND request is not relevant.
What is relevant is whether the binding was created by
BIND /coll3/foo
Destination: http://host.com/coll1/bar
or
BIND /coll3/foo
Destination: http://host.com/coll2/bar
In the first case, http://host.com/coll1/bar should be in the
DAV:bindings property for R2, while in the second case,
http://host.com/coll2/bar should be in the DAV:bindings
property for R2.
Cheers,
Geoff
Received on Thursday, 13 December 2001 02:29:44 UTC