HumHub
Об интеграции ONLYOFFICE и HumHub
ONLYOFFICE предлагает официальный коннектор для интеграции ONLYOFFICE Docs с HumHub, который позволяет редактировать офисные документы в социальной сети. Коннектор ONLYOFFICE можно скачать из официального HumHub Marketplace или со страницы ONLYOFFICE на GitHub.
Чтобы узнать больше о том, как работает коннектор ONLYOFFICE для HumHub, посетите нашу документацию по API.
Основные возможности
- Создание, редактирование и просмотр текстовых документов, таблиц и презентаций.
- Совместное редактирование документов в реальном времени: два режима совместного редактирования (Быстрый и Строгий), режим Отслеживание изменений, комментарии и встроенный чат.
- Поддержка JWT для защиты передаваемых данных: доступ к документам есть только у пользователей с соответствующими правами.
Поддерживаемые форматы
- Для открытия и редактирования: DOCX, XLSX, PPTX, PDF-форма
- Для конвертации в Office Open XML: ODT, ODS, ODP, DOC, XLS, PPT, TXT, CSV
- Только для просмотра: ODT, ODS, ODP, DOC, XLS, PPT, TXT, PDF
Что нового в версии 3.2.0
Добавлено
- Пустые шаблоны по умолчанию
- Добавлены шаблоны пустых файлов ar-SA, eu-ES, fi-FI, he-IL, nb-NO, sl-SL и sr-Cyrl-RS
- Настройка срока действия JWT
Изменено
- Создание и редактирование PDF-форм
- Обновлен список поддерживаемых форматов
- Изменен адрес демонстрационного сервера
Полный список изменений доступен здесь.
Подключение ONLYOFFICE Docs к HumHub
Требования
-
ONLYOFFICE Document Server v6.1.0 (серверная или облачная версия) или выше
Вам понадобится экземпляр ONLYOFFICE Docs, доступный и разрешаемый по имени как из HumHub, так и со всех клиентских устройств. Он должен иметь возможность напрямую отправлять POST-запросы в HumHub.
Обратите вниманиеПодробнее об установке ONLYOFFICE Docs см. на официальной странице документации.
-
HumHub 1.8 и выше
-
Коннектор ONLYOFFICE 2.4.0 для HumHub
Установка коннектора ONLYOFFICE для HumHub
Последнюю версию коннектора можно скачать из официального HumHub Marketplace и настроить. Для этого выполните следующие действия:
-
Войдите в свой экземпляр HumHub как администратор.
-
Откройте раскрывающийся список профиля и выберите параметр Administration. Загрузится экран User administration.
-
Нажмите раздел Modules в левой части страницы.
-
Откройте раздел Browse online и найдите ONLYOFFICE connector с помощью поиска. В результатах будут показаны версии, совместимые с вашим экземпляром HumHub
-
Нажмите кнопку Install, чтобы скачать и установить модуль ONLYOFFICE.
-
После установки модуля нажмите кнопку Enable.

Или просто клонируйте репозиторий в одну из папок, указанных в параметре moduleAutoloadPaths. Подробнее см. в документации HumHub.
Настройка коннектора ONLYOFFICE для HumHub
-
Перейдите в Administration -> Modules -> Installed.
-
Найдите модуль ONLYOFFICE Connector for HumHub.
-
Нажмите кнопку Configure.
-
Укажите следующие параметры:
-
Hostname — укажите URL-адрес, по которому установлена служба редактирования документов (по умолчанию ONLYOFFICE Docs устанавливается на порту 80).
ВажноАдрес ONLYOFFICE Docs должен быть доступен из HumHub, а адрес HumHub должен быть доступен из ONLYOFFICE Docs.
-
JWT Secret — укажите секретный ключ, используемый для подписи данных.
Обратите вниманиеНачиная с ONLYOFFICE Docs v7.2, JWT включен по умолчанию, а секретный ключ генерируется автоматически. Его нужно включить и на стороне HumHub: найдите секретный ключ в файле конфигурации ONLYOFFICE Docs, а затем укажите тот же ключ в настройках коннектора. Подробнее см. в разделе Включение JWT для интеграции ONLYOFFICE и HumHub этой статьи.
-
-
ONLYOFFICE Docs address for internal requests from the server — укажите адрес, который используется для доступа к службе редактирования документов из HumHub.
-
Server address for internal requests from ONLYOFFICE Docs — укажите адрес, который используется для доступа к HumHub из службы редактирования документов.

После настройки приложения интеграции нажмите кнопку Submit, чтобы сохранить изменения.
Как это работает
Интеграция ONLYOFFICE следует API, описанному здесь.
-
При создании нового файла пользователю предлагаются варианты Document, Spreadsheet или Presentation в меню Create document.
-
Браузер вызывает метод index в контроллере /controllers/CreateController.php.
-
Либо, при открытии существующего файла, пользователю предлагается View document или Edit document в зависимости от расширения.
-
Открывается всплывающее окно и вызывается метод index контроллера /controllers/OpenController.php.
-
Приложение подготавливает объект JSON со следующими свойствами:
- url — URL, по которому ONLYOFFICE Docs скачивает документ;
- callbackUrl — URL, по которому ONLYOFFICE Docs сообщает о статусе редактирования документа;
- key — случайный хеш MD5, по которому ONLYOFFICE Docs определяет, нужно ли скачивать документ заново;
- title — название (имя) документа;
- id — идентификатор пользователя;
- name — имя пользователя.
-
HumHub берет этот объект и создает страницу из шаблона views/open/index.php, подставляя все эти значения, чтобы браузер клиента мог загрузить редактор.
-
Браузер клиента обращается к библиотеке JavaScript ONLYOFFICE Docs и отправляет ONLYOFFICE Docs конфигурацию DocEditor с указанными выше свойствами.
-
Затем ONLYOFFICE Docs скачивает документ из HumHub, и пользователь начинает редактирование.
-
ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, чтобы сообщить HumHub, что пользователь редактирует документ.
-
Когда все пользователи и браузеры клиентов заканчивают редактирование, они закрывают окно редактирования.
-
После 10 секунд бездействия ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, сообщая HumHub, что клиенты завершили редактирование документа и закрыли его.
-
HumHub скачивает новую версию документа, заменяя старую.
Включение JWT для интеграции ONLYOFFICE и HumHub
Чтобы защитить документы от несанкционированного доступа, редакторы ONLYOFFICE используют JSON Web Token (JWT). Токен добавляется в конфигурацию при инициализации редактора документов и при обмене командами между внутренними службами ONLYOFFICE Docs. Секретный ключ используется для подписи JSON Web Token и проверки токена при запросе к ONLYOFFICE Docs.
Начиная с ONLYOFFICE Docs v7.2, JWT включен по умолчанию, а секретный ключ генерируется автоматически. Вам нужно найти секретный ключ в файле конфигурации ONLYOFFICE Docs, а затем указать тот же ключ в настройках коннектора.
Шаг 1: найдите секретный ключ в файле конфигурации ONLYOFFICE Docs
-
Откройте файл local.json в любом текстовом редакторе.
-
Для Linux —
/etc/onlyoffice/documentserver/local.json -
Для Windows —
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json -
Для Docker — войдите в контейнер ONLYOFFICE Docs с помощью команды
docker exec -it <containerID> bashи откройте/etc/onlyoffice/documentserver/local.jsonТакже можно найти секретный ключ по умолчанию, не открывая local.json, с помощью следующей команды:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
Файл local.json должен выглядеть так:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} -
-
Значение
trueуказано в трех разделах. Это означает, что проверка токена включена.services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
Автоматически сгенерированный секретный ключ указан в трех разделах. Вы можете заменить секретное значение по умолчанию на собственный ключ. Ключ должен быть одинаковым во всех трех разделах.
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
Если вы вносите изменения, сохраните их и перезапустите службы, чтобы изменения конфигурации вступили в силу.
supervisorctl restart all
Шаг 2: укажите тот же секретный ключ в настройках коннектора
В настройках коннектора укажите тот же секретный ключ в поле Secret key и сохраните настройки.
Начало работы с ONLYOFFICE Docs в HumHub
Чтобы создать документ:
-
Откройте вкладку Files.
-
Нажмите кнопку Add file(s).
-
Нажмите параметр Create document.

-
В открывшемся окне выберите тип файла: Document, Spreadsheet или Presentation.

-
Укажите имя файла.
-
Установите флажок Open the new document in the next step, чтобы начать работу с документом.
-
Нажмите кнопку Save.

Чтобы просмотреть или изменить документ:
-
Откройте вкладку Files.
-
Нажмите нужный файл.
-
В открывшемся окне нажмите кнопку Edit document.
