Plone
Об интеграции ONLYOFFICE и Plone
ONLYOFFICE предлагает официальный коннектор для интеграции ONLYOFFICE Docs с Plone, который позволяет редактировать документы в системе управления контентом. Коннектор ONLYOFFICE можно скачать с PyPi.org и со страницы ONLYOFFICE на GitHub. Коннектор распространяется по лицензии Apache-2.0.
Чтобы узнать больше о коннекторе интеграции ONLYOFFICE и Plone и подробностях его работы, посетите нашу документацию по API.
Основные возможности
- Создание, редактирование и просмотр текстовых документов, электронных таблиц и презентаций.
- Совместное редактирование документов в реальном времени: два режима совместного редактирования (Быстрый и Строгий), режим Отслеживание изменений, комментарии и встроенный чат.
- Поддержка JWT для защиты передаваемых данных: доступ к документам есть только у пользователей с соответствующими правами.
Поддерживаемые форматы
- Для редактирования: DOCX, XLSX, PPTX, PDF
- Для просмотра: DJVU, DOC, DOCM, DOCX, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, TXT, XPS, XML, CSV, FODS, ODS, OTS, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX
- Для конвертации (скачивание в виде): DOC, DOCM, DOCX, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, XPS, XML, FODS, ODS, OTS, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX
- Для конвертации в Office Open XML: DOC, DOCM, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, XPS, XML, FODS, ODS, OTS, XLS, XLSB, XLSM, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM
Что нового в версии 4.1.0
Добавлено
- Поддержка заполняемых PDF-форм.
- Шаблоны пустых файлов еще для 21 языка: арабский (ar-SA), каталанский (ca-ES), датский (da-DK), баскский (eu-ES), финский (fi-FI), галисийский (gl-ES), иврит (he-IL), венгерский (hu-HU), армянский (hy-AM), индонезийский (id-ID), малайский (ms-MY), норвежский букмол (nb-NO), румынский (ro-RO), сингальский (si-LK), словенский (sl-SI), албанский (sq-AL), сербский кириллицей (sr-Cyrl-RS), сербский латиницей (sr-Latn-RS), турецкий (tr-TR), урду (ur-PK) и традиционный китайский (zh-TW).
- Поддержка Plone 6.1.
- Улучшена настройка срока действия JWT.
- Обновлен URL-адрес демонстрационного ONLYOFFICE Document Server.
Подключение ONLYOFFICE Docs к Plone
Требования
-
ONLYOFFICE Document Server v6.1 (серверная или облачная версия) или более поздней версии
Вам нужен экземпляр ONLYOFFICE Docs, который доступен для разрешения имени и подключения как из Plone, так и с любых клиентских устройств. Он должен иметь возможность отправлять POST-запросы напрямую в Plone.
примечаниеПодробнее об установке ONLYOFFICE Docs читайте на официальной странице документации.
-
Python 3.4 и более поздних версий
-
Плагин интеграции ONLYOFFICE 3.0.1 или более поздней версии для Plone
Установка плагина интеграции ONLYOFFICE для Plone
Если у вас установлена предыдущая версия плагина (ранние версии назывались onlyoffice.connector), удалите ее перед установкой новой версии. Если вы хотите установить раннюю версию, при выполнении инструкций по установке используйте onlyoffice.connector вместо onlyoffice.plone.
Интеграция ONLYOFFICE для Plone распространяется как стандартное дополнение Plone. Рекомендуемый способ установки — через Buildout.
-
Добавьте плагин в Buildout.
Откройте файл
buildout.cfgвашего экземпляра Plone и добавьтеonlyoffice.ploneв раздел eggs:[buildout]...eggs =onlyoffice.plone -
Запустите Buildout.
Примените изменения, запустив
buildoutиз командной строки от имени пользователя без прав суперпользователя:sudo -u plone_buildout /plone/zinstance/bin/buildout -
Перезапустите экземпляр Plone.
Перезапустите экземпляр Plone, чтобы загрузить установленное дополнение:
sudo /plone/zinstance/bin/instance restart -
Включите дополнение в Plone.
Откройте сайт Plone в браузере, войдите как администратор и включите плагин:
- Перейдите в раздел Site Setup > Add-ons.
- Найдите onlyoffice.plone среди доступных дополнений.
- Нажмите кнопку Install, чтобы включить его.
Настройка плагина интеграции ONLYOFFICE для Plone
Чтобы настроить плагин:
-
Перейдите в раздел Site Setup.
-
Прокрутите страницу вниз до раздела Add-ons Configuration.
-
Нажмите кнопку ONLYOFFICE Configuration.
-
В поле Document Editing service укажите URL-адрес, по которому находится ONLYOFFICE Docs.
примечаниеАдрес ONLYOFFICE Docs должен быть доступен из Plone, а адрес Plone — из ONLYOFFICE Docs.
-
В поле Secret key укажите секретный ключ, используемый для подписи данных.
примечаниеНачиная с ONLYOFFICE Docs v7.2, JWT включен по умолчанию, а секретный ключ генерируется автоматически. Его нужно включить и на стороне Plone: найдите секретный ключ в файле конфигурации ONLYOFFICE Docs, а затем укажите тот же ключ в настройках коннектора. Подробнее см. в разделе Включение JWT для интеграции ONLYOFFICE и Plone этой статьи.
-
В поле Server address for internal requests from the Document Editing Service укажите адрес, по которому служба редактирования документов обращается к Plone.
-
В поле Document Editing Service address for internal requests from the server укажите адрес, по которому Plone обращается к службе редактирования документов.

Разработка плагина ONLYOFFICE для Plone
-
Клонируйте репозиторий и перейдите в его каталог:
git clone --branch deploy git@github.com:ONLYOFFICE/onlyoffice-plone.gitcd onlyoffice-plone -
Создайте virtualenv в пакете.
-
Установите зависимости с помощью pip.
-
Запустите buildout:
virtualenv ../bin/pip install -r requirements.txt./bin/buildout -
Запустите Plone в интерактивном режиме:
./bin/instance fg
Если у вас есть работающий экземпляр Plone, плагин можно установить, добавив файлы проекта в каталог src:
-
В каталоге src создайте каталог onlyoffice.plone.
-
Поместите в каталог onlyoffice.plone файлы проекта, полученные через Git.
-
Отредактируйте файл buildout.cfg:
[buildout]...eggs =onlyoffice.plonedevelop =src/onlyoffice.plone -
Снова запустите buildout, чтобы изменения вступили в силу:
./bin/buildout -
Затем запустите или перезапустите экземпляр Plone.
Plone работает на сервере Zope и не запустится от имени пользователя root. Если вы собираетесь запускать его от имени root, нужно указать директиву effective-user. Для этого добавьте строку effective-user < username > в файл ./parts/instance/etc/zope.conf.
Обновление плагина интеграции ONLYOFFICE для Plone
-
Если в файле buildout.cfg указана точная версия плагина (так называемая фиксация версии, pinning, — рекомендуемая практика), например onlyoffice.plone = 1.0.0, измените эту строку, указав более новую версию. Если версия плагина не указана, автоматически загружается последняя версия:
[versions]...onlyoffice.plone = 1.0.1 -
Запустите bin/buildout. Дождитесь, пока новая версия будет скачана и установлена.
-
Пока вы не выполните следующий шаг, сайт может отображаться некорректно или даже стать недоступным.
-
Перейдите на экран Add-on (добавьте /prefs_install_products_form к URL-адресу сайта), в списке Upgrades выберите onlyoffice.plone и нажмите Upgrade onlyoffice.plone.
Как это работает
Интеграция ONLYOFFICE использует API, описанный здесь.
- Пользователь переходит к документу в Plone и выбирает действие ONLYOFFICE Edit.
- Plone готовит для Document Server JSON-объект со следующими свойствами:
- url — URL-адрес, по которому ONLYOFFICE Docs скачивает документ;
- callbackUrl — URL-адрес, по которому ONLYOFFICE Docs сообщает о статусе редактирования документа;
- key — значение UUID+Modified Timestamp, по которому ONLYOFFICE Docs определяет, нужно ли снова скачивать документ;
- title — название (имя) документа.
- Plone создает страницу из шаблона .pt, подставляя все эти значения, чтобы браузер клиента мог загрузить редактор.
- Браузер клиента обращается к JavaScript-библиотеке ONLYOFFICE Docs и отправляет в ONLYOFFICE Docs конфигурацию DocEditor с перечисленными выше свойствами.
- Затем ONLYOFFICE Docs скачивает документ из Plone, и пользователь начинает редактирование.
- ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, чтобы сообщить Plone, что пользователь редактирует документ.
- Когда все пользователи и клиентские браузеры заканчивают редактирование, они закрывают окно редактирования.
- Через 10 секунд бездействия ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, сообщая Plone, что клиенты завершили редактирование документа и закрыли его.
- Plone скачивает новую версию документа, заменяя старую.
Включение JWT для интеграции ONLYOFFICE и Plone
Чтобы защитить документы от несанкционированного доступа, редакторы 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
Начиная с версии 3.0.0 коннектора ONLYOFFICE, вы можете опробовать онлайн-редакторы ONLYOFFICE в Plone, не устанавливая ONLYOFFICE Docs.
Чтобы включить подключение, установите флажок Connect to demo ONLYOFFICE Document Server и нажмите кнопку Save.
Это общедоступный тестовый сервер, который будет доступен в течение 30 дней. Не размещайте на нем конфиденциальные данные.
Начало работы с ONLYOFFICE Docs в Plone
Чтобы создать документ:
-
На вкладке Contents нажмите пункт меню Create in ONLYOFFICE слева.
-
Выберите нужный тип файла: Document, Spreadsheet или Presentation.

-
Новый документ откроется для редактирования.
Чтобы отредактировать документ:
-
Найдите нужный документ на вкладке Contents.

-
Нажмите на документ.
-
На открывшейся странице нажмите пункт меню ONLYOFFICE Edit, чтобы открыть документ для редактирования и (или) просмотра.

Чтобы конвертировать документ в формат Office Open XML:
-
Найдите нужный документ на вкладке Contents.
-
Нажмите на документ.
-
На открывшейся странице нажмите пункт меню Conversion in ONLYOFFICE.
примечаниеПолный список форматов, которые можно конвертировать в OOXML, см. выше.
-
Нажмите кнопку Convert.

Чтобы создать PDF-форму:
- На вкладке Contents нажмите пункт меню Create with ONLYOFFICE слева.
- Выберите вариант PDF form.
- Откроется новая пустая PDF-форма для редактирования. На вкладке Формы можно добавить поля разных типов: текстовые поля, поля со списком, выпадающие списки, флажки, переключатели, изображения, поля подписи, адреса электронной почты и другие.
Чтобы заполнить форму:
-
Найдите нужную форму на вкладке Contents.
-
Нажмите на форму.
-
На открывшейся странице нажмите пункт меню Fill in form in ONLYOFFICE.

Чтобы узнать больше о формах, прочитайте соответствующие статьи о создании и заполнении форм.
Чтобы скачать документ в другом формате:
-
Найдите нужный документ на вкладке Contents.
-
Нажмите на документ.
-
На открывшейся странице нажмите пункт меню Actions и выберите пункт Download as.

-
Выберите нужный формат в списке.
-
Нажмите кнопку Download.

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