Как сделать живое параллельное редактирование?
Я пытаюсь создать приложение rails, которое в основном представляет собой просто текстовый редактор (с некоторыми дополнительными функциями, которые я не могу найти больше нигде - вот почему я его создаю)
Одной из основных функций является параллельное редактирование в реальном времени или совместное редактирование в реальном времени (как бы вы это ни называли).
До сих пор я создал сайт с плагином под названием Джаггернаут. Это дает мне возможность отправлять любой клиентский Javascript с клиента или с сервера. Поэтому, когда кто-то что-то печатает, я могу отправить то, что этот человек напечатал, каждому другому клиенту, без необходимости опрашивать другие серверы.
Моя проблема сводится к тому, что я не знаю, какой алгоритм использовать для решения конфликтов, и делаю это наилучшим из возможных способов. Я немного прочитал об операционном преобразовании, но просто не знаю, как разумно реализовать его с помощью Javascript/Rails-решения, которое я имею сейчас.
Я хочу что-то вроде OT, но не знаю, как это реализовать и не знаю, с чего начать. Любая помощь о том, как реализовать это, была бы мне очень счастлива!
5 ответов
Я думаю, что Google имеет (или скоро выпустит) ОТ логику Wave как открытый исходный код.
Может быть, проверить проект Wave Protocol Open Source.
Я искал что-то подобное и наткнулся на sharejs. Надеюсь это поможет.
Вы видели Беспина от Мозиллы? Для вдохновения я имею в виду - я понимаю, что вы используете Rails.
Хотя это не полный ответ, у вас может быть очень интересное понимание того, как Google Wave делает это здесь: