Re: DAV:baselines
Geoffrey M. Clemm (geoffrey.clemm@rational.com)
Mon, 20 Dec 1999 16:50:08 -0500
Date: Mon, 20 Dec 1999 16:50:08 -0500
Message-Id: <9912202150.AA07768@tantalum>
From: "Geoffrey M. Clemm" <geoffrey.clemm@rational.com>
To: ietf-dav-versioning@w3.org
In-Reply-To: <8525684D.00505FBE.00@d54mta03.raleigh.ibm.com>
Subject: Re: DAV:baselines
From: jamsden@us.ibm.com
I think this is great.
I thought you might approve (:-).
However, as I recall, the reason you wanted to
distinguish baselines from versioned configurations is that a versioned
configuration could be checked out and modified in such a way that it was
not a baseline of a versioned collection any longer. We also said that a
baseline wasn't a subclass of a configuration because it didn't have the
behavior for adding and removing members.
Yup, those are the two things I didn't like. But we can just say:
"The contents of a checked-out DAV:baselines configuration tracks the
contents of the workspace into which it was checked out. Attempts
to explicitly add or delete members from such a checked out configuration
MUST fail."
However, I think we could stick
with this definition, and just refine the behavior for adding and removing
members to be private implementations of the create accessor for a baseline
(please excuse the OO speak, but you get my point).
Yup. This would violate the "substitutability" of a baseline as a
configuration, but life goes on (:-).
Now we have a new
DAV:resourcetype called DAV:baseline which is a DAV:configuration with the
additional behavior of how baselines are created, their semantics, and a
refinement of the add/remove member that makes them private and used to
create the baseline. Make sense?
We can just use standard checkin/checkout to create baselines (since
they are now just revisions of a versioned configuration). We just need
to "turn off" add/remove member, and replace it with "automatic workspace
tracking". Even Eiffel let's a class hide features from a parent, so
there's plenty of precedent for doing so.
Cheers,
Geoff
"Geoffrey M. Clemm" <geoffrey.clemm@rational.com>@w3.org on 12/19/99
In the latest version of the protocol (deltav-01), I changed the
DAV:baselines property of a versioned collection from being a
versioned configuration to being a collection of revisions. Since
we are removing property collections, and since at least a couple
of folks objected to this change anyway, I'm planning on bringing
back the old definition, i.e. that DAV:baselines identifies a
versioned configuration.
Any objections?