|
Overview
Web-based Distributed Authoring and Versioning
(RFC 2518)
defines the HTTP extensions necessary to enable distributed web
authoring. WebDAV provides a network protocol for creating interoperable,
collaborative applications, making the Web a collaborative, writable
medium. The basic purpose of WebDAV is to provide file I/O through HTTP.
This permits you to load, edit, delete, create subdirectories, and
basically manage files located on the Web Server from the client desktop.
Important! WebDAV compliance is an ongoing
development effort. In particular, the specification is not yet complete
for versioning (DeltaV); development in both search and versioning is ongoing.
Enabling WebDAV, exposes the Versioning system
Currently implemented DeltaV methods are:
VERSION-CONTROL, CHECKOUT, CHECKIN, UNCHECKOUT. (Note: DeltaV interfaces
tested using cadaver client.)
via the Document Manager, and allows users other than
the system administrator to use the functionality of the Document Manager.
Support for WebDAV continues to improve. Authors can use WebDAV tools
such as IE, FrontPage, Dreamweaver Photoshop and GoLive. In
addition, WebDAV is supported in the operating system and desktop environment
for Windows (Web Folders) and Mac OS X (mount), and Gnome (GnomeVFS and
Nautilus).
How does WebDAV work?
Each server user (with read-write permissions) can mount a WebDAV volume
located on a shared server to his/her desktop. As long as the server
supports WebDAV, users can mount the WebDAV volumes to their desktop
regardless of the web server's operating system. Users can then access
the files as if they were on any other networked volume.
Today, when people want to collaborate on a document, they usually pass
it back and forth using email. This can be a slow, messy, error-prone process;
over time passing files back and forth leads to difficulty tracking versions.
WebDAV-enables applications allow collaborating teams to remotely develop,
edit and manage content, regardless of each user's location.
Major Features
- Locking (concurrency control): long-duration exclusive write
locks prevent overwrite problems, where two or more
collaborators write to the same resource without first merging changes.
To achieve robust Internet-scale collaboration, where network connections
may be disconnected arbitrarily, and for scalability, since each open
connection consumes server resources, the duration of DAV locks is
independent of any individual network connection.
- Properties: XML properties provide storage for arbitrary metadata,
such as a list of authors on Web resources. These properties can be
set, deleted, and retrieved using the DAV protocol.
DASL, the DAV Searching and Locating
protocol, provides searches based on property values to locate
Web resources.
- Namespace manipulation: Since resources may need to be copied or
moved as a Web site evolves, DAV supports copy and move operations.
Collections, similar to file system directories, may be created and listed.
The Sambar Server Pro includes a Class 1 and Class 2
DAV server (see webdav.org) following
RFC 2518. In addition, versioning support
has been implemented in the server; there as yet has been no attempt to
follow or conform to any specifications of the WebDAV Versioning
working group (DeltaV).
As the WebDAV Versioning project nears completion, the Sambar Server
will be brought into compliance with the specification.
Important! Existing versioning functionality (i.e. metadata)
may change if required for WebDav Versioning compliance; backwards
compliance will be maintained if possible.
The terrific work of Greg Stein on the
mod_dav Apache project
served as a reference implementation for the work in the Sambar Server.
This product includes software developed by Greg Stein <[email protected]>
for use in the mod_dav module for Apache (http://www.webdav.org/mod_dav/).
Primary testing of the Sambar Server WebDAV implementation was performed
using the DavExplorer
client application developed at the University of California, Irvine.
Security
DAV allows users to place and manipulate files in a directory
on your web server. To ensure security of user files, a
Sambar Server user login is required to access a DAV
repository (there is presently no anonymous access allowed).
Furthermore, user read-only passwd settings and
all .htaccess and security.ini security
constraints are enforced on DAV resources.
WebFolders
The idea of WebFolders is to make a folder available over a network no
matter which computer you are currently working on. These folders behave
just like usual folders (irrespective network limitations).
Sambar Server WebDAV support allows you to store documents into your
server from any computer that is WebFolder enabled and has a network
connection (normally over the internet). Presently Microsoft Windows
2000 & XP, Microsoft Office 2000 and Microsoft Internet Explorer 5.X
support the WebFolder mechanism. With the IE 5.X it is possible to enable
any Windows machine (except Windows 3.X ) for free. In IE 5.X and later,
you can Open... a web page and select the checkbox
Open as WebFolder to get Windows Explorer-like access via IE.
Important! WebDAV support in IE 5.X is fairly buggy. Session
support requires enabling the Share User Logins flag because IE 5.X
doesn't send cookies when using "Open as WebFolder". But you can drag
and drop files into the open folder. IE 6.X is expected to fix many of
these limitations.
XP WebDAV Redirector
Windows 2000 is WebDAV enabled as a client if you publish to a Web Folder
from the Desktop, Office Application, or Internet Explorer. You can't, however,
use NotePad or Wordpad as those programs are not WebDAV enabled.
In other words, in Windows 95/98/2000 the client software has the
responsibility of being WebDAV enabled.
In Windows XP, everything in the OS can publish to a WebDAV enabled web
server. This is because XP contains a WebDAV network redirector thereby
enabling non-WebDAV client software to open and save files to the Web server
over HTTP. In XP, you can map a drive to a web server so that when you
save a file to drive X:, for example, it is published directly to a web
server. You can also select file, open and type http://servername/folder
as a pathname just as you can a drive letter or UNC pathname.
Source vs. Rendered
Most websites have URLs that produce dynamically rendered HTML pages
using template technologies such as JSP, PHP, SHTML, STM etc. When
you retrieve a page on a website, you are getting the rendered version.
However, if you want to edit your page, you need the "source" version,
not the "rendered" version.
The WebDAV specification anticipated this and defined a notion of "SOURCE"
content. Regretably, virtually no WebDAV clients support this method
call (it's quite cumbersome to implement on a server that maintains a
one-to-one mapping between URIs and items in the store) and more
importantly Microsoft has provided an alternative (non-standard) header
that performs the same function. The Sambar Server WebDAV implementation
supports only the Translate: f header to remain compatible with
Microsoft clients.
Translate: f
As defined by Microsoft, the Translate header indicates if the web server
should perform any "translation" on the file (generally in the form of an
interpreter acting on it). An argument of f is used to indicate that
no translation is to be performed; otherwise transation is assumed enabled.
For instance, a GET with "Translate: f" on a .jsp file will return the
source of the file (assuming you have permission
to access the source; see htaccess for documentation
on limiting user's access to WEBDAV content. If WebDAV is enabled, all
authenticated users have access to source for files under their
"Root Directory" (specified in the user management configuration).
Compatiblity Issues...
Cookies
Some WebDAV clients do not pass cookies back to the server. Since cookies
are used to maintain a user login, the clients end up reauthenticating
and logging in on each request until the Maximum Simultaneous Logins is
reached. To avoid this problem, the Share User Logins can be enabled
which will associate the subsequent logins from the WebDAV clients with the
same server-side USER structure (unique to the username/IP).
Digest Authentication and Windows XP
Windows XP SP2 disables Basic authentication in the WebDAV Redirector. As a
result, if you are using SQL, LDAP or Radius authentication (where Digest
support is not available) you will have to modify your Windows Registry to
re-enable Basic Authentication. To do this, add the UseBasicAuth
registry entry to the following registry subkey, and then set the entry
to a non-zero value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
Futures
The DAV specification does not provide document management capabilities
or workflow. DAV is an underlying protocol.
The Document Manager provided by the Sambar Server
will continue to be enhanced to expose more of the WebDAV functionality
as it is implemented. In addition, workflow and triggers will likely be
implemented in the underlying versioning system
provided with the Sambar Server.
|