Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактирование текста сразу несколькими людьми 
:(
    Опции темы
jhonyxakep
Дата 28.7.2011, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Собственно САБЖ smile 

Как это делают редакторы типа гугла? Почему-то все, что приходило в голову, это пошаговое редактирование: сначала пишет один, потом второй, и тексты синхронизируются.

Как еще можно?
PM MAIL ICQ   Вверх
PascalC
Дата 28.7.2011, 21:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Думаю также как и при работе с БД - используются блокировки редактируемых частей, на чем большее количество частей разбит документ, тем менее заметны блокировки и кажется что работа полностью совместная. Ну и синхронизация изменений через определенный промежуток времени.
PM MAIL   Вверх
jhonyxakep
Дата 29.7.2011, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Цитата(PascalC @  28.7.2011,  21:32 Найти цитируемый пост)
Думаю также как и при работе с БД - используются блокировки редактируемых частей, на чем большее количество частей разбит документ, тем менее заметны блокировки и кажется что работа полностью совместная. Ну и синхронизация изменений через определенный промежуток времени.


 smile Интересный вариант. С таким вариантом даже повысится стабильность работы на нестабильной сети.

Может существуют еще какие-нибудь варианты? 

PM MAIL ICQ   Вверх
baldina
Дата 29.7.2011, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



блокировки должны быть непротиворечивы. обычно для таких общих задач как БД и редактирование документов автоматически определить границы требуемой блокировки нельзя, они определяются предметной областью (в данном случае - назначением, характером и структурой документа).
значит нужно предусмотреть разные уровни блокировки. наиболее общая - блокировка всего документа - обычно обеспечивается средствами файловой системы.
логично минимальным объектом группировки принять абзац. еще мельче - предложение (более общо - выражение, как в ЯП), но тогда нужно договариваться о метке конца предложения (точка) и требовать от пользователей её ставить.
Цитата(jhonyxakep @  29.7.2011,  03:08 Найти цитируемый пост)
синхронизация изменений через определенный промежуток времени.

при постоянном соединении можно обеспечить и мгновенную синхронизацию (или мгновенное уведомление об изменениях)

PM MAIL   Вверх
jhonyxakep
Дата 30.7.2011, 04:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Цитата(baldina @  29.7.2011,  09:42 Найти цитируемый пост)
при постоянном соединении можно обеспечить и мгновенную синхронизацию (или мгновенное уведомление об изменениях)


В общем-то я именно так и реализовал, но увы вариант показал себя с не самой лучшей стороны... Ну или просто с руками проблемы =)

Мне нужно сделать он лайновое редактирование кода с си подобным синтаксисом... В принципе блоками может являтся пространство  между {} ну или просто сами функции.

Главный вопрос в том - как уберечься от возможных ошибок и обрывов соединения,  ведь тогда у одного человека останется один экземпляр, а у другого  - другой.

Добавлено @ 04:20
TCP/IP? сохранять изменения у одного человека только в том случае, если пришел от от другого?

Это сообщение отредактировал(а) jhonyxakep - 30.7.2011, 04:20
PM MAIL ICQ   Вверх
shara
Дата 9.8.2011, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



Цитата(jhonyxakep @  30.7.2011,  03:19 Найти цитируемый пост)
Главный вопрос в том - как уберечься от возможных ошибок и обрывов соединения,

Так же как это делают БазыДанных -> транзакции. т.е. или все (текст отрдактирован) или ничего (отмена внесенных изменений/еще раз попытаться провести синхронизацизирующую транзакцию)
А сама транзакция подразумевает посылку запроса на сохранение внесеннх изменений и получение ответа на него.

Еще всякие там системы контроля версий на подобие cvs, собсно этим и занимаются, но не в онлайн режиме.. там есть понятие comit



Цитата(jhonyxakep @  30.7.2011,  03:19 Найти цитируемый пост)
В принципе блоками может являтся пространство  между {}

Если Си подобный синтакисис, то ИМХО лучше блоком считать все от начала строки до точки с запятой на ее конце  smile 



ну или вообще смелая идея  smile  smile   smile 
Намелевать полноценный клиент сервер, как в шуттерах к примеру.  
Не ну а че?  smile 

Все желающие поиграть отредактировать текст конктятся к серверу... 
Передвижение по тексту  при помощи стрелок aka AWSD -> так сказать юзер_скин (он же курсор) который виден всем участникам действия. 
Набор текста это уже своего рода команды серверу на изменение арены боевых дейсвтий простите увлекся текста  которые также моментально становятся видны всем. 
И смело разсыпать по уровню аптечки, побольше всевозможной снаряги, и прочие вундервафли в лице кваддемаги, дабы юзверь не скучал   

думаю идея ясна smile 






--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.