Attention

This document was written for an old version of Plone, Plone 3, and was last updated 898 days ago.

To learn how to upgrade to the current version of Plone, read the upgrade manual.

More WebDAV

by Mike Culbertson last modified Dec 06, 2009 09:27 PM
Some up-to-date tips on how to access your Plone site via WebDAV.

Preface

This document is intended as an update/addendum to the far more in-depth information found here: http://plone.org/documentation/how-to/webdav . This is current as of 11 Jul 2008, and is relevant to:

Zope 2.10

Plone 3.1.1

Apache 2.2.9

Debian(unstable), Ubuntu (Hardy), Gentoo, etc

 

WebDAV the Plone Way

Contrary to many references I found, Plone does *not* require Zope reconfiguration in order to enable WebDAV. One need not edit zope.conf, rather,simply pointing your WebDAV client at your Plone site should "just work". For example, using cadaver and the default Zope and Plone from Debian:

~# cadaver http://localhost:8080/MyPloneSite
Authentication Required for MyPloneSite on server `localhost':
Username: myuser
Password:
dav:/MyPloneSite/>

This method is not without drawbacks, however.

When downloading pages via a WebDAV connection directly to a Plone site, you will receive the *rendered HTML* version of the page, such as you would see in your web browser, not the raw content.  This makes it basically impossible to edit pages when accessing a Plone site in this way.  Managing binary files and images with this method appears to work fine. (See here for more info)

This method also worked without errors with Apache proxying in front of the Plone site.

 

WebDAV  the Zope Way

Although Plone does not require modification to the Zope config to provide WebDAV access, many older docs still reference this and should you want DAV access outside of your Plone site, you will need to enable this feature in Zope.  

Apache

While the direct Zope method works in the basest sense, I found it to be extremely problematic both in regard to Apache proxying and client support. Proxying from the root of an apache virtual host to the root of the WebDAV service appears to work fine:

ProxyPass / http://localhost:1980/
ProxyPassReverse / http://localhost:1980/

however, proxying from a subdirectory in an Apache site *DOES NOT WORK*. For example, the following Apache config was not successful:

ProxyPass /dav/ http://localhost:1980/
ProxyPassReverse /dav/ http://localhost:1980/

And neither was this:

ProxyPass / http://localhost:1980/PloneSite/
ProxyPassReverse / http://localhost:1980/PloneSite/

Using the latter two configs, clients were unable to identify any folder as a WebDAV collection.

According to to webdav.org, this may be due to lack of support for the extra HTTP methods used by DAV, though there was no clear reason why the first example works and the second does not. I could confirm that a PROPFIND of "/" using the first example successfully identified the path as a WebDAV collection, whereas a PROPFIND on "/dav/", using the second example, did not.

 

Clients

WebDAV clients, including Windows and Mac OS X, are covered pretty well here: http://plone.org/documentation/how-to/webdav

Here are a few more to add to the list.

 

Command line clients -

dave - http://www.webdav.org/perldav/dave.html

cadaver - http://www.webdav.org/cadaver/

 

nautilus -

The gnome file manager. Nautilus can access WebDAV shares as if they were part of the filesystem. Uses a slightly different URL syntax than other clients, such as:

dav://site.com/your_folder 

Or with SSL

davs://site.com/your_folder

 

konqueror -

The KDE (3 and below) file manager and web browser. Can also open WebDAV shares, also uses a slightly different URL syntax:

webdav://site.com/your_folder 

or, with SSL

webdavs://site.com/your_folder

 

External References

Some pages that I found helpful

http://chapters.marssociety.org/webdav/

http://www.zorched.net/2006/03/01/more-webdav-tips-tricks-and-bugs/

https://bugs.launchpad.net/zope2/+bug/143447

http://www.webdav.org/other/proxy.html

 

 

 


Contribute

Something wrong or out of date? Anybody can edit or create a new article in the knowledge base. Simply create an account on this site, log in, and click the Edit button to contribute.