operational-transform

How does Google Docs deal with editing collisions?

僤鯓⒐⒋嵵緔 提交于 2020-05-24 08:43:05
问题 I've been toying around with writing my own Javascript editor, with functionality similar to Google Docs (allowing multiple people to work on it at the same time). One thing I don't understand: Let's say you've got User A and User B connected directly to each other with a network delay of 10ms. I'm assuming the editor uses a diff system (as I understand Docs does) where edits are represented like "insert 'text' at index 3," and that diffs are timestamped and forced to apply chronologically by

Operational Transformation in Meteor.js?

眉间皱痕 提交于 2019-12-30 06:08:35
问题 Does Meteor.js support Operational Transformation yet? I'm working on a project which is some what related to Etherpad for which I thought of using Meteor.js(which I think is very much suited for this kind of project). Operational transformation is very important for my project if I think of making it scalable. My current knowledge suggest that meteor does't support operational transformation out of box (correct me if I am wrong here). So basically my question is how to implement operational

Operational Transformation in Meteor.js?

最后都变了- 提交于 2019-12-30 06:07:16
问题 Does Meteor.js support Operational Transformation yet? I'm working on a project which is some what related to Etherpad for which I thought of using Meteor.js(which I think is very much suited for this kind of project). Operational transformation is very important for my project if I think of making it scalable. My current knowledge suggest that meteor does't support operational transformation out of box (correct me if I am wrong here). So basically my question is how to implement operational

Does operational transformation work on structured documents such as HTML if simply treated as plain text?

ぐ巨炮叔叔 提交于 2019-12-04 08:19:28
问题 The FAQ of Google Wave Protocol says that [HTML] "does not have desirable properties" and that "HTML makes OT (Operational Transforms) difficult if not impossible" [1]. Why is this so? What problems arise if HTML is treated simply as plain text and then OT applied? http://www.waveprotocol.org/faq#TOC-What-s-the-XML-schema-for-waves-Why 回答1: I'm assuming here you understand the basics of OT. The principal problem with doing OT on HTML as plain text is that of merging html tags. As a simple

Differences between OT and CRDT

蓝咒 提交于 2019-12-04 07:28:36
问题 Can someone explain me simply the main differences between Operational Transform and CRDT? As far as I understand, both are algorithms that permits data to converge without conflict on different nodes of a distributed system. In which usecase would you use which algorithm? As far as I understand, OT is mostly used for text and CRDT is more general and can handle more advanced structures right? Is CRDT more powerful than OT? I ask this question because I am trying to see how to implement a

Does operational transformation work on structured documents such as HTML if simply treated as plain text?

做~自己de王妃 提交于 2019-12-03 00:13:30
The FAQ of Google Wave Protocol says that [HTML] "does not have desirable properties" and that "HTML makes OT (Operational Transforms) difficult if not impossible" [1]. Why is this so? What problems arise if HTML is treated simply as plain text and then OT applied? http://www.waveprotocol.org/faq#TOC-What-s-the-XML-schema-for-waves-Why I'm assuming here you understand the basics of OT. The principal problem with doing OT on HTML as plain text is that of merging html tags. As a simple example, say we had a document as follows: Hello world Alice then decides that world should be in bold: Hello

Differences between OT and CRDT

廉价感情. 提交于 2019-12-02 14:09:59
Can someone explain me simply the main differences between Operational Transform and CRDT? As far as I understand, both are algorithms that permits data to converge without conflict on different nodes of a distributed system. In which usecase would you use which algorithm? As far as I understand, OT is mostly used for text and CRDT is more general and can handle more advanced structures right? Is CRDT more powerful than OT? I ask this question because I am trying to see how to implement a collaborative editor for HTML documents, and not sure in which direction to look first. I saw the ShareJS