|
INTERNET-DRAFT draft-ietf-deltav-variants-00 Expires April 1, 2003 |
Geoffrey Clemm, Rational Software
|
Variant Support for WebDAV
Status of this Memo
This document is an Internet-Draft and is in full conformance with all provisions of RFC 2026, Section 10.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
Abstract
This document specifies a set of properties and method semantics that define the WebDAV Variants extensions to the HTTP/1.1 protocol. WebDAV Variants will minimize the complexity of clients that are capable of interoperating with a variety of repository managers, to facilitate widespread deployment of applications capable of utilizing the WebDAV Variant services.
Table of Contents
2.1 Variant-Controlled Resource
Properties
2.1.1 DAV:variant-set (protected)
2.1.2 DAV:default-variant (protected)
2.2 Additional DELETE Semantics
2.4 Additional VERSION-CONTROL
Semantics
2.5 Additional CHECKIN Semantics
2.6 Additional UPDATE Semantics
3 Internationalization
Considerations
This document specifies an extension of the DeltaV/WebDAV protocol that provides support for Variant resources.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
The term "protected" is placed in parentheses following the definition of a protected property (see RFC3253).
The term "computed" is placed in parentheses following the definition of a computed property (see RFC3253).
When an XML element type in the "DAV:" namespace is referenced in this document outside of the context of an XML fragment, the string "DAV:" will be prefixed to the element type.
When a precondition or postcondition of a method is defined in this document, the definition can be prefixed by a parenthesized XML element type. If a precondition is violated by a request or a postcondition cannot be satisfied, the XML element of the violated precondition or unsatisfied postcondition will be returned in the response body (see RFC3253).
This document uses the terms defined in RFC3253 and in this section.
A "variant resource", or simply "variant", is a special kind of version-controlled resource whose name is allocated by the server.
Variant-Controlled Resource
A "variant-controlled resource" is a special kind of version-controlled resource that maintains a set of variants. Each variant of a variant-controlled resource selects a version from the version history of that variant-controlled resource.
The variant option provides a mechanism for a server to expose a subset of the versions from the history of a version-controlled resource as a set of special version-controlled resources called "variants" of that version-controlled resource. When variants of a version-controlled resource are being maintained, that version-controlled resource is called a "variant-controlled resource". Variants of a resource might be distinguished by language, format, or any other category of interest to a client.
Like any other version-controlled resource, a variant can be checked out in order to modify its content or dead properties. When a variant of a variant-controlled resource is checked in, a new version is added to the version history of the variant-controlled resource. When the variant-controlled resource itself is checked out and checked in, both a new version and a new variant is created. The new variant becomes the "default variant" of that variant-controlled resource.
Unlike the URL for a version, which uniquely identifies exactly that version and is therefore inevitably quite obscure, the URL for a variant is intended to be meaningful to a user, but there is no guarantee that a URL for a variant will continue to identify that variant. In particular, the URL for a variant of a version-controlled resource will usually change whenever that version-controlled resource is moved.