RE: Namespace consistency

I wrote:
> yes, the resource identified by http://warlok.ds.boeing.com/~howie/
> needs to be of type WebDAV collection if
> http://warlok.ds.boeing.com/~howie/a/b/c is WebDAV-compliant.

Jim Davis wrote:
> I agree that this is the implication of the protocol as it stands.

Yaron Goland wrote:
> Actually no, http://foo/bar does NOT have to be a collection just because
> http://foo/bar/blah is a collection.

Jim Davis wrote:
> I say, strike the restriction.

Mark Fisher wrote:
> Based on my experiences as a webmaster, I'd agree.

John Stracke wrote:
> I agree.

I am quite happy to alter the language of the -08 spec. so that the correct
meaning of these requirements is expressed, rather than the virus-like
behavior that the spec. can be read to imply, which people object to.

What I read from this rough consensus on the list is people would like the
language to read that a parent of a resource does not have to be a
WebDAV-collection.  However, if the parent of a WebDAV resource is itself
WebDAV compatible, then it has to be a WebDAV collection.

A couple of questions:

1) Should there be a policy for whether the parent of a resource must exist?
So, if http://foo/bar/blah exists, and is DAV-compliant, must resource
http://foo/bar/ exist?

My answer: Since we're not requiring the parent of a DAV resource to be a
DAV collection, there is no guarantee that a client will be able to retrieve
a listing of the other resources at a given level in the HTTP URL hierarchy.
Due to this, there isn't much of a difference between getting a 501 Not
Implemented for an existing resource that doesn't support PROPFIND, or
getting a 404 Not Found for a non-existing resource -- either way the client
won't be able to get an index.

So, my answer is that we shouldn't require a DAV-compliant resource to have
a parent resource.

2) Larry Masinter's question (intermediate collections):

> Must the intermediaries also be DAV compliant? Well, for one level
> it doesn't matter, but suppose:
>
> 1)  http://foo/bar is DAV compliant
> 2)  http://foo/bar/a/b/c/blah/ exists and is DAV compliant
> 3)  then must http://foo/bar/a/b be a (DAV-compliant) collection?
>
> This would leave out the possibility that http://foo/bar/a might
> be some kind of mapping? Or is it that "exists" needs elaboration
> to except that case where it's a redirection?

My answer: I think we should require all collections below a DAV-compliant
resource to also be DAV-compliant.  So, while it's OK to not be
DAV-compliant looking up a hierarchy tree, looking down the tree from a
DAV-compliant location should always be DAV-compliant.  This way DAV clients
will be able to get listings of the members of a collection once they're in
a DAV compliant portion of the namespace while going down the namespace
hierarchy, providing a less confusing user experience than if the behavior
of the namespace changed from level to level.

- Jim

Received on Monday, 14 September 1998 22:00:31 UTC