- From: Yaron Goland <yarong@microsoft.com>
- Date: Fri, 21 Mar 1997 16:29:51 -0800
- To: "'Jim Whitehead'" <ejw@ics.uci.edu>, w3c-dist-auth@w3.org, masinter@parc.xerox.com
Why would we need to make a tradeoff? It looks to me like each solution addresses a different scenario. Yaron > -----Original Message----- > From: Jim Whitehead [SMTP:ejw@ics.uci.edu] > Sent: Friday, March 21, 1997 3:46 PM > To: w3c-dist-auth@w3.org; masinter@parc.xerox.com > Subject: Re: Partial Puts > > Larry Masinter writes: > >The nice thing about the separate "problem description" is that it > lets > >you consider whether this is a real problem, serious, and worth > making > >the protocol more complex. > > I agree, and would like to encourage continued following of this > practice. > > > Is the "partial write capability" actually > >required ("needed") or just an optimization? Is it so important that > >interoperable clients cannot be written without it, or is it just a > >convenient optimization? > > While it is possible to perform distributed authoring without having a > "write only the changes" capability, partial resource writing is > critical > for allowing distributed authoring to scale up to large resource > sizes. > > The driving scenario is making updates to a resource which is 1MB long > (e.g., a large multi-sheet spreadsheet). If only a few changes are > made to > this resource (e.g., a couple of cells in the spreadsheet, under 10K), > then > not only is it very wasteful to re-write the entire resource, but it > will > take a long time to do so on most current network connections (decent > performance might be had on a local area network). > > If people are to use WEBDAV facilities to make changes to large > resources > without using more network resources than necessary, and without > taking an > unecessarily long time to transmit their updates, a "write only the > changes" capability is needed. > > > > >Just as range locking might be considered a case of locking a > resource > >which happens to be a range of another resource, perhaps range > >(over)writing > >might be instead characterized as PUT-ing to a resource which just > >happens > >to be a part of another resource. > > > >That is, for the resource "MyDocument" you ask for the URL for the > >resource > >which corresponds to "Page1". The server gives you back a URL for > Page1, > >which > >you PUT. The relationship between MyDocument and the Page1 resources > is > >such > >that any update to Page1 of course updates the first page of > MyDocument. > > > >This will work when the resource is stored as a file, as streams in > an > >SGML database, or with separate files per page without the client > having > >to be aware of the server's internal representation of resources. > >Perhaps > >there's a round trip in URL discovery, but it keeps the semantics of > >part/whole independent of the internal representation. > > There seems to be a tradeoff here between making the server > responsible for > understanding the structure of the resource (inherent in this > proposal, > VTML, and PATCH) and making the client responsible for understanding > the > structure (Goland proposal). When the server understands the > structure, > the client can send more structured updates (e.g., change this line, > or > change this section). When the client is responsible for > understanding the > structure, the update seems to require a reduction to the least common > denominator structure across all media types, i.e. octet sequences. > > I don't think we'll be able to reach consensus on this issue unless we > identify which tradeoff is best for DAV (and why). > > - Jim >
Received on Friday, 21 March 1997 19:30:25 UTC