Alfresco
Об интеграции ONLYOFFICE и Alfresco
ONLYOFFICE предлагает официальный коннектор для интеграции ONLYOFFICE Docs с Alfresco, который позволяет создавать, редактировать и конвертировать офисные документы в библиотеке документов. Коннектор ONLYOFFICE можно скачать из официального каталога дополнений Alfresco или со страницы ONLYOFFICE на GitHub.
Чтобы подробнее узнать о модуле ONLYOFFICE для Alfresco и о том, как он работает, посетите нашу документацию по API.
Основные возможности
- Создание, редактирование и просмотр текстовых документов, таблиц и презентаций.
- Конвертация файлов.
- Совместное редактирование документов в реальном времени: два режима совместного редактирования (Быстрый и Строгий), режим Отслеживание изменений, комментарии и встроенный чат.
- Поддержка JWT для защиты передаваемых данных: доступ к документам есть только у пользователей с соответствующими правами.
Поддерживаемые форматы
- Для создания, редактирования и просмотра: DOCX, PPTX, XLSX
- Для работы с формами: PDF
- Для конвертации: ODT, ODP, ODS, DOC, XLS, PPT, RTF
- Для редактирования через конвертацию в OOXML: ODP, ODS, ODT, RTF, CSV, TXT
- Только для просмотра: PDF
Что нового в версии 8.1.0
Добавлено
- Добавлена поддержка событий в редакторе: onRequestReferenceData, onRequestReferenceSource, onRequestOpen
Изменено
- Исправлена ошибка в настройке «Ignore SSL Certificate»
Полный список изменений доступен здесь.
Подключение ONLYOFFICE Docs к Alfresco Share
Требования
-
ONLYOFFICE Document Server v7.1 (серверная или облачная версия) или выше
Вам понадобится экземпляр ONLYOFFICE Docs, доступный и разрешаемый по имени как из Alfresco, так и со всех клиентских устройств. Он должен иметь возможность напрямую отправлять POST-запросы в Alfresco.
Обратите вниманиеПодробнее об установке ONLYOFFICE Docs см. на официальной странице документации.
-
Alfresco v.7.4, 23, 25
Установка пакета модуля ONLYOFFICE для Alfresco
Последние скомпилированные файлы пакетов доступны на GitHub. Вам понадобятся файлы onlyoffice-integration-repo.amp и onlyoffice-integration-share.amp.
Установка из скомпилированных пакетов
-
Скачайте скомпилированные файлы пакетов .amp по ссылке выше.
-
Создайте на сервере следующие каталоги:
sudo mkdir -p /var/opt/alfresco/ampssudo mkdir -p /var/opt/alfresco/amps_share -
Переместите скомпилированные файлы пакетов .amp во вновь созданные каталоги:
/var/opt/alfresco/ampsдля onlyoffice-integration-repo.amp/var/opt/alfresco/amps_shareдля onlyoffice-integration-share.amp
-
Остановите службы Alfresco одним из способов:
-
Способ 1:
sudo systemctl stop alfrescoОбратите вниманиеУбедитесь, что остановлены все службы Alfresco. Их нужно останавливать последовательно; последними должны быть службы со словом
contentв названии, например:alfresco-tengine-aio.service.servicealfresco-search.servicealfresco-content-monitored-startup.servicealfresco-content.service -
Способ 2:
sudo ./alfresco.sh stopОбратите внимание, что этот способ работает только если скрипт входит в вашу версию, а это бывает не всегда.
-
-
Найдите путь к файлам alfresco.war и share.war, например:
sudo find / -type f -iname '*alfresco.war*' 2>/dev/null -
Найдите путь к файлу инструмента alfresco-mmt.jar.
-
Установите компонент repo плагина:
java -jar /PATH/alfresco-mmt.jar install \/PATH/onlyoffice-integration-repo.amp \/PATH/alfresco.war \-verbose -nobackup -forceгде PATH — ранее найденные пути к файлам. Обратите внимание, что значения PATH в приведенной выше команде для каждого вызова разные.
Обратите вниманиеДля развертывания alfresco-mmt.jar может потребоваться обновить Java:
sudo apt updatesudo apt install openjdk-17-jre-headless -
Установите компонент share плагина:
java -jar /PATH/alfresco-mmt.jar install \/PATH/onlyoffice-integration-share.amp \/PATH/share.war \-verbose -nobackup -forceгде PATH — ранее найденные пути к файлам. Обратите внимание, что значения PATH в приведенной выше команде для каждого вызова разные.
-
Удалите каталоги Tomcat для Alfresco, чтобы они были перекомпилированы при перезапуске:
sudo rm -rf /var/opt/alfresco/tomcat/webapps/alfrescosudo rm -rf /var/opt/alfresco/tomcat/webapps/share -
Перезапустите Alfresco одним из способов:
-
sudo systemctl start alfresco
-
sudo ./alfresco.sh start
Обратите вниманиеЗапускайте службы в том же порядке, в котором вы их останавливали.
-
Установка в Ubuntu
Чтобы начать использовать ONLYOFFICE Docs с Alfresco, для Ubuntu 24.04 необходимо выполнить следующие действия:
-
Загрузите скомпилированные пакеты *.amp в соответствующие каталоги вашей установки Alfresco:
- из
onlyoffice-alfresco/repo/target/в/usr/local/tomcat/amps/для репозитория Alfresco, - из
onlyoffice-alfresco/share/target/в/usr/local/tomcat/amps_share/для Share.
- из
-
Вы можете скачать уже скомпилированные файлы пакетов здесь и поместить их в соответствующие каталоги.
Для установки модулей используйте Module Management Tool (MMT), выполнив следующие команды:
-
Alfresco
java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install /usr/local/tomcat/amps/onlyoffice-integration-repo.amp /usr/local/tomcat/webapps/alfresco -
Share
java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install /usr/local/tomcat/amps_share/onlyoffice-integration-share.amp /usr/local/tomcat/webapps/share
Подробнее об использовании MMT см. в руководстве по установке Alfresco.
-
-
Убедитесь, что Document Server сможет отправлять POST-запросы в Alfresco.
Возможно, потребуется изменить эти строки в alfresco-global.properties либо задать их на странице конфигурации:
alfresco.host=<hostname>alfresco.port=443alfresco.protocol=httpsshare.host=<hostname>share.port=443share.protocol=https -
Перезапустите Alfresco:
sudo ./alfresco.sh stopsudo ./alfresco.sh start
Проверить модуль можно в инструментах администратора по адресу /share/page/console/admin-console/module-package в Alfresco.
Компиляция пакета модуля ONLYOFFICE для Alfresco
Если вы планируете самостоятельно скомпилировать пакет модуля ONLYOFFICE для Alfresco (например, изменить исходный код, а затем скомпилировать его), выполните следующие действия:
-
Для успешной сборки необходима последняя стабильная версия Oracle Java. Если она не установлена, используйте следующие команды, чтобы установить Oracle Java 8:
sudo apt-get updatesudo apt-get install openjdk-8-jdk -
Установите последнюю версию Maven. Процесс установки описан в официальном руководстве Maven.
-
Скачайте исходный код пакета модуля ONLYOFFICE для Alfresco:
git clone https://github.com/ONLYOFFICE/onlyoffice-alfresco.git -
Получите подмодуль:
git submodule update --init --recursive -
Скомпилируйте пакеты в каталогах repo и share:
cd onlyoffice-alfresco && mvn clean install
Пакет модуля ONLYOFFICE для Alfresco можно также собрать с помощью файла docker-compose.
Выполните эту команду из каталога проекта:
docker-compose up
Настройка пакета модуля ONLYOFFICE для Alfresco
Перейдите в Alfresco Administration Console. Откройте http://<alfrescohost>/alfresco/s/onlyoffice/onlyoffice-config и укажите следующие параметры.
Настройки:
-
Document Editing Service address — укажите URL-адрес, по которому установлена служба редактирования документов (Document Editing Service).
ВажноАдрес ONLYOFFICE Docs должен быть доступен из Alfresco, а адрес Alfresco должен быть доступен из ONLYOFFICE Docs.
-
Secret Key — укажите секретный ключ, используемый для подписи данных.
Обратите вниманиеНачиная с ONLYOFFICE Docs v7.2, JWT включен по умолчанию, а секретный ключ генерируется автоматически. Его нужно включить и на стороне Alfresco: найдите секретный ключ в файле конфигурации ONLYOFFICE Docs, а затем укажите тот же ключ в настройках коннектора. Подробнее см. в разделе Включение JWT для интеграции ONLYOFFICE и Alfresco этой статьи.
Расширенные настройки сервера:
- Document Editing Service address for internal requests from the Alfresco server — укажите адрес, который используется для доступа к службе редактирования документов с сервера Alfresco.
- Alfresco server address for internal requests from the Document Editing Service — укажите адрес, который используется для доступа к серверу Alfresco из службы редактирования документов.
- Authorization header (оставьте пустым, чтобы использовать заголовок по умолчанию) — заголовок авторизации JWT, используемый в ONLYOFFICE, — Authorization. Если он конфликтует с вашей конфигурацией, можно заменить его на пользовательский.
Общие настройки:
- Ignore SSL Certificate — отключает SSL.
- Enable Force Save — включает сохранение изменений документа непосредственно в хранилище Alfresco после нажатия кнопки «Сохранить» (если отключено, документ сохраняется в кэше редактора документов до его закрытия).
- Save docx, xlsx, pptx as a new version of the original file after conversion — если отключено, будет создан отдельный файл, который будет помещен в ту же папку.
- Open the file for editing — позволяет администраторам выбирать форматы документов для редактирования через конвертацию в форматы OOXML.
- After closing the editor, save the document as a minor version — определяет, сохраняются ли версии документа как основные (2.0, 3.0) после закрытия или как промежуточные (1.1, 1.2) во время редактирования, при этом 1.0 — это исходный пустой документ.
Вы также можете добавить onlyoffice.url в alfresco-global.properties. Настройки, заданные на странице настроек, переопределяют alfresco-global.properties.

Как это работает
Интеграция ONLYOFFICE следует API, описанному здесь.
- Пользователь переходит к документу в Alfresco Share и выбирает пункт меню Edit in ONLYOFFICE.
- Alfresco Share отправляет запрос на сторону репозитория (URL вида: /parashift/onlyoffice/prepare?nodeRef={nodeRef}).
- Сторона репозитория Alfresco подготавливает для Share объект JSON со следующими свойствами:
- url — URL, по которому ONLYOFFICE Docs скачивает документ (включает alf_ticket текущего пользователя);
- callbackUrl — URL, по которому ONLYOFFICE Docs сообщает о статусе редактирования документа;
- onlyofficeUrl — URL, по которому клиенту нужно отвечать ONLYOFFICE Docs (задается свойством onlyoffice.url);
- key — UUID+Modified Timestamp, по которому ONLYOFFICE Docs определяет, нужно ли скачивать документ заново;
- title — название (имя) документа.
- Alfresco Share берет этот объект и создает страницу из шаблона freemarker, подставляя все эти значения, чтобы браузер клиента мог загрузить редактор.
- Браузер клиента обращается к библиотеке JavaScript ONLYOFFICE Docs и отправляет ONLYOFFICE Docs конфигурацию DocEditor с указанными выше свойствами.
- Затем ONLYOFFICE Docs скачивает документ из Alfresco, и пользователь начинает редактирование.
- ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, чтобы сообщить Alfresco, что пользователь редактирует документ.
- Alfresco блокирует документ, но по-прежнему позволяет другим пользователям с правами на запись совместно работать в реальном времени с ONLYOFFICE Docs, оставляя доступным действие.
- Когда все пользователи и браузеры клиентов заканчивают редактирование, они закрывают окно редактирования.
- После 10 секунд бездействия ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, сообщая Alfresco, что клиенты завершили редактирование документа и закрыли его.
- Alfresco скачивает новую версию документа, заменяя старую.
Включение JWT для интеграции ONLYOFFICE и Alfresco
Чтобы защитить документы от несанкционированного доступа, редакторы 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
Начиная с версии коннектора ONLYOFFICE 5.0.0, вы можете опробовать онлайн-редакторы ONLYOFFICE в Alfresco без установки ONLYOFFICE Docs.
Чтобы включить подключение, установите флажок Connect to demo ONLYOFFICE Document Server и нажмите кнопку Save.
Это общедоступный тестовый сервер, который будет доступен в течение 30 дней. Не размещайте на нем конфиденциальные данные.
Начало работы с ONLYOFFICE Docs в Alfresco
Чтобы создать документ:
- Откройте папку, в которой нужно создать документ.
- Нажмите кнопку Create....
- Выберите тип файла, который нужно создать: Document, Spreadsheet или Presentation.

Чтобы изменить или просмотреть документ:
- Найдите нужный документ.
- Нажмите кнопку Edit in ONLYOFFICE.

Чтобы конвертировать документ не в формате XML в формат XML (DOCX, XLSX или PPTX):
- Найдите нужный документ.
- Нажмите кнопку Convert using ONLYOFFICE.
Документ будет автоматически конвертирован в аналог в формате XML. Полученные файлы помещаются в ту же папку. Также можно настроить правила автоматической конвертации для папки. Подробнее о настройке правил см. в официальной документации Alfresco.

Чтобы скачать файл в нужном формате:
- Найдите нужный файл.
- Нажмите кнопку Download as... и выберите нужный формат.

Чтобы посмотреть историю изменений файла:
- Щелкните имя файла или его значок, чтобы открыть вкладку со сведениями о файле.
- Найдите вкладку Version History на правой панели.
- Доступны разделы Latest Version и Older Versions. Изменения, внесенные в файл, будут выделены.
- Чтобы загрузить новую версию, нажмите соответствующий значок в правом верхнем углу.
- Чтобы быстро посмотреть текущую версию файла, наведите указатель мыши на файл. Номер версии отобразится справа от имени файла, например
.

или
- Перейдите на вкладку Файл в редакторе.
- Выберите в меню пункт История версий.
Чтобы создать новый файл прямо в редакторе документов:
- Откройте вкладку Файл.
- Нажмите пункт Создать новую.
Новый файл .docx откроется в новой вкладке.
Чтобы создать пользовательские шаблоны:
- Войдите в портал Alfresco как администратор, который его создал.
- Перейдите в My files -> Data Dictionary -> Node Templates.
- Добавьте пользовательские шаблоны в доступных форматах:
.docx,.xlsx,.pptx.

Чтобы создать документы из шаблонов:
-
Откройте папку, в которой нужно создать документ.
-
Нажмите кнопку Create....
-
Выберите параметр Create document from template и выберите один из доступных шаблонов.

или
-
В редакторе перейдите на вкладку Файл.
-
Нажмите пункт Создать новую....
-
Выберите нужный шаблон.

Чтобы узнать, как сравнивать файлы из хранилища, следуйте инструкциям из этой статьи.

Чтобы узнать, как использовать слияние почты из хранилища, следуйте инструкциям из этой статьи.

Чтобы узнать, как вставлять изображения из хранилища, следуйте инструкциям из этой статьи.

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

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