W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > July to September 1999

Using PROPPATCH to create a resource with no body

From: Geoffrey M. Clemm <gclemm@tantalum.atria.com>
Date: Mon, 16 Aug 1999 13:53:54 -0400
Message-Id: <9908161753.AA27242@tantalum>
To: w3c-dist-auth@w3.org, ietf-dav-versioning@w3.org

The DeltaV versioning extensions to WebDAV propose four new
types of resources: workspace, activity, configuration, and history.

All these new resource types share the characteristic that their
state is represented as a set of properties, rather than in a body.
In this way, they are like the collection resource type from the
core WebDAV protocol, and the redirect-reference resource type from
the advanced collection WebDAV extensions.

A common issue for each of these new resource types is how one creates
an instance.  The approach started by the core WebDAV spec is
to introduce a new method for creating each new resource type
(e.g. MKCOL). This becomes rather burdensome when
MKHISTORY, ...), and is rather redundant since they all take the
form of initializing a set of properties of a new resource.

An alternative approach is to just allow PROPPATCH to create a new
resource when it is applied to a null resource.  I would propose
also adding a new value for the Overwrite header, e.g. Update,
which would say that the destination of operation should be updated,
rather than deleted (Overwrite=T) or have the operation fail (Overwrite=F).
Then the Overwrite header could be used to control the effect of a

This is very consistent with the functionality of PUT, which can be
used either to update an existing resource or create a new resource.

Another alternative is to introduce a MKRESOURCE method, which would
be equivalent to a PROPATCH with Overwrite=F.

I personally favor extending PROPPATCH since it is both more consistent
with PUT, and a more powerful/flexible approach.  As a note, MKCOL would
then just become an alias for a PROPATCH, with the resourcetype
property set to be <D:collection/>


Received on Monday, 16 August 1999 13:54:02 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:20 UTC