- From: <Tim_Ellison@uk.ibm.com>
- Date: Tue, 14 Nov 2000 18:23:24 +0000
- To: ietf-dav-versioning@w3.org
Section 7.1 of the spec describes how the server must answer a response
body for 403 & 409 responses with each method precondition that fails.
It seems to be an art to divide the preconditions between 403 and 409, but
seems like something we should agree upon. There is usually some
combination of requests that the client can do to make a failing request
subsequently succeed.
My rule of thumb was "assume it is a 409 unless the client cannot fix the
situation without destroying resources". For example, a client could make
one-version-selector-per-history-per-workspace succeed by deleting the
other version selector, but they can never make cannot-copy-history
succeed.
The sections where the preconditions appear in versioning-10.4 are in
parentheses after the name below.
403 Forbidden.
The server understood the request, but is refusing to fulfill it.
Authorization will not help and the request SHOULD NOT be repeated.
baseline-control-must-be-empty (16.4)
cannot-copy-history (15.7)
cannot-modify-protected-property (7.4)
cannot-modify-unsupported-property (7.4)
cannot-modify-version-content (7.3)
cannot-modify-version-property (7.4)
cannot-rename-resource (7.7, 15.8)
checkin-fork-forbidden (15.11)
checkout-of-checked-out-version-is-forbidden (15.10)
checkout-of-version-with-descendant-is-forbidden (15.10)
linear-activity (15.10, 15.11)
merge-destination-must-be-valid (16.5)
must-be-baseline (16.4)
must-be-collection (16.4)
must-be-checked-in-version-selector (9.5)
must-be-checked-out-version-selector (9.4)
must-be-version-or-version-selector (9.2, 16.1)
must-be-version-selector (15.10)
must-be-versionable (9.1)
must-have-no-members (16.4)
must-select-version (9.5, 15.2, 15.4, 15.7, 15.10, 15.12, 16.1, 16.5)
no-checkout-of-baseline-version (15.10)
no-unreserved-checkout-for-reserved-activity (15.10)
predecessor-in-checked-out-version-history (15.11)
409 Conflict
The request could not be completed due to a conflict with the current
state of the resource. This code is only allowed in situations where
it is expected that the user might be able to resolve the conflict
and resubmit the request.
cannot-add-to-existing-history (9.1)
cannot-merge-checked-out-resource (16.5)
cannot-modify-destination-parent-version-selector (15.8)
cannot-modify-version-selector-content (7.3)
cannot-modify-parent-version-selector (15.5, 15.8, 15.9)
cannot-modify-version-selector-property (7.4)
checkin-fork-discouraged (15.11)
checkin-requires-lock-token (9.3)
checkout-of-checked-out-version-is-discouraged (15.10)
checkout-of-version-with-descendant-is-discouraged (15.10)
checkout-required (16.5)
checkout-requires-lock-token (9.2)
initial-version-required (9.1)
label-must-exist (16.1)
merge-must-be-complete (15.11)
merge-requires-lock-token (16.5)
must-be-new-label (16.1)
must-be-version (9.1)
must-be-checked-out (9.3)
must-not-be-checked-out (9.2, 16.1)
no-checked-out-baselined-collection-members (15.11)
no-eclipsed-baselined-collection-members (15.11)
one-baseline-selector-per-history-per-workspace (16.4)
one-version-selector-per-history-per-workspace (15.9)
one-checkout-per-activity-per-history (15.10)
only-overwrite-mutable-version (15.11)
resource-must-be-null (16.2, 16.3)
set-target-requires-lock-token (9.5)
uncheckout-requires-lock-token (9.4)
Tim Ellison
Java Technology Centre, MP146
IBM UK Laboratory, Hursley Park, Winchester, UK.
tel: +44 (0)1962 819872 internal: 249872 MOBx: 270452
Received on Tuesday, 14 November 2000 13:25:10 UTC