Re: Activity, Workspace, Configuration
jamsden@us.ibm.com
Mon, 13 Dec 1999 07:11:28 -0500
From: jamsden@us.ibm.com
To: ietf-dav-versioning@w3.org
Message-ID: <85256846.0043113B.00@d54mta03.raleigh.ibm.com>
Date: Mon, 13 Dec 1999 07:11:28 -0500
Subject: Re: Activity, Workspace, Configuration
I think configuration is too course grained to be the unit of reuse.
Resource and collection are better as they are the finest-grained units
that are manipulated by WebDAV. For example, a version of a gif file can
be reused in contexts that don't contain all the other images used by some
other application.
"Geoffrey M. Clemm" <geoffrey.clemm@rational.com> on 12/10/99 12:10:31 AM
To: Jim Amsden/Raleigh/IBM@IBMUS
cc:
Subject: Re: Activity, Workspace, Configuration
From: jamsden@us.ibm.com
<gmc/>
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.
<ja/>
This would seriously inhibit reuse and logically seems arbitrary. When a
resource matures and stabilizes, it doesn't change that often and is a
more
likely candidate for reuse. So many configurations of many Web
applications
would include the same revision. Unless there is some insurmountable
problem that this would solve, I would not want to consider the
constraint.
But, perhaps I'm not completely understanding the issue.
It's not a question of whether several Web applications can use the
same revision or not (they can), but rather how they do so. If revisions
of a versioned resource can be contained only be revisions of a single
versioned configuration, then to use a particular revision of that
versioned resource, you'd have to select a particular revision of the
versioned configuration.
A good analogy is with functions defined in files:
A function cannot be used or referenced on its own, but rather is
selected by specifying a revision of the file that contains that
function. If you want to use a particular revision of a function, you
have to select a revision of the file that contains that revision of
the function. If you want a combination of function revisions not
available in an existing file, you have to create a new file revision
that contains the appropriate combination.
Rewritten in terms of files defined in configurations:
A file cannot be used or referenced on its own, but rather is
selected by specifying a revision of the configuration that contains
that file. If you want to use a particular revision of a file, you
have to select a revision of the configuration that contains that
revision of the file. If you want a combination of file revisions not
available in an existing configuration, you have to create a new
configuration revision that contains the appropriate combination.
In ClearCase, we call a versioned configuration a "component"
(to be precise, a "development component"). A file is not the
unit of sharing, but rather a component is. So you pick a baseline
of a component, not a version of a file, when you want to select
something reusable.
Cheers,
Geoff