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

Re: Bindings, Locks, and MOVE

From: <ccjason@us.ibm.com>
Date: Thu, 16 Sep 1999 13:20:19 -0400
To: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com>
cc: w3c-dist-auth@w3.org
Message-ID: <852567EE.005EA219.00@D51MTA07.pok.ibm.com>
   From: ccjason@us.ibm.com

   <jc/> Geoff, please check me if I'm wrong... but I think kevin is
   talking about COPY/MOVE'ing ***TO** the multiply bound resource, not
   from.  As currently written, the COPY/MOVE does a delete on the
   destination right up front... so the binding to a shared object is
   lost.  A PUT to either URI of the resource doesn't break their ability
   to share the resource.

   Ooops!  Jason is completely right.  Sorry about the bandwidth wastage.
   So I'd like to retract my earlier posting, and just agree with Kevin
   that a COPY that preserves destination bindings is a useful operation
   that is currently not provided by the protocol.

   As a form of penance, I will propose a solution to this problem:

   Add "DAV:merge" as a new potential value of the Overwrite header
   when used with the COPY request.

   The semantics COPY with Overwrite=DAV:merge is to "merge" the source
   resource into the destination resource.  In case of non-collection
   resources, this is just the equivalent of a PUT and a PROPPATCH into
   the Destination.  In case of collection resources, it means
   recursively PUT/PROPPATCH from the members of the source collection
   into the corresponding member of the destination collection.

   Any takers?
I'm a taker.  I think this is good.  Very good.  But I'm not sure if I want to
add something that seems entirely new when we have less than three weeks before
our deadline.  Let's see how things
go.  (BTW, I can also envision a MOVE version of this... but that's messier and
a tangent.)

Anyway, just to clarify...  for a given source resource.... given what is at
intended destination, what action must occur...

\  orig
 \ Dest
 r \
 c  \
     \     empty      |     non-Coll     |   Collection
      |NC->E          |NC->NC            |NC->C
non   |               |                  |
Coll  |   copy it     |     ?replace?    |       ?
      |               | (bind new copy?) |
      |               |                  |
      |C->E           |C->NC             |C->C
      |               |                  |
Coll  |   copy it     |         ?        |   copy members
      |   & members   |                  |     only
      |               |                  |
      |               |                  |

I've also labeled each box for reference: NC->E, etc.

Received on Thursday, 16 September 1999 13:13:59 UTC

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