Content Management Guide

CHAPTER 9

Using WebDAV Clients with exteNd Director for Collaborative Authoring

This chapter describes the exteNd 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 exteNd Director Content Management (CM) 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 information    For more detailed information on WebDAV, search on the Web for rfc2518—the WebDAV specification. The following URL 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 exteNd Director's WebDAV support

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

Works with WebDAV-compliant authoring tools   When you install the exteNd 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 exteNd Director CM subsystem on your server—functions such as checkin, checkout, and versioning.

Includes WebDAV client API   While most third-party WebDAV clients support these standard document management functions, they do not support the more sophisticated features of the CM 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    For more information about the WebDAV client API, see Building Your Own WebDAV Client.

 
Top of section

What you can do with the exteNd Director WebDAV subsystem

When you install the 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    For more information about the WebDAV methods exteNd Director supports, see Supported WebDAV methods.

 
Top of section

How exteNd Director stores content from WebDAV clients

When you save content created using a third-party WebDAV client to the exteNd 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 exteNd Director CM subsystem programmatically or using the CMS Administration Console. Some WebDAV-enabled authoring tools also allow you to edit property values on the client side.

For more information    For more information about using the CMS Administration Console, see About the CMS Administration 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 CM subsystem. To create content that is more tightly integrated with these CM subsystem features, you can:

 
Top of section

How exteNd Director secures content from WebDAV clients

The exteNd 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    For more information, see Setting up the client.

 
Top of section

How exteNd 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 exteNd Director WebDAV subsystem

You install the WebDAV subsystem when you create a project in exteNd Director using the EAR Wizard.

Procedure To install the WebDAV subsystem:

  1. Make sure you have installed exteNd Director.

  2. Follow the instructions for creating a new exteNd Director EAR project in the chapter on configuring and deploying exteNd Director applications in Developing exteNd Director Applications.

    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 exteNd Director EAR with the following defaults:

    Parameter

    Default

    Service Context Root

    WebDAVService

    Servlet Path

    main

    Require locks for update operation

    disabled

    If you opt for Custom setup, you must include the WebDAV subsystem explicitly and then customize these parameters as needed.

  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 exteNd Director EAR project.

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

 
Top of page

Deploying the exteNd 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 exteNd Director WebDAV subsystem, you must have installed the following software:

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

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

 
Top of page

Setting up the client

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

For more information    To learn how to provide these parameters and connect to a site (in this case the exteNd Director content repository) using the WebDAV protocol, consult client documentation.

 
Top of page

Supported WebDAV methods

The exteNd Director WebDAV subsystem supports the following WebDAV methods. To learn how to perform these functions from your WebDAV-enabled authoring tool, consult client documentation:

Method

Description

PROPFIND

Retrieves properties on resources and collections from the server. This action is generally 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. This action is generally 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

Functions 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 exteNd Director CM 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.

 
Top of page

Public WebDAV server

Novell provides a WebDAV server—deployed and publicly available—against which you can test your WebDAV clients. This server provides the features of the Novell WebDAV implementation.

CAUTION:    Do not use this server for production applications. Novell cannot be responsible for content uploaded by anonymous users, and periodically purges user data.

Procedure To access the Novell public WebDAV server (general steps):

  1. Access the server from your WebDAV client using this URL:

      http://webdav.silverstream.com/Director/WebDAVService/main
    
  2. When prompted, provide these credentials:

    Credential

    Value

    User ID

    devcenter

    Password

    rocks

Procedure To access the Novell public WebDAV server from a Windows 2000 SP2 client:

  1. Start My Network Places.

  2. Double-click Add a Network Place.

    The Add Network Place Wizard opens.

  3. Enter the URL for the public WebDAV server:

      http://webdav.silverstream.com/Director/WebDAVService/main
    

    The wizard prompts you for credentials.

  4. When prompted, provide these credentials:

    Credential

    Value

    User name

    devcenter

    Password

    rocks

  5. Click OK.

    The wizard prompts you for a server connection name.

  6. Enter a name—for example, Public WebDAV Server—and click Finish.

    The connection to the public WebDAV server is established.



Copyright © 2003 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...