Re: WeDAV Versioning Summary
Geoffrey M. Clemm (gclemm@tantalum.atria.com)
Sat, 8 May 1999 15:24:34 -0400
Date: Sat, 8 May 1999 15:24:34 -0400
Message-Id: <9905081924.AA10036@tantalum>
From: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com>
To: sv@crystaliz.com
Cc: ietf-dav-versioning@w3.org
In-Reply-To: <003501be8a99$fff49140$e6ea7392@honeybee> (sv@crystaliz.com)
Subject: Re: WeDAV Versioning Summary
From: "Sankar Virdhagriswaran" <sv@crystaliz.com>
One way to state my objection to workspace is based on the fact that DELTA-V
really covers 3 different (top level) concepts. The first is the
'transactional' semantics of cooperative development (often called
cooperative transactions in CS research) with merge support.
Could you explain what you have in mind for "transactional semantics of
cooperative development"? And how it is related to workspace functionality?
The second is the notion of views on underlying data.
Workspaces do give you a flexible way of selecting revisions of
versioned-resources (e.g. the revision selection rule). Requiring
that revision selection take place via a workspace gives the server
the opportunity of storing objects like configurations, labels, and
activities in an efficient format, while maximizing their version
selection performance when placed in a workspace.
The third is the notion of
workspaces that are used to perform work by individuals or groups.
By this I assume you are referring to the fact that working resources
are always associated with a workspace.
I think we should separate these three for modularity sake alone.
I'll wait for explanation on what the first concept is, but the second
and third concept are joined because any time you have a multi-resource
version-selection problem, you need to be able to deal with both revisions
and working-resources in a uniform way.
APPLICATION REQUIREMENTS
Additionally, for the type of applications we are thinking about, merge has
two implications: 'consistency management' and the 'place where the merge is
performed'. By tying these two closely, the protocol does not allow for
merge schemes that do not assume a 'place' with a 'view' where users perform
the merge activity (a counter example is a document to which merge is
applied or a calendar that is merged with other calendars in a meeting
maker).
There is no requirement that a merge take place in a workspace,
although there is a requirement that any new version be created
by checking out some versioned-resource in some workspace.
In our way of thinking much of the information pieces (changes, change
proposals, change sets, etc., etc.) are thought of as 'documents' which can
be edited, shipped, shared, replicated, and done things to that you would
expect to do a document. In this context, workspaces with view rules where
merge is performed may be too heavy weight an object
A workspace can be as lightweight as a "checkout token" with a textual
revision-selection-rule property. Although servers may chose to implement
them as a heavily optimized resource, there is no requirement that they do so.
(and probably rooted in
some 'place' according to the current spec.) and may not result in
consistent behavior when shipped from one host to another (lacking global
namespaces, etc.)
You can just ship around the revision-selection rule if you want to get
consistent behavior between hosts (the working resources are of course
local to the workspace, though).
Cheers,
Geoff