Re: Working collections

We need to be able to do a CHECKOUT on a collection version so that we can
perform operations within the collection and on the collection itself.

In Subversion, I've been planning to do a CHECKOUT on a parent collection
version resource, which will return a location such as:

    http://host.name/repo/$svn/wrk/100.3

I can then do the following:

    PUT http://host.name/repo/$svn/wrk/100.3/newfile.html

or even:
    COPY http://host.name/repo/somedir/foo.c
    Destination: http://host.name/repo/$svn/wrk/100.3/foo.c
    
    (or a MOVE if the source's parent is checked out)

The working resource for the collection is also handy for deleting or for
replacing the collection:

    DELETE http://host.name/repo/$svn/wrk/100.3
    (note that this request also requires a checked-out parent)

    COPY http://host.name/repo/somedir/
    Destination: http://host.name/repo/$svn/wrk/100.3
    Overwrite: T

DELETE of a member is a CHECKOUT of two items: the thing to DELETE and the
parent collection.


Without being able to do a CHECKOUT on a collection, there wouldn't be a way
to do any of the above.

Cheers,
-g

On Wed, Nov 15, 2000 at 11:37:56AM +0000, Tim_Ellison@uk.ibm.com wrote:
> 
> 
> I propose that we disallow CHECKOUT of a collection version.
> 
> Tim Ellison
> Java Technology Centre, MP146
> IBM UK Laboratory, Hursley Park, Winchester, UK.
> tel: +44 (0)1962 819872  internal: 249872  MOBx: 270452
> ---------------------- Forwarded by Tim Ellison/UK/IBM on 2000-11-15 11:35
> AM ---------------------------
> 
> Tim Ellison
> 2000-11-10 10:45 AM
> 
> To:   ietf-dav-versioning@w3.org
> cc:
> From: Tim Ellison/UK/IBM@IBMGB
> Subject:  Working collections
> 
> 
> It seems a long time since this was last discussed -- well I've forgotten
> the explanation so here goes:
> 
> We agreed that URLs to versions exist outside the normal DAV namespace.
> This is concept is variously reflected in the spec as virtually hosted URLs
> (http://repo.webdav.org/his/23/ver/42) and 'stolen' parts of the root
> collection namespace (e.g. http://www.webdav.org/repo/wr-157.html).
> 
> Clients should not, therefore, expect to be able to construct new URLs
> based on these server maintained URLs (i.e. removing / adding segments to
> reach other resources).
> 
> Q1:
> We know that a versioned collection is a mapping from names to version
> histories.  So when you check out a versioned collection what can you do
> with the resulting working collection?  Are you constrained to creating
> members that bind to histories only?  Are you prevented from creating new
> bindings at all?
> 
> Q2:
> Can you delete bindings from a working collection -- presumably yes since
> if you can't change a working collection's members you can only use them to
> change properties? (There is clearly a good case for checked out collection
> version selectors).
> 
> When the server sees a URL to a working collection, say of the form
> http://repo.webdav.org/vr/9/wr/1/foo it can 'know' about the form of these
> URLs to determine that everything up to 'foo' is the URL to the working
> collection and 'foo' is the member of that collection, but there would be
> (typically) no relationship between that URL and the URL of the history
> resource that 'foo' is currently bound to; so it would not be possible to
> slash-through 'foo' to reach other resources.
> 
> Tim
> 
> 

-- 
Greg Stein, http://www.lyra.org/

Received on Wednesday, 15 November 2000 20:58:41 UTC