Auto-version corrections

Suggested corrections to the spec related to auto-versioning:

Several sections still talk in terms of the auto-version property being
"set" and describing behavior in that case, without specifying any
particular setting of auto-version.  This worked when it only had true and
false values, since "set" implied the true value.  Now that it has four
different possible values, the use of the verb "set" alone is ambiguous.

For instance, section 2.1.2 overstates the case when it says "A PUT or
PROPPATCH to a version-controlled resource with the DAV:auto-version
property set will automatically check out that resource prior to executing
the PUT or PROPPATCH."  Of the four different possible values for
auto-version, some do not have the prescribed behavior (i.e., never, and
when-locked-checkout if the VCR is unlocked).  So this needs to be reworded
in order to avoid oversimplifying and misleading the reader.  For instance,
paragraphs 2 and 3 of 2.1.2 could be replaced by the following paragraph:

"For clients that are unaware of versioning semantics, the DAV:auto-version
property provides for automatic versioning on PUT and PROPPATCH methods.
Certain settings of the auto-version property on a checked-in
version-controlled resource will cause that resource to be checked out
automatically, prior to executing the PUT or PROPPATCH.  With one setting of
auto-version, the resource is checked back in immediately afterwards, again
automatically.  This results in a new version immediately after each
successful PUT or PROPPATCH.  With other settings of auto-version, if the
resource is write-locked at the time of the PUT or PROPPATCH, it will remain
checked out for the duration of the lock, so that the automatic checkin is
delayed until the resource is unlocked.  Auto-versioning can also be turned
off completely.  (See the sections on DAV:auto-version, PUT, PROPPATCH,
COPY, and UNLOCK for the details on auto-version settings.)"

The above paragraph omits the note that "unlock" includes any way that a
lock is removed, including lock timeout.  My thinking is that that sort of
detail should be covered in the section on DAV:auto-version, if necessary.

Also, sections 2.8 and 2.9 have preconditions based on auto-version being
"set".  They too need to be updated to address specific settings of
auto-version.  This would clarify one remaining case that is not specified:
PUT on a checked-in, non-write-locked VCR with auto-version =
when-locked-checkout.  My understanding from earlier mail is that the PUT
(or PROPPATCH of a dead property) should fail in this case, but that is not
clear from the preconditions.

--Chuck Fay 
FileNET Corporation, 3565 Harbor Blvd., Costa Mesa, CA 92626 
phone:  (714) 327-3513, fax:  (714) 327-5076, email:  cfay@filenet.com

Received on Friday, 9 February 2001 17:06:22 UTC