Re: Activity, Workspace, Configuration

Geoffrey M. Clemm (geoffrey.clemm@rational.com)
Tue, 7 Dec 1999 10:21:27 -0500


Date: Tue, 7 Dec 1999 10:21:27 -0500
Message-Id: <9912071521.AA01213@tantalum>
From: "Geoffrey M. Clemm" <geoffrey.clemm@rational.com>
To: ietf-dav-versioning@w3.org
In-Reply-To: <384666CF.D8FC5394@informatik.uni-kl.de> (message from Budi
Subject: Re: Activity, Workspace, Configuration

   From: Budi Surjanto <surjanto@informatik.uni-kl.de>

   In the Web Versioning Model document it is described that
   a workspace is associated with at least 1 and at most 2
   current activities. Why?

A workspace is associated with an activity in 2 ways: the
DAV:current-activity and the DAV:revision-selection-rule
properties.There can be at most one activity specified in the
DAV:current-activity property (the current-activity says which
activity will get versions created by new checkouts), but there can be
an arbitrary number of activities specified in the
DAV:revision-selection-rule (so you can see the results of several
activities at the same time).

   Does it mean that one can work on more than 2 activities,
   but at least 1 and at most 2 of them are current?

You can work see the results of as many activities as you wish,
but only one activity can be "current", i.e. the one that new
revisions will be checked out into.

   Since a configuration can be versioned, so what is
   exactly a revision of a configuration?

Over time, the revisions selected by a configuration can change,
but if you want to be able to go back to an earlier state of a
configuration, it makes sense to "version" the configuration itself.
You can then select an arbitrary revision of the configuration as
a member of your DAV:revision-selection-rule, and thereby make
that previous state of configuration visible in your workspace.

   Say, A, B an C are versioned resources and
   {a1, a2}, {b1}, and {c1, c2, c3} the corresponding
   revisions of each of them.
   Furthermore CO is a configuration which is under
   version control.
   Is it true  that a revision of CO is for example
   {a2, b1},  {a1, b1, c1}, or {a1, c3}?

Yes.

   Is it correct that one can specify CO is a configuration
   which contains {A, B}? (since a configuration is a type of collection
   as defined)

No, because a configuration is a set of revisions,
not a set of versioned resources.

But I am toying with the idea of proposing to the versioning design team
that we actually constrain versioned configurations so that revisions
of a particular versioned resource can belong to at most one versioned
configuration.  This makes revisions of a given versioned configuration
much more interchangeable, and allows for significant server side
optimizations, but it does come at the cost of a decrease in flexibility.

Cheers,
Geoff