A CRDT Supporting Selective Undo for Collaborative Text Editing

  title={A CRDT Supporting Selective Undo for Collaborative Text Editing},
  author={Weihai Yu and Luc Andr{\'e} and Claudia-Lavinia Ignat},
  booktitle={IFIP International Conference on Distributed Applications and Interoperable Systems},
Undo is an important feature of editors. However, even after over two decades of active research and development, support of undo for real-time collaborative editing is still very limited. We examine issues concerning undo in collaborative text editing and present an approach using a layered commutative replicated data type CRDT. Our performance study shows that it provides sufficient responsiveness to the end users. 

Introducing Selective Undo Features in a Collaborative Editor

The selective undo features that are implemented as part of a collaborative editing subsystem in the GNU Emacs text editor are introduced.

Managing Multi-synchronous Sessions for Collaborative Editing

This paper presents initial support for multi-synchronous sessions in the collaborative editing system the team has implemented, as well as the experience with the system and open issues for future work.

An efficient collaborative editing algorithm supporting string-based operations

RGASS is presented under string-wise architecture to preserve operation intentions of collaborative users and is more adaptable to large-scale collaborative editing with higher performance than a representative class of CRDT and OT algorithms in publications.

Performance of real-time collaborative editors at large scale: User perspective

This paper measures delays in popular real-time collaborative editing systems such as Google Docs and Etherpad and study whether these systems could cope with large scale settings from a user perspective shows that these systems are not yet ready for large-scale collaborative activities.

A Generic Undo Support for State-Based CRDTs

This paper works out an abstraction that captures the semantics of concurrent undo and redo operations through equivalence classes and device a mechanism to augment existing CRDTs, providing an “out of the box” support for undo without the involvement of the CRDT designers.

An Analysis of Merge Conflicts and Resolutions in Git-Based Open Source Projects

An analysis of concurrency and conflicts in official Git repository of four projects: Rails, IkiWiki, Samba and Linux Kernel, revealing how change integration and conflict rates vary during project development life-cycle.



Evaluating CRDTs for real-time document editing

This paper demonstrates the suitability of CRDTs for real-time collaborative editing, and collects editing logs from real- time peer-to-peer collaborations to reflect the tendency of decentralised collaboration.

Supporting String-Wise Operations and Selective Undo for Peer-to-Peer Group Editing

This paper presents an approach that combines and extends OT and CRDT strengths and supports string-wise editing operations and selective undo, and shows that it provides sufficient responsiveness to the end-users.

A framework for undoing actions in collaborative systems

A general framework for implementing undo in collaborative systems is proposed, which allows users to reverse their own changes individually, taking into account the possibility of conflicts between different users' operations that may prevent an undo.

A Commutative Replicated Data Type for Cooperative Editing

Treedoc is described, a novel CRDT design for cooperative text editing where the identifiers of Treedoc atoms are selected from a dense space and the results with traces from existing edit histories are validated.

An algorithm for selective undo of any operation in collaborative applications

A novel OT-based algorithm is proposed that provides integrated do and selective undo and achieves time complexity of O(|H|) in both do and undo by keeping the history in a special operation effects relation order.

Supporting adaptable granularity of changes for massive-scale collaborative editing

This paper offers a solution for handling an adaptable granularity for shared data that overcomes the limitations of fixed-grained data approaches and exhibits three implementations of this algorithm.

Reducing the problems of group undo

A new approach is described which reduces local group undo to a transformation-based method for combining the effects of concurrently issued user commands and introduces mirror and folding operators in order to build a unique and consistent multidimensional model of the user interaction.

Logoot-Undo: Distributed Collaborative Editing System on P2P Networks

This paper presents the Logoot-Undo CRDT algorithm, which integrates the "undo anywhere, anytime” feature, and it is proved that the cost of the undo feature remains low on a corpus of data extracted from Wikipedia.

Regional undo/redo techniques for large interactive surfaces

This paper proposes and evaluates three automatic regional undo/redo techniques (clustering, workspace, field of view) designed for a large interactive whiteboard, and proposes a set of design recommendations for implementing regional undone/redo on large interactive surfaces.

Context-Based Operational Transformation in Distributed Collaborative Editing Systems

This paper analyzes the limitation of the causality theory, proposes a novel theory of operation context as the new foundation for OT systems, and presents a new OT algorithm-Context-based OT (COT)-which provides uniform and efficient solutions to both consistency maintenance and undo problems.