如何进行实时并发编辑?

时间:2009-09-22 18:41:48

标签: javascript ruby-on-rails juggernaut

我正在尝试构建一个基本上只是文本编辑器的rails应用程序(具有我在其他地方找不到的一些附加功能 - 这就是我正在构建它的原因)

其中一个核心功能是实时并发编辑或实时协作编辑(无论你想称之为什么)。

到目前为止,我已使用名为Juggernaut的插件设置了该网站。这使我能够从客户端或服务器向任何其他客户端发送我想要的任何Javascript。因此,当有人输入内容时,我可以将该人输入的内容发送给其他客户端,而其他客户端则不必轮询服务器。

我遇到的问题归结为我不知道使用什么算法来解决冲突并以最佳方式执行此操作。我已经在Operational Transformation上读了一些内容,但很简单,不知道如何使用我现在的Javascript / Rails解决方案明智地实现它。

我想要OT这样的东西,但不知道如何实现它,也不知道从哪里开始。 如何实现这一点的任何帮助我都会非常高兴!

5 个答案:

答案 0 :(得分:4)

查看MobWrite

答案 1 :(得分:4)

我认为Google已经(或即将发布)Wave的OT逻辑作为开源。

也许查看Wave Protocol开源项目。

答案 2 :(得分:0)

您是否看过Mozilla的Bespin?我的意思是 - 我知道你正在使用Rails。

答案 3 :(得分:0)

虽然这不是一个完整的答案,但您可以对Google Wave如何在此处进行非常有趣的了解:

http://www.youtube.com/watch?v=3ykZYKCK7AM

答案 4 :(得分:0)

我正在寻找这样的东西,我偶然发现了sharejs。希望这会有所帮助。