Versioning TeleConf Agenda, 4/19/99 (Monday) 2-3pmEST

Geoffrey M. Clemm (gclemm@tantalum.atria.com)
Sun, 18 Apr 1999 11:26:15 -0400


Date: Sun, 18 Apr 1999 11:26:15 -0400
Message-Id: <9904181526.AA24613@tantalum>
From: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com>
To: ietf-dav-versioning@w3.org
Subject: Versioning TeleConf Agenda, 4/19/99 (Monday) 2-3pmEST


phone: 888 819 8909  pass-code#97985

Agenda:

- Configurations and Snapshots

This remains the major unresolved item on our list.  I think we are
getting closer though.  I believe there are currently two main positions
being held:

*1* A "deep revision" of a collection is both necessary and sufficient
to support the configuration use cases.  For now, I'll just use the
term "baseline" for this concept.  To create a baseline of
a collection, you select a workspace and "snapshot" the set of revisions
that are currently selected as the members of that collection in that
workspace.  A baseline of a collection contains both revisions and
"sub-baselines", to allow the cheap creation of new baselines through
the re-use of existing sub-baselines.

*2* A more general "revision collection" is needed, in which the only
constraint is that it can contain at most one revision from a
particular versioned resource.  The primitive operations on a revision
collection are just "add member revision" and "remove member revision".

Those of us that support the first position believe that the arbitrary
"add-member" and "remove-member" operations do not give the server the
flexibility it needs to cheaply implement configurations, especially
configurations of large numbers of revisions.

Those of us that support the second position believe that the more
general notion is required to reflect what common versioning systems
do today.

I personally hold to the first position, but I could live with a
compromise which provides both concepts, i.e. "baselines" for deep
revisions of collections, and "configurations" which provide the
more general "revision set" concept.

As a protocol note, it would be tempting to just implement "make-baseline"
as just a "Deep" header for the CHECKIN operation.

Cheers,
Geoff