Content Management Guide  

Chapter 4   Using WebDAV Clients with Director for Collaborative Authoring

This chapter describes the Director WebDAV subsystem, which provides support for the Web Distributed Authoring and Versioning (WebDAV) communications protocol. Using this protocol, the WebDAV subsystem allows you to access server-side content in the Director Content Management subsystem from third-party or custom WebDAV client applications.

This chapter includes the following topics:

 
Top of page

What is WebDAV?

The WebDAV protocol extends the Hypertext Transfer Protocol (HTTP) to support asynchronous collaborative authoring on the Web.

As the standard protocol that allows Web browsers to communicate with Web servers, HTTP has transformed the Web into a readable medium by allowing users to view and download individual static documents as read-only information. However, HTTP falls short of supporting write operations such as simultaneous editing of multiple resources on the Web.

WebDAV goes the next step by providing extensions to HTTP that create a distributed writable Web environment. Using WebDAV, multiple users can create content locally or remotely using WebDAV-enabled authoring tools, then save content directly to an URL on an HTTP server.

This section provides a brief overview of WebDAV. For more detailed information, search on the Web for rfc2518—the WebDAV specification. The following URLs provided helpful information at the time this chapter was published:

 
Top of section

Information elements for distributed Web authoring

The WebDAV protocol provides methods that act on Web resources, collections, and properties—key information elements used in distributed Web authoring:

Element

Definition

Examples

Resource

Any piece of information that is stored on a Web server and whose location is described by an URL

Web pages, documents, and bitmap images

Collection

A resource that serves as a container for other resources, including other collections. Collections provide a paradigm for grouping and searching resources

Folders and directories

Property (metadata)

Descriptive information that is associated with Web resources but not stored as part of their content

Author, title, publication date, and expiration date

 
Top of section

WebDAV extensions to HTTP

The WebDAV protocol provides extensions to HTTP through a set of open standards that can be used by any distributed authoring tool. These extensions support the following key requirements for collaborative authoring on the Web:

Authoring requirement

How WebDAV meets the requirement

Overwrite protection

Mediates concurrent access to content by multiple authors by providing resource locking for write operations

Properties

Provides methods for creating, modifying, reading, and deleting properties

Namespace manipulation

Supports copying and moving multiple Web resources by manipulating names and directories within the namespaces of URLs

Collections

Provides methods for creating and deleting collections, adding members to a collection, removing members from a collection, and listing members of a collection

Version management

Supports the storage of resource revisions for later retrieval. Automatic versioning records successive modifications to a resource

Access control

Limits the access rights of a particular authenticated principal to a given resource

 
Top of page

About Director's WebDAV support

The WebDAV subsystem is designed to work with any WebDAV-compliant client application.

When you install the Director WebDAV subsystem, you can create content in your preferred WebDAV-compliant authoring tool and still take advantage of the standard document management capabilities of the Director Content Management subsystem on your server—functions such as checkin, checkout, and versioning.

While most third-party WebDAV clients support these standard document management functions, they do not support the more sophisticated features of the Content Management subsystem, such as categorization and document creation using custom templates. To bridge this gap, the WebDAV subsystem also includes a WebDAV client API that provides classes and methods for accessing these custom features from your own client applications.

For more information about the WebDAV client API, see Building Your Own WebDAV Client.

 
Top of section

What you can do with the Director WebDAV subsystem

You will be able to perform the following functions remotely from your WebDAV client application:

WebDAV-enabled clients implement these functions in different ways. Consult your client documentation to learn how to use specific third-party tools with the WebDAV protocol.

For more information about the WebDAV methods Director supports, see Supported methods.

 
Top of section

How Director stores content from WebDAV clients

When you save content created using a third-party WebDAV client to the Director content repository, the content is stored as a system resource. The repository handles system resources by storing a default set of properties (or metadata) along with content. The following table describes these properties and how default values are assigned:

Property

Default value

Name

Name of file (with extension if provided)

NOTE   Some WebDAV clients require you to specify extensions for files to indicate the appropriate content editor

Author

Identifier of user who is logged in

Date created

Date uploaded

Abstract

None

Publish date

Null, which means publish as soon as possible

Expiration date

Null, which means never expire

Checked out by

None

You can change or assign values to these properties in the Director Content Management subsystem programmatically or using the Portal Management Console (PMC). Some WebDAV-enabled authoring tools also allow you to edit property values on the client side.

For more information about using the PMC, see Portal Management Console.

When content is stored as a system resource, it cannot be associated with any custom document types or categories that have been defined in the Content Management subsystem. To create content that is more tightly integrated with these Content Management subsystem features, you can:

 
Top of section

How Director secures content from WebDAV clients

The Director WebDAV subsystem requires you to provide a valid user ID and password to the WebDAV client. These values are used to authenticate your access privileges when you attempt to access secure content in the content repository from your WebDAV client.

Users do not see resources for which they do not have read access.

For more information, see Setting up the client.

 
Top of section

How Director manages versioning for WebDAV clients

When a WebDAV client requests a resource from the server, the WebDAV subsystem returns the latest version from the content repository—though not necessarily the published version. For example, a WebDAV client cannot retrieve the published version of content if it is not the latest version.

When the WebDAV client uploads and checks in a resource, the WebDAV subsystem creates a new version and publishes it in the content repository.

 
Top of page

Installing the Director WebDAV subsystem

You install the WebDAV subsystem when you create a project in eXtend Workbench using the Director EAR Wizard. If you have not created a Director EAR project that includes the WebDAV subsystem, follow the procedure in this section. If you have, you are ready to deploy the WebDAV subsystem and can skip to Deploying the Director WebDAV subsystem below the procedure.

To install the WebDAV subsystem:

  1. Make sure you have installed the prerequisite SilverStream products: eXtend Workbench and eXtend Director.

    For information about how to install eXtend Workbench, see the Release Notes in the SilverStream eXtend Workbench help.

    For information about how to install eXtend Director, see the Director Release Notes (in this online help).

  2. Follow the instructions for creating a new Director EAR project in the chapter on configuring and deploying Director applications in the Core Development Guide.

    NOTE   During this process, you choose between two setup options: Typical and Custom. If you select Typical Setup, the WebDAV subsystem is installed automatically as part of the Director EAR using WebDAVService as the service context root and main as the servlet path. If you opt for Custom Setup, you must include the WebDAV subsystem explicitly and can specify a service context root and servlet path.

  3. After creating the EAR project, select Archive Layout and look for WebDAVService.war.

  4. Expand WebDAVService.war, navigate to WEB-INF/lib, and double-click WebDAVService.jar to view the WebDAV subsystem classes you have just installed in your Director EAR project.

Now you are ready to deploy the WebDAV subsystem to your J2EE application server.

 
Top of page

Deploying the Director WebDAV subsystem

You deploy the WebDAV subsystem by deploying the EAR in which it resides.

 
Top of section

Before you deploy

Before deploying the Director WebDAV subsystem, you must install the following software:

If you are deploying to the SilverStream eXtend Application Server, you must also create a new (empty) database.

For a list of supported application servers and databases, see the Director Release Notes.

 
Top of section

How to deploy

To deploy the WebDAV subsystem:

  1. Start your J2EE application server.

  2. If you are deploying to the SilverStream eXtend Application Server, add your new (empty) database to the server.

  3. Follow the instructions for deploying a Director EAR project in the chapter on configuring and deploying Director applications in the Core Development Guide.

 
Top of page

Setting up the client

After you deploy the WebDAV subsystem, you can connect a WebDAV-enabled client to the Director content repository. To establish this connection, you must provide the following parameters to the client:

Consult client documentation to learn how to provide these parameters and connect to a site—in this case, the Director content repository—using the WebDAV protocol.

 
Top of page

Supported methods

The Director WebDAV subsystem supports the following WebDAV methods. Consult client documentation to learn how to perform these functions from your WebDAV-enabled authoring tool.

Method

Description

PROPFIND

Retrieves properties on resources and collections from the server. Generally, this action is transparent to the user; WebDAV client tools use this method to get and display properties such as name, type (of resource), date modified, and checked out by.

PROPPATCH

Sets and/or removes properties on server-side resources and collections identified by the Request-URI. Generally, this action is transparent to the user; WebDAV client tools use this method to modify properties such as name, type (of resource), date modified, and checked out by.

COPY

Copies resources and collections on the server—along with their properties—without causing name conflicts. When you copy a collection, all of its members are also copied.

DELETE

Deletes resources or collections on the server.

GET

Retrieves resources and collections from the server, as identified by the Request-URI. Some WebDAV-enabled clients automatically check out resources for you before downloading them from the server; other clients require you to perform two separate operations—first check out the resource, then get it.

HEAD

Like GET, but retrieves only header information without a response message body.

LOCK

Creates a lock specified by the lockinfo XML element on the Request-URI. The lockinfo element specifies the scope, type, and owner of the lock. The Director Content Management subsystem uses just one type of lock—the exclusive lock, to enforce pessimistic concurrency.

The scope of a lock spans the entire state of the resource, including its body and associated properties.

Some WebDAV-enabled clients automatically lock resources before you check them out; other clients require you to explicitly lock a resource as a separate operation.

UNLOCK

Removes the lock identified in the Lock-Token request header of the Request-URI. This action unlocks all resources included in the lock.

Some WebDAV-enabled clients automatically unlock resources after you check them in; other clients require you to explicitly unlock a resource as a separate operation.

MKCOL

Creates collections on the server.

MOVE

Moves resources and collections on the server without creating name conflicts.

PUT

Uploads resources and collections from the client to the server.

OPTIONS

Returns all methods that can be called on resources and collections specified in the Request-URI. For example, if the resource is a document, OPTIONS returns LOCK, UNLOCK, OPTIONS, GET, PUT, MOVE, DELETE, COPY, PROPFIND, and PROPPATCH.


   

Content Management Guide  

Copyright © 2002, SilverStream Software, Inc. All rights reserved.