Re: comparing configurations and baselines

jamsden@us.ibm.com
Fri, 7 May 1999 16:47:55 -0400


From: jamsden@us.ibm.com
To: ietf-dav-versioning@w3.org
Message-ID: <8525676A.00727658.00@d54mta03.raleigh.ibm.com>
Date: Fri, 7 May 1999 16:47:55 -0400
Subject: Re: comparing configurations and baselines



But there really aren't that many differences. See below.





"Geoffrey M. Clemm" <gclemm@tantalum.atria.com> on 05/07/99 03:24:57 PM

To:   ietf-dav-versioning@w3.org
cc:    (bcc: Jim Amsden/Raleigh/IBM)

Subject:  comparing configurations and baselines





To check whether configurations and baselines are just minor
variants of the same concept, I did a quick comparison.  Other
than both being an RSR element (which they share with labels
and activities), they appear rather more different than alike:

A configuration is a versionable resource (not necessarily versioned).
A baseline is a revision (a deep revision of a baselined-collection).
<jra>
It seems strange to talk about a revision of something that isn't a versionable
resource. This doesn't feel like consistent semantics. In any case, a
configuration could be a revision too.
</jra>

A configuration can be created and manipulated without a workspace.
A baseline can only be created in the context of a workspace.
<jra>
But we said that the revision of a member of a configuration *can* be selected
by the workspace or specified explicitly. So this doesn't look like a
significant difference.
</jra>

A configuration can be an RSR element.
A baseline can be an RSR element.

A configuration can be changed while it is in use by a workspace RSR,
and the revision selection of the workspace reflects that change.
A baseline can only be used in an RSR when it is checked in and is immutable.

A configuration supports create, get-member, and put-member operations.
A baseline only supports a create operation (CHECKIN).
<jra>
But the collection the baseline is created from has get and put member
semantics.
</jra>

A configuration can only contain revisions (a baseline is a kind of revision),
not other configurations.
A baseline can contain other baselines (i.e. for members of the
baselined-collection that are also baselined-collections).
<jra>
This was a choice we made for configurations. We can change that if necessary.
Note also that if a configuration has a collection member, and that member has
collection members, all of which are in the configuration, then this
configuration also contains other "configurations" just like baselined
collections. So there's no difference here.
</jra>

A configuration can select revisions from an arbitrary set
of versioned-resources (but only one revision per versioned-resource).
A baseline must select exactly one revision of every member of
the baselined-collection.
<jra>
Your new definition of configuration. But if we stick to putting a collection in
a configuration adds its members to the configuration (a sensible thing I
think), then this difference goes away too.
</jra>

Cheers,
Geoff