Представлен серверный вариант LibreOffice, работающий через web-браузер
25 марта 2015 года
Организация The Document Foundation анонсировала новый продукт LibreOffice Online, выступающий в роли свободной альтернативы таким сервисам, как Google Docs и Office 365, и позволяющий наладить удалённую работу с офисным пакетом через Web. LibreOffice Online имеет клиент-серверную архитектуру, при которой на сервере выполняется базовый каркас LibreOffice, а интерфейс транслируется клиенту и отображается в web-браузере при помощи специального web-приложения. Первый релиз LibreOffice Online запланирован на начало 2016 года, но энтузиасты могут оценить текущее состояние разработки, воспользовавшись Git-репозиторием. Ресурсы для разработки выделены компаниями IceWarp и Collabora, но сам проект будет развиваться под эгидой организации The Document Foundation.
Для трансляции интерфейса клиенту применяется штатный HTML5-бэкенд библиотеки GTK+, предназначенный для отрисовки вывода GTK-приложений в окне web-браузера. Формирование интерфейса с использованием штатного движка LibreOffice позволяет добиться полностью идентичного отображения структуры документа с версией для настольных систем. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API, позволяющий организовать двунаправленный обмен данными с сервером.
Интерфейс LibreOffice в браузере формируется через компоновку передаваемых с сервера готовых битмапов в формате PNG. Как правило в процессе редактирования непосредственно изменения составляют лишь незначительную часть от общего отображения, а подавляющее большинство действий связаны с просмотром уже существующих частей документа, которые можно держать в кэше и загружать с упреждением. Содержимое отдаётся клиенту в виде копий слоев и блоков (документ разбивается на множество кусочков из отдельных изображений), при этом по сети передаются только изменившиеся части интерфейса, а все неизменившиеся кусочки документа кэшируются на стороне клиента. Управление курсором и выделение областей текста также реализованы силами JavaScript на стороне клиента. Таким образом, просмотр и навигация по уже переданному клиенту образу документа производится без лишней нагрузки на сервер.
Серверная часть включает в себя два компонента: LibreOfficeKit, используемый в LibreOffice для выполнения вычислений, мозаичной отрисовки и многослойной компоновки документа, и новый серверный компонент Tile Server для организации взаимодействия с браузером, передачи изображений с частями интерфейса, организации кэширования кусочков изображений и работы с хранилищем документов. В зависимости от число подключенных клиентов Tile Server запускает для каждого клиента отдельные экземпляры LibreOfficeKit, которые выполняются в изолированном окружении. Для всех экземпляров LibreOfficeKit используется общий кэш.
Для LibreOffice Online также развиваются средства совместного редактирования, позволяющие нескольким людям одновременно работать с одним документом. Совместное редактирование будет реализовано с применением двух упрощений: Во-первых, решено использовать для отрисовки один экземпляр LibreOfficeKit для всех участников работы с документом, т.е. всем участникам будет передаваться один набор кусочков документа, что обеспечит синхронное отображение изменений. Во-вторых, будет выделен общий набор операций с абстрактным документом, таких как выделение блоков, перемещение по тексту, редактирование, удаление и перемещение объектов, которые будут обрабатываться индивидуально для каждого участника группы совместного редактирования.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.