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

SharePoint

Об интеграции ONLYOFFICE и SharePoint​

Чтобы редактировать документы на платформе для совместной работы SharePoint, можно интегрировать ONLYOFFICE Docs с библиотекой документов, используя официальный коннектор ONLYOFFICE или WOPI. Подробнее см. на странице GitHub коннектора ONLYOFFICE для SharePoint. Коннектор распространяется по лицензии AGPL-3.0.

Чтобы узнать больше о том, как работает коннектор ONLYOFFICE для SharePoint, посетите страницу нашей документации по API.

Способы подключения​

ONLYOFFICE Docs можно подключить к SharePoint двумя способами: с помощью официального коннектора или WOPI. Оба способа позволяют редактировать документы прямо в SharePoint, но различаются поддерживаемыми функциями и форматами.

Внимание

Настоятельно рекомендуем выбрать только один способ установки. Если установка выполнена обоими способами, функции совместной работы и сохранение документов могут работать некорректно.

Сравнение функций​

ФункцияОфициальный коннекторWOPI
Редактирование документов из контекстного меню / ленты✓ (Open in ONLYOFFICE)✓ (Click the file / Context menu → Open → Open in office online)
Быстрый режим совместного редактирования✓✓
Строгий режим совместного редактирования✓✗ 1
Отслеживание изменений✓✗
Комментарии, встроенный чат✓✓
История версий✗✗
Слияние почты✓✓
Вставка изображения из хранилища✗✗
Сравнение документов✓✗

1 Строгий режим совместного редактирования может негативно влиять на параметр токена доступа при использовании WOPI.

Важно

При использовании WOPI токены доступа по истечении некоторого времени перестают действовать. Для быстрого режима совместного редактирования задайте для свойства access_token_ttl значение 10 часов.

Поддерживаемые форматы​

Официальный коннектор:

  • Для просмотра и редактирования: DOCM, DOCX, DOTM, DOTX, PDF, POTM, POTX, PPSM, PPSX, PPTM, PPTX, XLSB, XLSM, XLSX, XLTM, XLTX
  • Только для просмотра: CSV, DJVU, DOC, DOT, DPS, DPT, EPUB, ET, ETT, FB2, FODP, FODS, FODT, HML, HTM, HTML, HWP, HWPX, KEY, MD, MHT, MHTML, NUMBERS, ODG, ODT, ODP, ODS, OTT, OTP, OXPS, PAGES, POT, PPS, PPT, RTF, STW, SXC, SXI, SXW, TXT, VSDM, VSDX, VSSM, VSSX, VSTM, VSTX, WPS, WPT, XLS, XLT, XML, XPS

WOPI:

  • Для просмотра и редактирования: DOCX, XLSX, PPTX, DOCM, XLSM, PPTM, ODT, ODS, ODP, CSV, PDF
  • Только для просмотра: DJVU, XPS
примечание

Доступные форматы зависят от версии ONLYOFFICE Docs и выбранного способа подключения.

Что нового в версии 3.1.0​

Изменено

  • Добавлены новые поддерживаемые форматы

Полный список изменений доступен здесь.

Использование официального коннектора​

Требования​

  • ONLYOFFICE Document Server v7.1 (серверная или облачная версия) или более поздней версии. Экземпляр должен быть доступен для разрешения имени и подключения как из SharePoint, так и с любых клиентских устройств, а также должен иметь возможность отправлять POST-запросы напрямую в SharePoint. Подробнее об установке ONLYOFFICE Docs читайте на официальной странице документации.
  • SharePoint 2019
  • Коннектор ONLYOFFICE 3.1.0 для SharePoint

Установка и настройка​

Решение для интеграции ONLYOFFICE с SharePoint — это официальный коннектор ONLYOFFICE, доступный на странице GitHub по лицензии GNU AGPL v.3.

Чтобы узнать больше о том, как оно работает и как скомпилировать решение, посетите нашу документацию по API.

  1. Нажмите Start, выберите All Programs, затем Administrative Tools, нажмите Services и убедитесь, что служба SharePoint Administration запущена.

  2. Нажмите Start, откройте SharePoint Management Shell и перейдите в каталог, содержащий файл .wsp.

  3. Запустите скрипт Install.ps1:

    PS> .\Install.ps1
  4. Введите адрес вашего сайта SharePoint:

    https://<yoursharepointsite>

    Вместо шагов 3 и 4 можно ввести следующую команду:

    Add-SPSolution -LiteralPath<solutionpath>/onlyoffice.wsp

    На главной странице SharePoint Central Administration нажмите System Settings → Farm Management → Manage farm solutions. На странице Solution Management нажмите onlyoffice.wsp, затем Deploy Solution.

  5. На главной странице SharePoint Central Administration в разделе Application Management нажмите Manage web applications.

  6. Убедитесь, что выбран ваш сайт, и нажмите значок Authentication Providers.

  7. В окне Authentication Providers нажмите Default zone.

  8. В разделе Edit Authentication установите флажок Enable anonymous access и нажмите Save.

  9. Вернувшись в Web Application Management, нажмите значок Anonymous Policy.

  10. В разделе Anonymous Access Restrictions выберите свою Zone, задайте политику Permissions to None – No и нажмите Save.

  11. В SharePoint откройте страницу административных настроек /_layouts/15/Onlyoffice/Settings.aspx. Введите следующий адрес:

    https://<documentserver>/

    Здесь documentserver — имя сервера, на котором установлен ONLYOFFICE Docs. Адрес должен быть доступен из браузера пользователя и с сервера SharePoint. Для корректной работы адрес сервера SharePoint также должен быть доступен из ONLYOFFICE Docs.

Если в SharePoint настроены подсайты, нужно дополнительно настроить подключение ONLYOFFICE Docs для каждого из них. Перейдите в настройки каждого подсайта и введите адрес Docs в соответствующее поле.

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

Если включена защита JWT, необходимо указать собственное имя заголовка, так как политика безопасности SharePoint блокирует внешние заголовки 'Authorization'. Этот заголовок также нужно указать в настройках подписи ONLYOFFICE Docs (подробнее см. здесь).

Компиляция решения​

Решение ONLYOFFICE SharePoint integration можно скомпилировать двумя способами:

  • С помощью MS Visual Studio:

    1. Войдите на сервер SharePoint и откройте этот проект в Visual Studio.
    2. В Solution Explorer откройте контекстное меню проекта и выберите Publish.
    3. В диалоговом окне Publish выберите переключатель Publish to File System.
    4. Нажмите кнопку Publish. После завершения публикации будет создан файл решения .wsp.
    5. Скопируйте полученный файл в папку с файлом Install.ps1 (по умолчанию это папка BuildAndInstall).
  • С помощью файла build.bat:

    1. Перейдите в папку BuildAndInstall.
    2. Запустите файл build.bat.
    3. Файл решения .wsp будет создан и помещен в папку BuildAndInstall.

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

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

  1. Пользователь переходит к документу в SharePoint и выбирает действие Edit in ONLYOFFICE в контекстном меню или на ленте.

  2. SharePoint отправляет запрос на страницу редактора (URL-адрес вида /_layouts/15/Onlyoffice/editorPage.aspx?SPListItemId={ItemId}&SPListURLDir={ListUrlDir}&action=track).

  3. SharePoint готовит JSON-объект со следующими свойствами:

    • url — URL-адрес, по которому ONLYOFFICE Docs скачивает документ;
    • callbackUrl — URL-адрес, по которому ONLYOFFICE Docs сообщает о статусе редактирования документа;
    • DocumentSeverHost — URL-адрес, по которому клиент должен обращаться к ONLYOFFICE Document Server (задается на странице настроек);
    • Key — идентификатор файла из SharePoint;
    • FileName — название (имя) документа;
    • CurrentUserId — идентификатор пользователя;
    • CurrentUserName — имя пользователя.
  4. SharePoint создает страницу, подставляя все эти значения, чтобы браузер клиента мог загрузить редактор.

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

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

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

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

  9. SharePoint скачивает новую версию документа, заменяя старую.

Чтобы узнать о наиболее распространенных проблемах и способах их решения, посетите наше руководство по устранению неполадок.

Включение JWT​

Чтобы защитить документы от несанкционированного доступа, редакторы 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. Либо выполните:

      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 и сохраните настройки.

Использование WOPI​

Также можно подключить ONLYOFFICE Docs к SharePoint по WOPI — протоколу на основе REST, который отправляет HTTP-запросы к набору конечных точек REST, когда клиент устанавливает подключение к серверу с вашими данными.

Ограничения​

При подключении ONLYOFFICE Docs по WOPI из-за особенностей архитектуры WOPI некоторые функции недоступны:

  • Не поддерживается функция История версий.
  • Вставка изображения из хранилища не поддерживается.
  • Сравнение документов не поддерживается.
  • Не поддерживаются следующие форматы: DOC, XLS, PPT.

Требования​

  • ONLYOFFICE Document Server v7.1 или более поздней версии с включенным WOPI. Чтобы включить WOPI, следуйте этой инструкции.
  • SharePoint 2019

Подключение по WOPI​

  1. Откройте свой сервер SharePoint. Запустите консоль SharePoint Management Shell и задайте нужную зону WOPI:

    Set-SPWOPIZone -Zone "external-http"

    documentserver по умолчанию использует параметр external-http.

  2. Проверьте, есть ли в текущей ферме привязки WOPI к другим типам документов:

    Get-SPWOPIBinding

    Если такие привязки есть, удалите их:

    Remove-SPWOPIBinding -All:$true
  3. Создайте новые привязки для действий по умолчанию в зависимости от типов файлов.

    Чтобы создать привязки сразу для всех типов файлов:

    New-SPWOPIBinding -ServerName ip_or_domain.com:port

    Чтобы создать привязки только для определенных типов файлов:

    New-SPWOPIBinding -ServerName ip_or_domain.com:port -Extension DOCX

    Если SSL не используется, добавьте -AllowHTTP в конец команды.

Включение заголовка авторизации​

Параметр wopi.sendAuthorizationHeader добавляет заголовок Authorization: Bearer <access_token> в запросы WOPI. Согласно спецификации WOPI он необязателен, но в зависимости от версии SharePoint требуется:

  • SharePoint Subscription Edition: этот параметр должен быть включен. Без него возникает ошибка Invalid access token, и редактирование документов не работает.
  • SharePoint 2019: этот параметр необязателен. Подключение работает с токеном, переданным в URI, но включение заголовка не вызывает проблем.

Чтобы включить wopi.sendAuthorizationHeader, воспользуйтесь одним из следующих способов:

  • Отредактируйте файл конфигурации /etc/onlyoffice/documentserver/default.json или добавьте следующее в /etc/onlyoffice/documentserver/local.json, чтобы изменения сохранялись после обновлений:

    {
    "wopi": {
    "sendAuthorizationHeader": true
    }
    }

    После внесения изменений перезапустите службы:

    supervisorctl restart all
  • В коммерческих сборках этот параметр также можно настроить в Панели администратора.

Создание новых документов​

Важно

Следующие инструкции действительны только для способа подключения WOPI.

Чтобы можно было создавать новые документы, настройте описанные ниже параметры. В этом примере используются только файлы DOCX, но аналогичным образом можно добавить XLSX, PPTX и другие файлы.

  1. Включите параметр Allow management of content types: перейдите в Documents → Library settings → Advanced settings. В разделе Allow management of content types выберите Yes и нажмите OK.

    Creating new documents

  2. В библиотеке Documents перейдите в Site contents → Site Settings → Site content types. Нажмите Create. Заполните форму: Name (New document), Description. В поле Parent Content type выберите Document content types, Document. В поле Existing group выберите Custom Content Types и нажмите OK.

    Creating new documents

  3. В библиотеке Documents перейдите в Site contents → Site Settings → Site content types. Выберите только что добавленный New document. Перейдите в Advanced settings → Document Template → Upload a new document template. Нажмите кнопку Choose File, загрузите нужный документ и нажмите OK.

    Creating new documents

  4. Перейдите в библиотеку Documents → Library settings. В разделе Content Types выберите Add from existing site content types. В списке Select site content types from выберите Custom content types. В поле Available Site Content Types выберите New document. Нажмите кнопку Add >, затем OK.

    Creating new documents

  5. В библиотеке Documents обновите страницу и нажмите кнопку New.

    Creating new documents

  6. Тип содержимого Document будет автоматически добавлен как родительский. Его нужно скрыть: перейдите в библиотеку Documents → Library settings. В разделе Content Types выберите Change new button order and default content type.

    Creating new documents

    В столбце Visible снимите флажок для типа содержимого Document и нажмите OK.

    Creating new documents

  7. В библиотеке Documents обновите страницу и нажмите кнопку New — будет доступен только пункт меню New document.

    Creating new documents