Abstract
Collaborative editing enables a group of people to edit documents collaboratively over a computer network. Customisation of the collaborative environment to different subcommunities of users at different points in time is an important issue. The model of the document is an important factor in achieving customisation. We have chosen a tree representation encompassing a large class of documents, such as text, XML and graphical documents and here we propose a multi-level editing approach for maintaining consistency over hierarchical-based documents. The multi-level editing approach involves logging edit operations that refer to each node. Keeping operations associated with the tree nodes to which they refer offers support for tracking user activity performed on various units of the document. This facilitates the computation of awareness information and the handling of conflicting changes referring to units of the document. Moreover, increased efficiency is obtained compared to existing approaches that use a linear structure for representing documents. The multi-level editing approach involves the recursive application of any linear merging algorithm over the document structure and we show how the approach was applied for real-time and asynchronous modes of collaboration.
Similar content being viewed by others
References
Allen, Larry, Gary Fernandez, Kenneth Kane, David B. Leblang, Debra Minard and John Posner (1995): ClearCase MultiSite: Supporting Geographically-Distributed Software Development. Lecture Notes in Computer Science, vol. 1005, pp. 194–214.
Berlage, T. and A. Genau (1993): A Framework for Shared Applications with a Replicated Architecture. In Proceedings of the 6th Annual ACM Symposium on User Interface Software and Technology (UIST’93), pp. 249–57. Atlanta, Georgia, USA: ACM Press.
Berliner, B. (1990): CVS II: Parallelizing Software Development. In Proceedings of the Winter 1990 USENIX Conference, pp. 341–352. Washington, District of Columbia, USA, January.
Collins-Sussman, B., B.W. Fitzpatrick and C.M. Pilato (2004): Version Control with Subversion. Cambridge, Massachusetts, USA: O’Reilly.
Davis, A.H., C. Sun and J. Lu (2002): Generalizing Operational Transformation to the Standard General Markup Language. In Proceedings of the 2002 ACM conference on Computer supported cooperative work (CSCW’02), pp. 58–67. New Orleans, Louisiana, USA: ACM Press.
Ellis, C.A. and S.J. Gibbs (1989): Concurrency Control in Groupware Systems. SIGMOD Record (ACM Special Interest Group on Management of Data), vol. 18, no. 2, pp. 399–407, June.
Horwitz, S., J. Prins and T. Reps (1988): Integrating Non-Interfering Versions of Programs. In ACM-SIGPLAN ACM-SIGACT (eds.): Conference Record of the 15th Annual ACM Symposium on Principles of Programming Languages (POPL’88), pp. 133–145. San Diego, California, USA: ACM Press, January.
Ignat, C.-L., and M.C. Norrie (2002): Tree-Based Model Algorithm for Maintaining Consistency in Real-Time Collaborative Editing Systems. Fourth International Workshop on Collaborative Editing, CSCW 2002, IEEE Distributed Systems online.
Ignat, C.-L. and M.C. Norrie (2003): Customizable Collaborative Editor Relying on treeOPT Algorithm. In K. Kuutti, E.H. Karsten, G. Fitzpatrick, P. Dourish and K. Schmidt (eds): Proceedings of the 8th European Conference on Computer-supported Cooperative Work (ECSCW’03), pp. 315–334. Dordrecht, NL: Kluwer Academic Publishers 2003.
Ignat, C.-L. and M.C. Norrie (2006a): Flexible Collaboration Over XML Documents. In Proceedings of the International Conference on Cooperative Design, Visualization and Engineering (CDVE’06), pp. 267–274. Mallorca, Spain, September.
Ignat, C.-L. and M.C. Norrie (2006b): Flexible Definition and Resolution of Conflicts Through Multi-Level Editing. In Proceedings of the 2nd International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom’06). Georgia, Atlanta, USA, November.
Ignat, C.-L. and G. Oster (2007): Flexible Reconciliation of XML Documents in Asynchronous Editing. In Proceedings of the International Conference on Enterprise Information Systems (ICEIS’07). Funchal, Madeira, Portugal, June.
Imine, A., P. Molli, G. Oster and M. Rusinowitch (2003): Proving Correctness of Transformation Functions in Real-Time Groupware. In Proceedings of the European Conference on Computer-Supported Cooperative Work (ECSCW’03), pp. 277–293. Helsinki, Finland: Kluwer Academic Publishers, September.
Ionescu, M. and I. Marsic (2003): Tree-Based Concurrency Control in Distributed Groupware. Computer Supported Cooperative Work, vol. 12, no. 3, pp. 329–350.
Kermarrec, A.-M., A. Rowstron, M. Shapiro and P. Druschel (2001): The IceCube Approach to the Reconciliation of Divergent Replicas. In Proceedings of the twentieth annual ACM symposium on Principles of distributed computing (PODC’01), pp. 210–218. Newport, Rhode Island, USA: ACM Press.
Lamport, L. (1978): Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, vol. 21, no. 7, pp. 558–565.
Li, D. and R. Li (2004): Preserving Operation Effects Relation in Group Editors. In Proceedings of the 2004 ACM conference on Computer supported cooperative work (CSCW ’04), pp. 457–466. Chicago, Illinois, USA: ACM Press.
Li, R. and D. Li (2005): Commutativity-Based Concurrency Control in Groupware. In Proceedings of the IEEE Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom’05), pp. 1–10. San Jose, California, USA: IEEE Computer Society, December.
Li, D. and R. Li (2006): A Performance Study of Group Editing Algorithms. In Proceedings of the 12th International Conference on Parallel and Distributed Systems (ICPADS’06), pp. 300–307. Washington, DC, USA: IEEE Computer Society.
Li, D. and R. Li (2007): An Operational Transformation Algorithm and Performance Evaluation. Journal of Computer Supported Cooperative Work (in press).
Lippe, E. and N. van Oosterom (1992): Operation-Based Merging. In Proceedings of the fifth ACM SIGSOFT symposium on Software development environments, pp. 78–87. Tyson’s Corner, Virginia, USA: ACM Press.
Molli, P., H. Skaf-Molli, G. Oster and S. Jourdain (2002): SAMS: Synchronous, Asynchronous, Multi-Synchronous Environments. In Proceedings of the Conference on Computer-Supported Cooperative Work in Design (CSCWD’02), pp. 80–85. Rio de Janeiro, Brazil, September.
Molli, P., G. Oster, H. Skaf-Molli and A. Imine (2003): Using the Transformational Approach to Build a Safe and Generic Data Synchronizer. In Proceedings of the ACM SIGGROUP Conference on Supporting Group Work (GROUP’03), pp. 212–220. Sanibel Island, Florida, USA: ACM Press, November.
Munson, J.P. and P. Dewan (1994): A Flexible Object Merging Framework. In Proceedings of the 1994 ACM conference on Computer supported cooperative work (CSCW ’94), pp. 231–242. Chapel Hill, North Carolina, USA: ACM Press.
Munson, J.P. and P. Dewan (1997) Sync: A Java Framework for Mobile Collaborative Applications. Computer, vol. 30, pp. 59–66.
Myers, E.W. (1986): An \({O}({ND})\) Difference Algorithm and its Variations. Algorithmica, vol. 1, pp. 251–266.
Neuwirth, C.M., R. Chandhok, D.S. Kaufer, P. Erion, J. Morris and D. Miller (1992): Flexible Diff-Ing in a Collaborative Writing System. In Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW’92), Collaborative writing, pp. 147–154. Toronto, Ontario: ACM Press.
Nichols, D.A., P. Curtis, M. Dixon and J. Lamping (1995) High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System. In Proceedings of the ACM Symposium on User Interface Software and Technology, pp. 111–120.
Oster, G., P. Molli, P. Urso and A. Imine (2006): Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems. In Proceedings of the Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom’06). Atlanta, Georgia, USA: IEEE Computer Society, November.
Papadopoulou, S., C.-L. Ignat, G. Oster and M.C. Norrie (2006): Increasing Awareness in Collaborative Authoring Through Edit Profiling. In Proceedings of the 2nd International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom’06). Georgia, Atlanta, USA.
Prakash, A. and M.J. Knister (1994): A Framework for Undoing Actions in Collaborative Systems. ACM Transactions on Computer–Human Interaction, vol. 1, no. 4, pp. 295–330.
Preguica, N., M. Shapiro and C. Matheson (2003): Semantics-Based Reconciliation for Collaborative and Mobile Environments. In Proceedings of the Eleventh International Conference on Cooperative Information Systems (CoopIS’03), volume 2888 of Lecture Notes in Computer Science, pp. 38–55. Catania, Sicily, Italy: Springer, November.
Ressel, M., D. Nitsche-Ruhland and R. Gunzenhäuser (1996): An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work (CSCW’96), pp. 288–297. Boston, Massachusetts, USA: ACM Press, November.
Shen, H. and C. Sun (2002): Flexible Merging for Asynchronous Collaborative Systems. In Proceeding of the Conference on Cooperative Information Systems (CoopIS’02), volume 2519 of Lecture Notes in Computer Science, pp. 304–321. Irvine, California, USA: Springer-Verlag, November.
Suleiman, M., M. Cart and J. Ferrié (1997): Serialization of Concurrent Operations in a Distributed Collaborative Environment. In Proceedings of the international ACM SIGGROUP conference on Supporting group work (GROUP ’97), pp. 435–445. Phoenix, Arizona, USA: ACM Press.
Suleiman, M., M. Cart and J. Ferrié (1998): Concurrent Operations in a Distributed and Mobile Collaborative Environment. In Proceedings of the International Conference on Data Engineering (ICDE’98), pp. 36–45. Orlando, Florida, USA: IEEE Computer Society, February.
Sun, C. (2002): Undo as Concurrent Inverse in Group Editors. ACM Transactions on Computer–Human Interactions, vol. 9, no. 4, pp. 309–361.
Sun, C. and C.S. Ellis (1998): Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements. In Proceedings of ACM CSCW’98 Conference on Computer-Supported Cooperative Work (CSCW’98), pp. 59–68.
Sun, D. and C. Sun (2006): Operation Context and Context-Based Operational Transformation. In Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work (CSCW’06), pp. 279–288. New York, NY, USA: ACM Press.
Sun, C., X. Jia, Y. Zhang, Y. Yang and D. Chen (1998): Achieving Convergence, Causality Preservation, and Intention Preservation in Real-Time Cooperative Editing Systems. ACM Transactions on Computer–Human Interaction, vol. 5, no. 1, pp. 63–108, March.
Sun, D., S. Xia, C. Sun and D. Chen (2004): Operational Transformation for Collaborative Word Processing. In Proceedings of the 2004 ACM conference on Computer supported cooperative work (CSCW’04), pp. 437–446. Chicago, Illinois, USA: ACM Press.
Sun, C., S. Xia, D. Sun, D. Chen, H. Shen and W. Cai (2006): Transparent Adaptation of Single-User Applications for Multi-User Real-Time Collaboration. ACM Transactions on Computer–Human Interactions, vol. 13, no. 4, pp. 531–582.
Tichy, W.F. (1991): RCS – A system for version control, November.
Vidot, N., M. Cart, J. Ferrié and M. Suleiman (2000): Copies Convergence in a Distributed Real-Time Collaborative Environment. In Proceedings of ACM Conference on Computer Supported Cooperative Work (CSCW’00), pp. 171–180.
Xia, S., D. Sun, C. Sun and D. Chen (2005): Collaborative Object Grouping in Graphics Editing Systems. In Proceedings of International Conference in Collaborative Computing: Networking, Applications and Worksharing (Collaborate Com’05). San Jose, California, USA.
Zaffer, A.A., C.A. Shaffer, R.W. Ehrich and M. Perez (2001): Netedit: A Collaborative Editor. Technical report, January.
Acknowledgements
Many thanks to Gérald Oster for the valuable discussions concerning aspects of this work. We also thank the anonymous reviewers and the Associated Editor, Prasun Dewan, for their suggestions which helped improve the presentation of this paper.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ignat*, CL., Norrie, M.C. Multi-level Editing of Hierarchical Documents. Comput Supported Coop Work 17, 423–468 (2008). https://doi.org/10.1007/s10606-007-9071-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10606-007-9071-2