ЗАДАЧА Команда IQITO переехала на Nextcloud более года назад, а вместе с ней – большинство сопровождаемых клиентов. Основное неудобство, с которым мы столкнулись - невозможность совместного редактирования документов MS Office в режиме реального времени. Платформа поддерживает множество различных редакторов текстов и таблиц, но отсутствие привычного интерфейса от Microsoft вызывало дискомфорт, равно как и необходимость экспорта/импорта файлов. Кроме того, смена форматов могла внести искажения в документы, в некоторых случаях они требовали дополнительных правок. С чем-то подобным вы могли сталкиваться при работе с Google-документами: несмотря на то, что их функционал практически идентичен тому, что предлагает пакет MS Office, на деле приходится работать с другими интерфейсами и другими форматами. Привыкание требует времени, а постоянная «перегонка» файлов превращается в рутину. Возникла необходимость в интеграции Nextcloud с пакетом классических офисных приложений.
РЕАЛИЗАЦИЯ К счастью, нам удалось решить эту проблему. Изучив стек существующих решений, находящихся в открытом доступе, мы обнаружили, что интеграция с OOS уже была реализована для заказчиков корпоративного сегмента. Однако разработчики пошли по пути внесения изменений в сам движок, поэтому интерфейс для редактирования документов отличался от привычного всем Office.
Мы же разработали приложение, которое является связующим звеном между Nextcloud и OOS, и при этом не затрагивает внутренний код Nextcloud. Для нашего решения мы использовали открытый протокол WOPI, предназначенный для интеграции Office Online с кастомными приложениями. Началось все с того, что на нашем сервере было развернуто тестовое приложение для того, чтобы выяснить, какие возможности взаимодействия с OOS в целом реализуемы и работают. За этим последовала функциональная разработка приложения: аутентификация (доменная) пользователей, просмотр документов в OOS, редактирование документов в OOS, массовое (многопользовательское) редактирование документов.
РЕЗУЛЬТАТ Теперь в Nextcloud документы форматов Word, Excel и PowerPoint можно совместно открывать и редактировать в интерфейсе MS Office Online. Изменения сохраняются как вручную, так и автоматически благодаря поддержке функции автосохранения.
В октябре 2019 наше приложение было опубликовано вместе с исходным кодом на GitHub:
https://github.com/roscomputing/nextcloudwopi В итоге, у нас получилось интегрировать Nextcloud с MS Office Online, и, отныне, совместная работа с документами стала проще и комфортнее не только для клиентов IQITO, но и для всех, кто решил воспользоваться нашей разработкой.