Modified: Auto update of VCR when checking an associated working resource

The modifications are intended to:
1) Allow a client to recover if the auto-update fails.  By clearing the
auto-update value, a second CHECKIN would work just like it does now,
and the client would have to followup with a UPDATE or MERGE.
2) My server would never fail the auto-update, because I don't allow
forking.
3) The new precondition is designed to let a client know that a server
ONLY supports WORKING-RESOURCES with the auto-update feature.

===========================

Here's the proposal from the teleconference:

When you apply CHECKOUT directly to a version URL, the semantics of the
protocol are unchanged (so if you liked the old semantics and didn't
want any auto-update on checkin, you would always apply CHECKOUT
directly to a version URL.  

[johnhall: There is a new pre-condition: <checkout-of-version-forbidden>
- A Server that supports WORKING-RESOURCE but not UPDATE MAY prohibit
the checkout of a version.  Use CHECKOUT with <apply-to-version> on the
VCR.]

When you apply CHECKOUT with a DAV:apply-to-version flag to a VCR, you
create a working resource whose DAV:checked-out version is the
DAV:checked-in version of the VCR (as is required currently), but which
now also has a protected DAV:auto-update property which contains the URL
of the VCR that was checked out.  (This requires one new postcondition
for the CHECKOUT semantics in the working-resource feature).

The MOVE operation is required to update the DAV:auto-update property if
the VCR is moved (or it can fail the MOVE), so the DAV:auto-update
property is always valid.  (This requires one new postcondition for the
MOVE semantics in the working-resource feature).

When you CHECKIN a working resource with a DAV:auto-update property, the
CHECKIN fails if the DAV:checked-out property of the working resource
does not match the DAV:checked-in property of the VCR. [johnhall: if the
CHECKIN fails the auto-update field is cleared, returning the working
resource to the condition it would have had if the CHECKOUT had been
applied directly to a version URL.]  If the CHECKIN succeeds, the VCR
identified by the DAV:auto-update must have been updated to have the
content and dead properties of the new version, and the DAV:checked-in
version of the VCR must have been updated to identify the new version.
(This requires one new precondition and one new postcondition for the
CHECKIN semantics in the working-resource feature).

Received on Friday, 13 July 2001 19:00:00 UTC