YEdit IconDocument collaboration software > Design > Web collaboration

Out of the exploration of the origins of the Web, and the exploration of web themes and multi-tier web sites, came the idea to work on the area of web collaboration.  The idea of web collaboration sparked some interest because it seemed to be an area that had not had much work done on it since the Web was commercialised.  The idea of Web collaboration had some of its roots back in the original ideas for the Web, as well as paper based document creation, and it has the potential to be a very useful contribution to the Internet community.

The ideas about collaboration were coloured by the fact that there are many options for collaboration already available over the Internet.  Options for collaboration over the Internet include using IRC to talk (or type) interactively, email and Usenet for less immediate communications, and web pages for demonstrations and the like, these are just a few of the possibilities.  These options meant that the ideas for collaboration over the Web had to be refined further than just collaboration.  The ideas were refined through to collaboration on particular documents, or in other words, more along the lines of co-operative authoring, rather than the support role that these other methods of communication provide.


As work was proceeding on YEdit, CSCW (Computer Supported Co-operative Work) and BSCW (Basic Support for Co-operative Work) were discovered.  BSCW enables collaboration over the Web and is a 'shared workspace' system that supports storage and retrieval of documents and sharing information within a group.  This is integrated with an event notification and group management mechanism in order to provide all users with awareness of others activities in the shared workspace.  In particular BSCW is a networked support mechanism, which provides support for co-operative content creation, (for example threaded discussions, group management, search features, and more) and therefore would make a good fit (if the other methods of support are either not appropriate, or alternatives are looked for) with YEdit.


Another project that was discovered was WebDAV [RFC2518].  Their goal (from their charter) is to "define the HTTP extensions necessary to enable distributed web authoring tools to be broadly interoperable, while supporting user needs".  Again, as in the case of BSCW, this project is looking at a different area from collaborative authoring.  In particular, the authors are defining a protocol for use by software to connect over the Web.  The protocol includes some information that will be helpful for distributed authoring and versioning.  It is very possible that in the future, any Web communication could use this protocol to communicate authoring and versioning information.  WebDAV is a protocol, more specifically, it is an extension of HTTP/1.1, which adds new HTTP methods and headers to the HTTP protocol, as well as how to format the request headers and bodies.  The headers that it current adds are locking (long duration shared/exclusive locking), properties (XML metadata, that is, information about the data), and namespace manipulation (for move and copy operations and for collections, that are similar to file directories).  Several extensions are planned, such as advanced collections (which adds support for ordered collections and symbolic links), versioning and configuration management (which adds headers for operations such as history lists, check ins and check outs, both at the individual object level and the collection level), and access control (for controlling access to resources).


The YEdit system that is being created in this research has the capability to be combined with BSCW and CSCW systems to enhance the abilities of both and the potential is there for that, but at this stage there are no plans to combine them.  Also the engine has the potential to use the WebDAV protocol to communicate from clients to the web servers.  In the future, when the versioning part of the WebDAV protocol is decided on, the engine will support it to enable other applications to access YEdit.

The engine has been created in Java using a combination of JBuilder (versions 2-3.5) and a standard notepad program.  It has been tested on a few test systems, three systems running Red Hat Linux (versions 4.x - 6.2) running Apache (versions 1.2 - 1.3) with Apache JServ (versions 0.9 - 1.0), one of which started with the earlier versions of the software and was upgraded, the other two started with the later versions.  Two were running Windows 95 for testing.  The test systems were used to test ideas and code to check that it worked properly before it was uploaded to the main server which is running FreeBSD 2.2.8-RELEASE, Apache 1.3.9 with Apache JServ 1.0.

Previous: 4.02 Multi-tiered web sites
Next: 4.04 Web-based access