Date: Tue, 17 Aug 1999 14:44:42 -0400 Message-Id: <9908171844.AA27815@tantalum> From: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com> To: Jeff_McAffer@oti.com Cc: ietf-dav-versioning@w3.org In-Reply-To: <1999Aug13.183400.1250.1288432@otismtp.ott.oti.com> Subject: Re: FWD: Questions on the 02 versioning From: Jeff_McAffer@oti.com (Jeff McAffer OTT) [On the topic of REPORT'ing conflicts] <gmc> If we keep the restriction in the current spec that "versioned collection members must be versioned resources" (something I advocate), then this case does not arise. </gmc> <jm> If / is not a versioned collection then to find ALL conflicts (i.e., every conflict in my workspace) I need to specify / in my REPORT request. We then need to spec what happens when you hit non-versioned resources.</jm> <gmc> You are of course correct. I was being a meathead. I agree with your original proposal that we explicitly state that a non-versioned resource never has a conflict. [On the topic of REPORT'ing differences] > <gmc> > An activity being in a configuration is a report on whether the > products of that revisions in that activity are "included" in that > configuration. More formally: "An activity is in a configuration if > at least one revision that is a product of that activity is on a line > of descent to the revision selected by the configuration." It can be > the case that only part of an activity is in a given configuration. > This is how an activity can have "changed" from one configuration to > another, as indicated by the "DAV:changed" element. Unlike a > workspace, > there are never any "conflicts" in configuration revision selections. > </gmc> <jm>I don't see the value add in this. What is the use-case for why we need/want this? If I read your (gmc) description right, the activity list for a config will/could be huge. Every activity involved in the line of descent of the selected revision of every resource in the configuration will be technically "in" the configuration!! What did I miss? </jm> <gmc> A very common question is "what changed between these two configurations". One could say "these new revisions are in and these revisions are out", but it is usually much more useful to respond "these are the activities that were performed to change the new configuration". So the activity list is huge only if there have been a huge number of activities to produce the new configuration (remember that this is for the "difference" REPORT for configurations). A server is of course free to not support the activity-based difference report, if it can't, or if it doesn't think clients will want this information. </gmc> <jm> Also, does one explicitly add an activity to a configuration? <gmc/> No. How? Are activities implicitly added by virtue of adding a revision who's line of descent goes through the activity to the configuration? </jm> <gmc/> Yes. > 5) how does one create a configuration? <jm>Alternatively, MKRESOURCE "config" at / would put it in the server defined place and return the URL for where it put it. This is the "default". <jm/> <gmc/> I don't think we can count on playing games with /. Often / will not even be in dav space, so the dav-enabled server will not see requests that go to /. <jm/> Users can spec a different Request-URI (other than /) if they are really keen. BTW, do we have any use-cases in which users really want their configs mixed with their domain resources? <gmc/> I don't, but the issue is that we can't/shouldn't be defining in the protocol what the legal URL's are for configurations, but rather should provide a way for the server to expose this information. Currently in the 2.2 draft, we are proposing to use OPTIONS to do this. <jm> BTW, where do baselines go? These are effectively config constructed by the system when you do a deep CHECKIN. Presumably they have a URL as well? <jm/> <gmc/> That again is up to the server. You can find out the URL for the baselines for a particular collection by looking at the DAV:baselines property of that collection. <jm> I'm very uneasy about all of this. Configurations really are metadata. They are not content or structure. They are configuration management info. If we start mixing metadata resources with domain resources, it significantly muddies the user view? There should be a "meta" area of the URL namespace where one can escape the domain and access configs, workspaces, activities, ... <jm/> <gmc/> That's a very reasonable server design choice, but I don't think we can mandate the actual name of that "meta" area of the namespace. <jm> We can do better than the filesystem. </jm> <gmc/> URL's have the same slash separated namespace as a filesystem does. > 7) What are the semantics of the DAV:needed-configurations > property of configuraions? <jm>To be clear. If the needed-configs are actually added to the RSR then I can edit the RSR and remove one of the needed-configs. How does this affect the config which needed config I just removed? It may be better to say that the needed-configs of a config in an RSR are *implicitly* added to the RSR.</jm> <gmc/> The semantics of DAV:needed-configurations is currently specified in section 5.1.2 (the section that describes the DAV:rsr-activity-latest semantics). I think the current wording avoids any suggestion that the DAV:needed-configurations actually change the value of the workspace RSR in any way, but if it is not clear, we need to reword it so that it becomes unambiguous. In particular, adding or deleting DAV:needed-configurations has no effect on the contents of the workspace DAV:revision-selection-rule property. > <gmc> ... A baseline of a versioned collection must > contain all the members of that collection (to an arbitrary depth). > So creating a baseline of a collection creates sub-baselines of any > sub-collections that are baselined. Something I would support would > be a property on a versioned collection revision that says whether a > baseline of a parent collection should contain a baseline of > that versioned > collection or a revision of that versioned collection (and > its members). <jm>If I read gmc right, we want to autocreate "sub-baselines" and add them as needed-configurations on the parent baseline? If so, I agree. If not, I missed something</jm> <gmc/> Yes. I'll add some words to this effect to the CHECKIN section (which is currently how baselines are created), and then we can merge this into whatever changes you have made to this section. > 9) What resource types can be created with MKRESOURCE? DAV:collection (e.g. MKCOL) DAV:workspace, DAV:activity, DAV:history, DAV:configuration Cheers, Geoff