aw schriftzug.png aw logo 60x60.png

WebDAVContrib

WebDAV module for Foswiki

WebDAV 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 native applications.

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.

Installation Instructions

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 search results.

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!)
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> install

If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See https://foswiki.org/Support/ManuallyInstallingExtensions for more help.

Debugging

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 bits mean:
  • 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. 17 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 wireshark.

Configuring FilesysVirtualPlugin

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.

Clients

There are many DAV clients out there that it would be impossible to describe them all.

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 WebDAVLinkPlugin.

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

Libreoffice

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.

Server Validation

All the standard Litmus tests for a class 2 WebDAV server pass. WebDAVContribLitmusTests describes how to run them.

License

This software is released under the GNU Public License, version 2.

Info

Many thanks to the following sponsors for supporting this work:

Change History

06 May 2022: Foswikitask:Item15127 - fix processing commandline options; fix all unit tests; remove outdated litmus tests from checkin; fix systemd startup service; implement a WebDAVAuth class to cover additional authentication methods in addition to basic auth, such as kerberos; add support for warmup as in newer FastCGIEngineContrib
20 Oct 2020: Foswikitask:Item14476 - fix init scripts; add systemd service; Foswikitask:Item14961 - respect {FastCGIContrib}{CheckLocalSiteCfg} setting; adjusting a couple of problems reported by perlcritique; Foswikitask:Item14962 - ignore unlocking failures
13 Sep 2017: Foswikitask:Item14476 - improve init scripts; added systemd service
11 Jul 2016: Foswikitask:Item13571 - fixed compatibility with Foswiki-2
08 Mar 2016: Foswikitask:Item14018 - fixed Can't locate object method "LastCall" via package "HTTP::Headers" (Foswiki:Main.FlorianSchlichting); Foswikitask:Item13799 - fails to connect network drive on Windows 7 (Foswiki:Main.FlorianSchlichting)

PackageForm edit

Author Crawford Currie http://c-dot.co.uk
Version 3.00
Release 06 May 2022
Description WebDAV module for Foswiki
Repository https://github.com/foswiki/WebDAVContrib
Copyright © 2008 KontextWork.de, © 2008-2015 Crawford Currie http://c-dot.co.uk; 2015-2022 Foswiki Contributors
License GPL2 (Gnu General Public License v2)
Home https://foswiki.org/Extensions/WebDAVContrib
Support https://foswiki.org/Support/WebDAVContrib
Topic revision: r1 - 2022-05-06, UnknownUser
This site is powered by FoswikiCopyright &© by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback