Перейти к основному содержимому

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.

    ONLYOFFICE_install

Или просто клонируйте репозиторий в одну из папок, указанных в параметре moduleAutoloadPaths. Подробнее см. в документации HumHub.

Настройка коннектора ONLYOFFICE для HumHub​

  1. Перейдите в Administration -> Modules -> Installed.

  2. Найдите модуль ONLYOFFICE Connector for HumHub.

  3. Нажмите кнопку Configure.

  4. Укажите следующие параметры:

    • Hostname — укажите URL-адрес, по которому установлена служба редактирования документов (по умолчанию ONLYOFFICE Docs устанавливается на порту 80).

      Важно

      Адрес ONLYOFFICE Docs должен быть доступен из HumHub, а адрес HumHub должен быть доступен из ONLYOFFICE Docs.

    • JWT Secret — укажите секретный ключ, используемый для подписи данных.

      Обратите внимание

      Начиная с ONLYOFFICE Docs v7.2, JWT включен по умолчанию, а секретный ключ генерируется автоматически. Его нужно включить и на стороне HumHub: найдите секретный ключ в файле конфигурации ONLYOFFICE Docs, а затем укажите тот же ключ в настройках коннектора. Подробнее см. в разделе Включение JWT для интеграции ONLYOFFICE и HumHub этой статьи.

  5. ONLYOFFICE Docs address for internal requests from the server — укажите адрес, который используется для доступа к службе редактирования документов из HumHub.

  6. Server address for internal requests from ONLYOFFICE Docs — укажите адрес, который используется для доступа к HumHub из службы редактирования документов.

Configure_menu

После настройки приложения интеграции нажмите кнопку Submit, чтобы сохранить изменения.

Как это работает​

Интеграция ONLYOFFICE следует API, описанному здесь.

  1. При создании нового файла пользователю предлагаются варианты Document, Spreadsheet или Presentation в меню Create document.

  2. Браузер вызывает метод index в контроллере /controllers/CreateController.php.

  3. Либо, при открытии существующего файла, пользователю предлагается View document или Edit document в зависимости от расширения.

  4. Открывается всплывающее окно и вызывается метод index контроллера /controllers/OpenController.php.

  5. Приложение подготавливает объект JSON со следующими свойствами:

    • url — URL, по которому ONLYOFFICE Docs скачивает документ;
    • callbackUrl — URL, по которому ONLYOFFICE Docs сообщает о статусе редактирования документа;
    • key — случайный хеш MD5, по которому ONLYOFFICE Docs определяет, нужно ли скачивать документ заново;
    • title — название (имя) документа;
    • id — идентификатор пользователя;
    • name — имя пользователя.
  6. HumHub берет этот объект и создает страницу из шаблона views/open/index.php, подставляя все эти значения, чтобы браузер клиента мог загрузить редактор.

  7. Браузер клиента обращается к библиотеке JavaScript ONLYOFFICE Docs и отправляет ONLYOFFICE Docs конфигурацию DocEditor с указанными выше свойствами.

  8. Затем ONLYOFFICE Docs скачивает документ из HumHub, и пользователь начинает редактирование.

  9. ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, чтобы сообщить HumHub, что пользователь редактирует документ.

  10. Когда все пользователи и браузеры клиентов заканчивают редактирование, они закрывают окно редактирования.

  11. После 10 секунд бездействия ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, сообщая HumHub, что клиенты завершили редактирование документа и закрыли его.

  12. 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

  1. Откройте файл 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"
    }
    }
    }
    }
    }
  2. Значение true указано в трех разделах. Это означает, что проверка токена включена.

    • services.CoAuthoring.token.enable.browser
    • services.CoAuthoring.token.enable.request.inbox
    • services.CoAuthoring.token.enable.request.outbox
  3. Автоматически сгенерированный секретный ключ указан в трех разделах. Вы можете заменить секретное значение по умолчанию на собственный ключ. Ключ должен быть одинаковым во всех трех разделах.

    • services.CoAuthoring.secret.inbox.string
    • services.CoAuthoring.secret.outbox.string
    • services.CoAuthoring.secret.session.string
  4. Если вы вносите изменения, сохраните их и перезапустите службы, чтобы изменения конфигурации вступили в силу.

    supervisorctl restart all

Шаг 2: укажите тот же секретный ключ в настройках коннектора

В настройках коннектора укажите тот же секретный ключ в поле Secret key и сохраните настройки.

Начало работы с ONLYOFFICE Docs в HumHub​

Чтобы создать документ:

  1. Откройте вкладку Files.

  2. Нажмите кнопку Add file(s).

  3. Нажмите параметр Create document.

    ONLYOFFICE_create1

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

    ONLYOFFICE_create2

  5. Укажите имя файла.

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

  7. Нажмите кнопку Save.

    ONLYOFFICE_create3

Чтобы просмотреть или изменить документ:

  1. Откройте вкладку Files.

  2. Нажмите нужный файл.

  3. В открывшемся окне нажмите кнопку Edit document.

    ONLYOFFICE_editview