Skip to main content
Log in

Multi-level Editing of Hierarchical Documents

  • Published:
Computer Supported Cooperative Work (CSCW) Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8

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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Ionescu, M. and I. Marsic (2003): Tree-Based Concurrency Control in Distributed Groupware. Computer Supported Cooperative Work, vol. 12, no. 3, pp. 329–350.

    Article  Google Scholar 

  • 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.

    Book  Google Scholar 

  • Lamport, L. (1978): Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, vol. 21, no. 7, pp. 558–565.

    Article  MATH  Google Scholar 

  • 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.

    Book  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Book  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Book  Google Scholar 

  • Munson, J.P. and P. Dewan (1997) Sync: A Java Framework for Mobile Collaborative Applications. Computer, vol. 30, pp. 59–66.

    Article  Google Scholar 

  • Myers, E.W. (1986): An \({O}({ND})\) Difference Algorithm and its Variations. Algorithmica, vol. 1, pp. 251–266.

    Article  MATH  MathSciNet  Google Scholar 

  • 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 (CSCW92), Collaborative writing, pp. 147–154. Toronto, Ontario: ACM Press.

    Google Scholar 

  • 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 (CollaborateCom06). Atlanta, Georgia, USA: IEEE Computer Society, November.

    Google Scholar 

  • 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 (CollaborateCom06). 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.

    Article  Google Scholar 

  • 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 (CoopIS03), volume 2888 of Lecture Notes in Computer Science, pp. 38–55. Catania, Sicily, Italy: Springer, November.

    Google Scholar 

  • 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 (CSCW96), pp. 288–297. Boston, Massachusetts, USA: ACM Press, November.

    Google Scholar 

  • Shen, H. and C. Sun (2002): Flexible Merging for Asynchronous Collaborative Systems. In Proceeding of the Conference on Cooperative Information Systems (CoopIS02), volume 2519 of Lecture Notes in Computer Science, pp. 304–321. Irvine, California, USA: Springer-Verlag, November.

    Google Scholar 

  • 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 (GROUP97), pp. 435–445. Phoenix, Arizona, USA: ACM Press.

    Book  Google Scholar 

  • 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.

    Google Scholar 

  • Sun, C. (2002): Undo as Concurrent Inverse in Group Editors. ACM Transactions on Computer–Human Interactions, vol. 9, no. 4, pp. 309–361.

    Article  Google Scholar 

  • 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.

    Book  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Book  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

Download references

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

Authors

Corresponding author

Correspondence to Claudia-Lavinia Ignat*.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10606-007-9071-2

Key words

Navigation