CRDTs for Fonto

More Info
expand_more

Abstract

Recent times once more informed us on the relevance of capable online collaborative tools. For our online collaborative XML editor, we have looked into technologies for constrained block editing which, obeying schemas such as with XML, permit on- and offline users or agents to add, delete, copy, move, split and merge blocks of text. To that end, we studied the current state of Operational Transformations (OT) and Conflict-free Replicated Data Types (CRDT). Furthermore, after selection of the best-ranking enabling technology, we studied existing CRDT implementations for unstructured texts, and extended a Logoot-based CRDT to implement on-and offline split and merge block support. We designed a proof of concept and created a scientific prototype to deliver a proof of concept stability, reproducibility and convergence. For now, we excluded undo and redo operations. Given these conditions, we deliver emperical evidence of our implementation to converge under all circumstances, including split and acyclic block mergers. Finally, we give an outlook and design recommendations for production implementations, and suggestions for tackling the problem of cyclic references in block mergers.