Date: Mon, 19 Apr 1999 13:17:57 -0400 Message-Id: <9904191717.AA25128@tantalum> From: "Geoffrey M. Clemm" <gclemm@tantalum.atria.com> To: jamsden@us.ibm.com Cc: ietf-dav-versioning@w3.org In-Reply-To: <85256758.00546CC4.00@d54mta03.raleigh.ibm.com> Subject: Re: WeDAV Versioning Summary From: jamsden@us.ibm.com I don't think servers should make any constraints on what resources a client can or cannot create other than the usual denial of service resulting from resource constraints. There probably are a variety of reasons why a server might constrain what resources a client can create (locking and access control come to mind), but I'm not sure how this is relevant to the question of whether a server be required to introduce a different workspace in response to every "workspace-free" checkout request. Servers should not reuse workspaces on any client's behalf because that would have unexpected user-level semantic consequences. I'd have to see one of those unexpected user-level consequences, and be convinced they are important. Until then, requiring a server to *not* re-use a workspace for checking out a different resource remains a gratuitous restriction that significantly hampers my ability to efficiently implement a cheap "workspace-free" checkout request. If there is an efficiency problem, servers are free to do all sorts of special things with workspaces (or any other resource) that don't have properties or content. It seems like an empty workspace would be a pretty simple thing to optimize. I only need to do one special thing; namely, to reuse the workspace when I know it is safe to do so. And things that are pretty simple to do in isolation can be surprisingly complicated to do in the context of an existing system. I also think we should make it clear that clients should be responsible for reusing workspace "checkout tokens" in reasonable ways corresponding to the work they are doing. A client that is implementing its own workspace should not be expected to be concerned about "reusing checkout tokens". That's just a concern for a server that is trying to support such a client. This issue is why I didn't want to introduce checkout tokens. This little bit of flexibility for servers moves a lot of responsibility to clients that most will not be prepared to do. It also limits sharing between clients because the checkout tokens are too private in nature. In our discussions, it was made clear that at least one important client vendor was planning on providing lots of clients that will take on the responsibility of workspace management, and did not want to do workspace-token re-use management at the same time. It was also made clear that our server vendors were interested in a protocol that provided inteoperability with those clients. So the central question remains, what are the negative consequence of simply saying "a checkout produces a new working resource", and leave the decision of whether a workspace-free checkout request can re-use an existing workspace, up to the server. Cheers, Geoff