Date: Tue, 6 Apr 1999 00:26:10 -0400 Message-Id: <9904060426.AA27526@tantalum> From: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com> To: ejw@ics.uci.edu Cc: ietf-dav-versioning@w3.org In-Reply-To: <000101be7fbb$12085360$d115c380@ics.uci.edu> (message from Jim Subject: Re: How to create configurations I believe there is a way to address JimW's concerns while still satisfying JimA's requirements that a snapshot be "usable" in a revision-selection-rule (which provides mappings from user-URL's to revision-URL's). In particular, we could introduce a DAV:versioned-collection attribute for a snapshot. This says that this is a snapshot of *that* versioned collection. In this case, all user-URL's of the DAV:scope of the snapshot will be *relative* URL's, and only mappings of parent collections up to the DAV:versioned-collection will be added to the snapshot. The main benefit of this approach is that you decrease the number of "revision-selection-rule" conflicts in the common parents (such as /people and /people/jim) when you mix and match different snapshots of the children (i.e. /people/jim/project1 and /people/jim/project2). The drawback of this approach is that the server has to become smarter, and remember the "versioned-collection" roots of any snapshots in its revision-selection-rule, so that it can apply that snapshot to any child of that versioned-collection. A compromise would be to make the DAV:versioned-collection property of a snapshot be optional. Cheers, Geoff From: Jim Whitehead <ejw@ics.uci.edu> > Adding a resource to a configuration adds the URL of the resource and > its parent collections recursively up the collection hierarchy to the > root. The URL must refer to a versioned resource, and the revisions > selecded for the configuration must be immutable. Jim, Thanks for taking the time to write this message about configurations -- it really helped my understanding a lot. However, reading through your post, I was struck by the requirement I quoted above. It seems to me there are many use cases where you don't want to add the URLs of parent collections all the way to the root. For example, if I have a Web server set up so my personal working space is: http://davserver.uci.edu/people/jim/ (where other users are added under /people/) I wouldn't want to have /people/ added into a configuration of some project which starts under /jim/. I'm hoping you really meant "to the root of the project" or something like that, where, if in the example above I was working on two projects: http://davserver.uci.edu/people/jim/program1/ http://davserver.uci.edu/people/jim/program2/ (where /program1/ and /program2/ are the root URLs of a hierarchy of Web resources for source code, design document, requirements, etc.) In this case, I would want a set of configurations for /program1/ and a set of configurations for /program2/ (and never the two shall meet). - Jim