Elsevier

Journal of Systems and Software

Volume 59, Issue 2, 15 November 2001, Pages 119-134
Journal of Systems and Software

An integrated approach to distributed version management and role-based access control in computer supported collaborative writing

https://doi.org/10.1016/S0164-1212(01)00013-9Get rights and content

Abstract

Tools to support computer supported collaborative writing (CSCWriting) allow multiple distributed users to collaborate over a wide area network on constructing a shared document. Prior research on computer supported collaborative work (CSCW) in general has predominantly focused on synchronous collaboration. Network latency becomes a bottleneck in maintaining shared artifacts during synchronous collaboration. Besides, to enable truly cooperative work asynchronous modes need to be supported as well, so that mobile users can switch between synchronous and asynchronous modes while they disconnect and reconnect to the network. These two considerations motivated the development of a distributed version control system for CSCWriting described in this paper. The most important contribution of our work is the proposal of an activity identification (AID) tag as the fundamental mechanism to support distributed management of multiple versions of a document. The AID tag facilitates the design and implementation of an integrated approach that includes differencing, merging and role-based access control at different levels of granularity, maintaining and visualizing the version structure, and group awareness of document status and operations. The AID tag leads to simple and effective differencing and merging schemes. Its unique address scheme eliminates the need for large storage capacity for version maintenance. Role-based access control can be implemented by associating the access right table and role assignment capabilities with the AID tag. Information for providing group awareness of the changing document is available from the AID tag. In addition, since the system maintains a user-browsable version structure of the evolving document that incorporates AID tag information, any user collaborating in the authoring of a document can easily visualize the historical evolution and current context of the document.

Introduction

With the widespread penetration of the Internet and globalization of business, it is quite common for groups of remotely located individuals to collaborate on creating documents. Such collaborative writing may switch between synchronous phases when all members are on-line and working on the document and asynchronous phases when at least some members are off-line and working separately on the document. During collaborative writing, many variants of a document can be created and revised by the group members. Maintaining consistency of the document in these situations becomes a critically important function of the computer tools being used to support computer supported collaborative writing (CSCWriting). Shared documents that allow shared editing (Ellis et al., 1990) provide one solution to this problem. However, this solution precludes asynchronous and individual work unless off-line members are forced to merge their individual versions with the shared document every time they reconnect or come back on-line. Another problem with maintaining a shared document in a central server is that delays introduced by network latency can become a bottleneck that negatively affects response time and thus degrade the quality of collaboration (Decouchant et al., 1996). One approach that reduces the dependence of system response time on network latency and at the same time allows both synchronous and asynchronous collaboration is to use a version control and maintenance system that supports differencing and merging of multiple versions of the same document. This allows group members to check out and work on their own local versions of the document. After they finish revising their local versions, these can be checked in.

Dewan and Munson (1995) defined a version control system as one that manages dependencies among different variants of the same document and organizes the variants into meaningful structures such as a sequence or tree. With the support of a version control system, group members may copy and manipulate each variant (version) of the document, and then produce a single shared document by merging them. Later, multiple versions may again be generated from this shared common version with another merge point occurring afterwards. The last such merge will result in the final version of the document. The evolution of any particular version can be determined by differencing and tracking version dependencies. Version control techniques developed for single user environments, however, cannot be directly applied to collaborative writing environments. These techniques lack mechanisms to maintain and propagate the history of individual actions across versions, to compute differences between versions, and merge versions. Furthermore, in a group setting the merging of different versions from individuals require decisions on document components at different granularities (e.g., words, sentences, sections) and resolving conflicts (e.g., one member changed a sentence while another deleted the same sentence) based on priorities determined by the various roles of group members (such as author, critic, etc.). Thus, version control in a CSCWriting context needs facilities to manage different access privileges and conflict resolution policies at merge time for members of the group. Such facilities are not available in typical single user version control schemes.

The main goal of this paper is to present new techniques to manage document revision history, extend the traditional differencing and merging schemes to allow multiple granularities and role-based access control needed for a CSCWriting environment, and integrate all these into a single seamless architecture based on a unique addressing mechanism called activity identification (AID) tag. We also discuss how the proposed AID scheme improves version management and maintaining group awareness of the document's evolution. The remainder of the paper is organized as follows. Section 2 discusses a number of important issues that a tool to support CSCWriting needs to address, and extant literature on each of those issues. Section 3 describes the design and implementation of a version control system based on AID tags. In Section 4, we present a detailed case study of the use of the system in a collaborative writing context. Section 5 contains a formal analysis of the AID tag approach to version control. Section 6 discusses limitations of the proposed approach and how these will be remedied in future work. Section 7 concludes the paper with a summary of the implications of this research.

Section snippets

System requirements for document management in CSCWriting

A system that helps group members to manage the creation and maintenance of the evolving document must provide the following capabilities.

Design and implementation of a CSCWriting system

In order to address the limitation that none of the existing systems provide the full palette of functionalities needed in a tool that supports CSCWriting, we designed and implemented a prototype tool. Its capabilities include differencing, merging, role-based access control, version management, version structure visualization, and group awareness. It also contains a text editor with basic text creation and editing facilities. Our focus in this endeavor was on functionalities needed to

A case study

To further illustrate the benefits of our approach and implemented prototype for supporting CSCWriting, we provide an example with several illustrations in this section. The example shows creating a collaborative authoring group, members of which write, edit, and merge a simple text document.

The first step is to create a new collaborating group. Fig. 6 shows the state after the version control system has been started and a new document called `dissert.doc' has been created. Then this initial

A comparative analysis

In this section, we compare the AID scheme with semi-automatic merging and command history maintenance approaches, exemplified by systems such as multiple source control (Dix and Beale, 1996) and CVS (Coleman, 1997).

The AID scheme requires less number of operations for the insertion and deletion of a word when compared to approaches in which the addressing scheme is not stable, i.e., if an insertion or deletion causes the addresses of all following words to change. Let us assume that the number

Future work

Aims of future research include extending the current capabilities of the version management system and improving the space and time efficiency of storing and manipulating AID tags by addressing one limitation of the current approach. This is that the AID tags considerably increase the size of a document. For example, the document used in the illustrative example of Section 5 required 13,285 bytes of storage as plain text. Its size increased to 32,067 bytes when AID tags were included. Although

Conclusion

In this paper, we introduced the AID tag, a new mechanism for distributed version management in computer supported collaborative authoring of documents. It makes differencing and merging document versions straightforward. Its unique address scheme eliminates the requirement for large storage capacity in order for consistency maintenance across versions. Access control is improved by determining access privileges based on roles, providing role-based merge tables, and allowing dynamic assignment

References (19)

  • K Chang et al.

    Software development and integration in computer supported cooperative work

    Software-Practice and Experience

    (1998)
  • Coleman, D., 1997. Groupware: Collaborative Strategies for Corporate LANS and Intranets. Prentice-Hall, Englewood...
  • D Decouchant et al.

    Structured and distributed cooperative editing in a large scale network

  • Dewan, P., Munson, J., 1995. The role of version control in CSCW application: a position statement. In: Proceedings of...
  • A Dix et al.

    Information requirements of distributed workers

  • Edwards, W., Mynatt, E., 1997. Timewarp: techniques for autonomous collaboration. In: Proceedings ACM Conference on...
  • Ellis, C., Gibbs, S., Rein, G., 1990. Design and use of a group editor. In: Cockton, G. (Ed.), Engineering for Human...
  • D Engelbat

    Authorship provisions in AUGMENT

  • Fountain, A., Hall, W., Heath, I., Davis, H., 1990. Microcosm: an open model for hypermedia with dynamic linking. In:...
There are more references available in the full text version of this article.

Cited by (4)

View full text