Comments on the current draft

Here some comments on the current draft (excluding locking)

  2.2.1     Overview

         The DAV property model is based on name/value/attribute triples.
         The name of a property identifies the property's syntax and
         semantics, and provides an address with which to refer to a
         property. The value of a property is an octet stream. The
         attributes of a property are a set of name/value pairs that are
         not directly addressable. Attributes are retrieved in conjunction
         with retrieving a property, and are set when changing a property's
         value. This specification defines two attributes, live, which
         indicates if the property's syntax and semantics is enforced by
         the server, and readonly, which indicates that the property's
         value may be retrieved but not set.

[Comment] The above paragraph implies that it is not possible to change a property's attributes if the property is readonly. Is this intentional?

Last paragraph in 2.2.3

            If a client submits an attribute when setting a property
            then the server MUST NOT record the property unless it
            accepts the values specified for the corresponding
            attributes. Thus, if a property value is submitted with a
            live attribute then the server MUST NOT record the value
            unless the server understands and enforces the syntax and
            semantics of the property.

[Comment] Can someone explain this paragraph to me? It seems to me that the paragraph only makes sense if you replace the final "property" with "attribute".

Last paragraph in 2.3.2 contains the following sentence

...If this attribute is included when setting the
            value of a property, the request MUST be rejected since
            accepting the value would violate ReadOnly attribute.....

[Comment] How does one set a property to be readonly if including it in the setting of the property will cause the operation to fail and this is the only way to change the attribute?

2.5.1

[Comment] What is the distinction between source of the link and destination of the link? I haven't been able to think of an example where one would require this distinction. In fact in the example in section 2.5.6 the sources and the destinations are always the same so it seems as though the authors weren't able to think of one either.

2.6.5.2.6 Match-String XML element

[Comment] The above heading should read "2.6.5.2.6 Match-Stream XML element"

....            Description: This element provides a template against which
            anything that can be expressed as an octet stream may be
            compared. "*" is a wildcard that matches zero or more
            unspecified contiguous octets. "?" is a wildcard that
            matches exactly one unspecified octet. ......

[Comment] This paragraph is not reconcilable with ISO 10646 because an international character could be more than one octet wide.

3.1.3

.......            In the general case, a large number of source resources can
            comprise a data-producing process that generates many output
            resources, creating a many-to-many relationship between
            output resources and source resources. If each output
            resource had links back to every source resource in the
            data-producing process, there can be a potentially large
            number of such links. Due to the potentially large number of
            links, and the lack of a policy for ordering access to
            multiple sources, explicit storage of source relationships
            is limited to cases with only a single source resource. .......

[Comment] The above is too restrictive to be useful. This means we cannot even use this mechanism for linking the output resource to the corresponding language versions so I have to ask what the point is in having this feature at all?

3.2.4

[Comment] Which response does one get if one does not have permission to perform this operation?

3.5.3.3

....            A Depth of "0" indicates the collection MUST duplicate all
            of its external members in a new collection at the
            Destination. Since the COPY method is not propagated to its
            members, no internal member resource is duplicated. ....

[Comment] Why the distinction between internal and external members? I find this a bit ideosynchratic. Depth 0 should simply not do anything for collections.

[Comment] When duplicating external members, does the server copy the reference to them or their content (I assume it is the reference)?

3.5.3.4

....            If the destination resource identifies a collection and the
            Overwrite header is "true," prior to performing the copy,
            the server MUST perform a DELETE operation on the
            collection. ....

[Comment] Deleting a collection before overwriting it (or stipulating that this should be done) will cause all the previous versions of the members of the collection to be lost. Is this really the intention of the Overwrite header?

3.5.5.1

[Comment] In this example, Destination is fully qualified. Why? Is this intentional? May it be relative to the Host? Is the host in Destination allowed to be different from the source host?

3.6.1

....            The move operation on a resource is the logical equivalent
            of a copy followed by a delete. ....

[Comment] The above paragraph should read "The move operation on a resource is the logical equivalent of a copy with depth infinity followed by a delete."

3.11

[Comment] What are the defaults for all the headers specified here.

Received on Monday, 4 August 1997 04:24:31 UTC