- From: Geoffrey M Clemm <geoffrey.clemm@us.ibm.com>
- Date: Sun, 15 Jul 2007 23:49:39 -0400
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: ietf-carddav@osafoundation.org, WebDAV <w3c-dist-auth@w3.org>, w3c-dist-auth-request@w3.org
- Message-ID: <OFFB95A4FC.ADB6A5DF-ON8525731A.0014E5A0-8525731A.001502E2@us.ibm.com>
I agree with all of Julian's comments below. Julian wrote on 07/15/2007 06:21:31 AM: > > Below are some high-level comments on draft-daboo-carddav-02 > (<http://tools.ietf.org/html/draft-daboo-carddav-02>). I'm cross-posting > this to the WebDAV and Carddav mailing lists, but will send a separate > mail going into some other details of CardDAV just to the CardDAV > mailing list. > > > > The CardDAV design essentially is the same as for CalDAV, which has > recently been approved by the IESG and been published as RFC4791. So it > must be good, right? > > Although I do agree that CalDAV solves an interesting problem, and that > it is likely going to work in practice, it made several design decisions > that I think hurt it with respect to acceptance, performance and > generality. I understand that it's very tempting to just copy over the > design; but I think it would be really good to reconsider the points below. > > > Overall design / new methods > > Both specs use standard MIME types, and expose data through HTTP. This > is a good thing. They also define new subclasses of WebDAV collections, > which add some new constraints on their contents. I'm not entirely > convinced that this is really needed, but in this case I'll trust the > domain knowledge from the calendaring people. I'm not sure though > whether the constraints for address books really require this. > > The introduction of new DAV:resourcetypes however has lead to the > introduction of new HTTP methods, with the single purpose of creating a > WebDAV collection with a certain set of properties. I think this is an > extremely bad idea. > > Now I do *not* belong to the group of people with "new method angst". > Defining new methods that have general applicability is completely ok > IMHO. Good examples are COPY/MOVE, some of the versioning methods, BIND > and so on. The difference to MKCALENDAR and MKADDRESSBOOK is that these > ones are restricted to a single application use case. So what's next? > MKPHOTOCOLLECTION? MKMUSIKCOLLECTION? > > Instead, I'd suggest defining what MKCALENDAR and MKADDRESSBOOK have in > common, and come up with a single solution to that. For instance, such > as MKCOL using a request body that carries a set of properties, > including the WebDAV resource type. > > > Use of Reports > > Everytime a new REPORT is introduced, a new set of information is made > hard to cache. In some cases that may be harmless (such as when it's > something like a query, line in some RFC3744 reports). > > However, defining a "multiget" really seems to be a bad idea, and now > there are even two of those! Please take this out until it can be shown > that just sending a bunch of GET requests (which can take advantage of > caching) is not sufficient. > > > Property model > > The specs avoid exposing the content of their data objects as WebDAV > properties. This leads to lots of workarounds, such as introducing > "pseudo-properties" containing the actual content > (CARDDAV:addressbook-data), and abuse of DAV:prop for something that is > not a WebDAV property. Don't do this, it requires generic WebDAV servers > to use lots of special cases. (WebDAV SEARCH started with pseudo > properties but got successfully rid of them, so this can be done). > > > Best regards, Julian >
Received on Monday, 16 July 2007 03:49:44 UTC