An integrated approach to distributed version management and role-based access control in computer supported collaborative writing
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)
- 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...
- 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...
- 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...
Authorship provisions in AUGMENT
- Fountain, A., Hall, W., Heath, I., Davis, H., 1990. Microcosm: an open model for hypermedia with dynamic linking. In:...
Cited by (4)
Role-based authorizations for workflow systems in support of task-based separation of duty
2004, Journal of Systems and SoftwareSubCollaboration: Large-scale group management in collaborative learning
2011, Software - Practice and ExperienceSurvey of computer-supported collaboration in support of business processes
2006, International Journal of Business Process Integration and ManagementResearch on general version management oriented to design process of aero-engine parts
2006, Jisuanji Jicheng Zhizao Xitong/Computer Integrated Manufacturing Systems, CIMS