• Post category:Интеграция
  • Запись изменена:14.10.2024

Интеграция реализована партнерами ComminigatePRO по адресу https://www.communigate.ru/main/solutions/integrations_p7office.html 
Статья описывает дополнительные действия по интеграции для Сервера документов или Корпоративного сервера
Использовались версии CommunigatePro 6.3.9 и Сервер Документов 7.2 (Корпоративный сервер 12.0)

При подключении к Серверу Документов

После выполнения действий описанных по ссылке, подключите Сервер документов указав в strings.files.data интерфейса Samoware CommunigatePro:

{
    P7OfficeEditorUrl = "scheme://documentserver:_port_/web-apps/apps/api/documents/api.js";
    P7OfficeEditorCustomPort_http = "80";
    P7OfficeEditorCustomPort_https = "443";
}
  • documentserver необходимо заменить на DNS-имя или IP-адрес сервера Р7-Офис;
  • _port_ является переменной и не должно изменяться;

К сожалению, интеграция с CommuniGate не поддерживает использование шифрования JWT токенами. Для интеграции Сервера редактора документов, необходимо отключить поддержку JWT токенов на сервере Редактора документов, при установке Сервера документов данная функция отключена по умолчанию.
Для отключения поддержки JWT токенов на сервере Редактора документов, необходимо отредактировать файл local.json
Для Linux — /etc/r7-office/documentserver/local.json
Для Windows — %ProgramFiles%\R7OFFICE\DocumentServer\config\local.json
Проверьте в local.json должны быть отключены параметры, приведите к виду:

"token": {
"enable": {
"request": {
"inbox": false,
"outbox": false
},
"browser": false
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": "secret"
},
"outbox": {
"string": "secret"
},
"session": {
"string": "secret"

При подключении к Корпоративному Серверу

При использовании Сервера редактора документов, входящего в состав установки Р7-Офис Сервер, при обращении к Серверу редактора документов необходимо использовать адрес: /ds-vpath/ (пример http://example.com/ds-vpath/ ).
Пожалуйста, измените адрес при обращении к Корпоративному серверу в файле «strings.files.data»:

{ 
P7OfficeEditorUrl = "scheme://example.com:_port_/ds-vpath/OfficeWeb/apps/api/documents/api.js"; 
P7OfficeEditorCustomPort_http = "80"; 
P7OfficeEditorCustomPort_https = "443"; 
}

К сожалению, интеграция с CommuniGate не поддерживает использование шифрования JWT токенами. Для интеграции Корпоративного сервера, необходимо отключить поддержку JWT токенов на сервере Редактора документов (входит в состав Корпоративного сервера по умолчанию).
Так же возможно установить установить Сервер Документов отдельно согласно документации.
Для отключения поддержки JWT токенов на сервере Редактора документов, необходимо отредактировать файл local.json
Для Linux — /etc/r7-office/documentserver/local.json
Для Windows — %ProgramFiles%\R7OFFICE\DocumentServer\config\local.json
Проверьте в /etc/r7office/documentserver/local.json должны быть отключены параметры, приведите к виду:

"token": {
"enable": {
"request": {
"inbox": false,
"outbox": false
},
"browser": false
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": "secret"
},
"outbox": {
"string": "secret"
},
"session": {
"string": "secret"

После изменения конфигурации, перезапустите сервисы Редактора документов, чтобы изменения конфигурации вступили в силу:
Для Linux:

supervisorctl restart all

При использовании сервера документов версии 7.3.3 и выше:

sudo systemctl restart ds-docservice.service ds-converter.service ds-metrics.service

Для Windows: в Службах (Services) выполнить перезапуск (restart) служб:
Интеграция Сервера Документов и CommunigatePro

Для RedHat производных: /etc/nginx/conf.d/r7-office.conf
Для Deb производных: /etc/nginx/sites-enabled/r7-office.conf и /etc/nginx/sites-available /r7-office.conf
Необходимо добавить ds-vpath в секцию:

map $request_uri $header_x_frame_options {
  ~*^/(ds-vpath|favicon\.ico|products\/files\/share\.aspx|products\/files\/saveas\.aspx|products\/files\/filechoice\.aspx|products\/files\/doceditor\.aspx|thirdparty\/plugin) "";
  default "SAMEORIGIN";
}

Сохраняем файл и перезапускаем NGINX:

systemctl restart nginx

Для Windows данная функция включена по умолчанию.
По умолчанию в Корпоративном Сервере функция JWT включена. Так как использование JWT недоступно при интеграции с CommuniGate, необходимо отключить поддержку JWT Портала совместной работы.
Для этого необходимо в файлах
Для Linux — /var/www/r7-office/WebStudio/web.appsettings.config  и /var/www/r7office/Services/TeamLabSvc/TeamLabSvc.exe.config
Для Windows — %ProgramFiles%\R7-OFFICE\CommunityServer\WebStudio\web.appsettings.config  и %ProgramFiles%\R7-OFFICE\CommunityServer\Services\TeamLabSvc\TeamLabSvc.exe.config
привести значения к виду:

<add key="files.docservice.secret" value="" />
<add key="files.docservice.secret.header" value="" />

Для Linux — После изменения конфигураций необходимо перезапустить сервер или перезапустить службы:

systemctl restart monoserve r7-office*
Примечание: По умолчанию настройки CGP установлена прослушка по 80 порту, для корректной настройки в веб-админ на странице «Установки => Услуги => HTTPU» кликните по ссылке «Приемник» и убедитесь, что сервер слушает 443 порт. Так же потребуется перевести работу Корпоративного сервера на https, настройки доступны в каталоге установки.

Добавьте в правило на Корпоративном сервере Р7, если используется файрволл:

firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp