RE: Definition of a configuration

   From: Edgar@EdgarSchwarz.de [mailto:Edgar@EdgarSchwarz.de]

   Peter Raymond <Peter.Raymond@merant.com> wrote:

   > "A configuration is a set of resources that consists of a root
   > collection and all members of that root collection except those
   > resources that are members of another configuration"

   > "A baseline is a version resource that captures the state of each
   > version-controlled member of a configuration"

   > The configuration DOES include members that are not
   > version-controlled, but the baseline does NOT capture them.
   > Right?

Correct.

   The spec is saying that but I think it's wrong :-)

One could define it either way, as long as the definitions are used
consistently.  Since the spec has gone through IESG last call, we'll
just have to live with the current definitions.

   In my understanding A BASELINE IS A VERSION OF A CONFIGURATION.
   The purpose of a version is to capture the state of the thing it's
   a version of.  So if a configuration can contain
   not-version-controlled members and a baseline doesn't capture them
   a baseline isn't really a version of a configuration.  At least in
   the sense I defined the meaning of 'version' above.

I think the current approach of the specification is simpler, since it
effectively says that anything you can find with a depth:infinity
PROPFIND is a member of that configuration.  But whether or not it
is simpler, it is what will appear in the standard.

   Therefore I would change the definitions Peter cites:

     "A configuration is a set of resources that consists of a root
      collection and all version-controlled members of that root collection
      except those resources that are members of another configuration"

     "A baseline is a version resource that captures the state of each
      member of a configuration."

This would not allow you to talk about non-version-controlled
configurations.  I think this would be unfortunate, since it is
a useful concept even if you aren't doing versioning.

   > So, my question is:
   > 
   > Will non-version-controlled members of a configuration that is
   > under baseline control return a value for the
   > DAV:version-controlled-configuration property?

   This question doesn't make sense any more because there aren't such
   members by definition.

By the definitions in the specification, though, the question does make
sense and the answer is "yes".

 The question Peter would have now is:

     Will non-version-controlled members of a collection that is under
     baseline control return a value for the
     DAV:version-controlled-configuration property?

The only difference between these two questions is that Peter's question
includes the root collection, while your rephrasing does not.

   I would answer no.

According to the specification though, the answer is "yes".

   I think we should make clear the difference between the
   configuration (The set of version controlled resources. A logical
   entity) and the collection which just serves as a temporary
   anchor/root to "display" the configuration.

The specification makes a clear distinction between the configuration
(which is a set of resources), and the root collection of a
configuration (which is a single resource).  How is the root
collection any more "temporary" than any other part of the
configuration?

   This root collection can obviously contain non-version-controlled
   members which can be added and removed from the configuration by
   changing their version-control status.

One could define it this way, but we didn't (:-).  That's one of the
nice thing about locking down a standard ... you can stop debating
over terminology, and get on with the implementations (:-).

Cheers,
Geoff

Received on Sunday, 28 October 2001 22:50:45 UTC