Message-ID: <FD7A762E588AD211A7BC00805FFEA54B041DD940@HYDRANT> From: "Chris Kaler (Exchange)" <ckaler@Exchange.Microsoft.com> To: "'Jim Whitehead'" <ejw@ics.uci.edu>, ietf-dav-versioning@w3.org Date: Wed, 6 Oct 1999 15:39:03 -0700 Subject: RE: A question on Versioning-unaware clients It seems to me, that if a server supports multiple protocols, then a "PUT" via a non-versioning-aware client/protocol, should be treated "always" as automatic versioning. Otherwise I would argue that the version store's integrity has been compromised. Maybe we can make everyone happy by just adding a sentence that servers that support multiple protocols, must uniformly reject PUT requests or uniformly support automatic versioning. What do people think? Chris -----Original Message----- From: Jim Whitehead [mailto:ejw@ics.uci.edu] Sent: Thursday, August 05, 1999 11:29 AM To: ietf-dav-versioning@w3.org Subject: RE: A question on Versioning-unaware clients While I agree with Dylan (who was agreeing with me :-) that defining the interactions between FTP and Delta-V is out of scope, I suspect Som isn't the only person who will be having multiple protocols interacting with a Delta-V store. > Considering co-existence between Delta-V and another existing file > transfer protocol ( e.g. FTP ) is our goal of versioning....there are > some possibilities: > > Possibility a: > > I have something to say about your comment "it's an implementation > decision for the server." In this example, if FTP server chooses not to > go thru' versioning mechanism, then it may allow its clients( I mean FTP > clients ) to modify the file ( on which a versioning client has done a > CHECKOUT operation ). This will result in data corruption. > So this way, FTP & Delta-V will not be interoperable. Interoperability > with existing file transfer protocols must be our goal. > So this can not be left for implementation. I'd turn this around and say that, in this case, the implementation decision was to have the FTP access bypass the versioning mechanism. As you point out, this has some bad interactions with Delta-V clients, and hence it's an undesirable design choice to have FTP acess bypass the versioning mechanism. > Possibility b: > > [ your comment was: b) fail the second checkout (allow only single line > of development) ] > > To provide the co-existence: CHECKOUT also performs some native lock > semantics on the file. e.g in case of CHECKOUT , do a WRITE LOCK on the > file thru' common file system interfaces. ( in that case, versioning > spec has to include this semantics of CHECOUT ). > A FTP client then can not open the file for write purpose. Is this > what we expect everyone to implement? This seem to me to be a consistent implementation of the specification. If the underlying file is checked-out, then an FTP read operation should succeed on the checked-out resource, but a write operation on the checked-out resource would fail. I'd also expect an FTP delete to always fail when operating on a versioned resource. > Possibility c: > > Versioning component in server sits below the "common file system > interfaces"...I mean, all access to file system from various clients ( > e.g. FTP, HTTP+versioning, HTTP only, ....) will go thru' the versioning > component. This is the only way one can do parallel development... > I feel this is the best ....Should this be included in the spec? Having all accesses to the repository go through the same interface also makes sense to me as an implementation choice. But, since the Delta-V protocol is only concerned with how to express versioning and CM commands sent across a network, and is not concerned with how a server implements those commands (so long as their behavior is compliant with the specification), this implementation choice shouldn't be included in the protocol specification. Occasionally working groups decide to produce implementation handbooks, that detail some of these issues. But this is a separate document from the protocol specification, which should be as agnostic as possible about potential implementation strategies (judging from the HTTP/DAV experience, people will implement the protocol in ways you have never imagined). - Jim