Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ Совместное редактирование odt файлов.

Автор: Cergey 15.9.2010, 7:00

Здравствуйте.

В структуре формата OpenDocument-v1.0 никак не реализовано совместное редактирование документа.
Раскажу кратко:
Формат построен на XML
В текст метки изменения с уникальными ID
В самих изменения сохраняются ID, кто сделал и комментарии(это обязательно), и еще может текст измененный или удалившийся.

В случае редактирование одного документа двумя пользователями изменения просто так не сольются.

Я думаю о сравнивании файлов как они есть, выделяя разницу или о разработке плагинов для OpenOffice, который бы снабжал файлы документов необходимой информацией, чтобы облегчить процесс сравнения (какой плагин пока не знаю???).

Какой может быть путь решения, простой для реализации??? Или где об этом может уже упоминалось???


Автор: Cergey 15.9.2010, 19:35

НИКТО НЕ ПОМОЖЕТ??? :( :help:

ПЛИЗ!!! ХОТЯ БЫ ЛЮБЫЕ ИДЕИ :rolleyes:

:excl:

Автор: Litkevich Yuriy 15.9.2010, 21:05

а что ты хочешь сделать? улучшить OpenOffice?

Автор: alex977 15.9.2010, 21:10

Есть же http://www.samag.ru/art/09.2007/09.2007_02.html?
Или не устраивает?

Автор: Cergey 16.9.2010, 8:20

Для университета. Курсовая.
alex977, Спс конечно.

Идеи плиз!!! Легко и можно чтоб с ограничениями реализовать слияние изменений в файл, если его редактировали ОДНОВРЕМЕННО 2 разных людей.

Может хоть техники подскажите???

Да да очень технику хотелось бы найти!!!! :lol:

Автор: Sokoloff 16.9.2010, 9:52

Цитата(Cergey @ 16.9.2010, 9:20) *
Для университета. Курсовая.
alex977, Спс конечно.

Идеи плиз!!! Легко и можно чтоб с ограничениями реализовать слияние изменений в файл, если его редактировали ОДНОВРЕМЕННО 2 разных людей.

Может хоть техники подскажите???

Да да очень технику хотелось бы найти!!!! :lol:


Вообще скажи что конкретно нужно? Потому что решение сильно зависит от задачи. Что ты будешь доделывать, сам редактор или северную часть?

Можно например написать свой WebDAV сервер, перехватить сохранение документа и обрабатывать слияние. Хранить документы можно по абзацам в системе контроля версий.
Но, IMHO, это уже больше чем на курсовик.

P.S. Можно и без WebDAV-а перехватить сохранение док-та и вместо/вместе сохранения файла посылать данные в систему контроля версий.

Автор: Cergey 16.9.2010, 15:55

УУУУ скоко идей спс Sokoloff,

А вообще лучше сделать надо без веба, с созданием своего алгоритма сравнения и потом слития.

Про это ИДЕИ ПЛИЗ!!!! :friends:

Автор: Sokoloff 16.9.2010, 16:41

Цитата(Cergey @ 16.9.2010, 16:55) *
УУУУ скоко идей спс Sokoloff,

А вообще лучше сделать надо без веба, с созданием своего алгоритма сравнения и потом слития.

Про это ИДЕИ ПЛИЗ!!!! :friends:


Ты все таки открой секрет, ты будешь допиливать OO, писать свой редактор или писать сервер коллективной работы?

Первое, надо выделить мимнимальный квант, который будем мерджить автоматом. IMHO разумно взять один абзац, т.е. если я поменял 1-й абзац, а ты поменял второй, то они сохраняться автоматом, если мы поменяли один и тот-же, то должен выскочить диалог. А дальше смотри алгоритмы разных diif-ов, как наиболее грамотно определить изменили абзац или перед ним вставили другой, или предыдущий удалили, и.т.д.

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

Это все довольно сильно похоже на системы контроля версий, почитай про их алгоритмы, я думаю там почерпнешь идей.



Автор: Cergey 16.9.2010, 17:03

Да до завтра надо просто без заимствования свои идеи предложить. Sokoloff, СУПЕР СПС!!!!

Автор: Cergey 16.9.2010, 18:42

ПЛИЗ!!! ЕЩЕ ИДЕИ!!!

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)