- From: Julian F. Reschke <julian.reschke@greenbytes.de>
- Date: Fri, 7 Sep 2001 21:23:13 +0200
- To: <ietf-dav-versioning@w3.org>
Hi,
I have updated my proposal. The main changes are:
1) I am now using the defined element names for the response bodies
(checkin-response, checkout-response) [Geoff, thanks for adding this to
draft 17]
2) FORBIDDEN is 403, not 409.
Julian
--
Feature request for CHECKIN/OUT extension
In many cases, a versioning-aware client might want to display/include the
URI of the version it's editing *while* it's edited. For instance, a
versioning
aware editor might include this as meta-information, or the author of a
document might want to know the URI of the version *before* it's checked in.
A well-known example is the W3C way of referring to document versions in
recommendations: it contains HREFs to "the current version", to "this
version"
and to the "previous version". Something like this is currently impossible
with deltaV, as the version URI is determined at the time of CHECKIN.
Proposal:
1) Extend CHECKOUT to optionally return an "expected CHECKIN URI".
2) Extend CHECKIN to optionally use the "expected CHECKIN URI", failing the
request if it's not possible to checkin the resource with the desired
version URI (in which case a new "expected CHECKIN URI" is returned).
I propose to pass the information in the request/response bodies of
CHECKIN / CHECKOUT, such as:
CHECKOUT method:
>>REQUEST
CHECKOUT /foo.html HTTP/1.1
Host: www.webdav.org
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<D:checkout xmlns:D="DAV:">
<D:compute-expected-version-URI />
</D:checkout>
>>RESPONSE
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<D:checkout-response xmlns:D="DAV:">
<D:expected-version-URI>http://repo.webdav.org/his/23/ver/32</D:expected-ver
sion-URI>
</D:checkout-response>
(Note: if the expected-version-URI cannot be computed, the server will
simply not
include it in it's answer).
CHECKIN method:
>>REQUEST
CHECKIN /foo.html HTTP/1.1
Host: www.webdav.org
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<D:checkin xmlns:D="DAV:">
<D:expected-version-URI>http://repo.webdav.org/his/23/ver/32</D:expected-ver
sion-URI>
</D:checkin>
>>RESPONSE
HTTP/1.1 201 Created
Location: http://repo.webdav.org/his/23/ver/32
Cache-Control: no-cache
or
>>RESPONSE
HTTP/1.1 403 Forbidden
Cache-Control: no-cache
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx
<D:checkin-response xmlns:D="DAV:">
<D:cannot-assign-expected-version-URI />
<D:expected-version-URI>http://repo.webdav.org/his/23/ver/33</D:expected-ver
sion-URI>
</D:checkin-response>
Received on Friday, 7 September 2001 15:23:55 UTC