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