RE: DAV:resourcetype

   From: Lisa Dusseault [mailto:lisa@xythos.com]

   > Now, tell me how is this different to DAV:supported-*-set?

   It is different.
    - It's less variable.  Supported-*-set can contain a whole mess of
things
   depending on what the server chooses to implement.

A server will want to expose this whole mess of things in a way that
can be discovered and used by a client.  If clients use
DAV:resourcetype to discover what kind of resource they are dealing with,
then that information would have to be added to DAV:resourcetype.

    - It's more directly purposed.  Supported-*-set is not intended to show
the
   type of things.  As JimA points out, just because two things support
method
   FOO, doesn't mean they have the same behaviour when you tell them to FOO.

I'm not quite sure what "directly purposed" means, but as Tim
responded to JimA, we require extensions to the protocol to be
compatible with existing semantics of the protocol, and so the fact
that two things support method FOO *does* mean that they have
basically the same behavior when you tell them to do FOO.  When we
extend a method for some resource, all we do is add a few extra
preconditions and post conditions that *supplement* the existing
preconditions and postconditions that define the behavior of a method.
This ensures that a client can confidently apply a given method or
access a given live property for any resource, and have it work "as
expected".

    - It more closely maps to what the client needs to know first of all --
   that is, what *kind* of thing is this so that I can display a correct
icon
   when the user browses.  Afterward, the client may need to know the
   supported-*-set for other purposes.

For versioning resources, the DAV:supported-*-set tells you precisely
what kind of thing you are dealing with, and therefore provides the
information you need to decide on a correct icon.

Cheers,
Geoff

Received on Thursday, 21 June 2001 16:50:10 UTC