- From: Geoffrey M. Clemm <geoffrey.clemm@rational.com>
- Date: Thu, 13 Apr 2000 11:19:10 -0400 (EDT)
- To: w3c-dist-auth@w3.org
Greg's question illustrates something that I believe is inherently broken in the current WebDAV approach to operating against write-locked resources. When you are performing an operation against write-locked resources, all you should be required to do is to include the appropriate list of lock-tokens with your request. The semantics is then very simple: If any of the resources that your request attempts to modify is locked with a lock token not in your list, the request fails. Instead of this simple list, 2518 gives us the wonderfully baroque (pronounced "broke" :-) If header, which lets us do ands and ors and nots of state tokens and entity tags, and even tag the expressions with the resource it should apply to, but does not in fact let us do the one thing we really want to do, namely identify a list of lock tokens. The answer I'd like us to make is that you can include an arbitrary number of Lock-Token headers with a request, and this defines the lock token list for your request (no If header required). Until then, as far as I can tell, 2518 requires Greg to do the obviously non-scalable insertion of a tagged list for *every* member of the collection being moved in the If header. Cheers, Geoff Date: Thu, 13 Apr 2000 04:51:59 -0700 (PDT) From: Greg Stein <gstein@lyra.org> Consider the following directory structure: Collection [locked with token A, depth=0] \ SubCollection [locked with token B, depth=infinity] \ File1 File2 [these inherit token B] ... FileN Now, how do you delete SubCollection? Note that you must provide token A to remove SubCollection from Collection. Also, you must provide token B for SubCollection *and* File1..N. What's the IF: header look like? (presume that you cannot delineate all the (recursive) members of SubCollection and insert them *all* into the IF: header) I can't see a way to do it. Normally, no-tag-lists are used for specifying locks for a hierarchy. But you must use a tagged-list to specify token A. Ideas? Cheers, -g -- Greg Stein, http://www.lyra.org/
Received on Thursday, 13 April 2000 11:19:17 UTC