Extend PROPPATCH to allow appending to properties?

As you know, I've been arguing that both external members and ordering of
collections should be implemented by properties alone.  Last night it
occurred to me that such property manipulation would be way more efficient
if one extended PROPPATCH by defining a new XML element (append) that
added a new value to a property (optionally at an arbitrary position).

Without such an extension, to add a new external member one do LOCK,
PROPFIND, PROPPATCH, UNLOCK.  With it, it suffices to do a PROPPATCH.

In a way, this makes PROPPATCH behave like PATCH did.  It allows a client
to rewrite a value without a round trip.

I would be willing to write this up as an Internet Draft as a proposed
*extension* to WebDAV.  I am not arguing for this to be part of the core
WebDAV (I don't want to delay things.)

A little more detail:  I propose to define a new XML element 'append', to
extend propertyupdate to allow it.  The 'append' XML element MUST have a
prop element, and optionally accepts a a 'listposition' XML element.  It
interprets the property named by the prop as a list, and inserts the value
of the prop into that list.  If listposition is not provided, the new item
goes at the end.  If it is, then it specified the position.  I have not
worked out listpostion, but it would include means to specify absolute
position (0-n), first, last, and position relative to another value.
(before, after).

Is there any good reason that I shouldn't try this?

Jim


------------------------------------
http://www.parc.xerox.com/jdavis/
650-812-4301

Received on Monday, 2 March 1998 17:32:53 UTC