Content Management Guide

CHAPTER 9

Using WebDAV Clients with exteNd Director for Collaborative Authoring

This chapter describes the exteNd Director support for the the Web Distributed Authoring and Versioning (WebDAV) communications protocol. Using this protocol 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

exteNd Director's WebDAV support is designed to work with any WebDAV-compliant client application.

Works with WebDAV-compliant authoring tools   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, exteNd Director 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

How you get WebDAV support

WebDAV support is added, by default, when you create an exteNd Director project. The default WebDAV support includes these settings:

Parameter

Description

Default

Servlet Path

The WebDAV servlet in the Portal WAR.

WebDAV

Property settings in the config.xml file in the (in WEB-INF/conf) include:

Property

Description

com.sssw.webdav.cdata

Specifies whether the server should wrap user data in WebDAV responses in CDATA tags.

When true (the default), you are unable to use Microsoft clients. It is required by other client types when valid xml markup is contained in the user data (for example, a folder named "Jack & Jil")

com.sssw.webdav.reqchkout

When true (the default), requires files to be checked out and locked before they are moved, copied, or deleted. Locking preserves data consistency when multiple users update data.

Disable this parameter if your WebDAV client does not support a locking mechanism. In particular, Microsoft File Explorer does not support locking of WebFolders.

For more information    For more information, see Changing default settings

com.sssw.webdav.events.enable

Enables events to be generated when WebDAVis used to manipulate the Content Management subsystem.

If you opt for Custom setup, you must explicitly specify that WebDAV support be included.

Changing default settings   You can change the project's default settings by editing the config.xml file directly.

 
Top of section

Accessing the WebDAV server

After you deploy the exteNd Director project containing WebDAV support, 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 example:

  http://localhost/ExpressPortal/WebDAV

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 section

What you can do with exteNd Director and WebDAV

exteNd Director allows you 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

exteNd Director requires tha you 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 Accessing the WebDAV server.

 
Top of section

How exteNd Director manages versioning for WebDAV clients

When a WebDAV client requests a resource from the server, exteNd Director 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 exteNd Director creates a new version and publishes it in the content repository.

 
Top of page

Supported WebDAV methods

exteNd Director 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



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