PerlDAV -- A WebDAV client library for Perl5 PerlDAV is a Perl library for modifying content on webservers using the WebDAV protocol. Now you can LOCK, DELETE and PUT files and much more on a DAV-enabled webserver. The PerlDAV library consists of: * HTTP::DAV - an object-oriented Web-DAV client API. * dave - the DAV Explorer, an end-user Unix console program for interacting with WebDAV servers. dave looks and feels like a standard Unix ftp program. Learn more about WebDAV at http://www.webdav.org/ LATEST VERSION AND WHAT'S NEW The latest version is: v0.29 (released 2001/10/30 15:47:10) Download: http://www.cpan.org/authors/id/P/PC/PCOLLINS/ What's new * https https support as provided from the underlying LWP library has been tested against mod_dav and mod_ssl. Seems to work well. See INSTALLATION for more detail. * Digest authentication Requires MD5 to be installed. See INSTALLATION notes. * various bug fixes * more powerful callback support for get() Useful for giving progress indicators. * get() to filehandles and scalar references the get() routine now allows you to pass by reference a filehandle or scalar in which to save the contents of the GET request. * added namespace abbreviations in proppatch Thanks to Jeremy for this patch. * improved redirect handling in Comms.pm Thanks to Jeremy for this patch. See the Changes file for previous releases. INSTALLING PERLDAV The lazy way to install PerlDAV: $ perl -MCPAN -e shell cpan> install HTTP::DAV Or the normal way: Retrieve the latest copy from CPAN: http://www.cpan.org/authors/id/P/PC/PCOLLINS/ $ perl Makefile.PL # Creates the Makefile $ make # Runs the makefile $ make test # Optional (See Interopability below) $ make install # Installs dave and HTTP::DAV With this method you will first have to install the pre-requisites: LWP and XML::DOM, see the what are the prerequisites? entry elsewhere in this document. When you install PerlDAV, the HTTP::DAV library will be installed to your Perl library location (usually /usr/local/lib/perl5) "dave" will be installed to /usr/local/bin. This suits most people but you can modify this by using the INSTALLBIN flag: $ perl Makefile.PL INSTALLBIN="/home/pcollins/bin" What Are The Prerequisites? * LWP (Have not tested lower than v5.48) * XML::DOM (Have not tested lower than v1.26). Requires James Clark's expat library: * Perl5 (Have not tested lower than v5.005) Optional Prerequisites. * Crypt::SSLeay if you'd like to use https. Crypt::SSLeay requires the openssl library as well. See Crypt::SSLeay's excellent install instructions for how to get https support into LWP (and hence HTTP::DAV). I've tested HTTP::DAV and Crypt::SSLeay against Apache/mod_dav with the mod_ssl plugin. Works seamlessly. * MD5 if you'd like to use LWP's Digest authentication. To get the latest versions of these prerequisite modules you can simply type this at the command prompt: $ then: $ perl -MCPAN -e shell cpan> install LWP cpan> install XML::DOM or if you just 'install HTTP::DAV' the lovely CPAN module should just magically install all of the prerequisites for you (you'll still need to manually instal expat though). What Systems Does It Work With? HTTP::DAV and dave are pure perl so only needs Perl5.003 (or later). I have not ported it to Windows but would like somebody to have a shot at it (shouldn't be too hard. Honest). WHERE ARE THE MANUALS? Once you've installed PerlDAV, you can type: $ perldoc HTTP::DAV $ man dave GETTING HELP The perldav mailing list There is a mailing list for PerlDAV for use by Developers and Users. Please see http://mailman.webdav.org/mailman/listinfo/perldav THE TEST SUITE & INTEROPERABILITY You will notice that the standard "make test" command invokes a large set of test procedures, but most will be skipped. This standard test is sufficient to give you a good indication that PerlDAV has installed properly. If you'd like to see how well PerlDAV performs against a particular DAV server then you should set the URL (and username,password) in the test suite t/TestDetails.pm. Then you can run "make test" again and watch the test suite perform as many operations as the server supports. Please note that the test suite will perofrm well over 200 HTTP requests to your server. I have tested PerlDAV against IIS5, mod_dav and the Xythos WFS. At the moment the test suite is still in development so will probably fail one or more tests. The test suite is the best way to test interopability between PerlDAV and other servers. I'd really like help with testing PerlDAV's interoperability. So if one or more tests fail against your server please follow the following steps: * Determine which test is failing. * set DEBUG to on: edit the script and change HTTP::DAV::DebugLevel(0) to (3). * Delete previous server output: rm /tmp/perldav_debug.txt * Run that single test again: $make test TEST_FILES=t/thetest.t TEST_VERBOSE=1 > testoutput.log * Then gzip and mail me both testoutput.log and /tmp/perldav_debug.txt with details of the test environment. (My email is at the bottom) Alternatively, you could have a shot at solving the bug yourself :) BUGS and TODO The test suite isn't fully finished yet. See TODO for what is left to be done. AUTHOR AND COPYRIGHT This module is Copyright (C) 2001 by Patrick Collins G03 Gloucester Place, Kensington Sydney, Australia mailto:pcollins@cpan.org Phone: +61 2 9663 4916 All rights reserved. You may distribute this module under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. $Id: README.pod,v 1.8 2001/10/30 16:02:06 pcollins Exp $ ** This file was automatically generated from ** ** doc/Changes.pod. To edit it, see there. **