Distributed Authoring Extension to HTTP, RFC 2518
This RFC defines extensions to support some aspects of
authoring workflow (like locking and version control).
Users might be interested to control Askemos agents
using the WebDAV protocol from client software
which is readily available (see below).
Starting with version 0.7.3 the HTTP-ProtocolAdaptor
of BALL has been extended to accept WebDAV requests.
A Word of Warning
WebDAV has several and severe shortcomings:
It has been designed under the narrow assumption of
document organization in directed, acyclic graphs (tree).
These assumptions incure consequencess, which are eventually
at least questionable.
Therefore we recommend to consider better alternatives
for newly developed client software.
Problems with WebDAV
WebDAV distinguishes only two kinds of agents:
leaves resources (aka "documents")
and intermediate tree nodes (aka collections, directories).
Thereby it makes heavy restrictions on the inner workings of
collections and documents.
Default Depth is infinity,
who did that?
I'm not even inclined to comment on such a sillyness.
WebDAV protocol parameters seem arbitrarily assigned
to HTTP headers and -attributes
or ~values.
The XML-DTD violates
well known design rules.
This standard is exceptionally hard to read,
though the simple matter doesn't give a reason for this hardship.
Bugs
The mentioned restrictions make WebDAV unsuitable
for implementation at BALL kernel level
and should be left to the agents themself.
The implementation could use some cleanup and the current plan is
to implement only those functions
which are actually required for a certain purpose.
(See below).
The Wiki-agent (see HowToEditThisPage) has to guess which parts
of the document is sensitive text, edited by the user
and what is constant decoration
(forms, author, date etc).
If this guess failes alltogether
your saved text will include all the decoration.
WebDAV client software
- cadaver
- A command line client similar to the well known ftp program:
http://www.webdav.org/cadaver/
- fusedav
- mount dav resources under linux as file system in user space (fuse)
http://0pointer.de/lennart/projects/fusedav/
(tested version: 0.2)
- Openoffice
-
http://www.openoffice.org/
Supported Operations
The Wiki Agent (HowToEditThisPage) has been extended to work with WebDAV.
You can save pages from your WebDAV enabled software.
Openoffice
Open page like this
$ openoffice http://www.askemos.org/WebDAV
Use the normal save button to update the network.
(In case of trouble see OOo.)
cadaver
$ cadaver http://login.softeyes.net/Ad60e3fb123a79b2e5128915116b288f7/
ls
...
get
Related Links
http://lxr.webperf.org/source.cgi/modules/dav/main/mod_dav.c
Atom, an alternative
http://bitworking.org/projects/atom/
which runs on application level rather than server level.
Maybe that one fits better for our implementation?
CalDAV? calendar extensions to WebDAV
http://greenbytes.de/tech/webdav/draft-dusseault-caldav-04.html#urls
(I hardly understand why those extennsions are required)