W3C home > Mailing lists > Public > ietf-dav-versioning@w3.org > January to March 2001

RE: Changes to DeltaV

From: Mark A. Hale <mark.hale@interwoven.com>
Date: Sun, 7 Jan 2001 21:27:47 -0800
To: <ietf-dav-versioning@w3.org>
Message-ID: <FCEJIPPGHGNPMFLDIMEFIEAHCIAA.mark.hale@interwoven.com>
Just to work with you some more on our suggestions:

>    > > 4.7 - Move to strike this section in the current form.  As this
>    > > section is stated here, the concept appears to be to create a
>    > > privatized workspace resource in which the client is free to apply
>    > > version control semantics at will and outside the scope of
> knowledge
>    > > of the server.  This can be accomplished by using
> GET/CHECKIN/CHECKOUT
>    > > semantics without the need for a workspace resource
> overhead.  In its
>    > > current form, any version control applied on the client is
> not applied
>    > > to the resource when it is checked in.  In the future, if these
>    > > activities are included with the resource, the workspace
> resource may
>    > > be required.  The workspace resource in this scope has no
> life span on
>    > > the server and may lead to uncontrolled overhead in its
> current form.
>    > > A similar concept that needs to be recognized is the ability for
>    > > clients to remain off-line for a long period of time and maintain a
>    > > lock on a resource as in the case of off-line editing.
> This will need
>    > > to be introduced in the future.
>
>    *) The "Client workspace" option is going to stay; there isn't
> any way to
>       get that section tossed. Consider that CVS, one of the most
> widely used
>       version control systems, uses this model.
>
> The key feature of the client workspace option is the ability to have
> multiple checkouts of the same version-controlled resource, without
> the need to create multiple workspaces on the server.  If you just have
> GET/CHECKIN/CHECKOUT, access to a particular version-controlled
> resource is serialized for the duration of the CHECKOUT/CHECKIN, and
> intermediate work is exposed.
>
> It would be great to have only one of these models, but after two
> years of trying, it's pretty clear that there is no way to unify them,
> and both are widely used.

I do not think that we are far apart here.  I see two issues:

a) The ability to have multiple checkouts of the same version-controlled
resource accomplished through the creation of a working resource
b) An area where one or more non-version-controlled or version-controlled
resources can exist for segregated use by the user

I believe that b) is what a workspace is.  The concept of 'client' and
'server' workspace do not make sense to me unless you are trying to use it
to mean a descriptive term to describe where version control is being done.
What is referred to as 'server-workspace' in the draft is a workspace that
exists on the server that is client accessible.

I trust your implementation experience with a).  Your description helped and
is immediately evident when one reads section 4.  However, I do not feel
that a working resource is a workspace and, logically, the working resource
should be accessed in the context of a workspace.  Can we keep the concept
of a working resource but move it to exist inside of a workspace, with the
understanding that a workspace is addition overhead but helps in the logical
separation?

>    > >
>    > > 5.0 Need DELWORKSPACE method to delete workspaces no longer in use.
>    > >
>
>    *) DELWORKSPACE is not needed. Just use DELETE
>
> I agree.

OK

>    > > 5.0 - Text "(see section 6.2)" should read (see section 7.2)"
>    > > 5.0 - Text "(see section 0)" should read (see section 9)"
>
> Will fix.

Thanks!

>    > >
>    > > 5.4 - Current form of MKWORKSPACE is for the workspace to
> be empty on
>    > > initialization.  There should exist three options.
>    > >
>    > > 1. An empty workspace
>    > >
>    > > 2. A workspace initialized with the current version of the
> resources
>    > > in a baseline as non-version-controlled resources
>    > >
>    > > 3. A workspace initialized with the current version of the
> resources
>    > > in a baseline as version-controlled resources
>    > >
>
>    *) MKWORKSPACE variants:
>       -) empty: what we have today
>
> Yes.
>
>       -) initialized w/ a baseline as non-controlled resources:
> COPY a baseline
> 	 selector to the target area instead.
>
> Actually, you'd first BASELINE-CONTROL a collection, with that baseline
> and then COPY that collection to the target area.  That target area is
> not a "workspace" in any interesting way, so I don't see that you'd
> want the destination to be a workspace.  Just any old collection will do.
>
>       -) initialized as controlled resources: MKWORKSPACE followed by
> 	 BASELINE-CONTROL ought to do the trick. (this is discussed in 5.0)
>
> Yes.

I agree that the two-phase approaches will work.  IMHO, I envisioned a
single-phase scenarios where a user would like to take a baseline into a new
workspace and have it fail if not possible.

This is a nice to have but not needed.

>    > > 5.5-5.7	The workspace must exist as a pre-condition.
>    > >
>    > > 5.5-5.7 The version-controlled resource to be operated on by the
>    > > CHECKOUT/CHECKIN/UNCHECKOUT methods must have workspace URL.  Note
>    > > examples do not reflect this.
>
>    *) your comments on 5.5 - 5.7 don't make sense to me. The URL is the
>       version-controlled resource (VCR), and that VCR is in a
> workspace. There
>       is no separate URL for a workspace.
>
> I agree.
>
>       And the bit about a workspace as a precondition: sections 5.5 - 5.7
>       actually work without needing "workspaces." It is a bit
> confusing because
>       they are placed into the "workspace" section, when they
> really just mean
>       "editing resources on the server [with or without a
> workspace]." IMO,
>       they should move to a different section, or somehow be
> clarified that
>       they do not require a "workspace" to operate.
>
> Yeah, that was just a somewhat forced attempt to cut down on the
> number of options.  It seemed like the only people asking for
> "in place checkout" were those who were planning on implementing
> workspaces, so I bundled "in place checkout/checkin" with the
> workspace option.   Another way to look at it is that a server can
> support the "server-workspace" option, but fail a user's attempt
> to create new workspaces with MKWORKSPACE.  I'd probably prefer
> this over splitting this into two separate options (although I agree
> that they are logically separable).

I need to think about this one some more.  If the version-controlled
resource (VCR) is in a workspace, doesn't the workspace need to exist as a
precondition regardless of whether or not a separate URL for the workspace
can be discriminated?

	Thanks again for taking the time,

	Mark
Received on Monday, 8 January 2001 00:24:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 13:57:39 GMT