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