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

Новая подсистема основана на использовании коммуникационного фреймворка Telepathy, позволяющего организовать мгновенный обмен сообщениями с использованием различных протоколов. Для создания системы совместного редактирования использована особенность Telepathy, позволяющая организовать канал обмена сообщениями между приложениями, поверх стандартных IM-протоколов, предоставляя таким образом подобие сервиса межпроцессного взаимодействия (IPC) для территориально разнесённых приложений. Использование Telepathy позволило избавиться от необходимости разработки специальных серверов для координации совместной работы и задействовать традиционные технологии обмена сообщений для организации взаимодействия приложений.

Совместное редактирование может быть инициировано с любым пользователем из списка контактов локальной системы мгновенного обмена сообщениями. После установки прямого соединения между пользователями, все изменения документа синхронно отображаются у всех участников. Например, при изменении значения в электронной таблице на одной машине, все изменения сразу становятся видимыми на другой машине. При этом сохраняется порядок внесения изменений и обновляются все связанные с изменением формулы и диаграммы, как будто эти изменения внесены локально. Для борьбы с возможными конфликтами и обеспечения единого порядка внесения изменений, инициатор соединения берёт на себя роль первичного клиента (master).

Разработка пока находится на стадии начального прототипа и ведётся при поддержке организации Document Foundation и компании Collabora. В настоящее время уже готов код, лежащий в основе совместного редактирования, но разработка пока не готова для использования конечными пользователями, так как недоступны некоторые сопутствующие функции, такие как интерфейс для работы со списком контактов. Также требует доработки код установления и поддержания соединения. Из планов на будущее отмечается идея по обеспечению более тесной интеграции с клиентом Empathy для упрощения проведения обсуждений вносимых правок. Кроме задействования существующего списка контактов планируется использовать средства для автоматического обнаружения клиентов в локальной сети. Код подготовленных компонентов можно загрузить из Git-репозитория LibreOffice.

Источник: http://www.opennet.ru/opennews/art.shtml?num=33455