- From: <Tim_Ellison@uk.ibm.com>
- Date: Wed, 7 Feb 2001 09:21:26 +0000
- To: ietf-dav-versioning@w3.org
> I take your point about the checked-out version only > being created when the PUT is issued. Still, some > confusion remains. Ok, but we are converging! > The spec frequently makes statements like: "The resource > MUST have a DAV:checked-in property that identifies the > new version. The content, dead properties, and DAV:resourcetype > of the new version MUST be the same as those of the resource. " > Also: "Although the content and dead properties of a checked-in > version-controlled resource are required to be the same as > those of its current DAV:checked-in version..." These statements are made in the context of a checked-in version-controlled resource. > OK, so based on my reading of this text and others, I assumed > that the VCR ALWAYS had the body and the content of the last > checked-in version, whether or not the VCR was checked-out. No, when a version-controlled resource is checked in it has the same content and dead properties (C&DP) as the version identified in the DAV:checked-in property. However, when a version-controlled resource is checked-out, its C&DP are not necessarily the same as any version. The moment it is checked out on the server, the VCR will have the same C&DP as the version identified by the DAV:checked-out property, but the nature of a checked-out VCR is that it can be modified, so subsequent PUTs etc. will mean it is no longer the same as the DAV:checked-out version. Take another look at Section 2.1.2 Modifying a Version-Controlled Resource, in particular the diagram that shows the VCR moves to state S3 after the successful PUT. S3 is not captured as a version until the CHECKIN. Of course, there could have been multiple PUTs and/or PROPPATCHes between the CHECKOUT and CHECKIN. > Nowhere does the draft state otherwise, e.g. that a checked-out > VCR has the body and properties of the checked-out version. ...because that is untrue. A VCR is a first-class resource, with content and properties. When it is checked out it is "open for change". There is no checked-out version associated with a checked-out VCR. The only way to get a checked-out version is by sending CHECKOUT to the version itself (i.e., using the version URL, or a Label: header). The checked-out version is called a working resource (not a checekd-out VCR). Creating working resources is optional for the server (the "working-resource" option). > Clearly, you and perhaps the other authors have a different > mental model of the way this works, but nowhere in the draft > is this stated. I admit that 2.1.2, on careful viewing, does > imply that the checked-out VCR shows the body and properties > of the latest version, but I want a normative statement. A checked-in VCR will always have the same C&DP as the DAV:checked-in version. Sending it CHECKOUT essentially flips a read-only bit to read/write (ok and jiggers the live properties a bit) and that's it! Simple eh? Tim
Received on Wednesday, 7 February 2001 04:21:38 UTC