Subject: [Bug 227] Collection state definition in conflict between BIND and RFC2518bis

From: [email-masked]
Date: Thu, 16 Feb 2006 10:54:29 -0800

http://ietf.cse.ucsc.edu:8080/bugzilla/show_bug.cgi?id=227

[email-masked] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         [email-masked][email-masked]

------- Additional Comments From [email-masked]  2006-02-16 10:54 -------
I did the changes discussed in the 2006-02-15 telecon. See below and
at
<http://greenbytes.de/tech/webdav/draft-reschke-webdav-rfc2518bis-latest.html#rfc.issue.bz227>.

Section 3., para. 3:
OLD:

    Collection - A resource that contains a set of URLs, which identify
    and locate member resources and which meet the collections
    requirements (Section 5).
 
    Member URL - A URL which is a member of the set of URLs contained by
    a collection.
 
    Path Segment - Informally, the characters found between slashes ("/")
    in a URI.  Formally, as defined in Section 3.3 of [RFC3986].

    Internal Member URL - A member URL that is immediately relative to
    the URL of the collection.  That is, the internal member URL is equal
    to a containing collection's URL plus an additional path segment for
    non-collection resources, or additional segment plus trailing slash
    "/" for collection resources.

NEW:

    Path Segment - Informally, the characters found between slashes ("/")
    in a URI.  Formally, as defined in Section 3.3 of [RFC3986].

    Collection - Informally, a resource that also acts as a container of
    references to child resources.  Formally, a resource that contains a
    set of mappings between path segments and resources and meets the
    requirements in Section 5.
 
    Internal Member (of a Collection) - Informally, a child resource of a
    collection.  Formally, a resource referenced by a path segment
    contained in the collection.
 
    Internal Member URL (of a Collection) - A URL of an internal member,
    consisting of the URL of the collection (including trailing slash)
    plus the path segment identifying the internal member.
 
    Member (of a Collection) - Informally, a "descendant" of a
    collection.  Formally, an internal member of the collection, or,
    recursively, a member of an internal member.
 
    Member URL (of a Collection) - A URL that is either an internal
    member URL of the collection itself, or is an internal member URL of
    a member of that collection.

(rewrite definitions of collection and (internal) member (URL)).    

Section 5.2., para. 3:
OLD:

    When a WebDAV resource has a URL U, such that U is the same as URL V
    plus a single additional path segment, then if the resource
    identified by V is WebDAV compliant it MUST be a collection that has
    U as an internal member URL.  For example, if
    "http://example.com/bar/blah" is a WebDAV resource, then if
    "http://example.com/bar/" is WebDAV compliant, it MUST be a
    collection and MUST contain "http://example.com/bar/blah" as an
    internal member.
 
    Collection resources MAY have internal members with mappings to non-
    WebDAV compliant children in the HTTP URL namespace hierarchy but are
    not required to do so.  For example, if the resource X with URL
    "http://example.com/bar/index.html" is not WebDAV compliant and the
    resource with URL "http://example.com/bar/" identifies a collection,
    then collection "bar" might or might not have an internal member with
    a mapping from "index.html" to the resource X. If the collection
    doesn't have such an internal member, presumably the consequence is
    that the "index.html" resource might not show up in PROPFIND
    responses, might not be locked when the collection is locked, might
    not have WebDAV properties, and so on.

NEW:

    For all WebDAV compliant resources A and B, identified by URLs "U"
    and "V" respectively, such that "V" is equal to "U/SEGMENT", A MUST
    be a collection that contains a mapping from "SEGMENT" to B. So, if
    resource B with URL "http://example.com/bar/blah" is WebDAV compliant
    and if resource A with URL "http://example.com/bar/" is WebDAV
    compliant, then resource A must be a collection and must contain a
    mapping from "blah" to B.
 
    Collection resources MAY have mappings to non-WebDAV compliant
    resources in the HTTP URL namespace hierarchy but are not required to
    do so.  For example, if the resource X with URL
    "http://example.com/bar/blah" is not WebDAV compliant and the
    resource A with "URL http://example.com/bar/" identifies a
    collection, then A may or may not have a mapping from "blah" to X.

(use text supplied by Geoff)    

Section 5.
NEW:

 5.2.1.  Example: non WebDAV-compliant resource in collection
 
    A typical scenario in which mapped URLs do not appear as members of
    their parent collection is the case where a server separates WebDAV
    specific handling from other extensions, such as controlling redirect
    resources.  For instance, "/col/link" would not appear as a member of
    "/col/", although the server would respond with a 302 status to a GET
    request to "/col/link", thus the URL "/col/link" would indeed be
    mapped.
 
 5.2.2.  Example: URL of WebDAV-compliant resource not appearing in
         parent collection
 
    An example for this case are servers that support multiple alias URLs
    for each WebDAV compliant resource.  For instance, a server may
    implement case-insensitive URLs, thus "/col/a" and "/col/A" identify
    the same resource, yet only either "a" or "A" are reported upon
    listing the members of "/col".

(add two examples)

Section 9.1., para. 11:
OLD:

    Consequently, the 'multistatus' XML element for a collection resource
    with member URLs MUST include a 'response' XML element for each
    member URL of the collection, to whatever depth was requested.  Each
    'response' XML element MUST contain an 'href' XML element that
    contains the URL of the resource on which the properties in the prop
    XML element are defined.  Results for a PROPFIND on a collection
    resource with internal member URLs are returned as a flat list whose
    order of entries is not significant.  Note that a resource may have
    only one value for a property of a given name, so the property may
    only show up once in PROPFIND responses.

NEW:

    Consequently, the 'multistatus' XML element for a collection resource
    MUST include a 'response' XML element for each member URL of the
    collection, to whatever depth was requested.  It SHOULD NOT include
    any 'response' XML elements for resources that are not WebDAV-
    compliant.  Each 'response' XML element MUST contain an 'href' XML
    element that contains the URL of the resource on which the properties
    in the prop XML element are defined.  Results for a PROPFIND on a
    collection resource are returned as a flat list whose order of
    entries is not significant.  Note that a resource may have only one
    value for a property of a given name, so the property may only show
    up once in PROPFIND responses.

(Simply, + add text about SHOULD NOT include non-WebDAV compliant resources)

------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.