WebDAV Document Creation
WebDAV, the Web-based Distributed Authoring and Versioning protocol, was designed to add interoperability and collaborative capabilities to the Internet. WebDAV is a set of extensions to the HTTP protocol that allows users to collaboratively edit and manage files on a remote Web server, as you can see in Figure 13.2. It is a specification of the Internet Engineering Task Force (IETF). You can find the WebDAV specification at http://www.ietf.org/html.charters/webdav-charter.html.
WebDAV is a broad industry effort. Participants from Microsoft, Netscape, Novell, IBM, and Xerox are among those who helped develop the base WebDAV protocol. You can find out more about those who developed this specification at http://www.webdav.org.
The Role of WebDAV
Many believe that WebDAV will enable the original vision for the Web as a writeable, collaborative medium. Others see WebDAV meeting goals that extend beyond collabora-tion in Web page authoring. WebDAV may evolve into a network file system suitable for the Internet, one that works on entire files at a time, with good performance in high-latency environments. Others believe that WebDAV will become a protocol for manipu-lating the contents of a document-management system via the Web. Perhaps the best assessment is that WebDAV will support virtual enterprises, becoming the primary protocol supporting a wide range of collaborative applications. So, WebDAV could even be used to support remote software-development teams if you consider software develop-ment an extension of authoring. In fact, because WebDAV is based on HTTP it provides authoring support for Web resources of any media type—HTML, GIF, JPEG, and even software.
WebDAV-Enabled Authoring Environments
Simply put, WebDAV allows teams creating any sort of content to use a remote Web server as easily as if it were a local file server. This means that individuals separated by great geographic distances can trade information, develop ideas, and create and edit con-tent as if they were sharing a single office network. This all works by mounting a WebDAV volume on a shared Web server. Everyone can then access files as they would any other networked volume.
WebDAV provides the following editorial features:
Locking. WebDAV enables concurrency control by providing exclusive and shared write-locks to prevent file overwriting when two or more collaborators write to the same resource. The duration of WebDAV locks is independent of any individual network connection so that network connections may be disconnected arbitrarily.
Metadata properties. The XML metadata properties of WebDAV provide storage for arbitrary metadata, such as a list of authors for Web resources. These properties can be set, deleted, and retrieved using the WebDAV protocol. DAV Searching and Locating (DASL) provides searches based on these XML metadata property values to locate Web resources.
Namespace support. Web resources may need to be copied or moved as a Web site evolves. WebDAV supports copy and move operations using namespaces. Collections, similar to file system directories, may be created and listed.
The WebDAV community continues to extend WebDAV functionality in order to enable a richer authoring environment. Proposed extensions to WebDAV include the following:
Versioning and configuration management. Versioning support within WebDAV, similar to that provided by Revision Control System (RCS) or Source Code Control System (SCCS) will be the entry level of WebDAV functionality. The ver-sioning level will support operations such as check-out, check-in, and retrieval of the history list.
Access control. WebDAV will provide the ability to set and clear access-control lists. This will enable the management of collaborators remotely by adding or deleting users from the list of collaborators on a single resource.
WebDAV and XML
WebDAV is an XML vocabulary. The WebDAV XML tag set defines a number of WebDAV methods for examining and maintaining Web content. In WebDAV, users and groups are represented as principals. The ability to perform a given method on a resource is controlled by one or more privileges assigned to a principal. For example, privileges might give a principal the ability to update a collection of Web content. WebDAV sets up an Access Control List (ACL) made up of Access Control Entries (ACEs), which define what principals are to get what privileges for a specific resource.
In Listing 13.1, the principal identified by the URL http://www.foo.com/users/ dkennedy (that is, the user “dkennedy”) is granted read and write privileges.
LISTING 13.1 Example of WebDAV Syntax
<?xml version=”1.0” encoding=”utf-8” ?> <D:acl xmlns:D=”DAV:”>