Описание тега operational-transform

Оперативное преобразование - это процесс изменения входящих правок в документ или файл от разных людей, так что конечный результат учитывает все изменения, и каждый сможет видеть один и тот же документ на своей стороне. Это также предотвращает перезапись правок другими пользователями при одновременном редактировании одного и того же документа.
1 ответ

Как операционные преобразования справляются с разорванными соединениями?

Предположим, клиент отправляет insert(0, "A"), но соединение прервано и никакого ответа не получено. Клиент может переподключиться. Если клиент отклонит ожидающее изменение, оно будет потеряно, если сервер его не получит. Если клиент повторно переда…
07 мар '16 в 13:15
2 ответа

Различия между OT и CRDT

Может кто-нибудь объяснить мне просто основные различия между операционным преобразованием и CRDT? Насколько я понимаю, оба являются алгоритмами, которые позволяют данным сходиться без конфликта на разных узлах распределенной системы. В каком случае…
1 ответ

Является ли Clojure Avout функционально эквивалентным функциям оперативного преобразования в Google Wave?

В этом сообщении групп Google - автор сравнивает библиотеку Clojure с именем Avout с функциями оперативного преобразования в Google Wave. Справедливо ли сказать, что они функционально эквивалентны? Я понимаю, что функциональность оперативного преобр…
1 ответ

Конкретный алгоритм операционного преобразования Etherpad(-Lite)?

Может ли кто-нибудь предоставить подсказку или источник к конкретному ot-алгоритму, который используется в etherpad или etherpad lite? Это основано на академической газете? Также приветствуется подсказка или ссылка на часть исходного кода, которая в…
21 мар '14 в 12:25
0 ответов

Как реализовать приложение, похожее на Google Doc, на мобильном устройстве?

В настоящее время я работаю над проектом, похожим на Google Docs. По сути, он позволяет нескольким пользователям одновременно редактировать текстовые документы в веб-браузере. Я много работал над чистыми javascript nodejs и socket.io. Сетевой тексто…
0 ответов

Зачем нам нужна Операционная трансформация для совместной работы в реальном времени?

Увидев такие приложения, как Google Docs и библиотеки, такие как ShareJS и EtherPad Lite, я очень рад совместной работе в реальном времени, и это, кажется, реализуется с использованием очень сложной техники, известной как Операционное преобразование…
1 ответ

Как я могу синхронизировать документы shareJS с файловой системой

Я пытаюсь создать простой текстовый редактор с поддержкой мультитенантной операции "Операционное преобразование", и хотя было достаточно просто заставить редактор работать и синхронизироваться между клиентами с помощью shareJS, моя проблема заключае…
15 окт '14 в 13:27
2 ответа

Операционная трансформация в Meteor.js?

Meteor.js поддерживает операционную трансформацию? Я работаю над проектом, который имеет отношение к Etherpad, для которого я подумал об использовании Meteor.js(который, я думаю, очень подходит для такого рода проектов). Операционное преобразование …
21 июл '12 в 16:47
3 ответа

Работает ли операционное преобразование в структурированных документах, таких как HTML, если их просто рассматривать как простой текст?

В FAQ по Google Wave Protocol говорится, что [HTML] "не имеет желаемых свойств" и что "HTML делает OT (Операционные преобразования) трудным, если не невозможным" [1]. Почему это так? Какие проблемы возникают, если HTML обрабатывается просто как прос…
1 ответ

Есть ли способ использовать OT или CRDT (или что-то подобное) для реляционных данных?

Я работаю над процессом синхронизации между автономными первыми базами данных и центральным сервером. В качестве простого примера можно привести элементы и отделы, а элемент принадлежит отделу. Каждый клиент может изменить любую из сущностей. Я знаю…
01 авг '18 в 14:10
1 ответ

Использование sharejs с contenteditable элементами

Есть ли способ использовать sharejs вместе с contenteditable-элементами вроде <div contenteditable="true">Content <b>with html</b></div> с HTML-контентом в нем? Или существуют другие лучшие практики для Оперативного преобразо…
1 ответ

Как я могу отобразить курсор удаленного пользователя и выделение в Quill

Я работал с Quill в течение короткого времени и сосредоточился на совместной работе над редактированием. Пока все идет хорошо, и у меня есть полностью работающий совместный редактор! Я хочу показать выбор и положение курсора других пользователей, но…
01 дек '16 в 16:29
1 ответ

ShareJS пример не работает

Я пытаюсь создать совместный текстовый редактор, используя Sharejs, но у меня возникают проблемы с самого начала. Я начал со страницы "Начало работы". Я побежал npm install share а затем запустил пример сервера, используя ./node_modules/share/bin/ex…
10 мар '13 в 04:32
1 ответ

Вложенное удаление JSON в ShareJS

В настоящее время я экспериментирую с реализацией ShareJS для оперативного преобразования (в частности, JSON API). В вики было не очень понятно, что произойдет, если я удалю родительский объект JSON, и вошла другая операция, которая вставляла в доче…
04 июл '12 в 01:08
1 ответ

Операционные преобразования на горизонте для Метеора?

Учитывая, что Meteor поддерживает в конечном итоге согласованные автономные записи в объекты данных, автоматическое объединение одновременных правок в одно и то же текстовое поле кажется естественным следующим шагом. Это может быть сделано путем инт…
15 апр '12 в 01:33
3 ответа

Почему операционная трансформация Документов Google приводит к ошибкам на стороне удаления?

Попробовал сегодня этот эксперимент: открыл два оффлайн-редактора для документа Google. В одном я выделил первое слово. Во втором я его удалил. Независимо от того, какой клиент я включаю первым, слово всегда удаляется. Прежде всего, почему это так -…
1 ответ

Какую реализацию Оперативного Преобразования использовать?

Мне нужно реализовать совместное редактирование модели данных на основе документа JSON. В настоящее время я нашел 2 фреймворка с открытым исходным кодом: ShareJS (NodeJS) и OpenCoWeb. Первый кажется слишком молодым, у него неполная документация и он…
17 апр '13 в 06:21
1 ответ

Является ли архитектурная модель в платформе Clojure Pedestal операционным преобразованием, аналогичным Google Wave?

Читая презентацию Pedestal (и читая пример исходного кода) - я вижу модель, основанную на преобразованиях и операциях. Правда ли, что Pedestal использует операционные преобразования (смотрите здесь и здесь), аналогичные тем, что использовались в Goo…
1 ответ

Что такое техника управления параллелизмом, используемая в Метеоре?

Я довольно новичок в Метеоре, но я нашел это интересным. Мне просто интересно, что является основной техникой или алгоритмом, который Meteor использует для управления параллелизмом в реальном времени и как он работает с конфликтами? это основано на …
1 ответ

Интеграция ServerSide Javascript с Python

Я создаю веб-приложение, которое использует массив JSON для сохранения и передачи состояния между сервером и клиентом и наоборот. Я пытаюсь добавить в него возможности "совместной работы", чтобы несколько клиентов могли одновременно редактировать да…