Subject: RE: Issue: ALLPROP_AND_COMPUTED

From: "Clemm, Geoff" <[email-masked]>
Date: Sun, 6 May 2001 10:27:10 -0400

I personally would like to be a bit more proactive than
"let's wait until it breaks before worrying about it".
By then, all the broken, non-interoperable clients and
servers have been deployed, and its too late for a clean
or simple fix.

The fact that DAV:allprop can be efficiently implemented
by a server that supports only the 2518 properties and the
relatively few number of dead properties that clients
create these days is not the problem.  It is the fact that
large numbers of expensive to compute properties are currently
being defined, both in the protocol and as custom properties,
that raises the concern.

Having clients "discover and adjust" is not a good technique
for achieving interoperability.  The fact that
DAV4J ignores the 2518 requirement
that by default a PROPFIND MUST be DAV:allprop, is a good
example of the interoperability problems that arise when
the protocol makes a poor choice of exposing functionality.
A client writer would need to be aware of the various
"variations from the protocol" that have been chosen
by various server implementors (e.g. returning "errors"
on requests that the server feels are "too expensive"),
and then try a sequence of alternative requests to get the
desired result.

Cheers,
Geoff 

-----Original Message-----
From: Jim Amsden [mailto:[email-masked]]
Sent: Sunday, May 06, 2001 9:17 AM
To: [email-masked]
Subject: Re: Issue: ALLPROP_AND_COMPUTED

Greg (and Jason seems to agree):

Personally, I would recommend leaving it just as it is, with a note in the
spec that the server can return <this> error in certain cases. The client
should interpret that as "whoops. we asked too much" and back off to a
nicer
algorithm. (and better yet, just start with the nice one)

I also agree, but think the default should probably be changed to depth 0.
Althought clients are free to deal with that too. DAV4J's
Resource.getProperties() method uses a depth 0 default in its marshalling.
It doesn't really matter what the protocol specifies. Clients can use what
they want. allprop is just one option for getting properties. If servers
are slow or fail on it, client writers will discover this and adjust
accordingly. I don't think there's any need for the protocol to try to
solve it any further. Some servers can return all the properties pretty
fast. As slow as the DAV4J server is on most operations, it can return all
the properties pretty fast since they're all in a single XML document.
Depth infinity isn't that slow either, but their might be a lot of files
returned!

---

From: "Julian Reschke" <[email-masked]>
Date: Mon, 7 May 2001 22:36:29 +0200

Hi,

writing a WebDAV server, we found that it's a useful feature

a) for the server to pass information about a property's datatype to the
client

and

b) for the client -- when creating new properties -- to pass data type
information to the server.

(something similar is currently done by MS Webfolder, IIS and MS's
sharepoint server -- but Microsoft's solution isn't properly documented and
relies on outdated technlogy (XML data).

I'm therefore corrently writing up a proposal how to do this in a
well-defined and open way (while implementing at the same time), based on
XML Schema Part 2 (datatypes) and possibly SOAP.

If somebody else is working on a similar extension, it would be nice to
exhange ideas.

Julian