- From: Jim Amsden <jamsden@us.ibm.com>
- Date: Tue, 10 Jul 2001 17:06:15 -0400
- To: ietf-dav-versioning@w3.org
Peter, We'd be happy to include some clarification on DAV:set vs. DAV:add. Peter Raymond <Peter.Raymond@merant.com> 07/10/2001 01:58 PM To: Jim Amsden <jamsden@us.ibm.com> cc: Subject: RE: Label behaviour... Hi, Jim says: >The spec says that a label can only be on one version of a given version >history resource at a time, so DAV:set has to move the version. Yes, I agree this is the right behaviour for the DAV:set operation, but I think the specification should call this out instead of inferring it from the pre and post conditions, otherwise you risk server implementers incorrectly implementing this and allowing multiple versions to have the same label. Jim says: >Querying a repository for all labels currently in use may be 1) quite >expensive for some servers, and 2) provide too much information for most >practical uses, including the scenarios you describe below. Good point, I suppose you could end up with too much information. But then perhaps you would then want the client to have a UI facility to "find" or "filter" labels, eg instead of a simple drop down list you could have a little dialogue where you can search to find labels (eg all labels that start with QA). Jim says: > Since reusing labels imples there's some relationship between the resources > versions (all the ones having the same label), it would be better for clients > to take advantage of these relationships to put up a more reasonable, and > smaller set of candidate version labels. For example, display the > DAV:label-name-set on a collection representing a 'project' or some other > prominent resource in a set of related resources. Yes, I suppose we could maintain a set of the labels in this fashion. It's just that I have worked with clients that just provide a simple text entry field for label names and I have found that the label names get in a mess with a proliferation of similarly named labels. This issue isn't a "killer" for me, I can live with DeltaV the way it is (using your above workaround). However, I do think we should define the behaviour of DAV:set for the LABEL method more clearly, I asked several other developers in our office (who have also read the spec) and they were all confused as to the difference between DAV:add and DAV:set. Thanks for the response. Regards, Peter. Peter Raymond <Peter.Raymond@merant.com> Sent by: ietf-dav-versioning-request@w3.org 07/10/2001 11:36 AM To: ietf-dav-versioning@w3.org cc: Subject: RE: Label behaviour... Jim says: >Your are correct on the distinction between adding and setting a label. >Its there to avoid inadvertant reuse of a label. See the precondition for >DAV:must-be-new-label. This indicates that for DAV:add, the label MUST NOT >currently select a version. The postconditions for add and set are the >same. OK, I am happy that it is clear how DAV:add should behave, but I think the spec needs more detail on how DAV:set behaves, does it: a) "move" the label, eg if it is already used by another version of the resource it will be removed from that version and added to the version indicated by the LABEL request. or b) Allow the same label on multiple versions of the same resource? Jim says: >I don't know what you mean by "the labels that are in use". Do you mean >the intersection of all labels on all resources? If so, why would you need >this? I want a pulldown list of currently in use (intersection of all labels on all resources) so the user can pick a label. Obviously the user needs the ability to enter one that does not already exist but seeing the list of existing ones will help in several use-case scenarios, eg: Imagine user Fred goes to his WebDAV client to do some work on a set of source code, his colleague has told him by word of mouth etc that he should use a label called "Special Label 1". When he uses the WebDAV client he could put in any old label, eg "Special-Label-1" or "SpecialLabel1" etc, he could enter a different label from the one all the other developers have been using. Another scenario is that you want to create a new label with a similar naming scheme from other labels already in the system, for example a project is under QA testing and all the versions of source under test have been marked with a label called "System Test Build 1". Now a user wants to mark code using a label to indicate versions of code for use in the next system test. Without being able to see that the label "System Test Build 1" was used previously the user might choose to call this new label "QA Build 2". I guess what I am getting at is that by providing a list of labels already in use you can cut down on mistakes and the proliferation of similar label names. What do other people think, any client writers out there that want to provide a list of existing labels? Regards, -- Peter Raymond - MERANT Technical Architect (ADM) Tel: +44 (0)1727 813362 Fax: +44 (0)1727 869804 mailto:Peter.Raymond@merant.com WWW: http://www.merant.com
Received on Tuesday, 10 July 2001 17:06:21 UTC