- From: Clemm, Geoff <gclemm@rational.com>
- Date: Tue, 22 May 2001 12:38:25 -0400
- To: ietf-dav-versioning@w3.org
From: Stefan Eissing [mailto:stefan.eissing@greenbytes.de]
Oops. Our understanding was that DAV:propname behaves analog to
DAV:allprop and will not include the versioning properties. I see
that "propname" is not mentioned in
ietf-deltav-versioning-15. Could you clarify?
With the versioning protocol, everything stated in HTTP-1.1 (RFC-2616)
and WebDAV (RFC-2518) holds unless explicitly extended or modified by
the versioning protocol. Since nothing is said about DAV:propname, it
has the behavior defined in RFC-2518, i.e. it lists all the properties
of a resource (including the versioning properties).
My example was referring back to your explanation about the true
usefulness of DAV:supported-live-property-set. Since I would like
to present all dead and standard properties (propfind/allprop),
plus know what type of resource I have got, I would need to get
DAV:supported-live-property-set as well (and hopefully _not_ more).
OK I misunderstood (I thought you then wanted to actually retrieve all
those properties as well) ... now that I understand what you actually
are doing, I agree that it is very reasonable and sensible.
... Maybe I need to supply a more specific example:
My code could be used by a WebFolder like application, which knows
about basic versioning. It would need to know for a collection
a) the "standard" RFC 2518 Properties, plus all dead properties (which
it might make use of internally)
b) if a resource is versionable (to allow context menu "make
versionable...")
c) if a resource is version-controlled, e.g. checked-in/out (to allow
context menu
entries like "check in..." etc.)
d) if a resource is versioned, e.g. part of history (to indicate that it
cannot be altered)
For this, it is useful to enhance PROPFIND/allprop to make only one
request
against the WebDAV server. We did this in our implementation with good
results
like:
<D:propfind xmlns:D="DAV:">
<D:allprop/>
<ext:include xmlns:ext="http://greenbytes.de/ns/tests">
<D:checked-in/>
<D:checked-out/>
<D:version-name/>
</ext:include>
</D:propfind>
This gives us good performance and also works against current
implementations of moddav, IIS 5.0 and SharePoint RC1.
This all makes sense. I agree that this is the best you can do
with the current behavior of D:allprop.
I support Stefan's proposal that we have a way of querying for
all dead properties and a specified set of live properties. I
believe we have a cleaner compatibility story if we introduce a
new value (e.g. DAV:alldeadprop or DAV:all-dead-prop), and then
allow that to be combined with a list of explicit properties, i.e.:
<D:propfind xmlns:D="DAV:">
<D:all-dead-prop/>
<D:checked-in/>
<D:checked-out/>
<D:version-name/>
</D:propfind>
Cheers,
Geoff
Received on Tuesday, 22 May 2001 12:39:30 UTC