Date: Tue, 1 Dec 92 19:57:14 -0500 From: Thomas A. Fine <fine@cis.ohio-state.edu> Message-Id: <9212020057.AA18034@soccer.cis.ohio-state.edu> To: www-talk@nxoc01.cern.ch Subject: Ideas for the future Idea 1. HTML (Just a nice feature) ------------------------------------ I'd like to be able to PUT files onto remote sites. The idea is, that documents might be maintained by people at different sites. As it is, they have to coordinate updates through email, and it's generally a pain. What you'd want is to just connect, get the docuement, edit it, and put it back. (Ideally, you'd have an editor built into your browser to do this, but that's another problem.) (BTW, Is the only proposed new HTTP stuff in http://info.cern.ch/hypertext/WWW/Protocols/HTTP.html ? I couldn't find anything mentioning either disconnection or end of document in that proposal) PUT docuement If you don't have permission -> Permission Denied If the file already exists, and you don't have a lock -> Document not locked Otherwise, the server would return READY, the client would send the data, unlock the file (if locked), and disconnect. LOCK document If you don't have permission -> Permission Denied If the file doesn't exist -> No such document If the file is already locked -> Document already locked Otherwise the server marks the document as locked, and returns a copy to you. If you want to keep the server stateless, then you can't store lock information. This means you have to do the LOCK and the PUT in the same connection. This has the advantage that you can't possibly have stale locks - if the connection dies, the lock is automatically deleted. But you can no longer rely on a disconnect to mean end of document. You'd have to make another addition to the protocol - the response from the server would have to include the size of the document about to be transmitted. The other disadvantage to this is that editing may take a while - On the other hand, if you are willing to make the server stateful, then you could still rely on disconnect to mark end of document, in the case of PUT the disconnect would come from the client. Of course, with a stateful server, you'd have to expire the locks after a couple of days, in case some bozo forgot that he started to edit something. Note that this will also gunk up your config file with access control stuff, especially if you want to selectively control write access. This could potentially be useful for setting up free areas where anyone can document anything they like - we hope to set an area up like this here for local use, just to see if anything develops from it (but we still need a good editor). Also, this might make a useful way to discuss things like this - rather than responding to my article, you could just add anchors to it in appropriate places that point to your response(s). Idea 2. HTML/HTTP (something I think is needed) ------------------------------------------------- When you get lots of good documentation into WWW, there's going to need to be some guarentee of access to that information. The best way to do that is with multiple servers. From an HTTP standpoint, that only requires another attribute (or list of attributes if > 2 sites) be added for fallbacks: <A NAME=id1 HREF=//info.cern.ch/hypertext/ImportantDocument FALLBACK=//www.cis.ohio-state.edu/hypertext/ImportantDocument> ... </A> or you could add numbered HREFS, or call them IREF, JREF, etc. :-), doesn't matter. (Or can you even have multiple attributes with the same identifier?) I see this being used in two different ways. In the first, a single site would run servers on more than one machine, in case one goes down. The physical data would all be on the same disk(s), but mounted on both machines. In the second, different sites would provide mirroring of information, for instance, Ohio State would GET all of cerns documents and store them locally, and cern would include references to ohio state. This looks like it might complicate things if we have implemented LOCK in the protocol. In the second case, no problem. Cern is the master, Ohio State just picks things up from cern. In the first case, we can solve the problem similarly - configure one server to allow editing, and one to be read only. Then if the main server goes down, you have no editing capability but you can still view the data. Lastly, a good idea even if you don't implement multiple servers: ping the site before you connect. Idea 3. Documents ------------------ Once we get things more settled, a good showcase for this system, and one that would really sell "The Net" on it, would be to convert all of the newsgroup FAQs to html documentation. This wouldn't exactly be a trivial task (perhaps we could recruit some FAQ maintainers to help) but it would be of enormous value. We could start on it now, and have it ready together with the software. tom