By Dominique Decouchant and Manuel Romero Salcedo
Alliance is a groupware application that allows users located on Web sites to cooperate in producing documents in a structured way. The basic Alliance functionality has been described in ERCIM News number 21 page 15. We present here the World Wide Web version the aim of which is to make this application more widely available, allowing loosely coupled cooperation and temporary disconnected editing over the Internet.
In addition to the editing functions provided by the Thot Kernel, (see ERCIM News number 20 page 15), the application provides such functionalities as storing and accessing distributed documents. It also offers high-level services handling user interaction and cooperation, defining shared document parts, distributing roles to users, supporting group awareness, updating copies of distributed shared documents and controlling document consistency.
In Alliance, cooperating editing is well organized, and each team member has a different role to play on document parts (also called fragments). Therefore, four progressive roles may be associated to fragments:
Each user may have different roles on different fragments. Even if several users may potentially edit the same part of a document, at any moment, each fragment is edited by at least only one user.
Evolutions of the Alliance cooperation services needed to take into account most of the problems posed by the Internet. The document-management layer has been extended using the services provided by HyperText Transfer Protocol (HTTP) of the Web.
HTTP allows on-line access to distant information using a request/response paradigm according to the client/server model. By exploiting this paradigm Alliance sends requests to Web servers in order to:
Executing HTTP scripts on a remote server poses several problems concerning confidentiality: message security; authentication of users and applications. In an Alliance application it is necessary to perform authentication verifications (document name, document owner, calling user, calling site, etc.) in order to protect documents.
In order to allow each user to work on a shared document, even in case of network failure, all document fragments are replicated (using master-slave copies) among sites. A reliable transaction mechanism is used for maintaining the consistency of all these copies.
Disconnected cooperative editing constitutes a major advantage implied by document replication. For instance, when a user decides to leave his office, he disconnects his workstation and continues to work on his document during his trip. When the station is connected again to the network, Alliance automatically propagates all modifications and updates all document fragments. In the case of an intended disconnection or any network or computer failure, users can work on their documents in the same way. Obviously, disconnection should not last too long.
In the current version of the Alliance application, document fragments are stored in a specific format, not in HTML, which is the usual document format on the Web. In fact, this work is in progress. The Thot editor has already been adapted to the Web and the result of this adaptation, Tamaya (see this another article in this issue), obviously handles HTML documents. Alliance and Tamaya are converging in order to provide Web users with a cooperative authoring environment for producing HTML documents on the Web.
Information on the web: Opera project: http://opera.inrialpes.fr/ Alliance page: http://opera.inrialpes.fr/OPERA/Alliance-en.html