module for Foswiki
stands for "Web-based Distributed Authoring and
Versioning". It is a set of extensions to the HTTP protocol which allows users
to collaboratively edit and manage files on remote web servers.
This module contains a full Class 2 WebDAV implementation. It uses a
standard abstraction of the server filesystem,
allowing it to be used with a range of different filesystems,
including (via the FilesysVirtualPlugin
) the Foswiki datastore.
The module is designed to work with a number of different web
servers, and also includes a complete stand-alone server implementation.
Integration with WebDAV means that users can edit topics and
attachments using an appropriate WebDAV enabled client program,
such as Microsoft Office, Internet Explorer, Open Office, etc. When used
with the companion WebDAVLinkPlugin
, you can embed links to WebDAV
resources in Foswiki pages that will open the linked documents in
Foswiki permissions are honoured throughout.
Use of the FilesysVirtualPlugin
means that all the data views supported by
that module are available to WebDAV clients, so clients can read and write
Foswiki topics as text, as HTML, as a JSON data structure, or as any other
view supported by FilesysVirtualPlugin
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.
Open configure, and open the "Extensions" section. "Extensions Operation and Maintenance" Tab -> "Install, Update or Remove extensions" Tab. Click the "Search for Extensions" button.
Enter part of the extension name or description and press search. Select the desired extension(s) and click install. If an extension is already installed, it will not
show up in the
You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
perl tools/extension_installer <NameOfExtension> install
If you have any problems, or if the extension isn't available in
, then you can still install manually from the command-line. See https://foswiki.org/Support/ManuallyInstallingExtensions
for more help.
If you encounter problems with clients it can be useful to be able to trace the
activity of the server. All the web servers have some mechanism to pass a
debugging option in. This tracing option is in the form of a bit mask, where the
- 1 to enable error tracing (shows reason for failures)
- 2 to enable tracing of WebDAV requests.
- 4 to enable detailed debugging
- 8 to enable memory usage information
- 16 to enable very detailed filesystem level tracing
The bits can be combined e.g.
will enable detailed filesystem tracing and error reporting. Trace
information is output to the web server error log.
If you have experience, then another tool that can be very useful in
debugging is a network protocol analyser, such as
Refer to the documentation for FilesysVirtualPlugin
for information on
configuring it to support different data views. Each data view presents
topics as a different file type, allowing you to read and write the same
topic in a range of different formats.
There are many DAV clients out there that it would be impossible to describe
Linking to DAV resources from a web browser
To link to a DAV resource from a web browser, all you have to do is link to
the DAV url of the resource. However most browsers will open the link
in a "read only" mode. If you want to open DAV resources from Firefox
or Internet Explorer for editing using a DAV-aware native application
(such as Microsoft Word or Open Office) you can use the companion
Accessing WebDAV resources on Microsoft Windows
There are so many problems with the Microsoft implementation of WebDAV
that unfortunately it merits a topic of it's own: WebDAVAndWindowsClient
The otherwise excellent LibreOffice suite has implemented locking since version
4.1. Unfortunately their lock implementation is not consistent with the WebDAV spec, and
we have had to disable lock support for LibreOffice. The only risk this poses is if
two people try to edit the same attachment via WebDAV simultaneously.
All the standard Litmus tests
a class 2 WebDAV server pass. WebDAVContribLitmusTests
describes how to
This software is released under the GNU Public License, version 2.
Many thanks to the following sponsors for supporting this work: