【问题标题】:Collaborative document/code editing, handling undo and conflicts?协作文档/代码编辑、处理撤消和冲突?
【发布时间】:2016-01-23 17:05:30
【问题描述】:

当多人实时编辑文档时,有很多方法可以处理撤消/重做和冲突。

我正在考虑每隔 k 秒将文档有效负载通过 commit 消息发送到 DVCS。对于撤消/重做问题,也许我会使用Rope

但我不确定。解决合并冲突和每个用户撤消/重做的最佳方法是什么?例如:Google Docs 是如何做到的?

【问题讨论】:

标签: socket.io google-docs overwrite real-time-updates etherpad


【解决方案1】:

根据您使用的网络技术标签。

听取@DavidYue 的建议并使用差分同步[1],我推荐使用本文中开发的diffsync[2]

在它使用socket.io 的掩护下,请参阅example with client, server and DataAdapter (data-source)


[1] N. Fraser, “Differential Synchronization”, DocEng'09, 2009 ACM 文档工程研讨会论文集, 2 Penn Plaza, Suite 701, New York, New York 10121-0701, 2009, pp . 13–20.

[2] J. Monschke,“Building a collaborative music production environment using emerging web standards”,硕士论文,HTW,柏林,德国,2014 年。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2017-08-04
    • 2012-10-21
    • 1970-01-01
    相关资源
    最近更新 更多