- From: Fay, Chuck <CFay@filenet.com>
- Date: Tue, 17 Apr 2001 18:40:21 -0700
- To: Jim Whitehead <ejw@cse.ucsc.edu>, ietf-dav-versioning@w3.org
The table looks correct to me, in terms of the old DAV:auto-version terminology. I support Jim's suggestion that such a table go into the specification, because it leaves much less room for misinterpretation and error than a prose-only expression of the semantics. Geoff has done a wonderful job of expressing the semantics in a concise set of sentences, but it's almost like solving a puzzle to wring out of those sentences the semantics spelled out in Jim's table. Rather than requiring each implementor to solve the puzzle, and possibly end up with an incorrect solution, I like the idea of spelling out the semantics in a table. As I noted in my earlier message, I also prefer the old terminology. --Chuck Fay FileNET Corporation, 3565 Harbor Blvd., Costa Mesa, CA 92626 phone: (714) 327-3513, fax: (714) 327-5076, email: cfay@filenet.com > -----Original Message----- > From: Jim Whitehead [mailto:ejw@cse.ucsc.edu] > Sent: Tuesday, April 17, 2001 4:33 PM > To: ietf-dav-versioning@w3.org > Subject: Table for autoversioning > > > In an effort to wrap my brain around all of the > autoversioning options, I > developed the following table. I'm hoping some variant of > this might make it > into the specification, since I believe it could increase the > correctness of > implementations of this feature. I'm also curious to see if > I got it all > right (I'm most curious about the checked-in states...) :-) > > Abreviations used: > > ci = check-in (or checked-in) > co = check-out (or checked-out) > ul = unlock > lk = lock > -> = sequence of operations (1->2) > acoaci = always-checkout-always-checkin > acowuci = always-checkout-when-unlocked-checkin > wlco = when locked checkout > coouakco = checkout-on-update-and-keep-checked-out > > Operation "write" is defined to be the state modification > action of the > method. For a PUT, write = changing the body. For PROPPATCH, write = > changing the property values. > > The table is orgazined as follows: > > rows correspond to specific states of the resource (e.g., > checked out and > write locked). > columns correspond to specific autoversion options > cells contain descriptions of what happens when specific > methods are invoked > under these conditions > > > acoaci acowuci > > ci locked PUT/PROPPATCH PUT/PROPPATCH > co->write->ci co->write > UNLOCK UNLOCK > ul ul > LOCK LOCK > err:423 Locked err:423 Locked > > > ci unlocked PUT/PROPPATCH PUT/PROPPATCH > co->write->ci co->write->ci > UNLOCK UNLOCK > err:412 err:412 > LOCK LOCK > lk lk > > > co locked PUT/PROPPATCH PUT/PROPPATCH > write write > UNLOCK UNLOCK > ul ci->ul > LOCK LOCK > err:423 Locked err: 423 Locked > > co unlocked PUT/PROPPATCH PUT/PROPPATCH > write write > UNLOCK UNLOCK > err:412 err:412 > LOCK LOCK > lk lk > > > > > wlco coouakco > > ci locked PUT/PROPPATCH PUT/PROPPATCH > co->write co->write > UNLOCK UNLOCK > ul ul > LOCK LOCK > err:423 err:423 > > ci unlocked PUT/PROPPATCH PUT/PROPPATCH > err:DAV:cannot-modify-version- co->write > controlled-content > UNLOCK UNLOCK > err:412 err:412 > LOCK LOCK > lk lk > > > co locked PUT/PROPPATCH PUT/PROPPATCH > write write > UNLOCK UNLOCK > ci->ul ul > LOCK LOCK > err:423 err:423 > CHECKIN > ci > > co unlocked PUT/PROPPATCH PUT/PROPPATCH > write write > UNLOCK UNLOCK > err:412 err:412 > LOCK LOCK > lk lk > CHECKIN > ci >
Received on Tuesday, 17 April 2001 21:47:10 UTC