Well, I just read the latest CalDAV draft.  There are some good things and 
some bad things about the latest round of changes.  
   
 The good news is that they've significantly reduced the prerequisite 
requirements.  We've almost got enough baseline DAV support to meet the 
list of requirements that the CalDAV spec wants to have present before 
they get into the calendar-specific stuff.  Specifically, only WebDAV 
Level 1 is required, not Level 2.  The requirement to support the DASL 
extensions has, thankfully, been dropped.  ACL support is still required, 
but we can probably get by with some simple hacks on that one.  
   
 The somewhat bad news is that they've removed the language which says 
that the HTTP "Location:" header must be supported by clients issuing a 
PUT command.  This is stupid.  If the underlying data store has no way of 
preserving the supplied URL (which we currently don't) then the 
"Location:" header is supposed to tell the client where it actually went.  
This is how GroupDAV does it, and it's the Right Way (tm) to go.  
Initially I think I'm going to just do it that way anyway and see how the 
available clients handle it -- they're all using HTTP client libraries 
anyway so it will probably work.  
   
 The really bad news is that the REPORT command is still in there, and it 
is *hideously* complex.  There are at least a dozen different reports in 
there, and chewing through each one requires a craptastic amount of XML 
parsing.  This is the piece that could potentially take months to 
implement.  
   
 Lisa Dusseault and all CalDAV proponents are all automatically added to 
my chainsaw list.  

Reply via email to