Subject: RE: Issue: ALLPROP_AND_COMPUTED

From: "Clemm, Geoff" <[email-masked]>
Date: Wed, 25 Apr 2001 14:36:39 -0400

I believe it is simpler and more desireable to deprecate the use of allprop
in all situations, not just Depth:infinity.

Cheers,
Geoff

-----Original Message-----
From: Jim Whitehead [mailto:[email-masked]]
Sent: Wednesday, April 25, 2001 2:20 PM
To: WebDAV WG
Subject: Issue: ALLPROP_AND_COMPUTED

This issue is currently stated as:

If a server has some computed properties which are expensive to compute,
then PROPFIND allprop, especially PROPFIND allprop with Depth infinity can
be an expensive operation.  There should be an implementation note added to
the document noting this problem.  Suggestion that servers might want to be
conservative in their implementation of such compute expensive properties.
Clients should only perform PROPFIND allprop when necessary, not by default.

It was raised by Ken Coar at the Advanced Collections breakout at the
Orlando IETF meeting.

But, since that time there has been a substantive discussion of this issue,
begun by Lisa Dusseault, starting at:

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000OctDec/0034.html

My understanding of the rough sentiment of the working group is:

1) PROPFIND allprop requests with Depth infinity should be deprecated. That
is, PROPFIND allprop with Depth infinity will remain in the WebDAV
Distributed Authoring Protocol, but there will be a requirements added that
new clients MUST NOT use this capability.  When existing clients are
revised, they SHOULD be rewritten to avoid using PROPFIND allprop Depth
infinity requests. This will only apply to PROPFIND allprop with Depth
infinity -- PROPFIND allprop for Depth 0 and 1 will still be OK.

2) The default behavior of PROPFIND will be changed so it is Depth 0, not
Depth infinity.

- Jim

---

From: Greg Stein <[email-masked]>
Date: Wed, 25 Apr 2001 21:47:06 -0700

Nah, that is a bit too extreme. There are clients that may not be able to
interpret all the properties, but still needs to retrieve them. These are
clients that deal with arbitrary properties as blobs.

allprop is needed to avoid a multiple-trip to fetch names then values. Let's
also consider what would be needed if you're trying to do an allprop on a
tree. You would need to issue a PROPFIND/propname with a Depth:1, then issue
N PROPFINDs to get each set of properties from the resources. That is just
*way* too burdensome.

The alternative is a PROPFIND/allprop with Depth:1 as a single fetch for the
properties of a collection and its members.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/