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$