RE: Variant Control: a new proposal for handling "mutable version s"

Here's the proposed replacement text for the "mutable-version option"
section:

--------------------------------------------------------

14	VARIANT OPTION
The variant option provides a mechanism for a server to expose a subset of
the versions from the history of a version-controlled resource as a set of
special version-controlled resources called "variants" of that
version-controlled resource.  

Unlike the URL for a version, which uniquely identifies exactly that version
and is therefore inevitably quite obscure, the URL for a variant is intended
to be meaningful to a user, but there is no guarantee that a URL for a
variant will continue to identify that variant.  In particular, the URL for
a variant of a version-controlled resource will usually change whenever that
version-controlled resource is moved.

Like any other version-controlled resource, a variant can be checked out in
order to modify its content or dead properties.  When a variant of a
version-controlled resource is checked in, the version-controlled resource
is updated with that version.  Therefore, the version-controlled resource
always has the content and dead properties of the last variant that was
checked in.

14.1	Additional Version-Controlled Resource Properties
The variant option introduces the following properties for a
version-controlled resource.

14.1.1	DAV:variant-set (protected)
This property contains a URL for each variant of the version-controlled
resource.

<!ELEMENT variant-set (href*)>

14.2	Additional VERSION-CONTROL Semantics

A VERSION-CONTROL request may specify that variants MUST be maintained for
the version-controlled resource.

Additional Marshalling:
<!ELEMENT version-control ANY>
ANY value: A sequence of elements with at most one DAV:variant-control
element.

<!ELEMENT variant-control EMPTY>

Additional Postconditions:

(DAV:variant-control): The DAV:variant-set property of the
version-controlled resource MUST identify a new variant whose DAV:checked-in
property identifies the initial version of the new version history.

14.3	Additional CHECKIN Semantics

Additional Postconditions:

(DAV:create-new-variant): If the request-URL identifies a version-controlled
resource with a DAV:variant-set, a new variant MUST be created whose
DAV:checked-in property identifies the new version, and the DAV:variant-set
of the version-controlled resource MUST be updated to contain this new
variant.

(DAV:update-variant-controlled-resource): If the request-URL identifies a
variant in the DAV:variant-set of a version-controlled resource, and the
version-controlled resource is checked in, then the content and dead
properties of the version-controlled resource MUST be updated to be those of
the new version, and the DAV:checked-in property MUST be updated to identify
the new version.

(DAV:delete-variant-predecessor): If the DAV:checked-in property of a
variant is modified, the version previously identified by the DAV:checked-in
property MAY be automatically deleted by the server.

-----------------------------

Comments?

In particular, Mark, Lisa: Does this let you do what you want?

Cheers,
Geoff

Received on Sunday, 7 January 2001 11:07:02 UTC