TODO

dave

- globs on lock(),unlock(),steal(),options()?,move(),copy(),propfind(),proppatch() (and set/unset).
- rework ls to use globs.
- multistatus responses don't come through nicely.

HTTP::DAV

- Rework the file transfer code to avoid slurping complete files in memory
  and read through a fixed size buffer, to avoid memory hogs or crashes
  when transferring huge files.
- LWP doesn't allow callback on upload, only download. This means
  we can't do progress indicators on "PUT". How to do it? Could patch
  LWP? Specialise LWP::UserAgent? Ugh.
- doco globs in DAV.pm
- fix get references
- _put calls propfind on every call throughout a recursive _put().
  need to adjust this so that it does it only once, in put(). After 
  the first time, we should be able to KNOW whether it is a collection
  or not instead of having to propfind to find out becasue in theory
  WE were the ones who put the file there.

- finish "source" property in DAV::Resource.pm
- redo POD Resource.pm

- setup_if_headers need to get just Rsource's locks not all RL's locks.
- discovery still isn't resetting locks properly ????
- DAV.pm as_string needs working resource
- finish lock (bug against mod_dav somewhere)

- mod t/* for IIS 5 lock and proppatch deficiencies.
- how to we handle degradation for incomplete servers in test suite (IIS)?
- mod_dav has a very strange bug with lock-null resources.
  The following combination of commands makes it weird out:
     $ mkdir dir1
     $ lock dir1
     $ lock dir2 (this is a lock null)
     $ move dir1 dir2
     Now, the spec says that dir2 should now be the copy of dir1 and it should be locked.
     However, mod_dav has an unlocked dir2. Even worse, if you delete dir2, there is 
     a shadowed lock-null resource called dir2 sitting behind the scenes. Bad.

Wishlist functions

- testing against Zope
- dave:implement netrc?
- dave:tab completion? history?
- dave:implement more advanced command-line interaction
- dave:copy/move should allow the user to set 'depth' and 'overwrite'
- redo auth as a callback? If so, needs 2 functions, get and success.

Wishlist projects

- Namespaces are not currently supported. I munge around them since
  they are not supported in DOM1 which is what XML::DOM uses.
- Rework Response.pm now that LWP::Status supports the status codes.

- support for LWPng which is fully HTTP/1.1 compliant.
- DAV Bindings
- DAV Redirects Reference
- DAV Ordered collections
- DAV DASL support
- DAV Delta-V
- DAV ACL's

$Id$