From: Jim Whitehead <ejw@ics.uci.edu> To: Versioning <ietf-dav-versioning@w3.org> Date: Thu, 1 Apr 1999 16:58:14 -0800 Message-ID: <003701be7ca3$e3202240$d115c380@ics.uci.edu> Subject: Re: Version issues -----Original Message----- From: Chris Kaler [mailto:ckaler@microsoft.com] Sent: Saturday, February 20, 1999 11:27 PM To: 'jamsden@us.ibm.com' Cc: gclemm@atria.com; ejw@ics.uci.edu; dgd@cs.bu.edu; Cragun.Bruce@gw.novell.com; sridhar.iyengar@mv.unisys.com; bradley_sergeant@intersolv.com; ABabich@filenet.com Subject: RE: Version issues Edited down... <jra> I don't see workspaces adding complexity, in fact I seem them removing it. Again, what needs do existing "level 1" clients have that workspaces don't fit? Please quantify the complexity with concrete examples. I think I have given a number of examples where workspaces in level 1 do have preceived value. </jra> [CK] For today's "level 1" systems, there is no notion of workspace. I agree that such a concept would be an interesting addition, but forcing it would mean an additional concept that the users of the system don't need. However, I think the idea that there is, conceptually, a default workspace is fine - so long as neither the client or the protocol care about it in level 1. <jra> We said level 1 clients don't have parallel development. That's level 2. Again, just allowing branches doesn't support parallel development. You have to be able to do something with those branches after you create them. [CK] I don't think we ever agreed on that because I know I would have objected :-). In today's basic systems, you can check out the same document twice, or, multiple versions simultaneously. We have to support this behavior without requiring clients and servers to move to level 2. This is where I think we have the biggest problems. How is updating an RSR complex? Workspace could have methods to add and remove entries to/from the RSR. The current model just uses an XML document fragment, just like PROPFIND and PROPPATCH, but we could add some convenience methods to the model and/or protocol. Updating an RSR will usually be just adding or removing a label and/or configuration (for level 2). Why do you think this is complex? </jra> [CK] As I said in my previous mail, I was assuming that you had to do a PROPFIND and then a PROPPATCH. I realized you weren't saying That... <jra> I'm still looking for that use case from you describing this requirement. </jra> [CK] Here are two... there are more... Dick is working on the latest version of the HR Manual. He has it checked out using his level 1 client against their level 1 server. Jane found a typo in the previous verison of the HR manual and needs to check it out to fix it. This means the default workspace must support checkouts of different versions of the same file. Jack and Jill work on a system that uses very basic versioning, but their client does understand merging. Jack checks out foo.htm to fix a bug in his script code. Jill is working on a problem with a server applet and finds a bug in foo.htm. She also checks it out. When Jill goes to check in, she finds that Jack has already checked in and she must merge her change. This requires the default workspace to support multiple checkouts of the same resource. I do not believe we can require a level 2 client and server to support these basic scenarios. Unless you want to say Level 1 is basic versioning, level 2 is basic + parallel, and level 3 is sophisticated SCM. Chris