From: Jeff_McAffer@oti.com (Jeff McAffer OTT) To: jamsden@us.ibm.com (jamsden) Cc: ietf-dav-versioning@w3.org (ietf-dav-versioning) Message-ID: <1999Oct05.122000.1250.1342192@otismtp.ott.oti.com> Date: Tue, 05 Oct 1999 12:24:36 -0400 Subject: RE: Compare reports <jm> I don't think I was very clear in my initial question. I am looking for very specific details here. There "could" be lots of different formats. The problem is coming up with a set which are consistent and coherent. What *exactly* do we think the reports will look like? See below for some examples. As an additional overall question, would it be a good idea to report the revision-ids where relevant? That is, for changed resources, report the old and new revision-id. For deleted, report the revision-id of what was there and for added report the revision-id for what is there now. I vote for this as the alternative is to do a REPORT, find out that something changed and then do several round-trips to figure out how it changed. The server likely has this information available to it easily when it was doing the REPORT. </jm> > What is the form of the compare report elements (e.g., how does a > DAV:added specify what was added?) > > Is it different when comparing configurations, collections, > activities? > That is, > > - For configurations we could report resource-ids that were > added/deleted/changed or paths relative to the roots of the > configurations. > <jra> > There could be multiple levels within the report. First differences in > activities, then collections, then resources. > </jra> <jm> Configuration comparison report using resource-ids: <D:compare-response> <D:changed>987344ab234d23d1581bc200876297ae</D:changed> <D:changed>3876a876c76efb7ace34bf5f338efa24</D:changed> <D:added>90823bd234ef23978df0ab2340c876eb</D:added> <D:deleted>987b098867d0978e0978f098abe09848</D:deleted> </D:compare-response> Note: We could report the URI which gets us directly to the resources indicated in the eample rather than just the resource-id. For example, http:/foo.com/repo/resources/987344ab234d23d1581bc200876297ae They are roughly equivalent. Configuration comparison report using paths relative to roots (assume base has roots A and B, and target has roots B and C where B refers to the same resource in both cases): <D:compare-response> <D:added>C</D:added> <D:added>C/fred.html</D:added> <D:deleted>A</D:deleted> <D:deleted>A/this.txt</D:deleted> <D:deleted>A/x</D:deleted> <D:deleted>A/x/that.gif</D:deleted> <D:changed>B</D:changed> <D:changed>B/e/g/h/foo.zip</D:changed> <D:added>B/index.html</D:added> </D:compare-response> Note that this *requires* that all resources in a configuration be reachable via some path starting at one of the roots. Otherwise we have no way of talking about changes in a resource which is not reachable -- There is no path to put in the change element!! Note also that there may be many paths to a given resource which was added, deleted or changed. </jm> > - For collections we report paths relative to the collections being > compared. > <jra> > Sounds fine. What was added or deleted. > </jra> > > - For activities, ???? > <jra> > The differences between activities are what resources were > changed in them. > The > merge conflict report would be a subset. > </jra> <jm> Again, what *exactly* are people expecting here? That is, how do we describe the resources which were changed? Since activities have no paths or roots, about the best we can do is the resource-id form given above for configs?? </jm> > - For Workspaces??? (What does it mean to compare to workspaces?) > <jra> > What different revisions would be selected? > </jra> <jm> Again, this would only be reasonably reported as resource-ids since the workspaces themselves don't have particular roots etc from which we can generate paths. See also the mutlipath effects noted above. </jm> Jeff