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

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 7.0.0 для Alfresco

Установка пакета модуля ONLYOFFICE для Alfresco​

Последние скомпилированные файлы пакетов доступны на GitHub. Вам понадобятся файлы onlyoffice-integration-repo.amp и onlyoffice-integration-share.amp.

Установка из скомпилированных пакетов​

  1. Скачайте скомпилированные файлы пакетов .amp по ссылке выше.

  2. Создайте на сервере следующие каталоги:

    sudo mkdir -p /var/opt/alfresco/amps
    sudo mkdir -p /var/opt/alfresco/amps_share
  3. Переместите скомпилированные файлы пакетов .amp во вновь созданные каталоги:

    • /var/opt/alfresco/amps для onlyoffice-integration-repo.amp
    • /var/opt/alfresco/amps_share для onlyoffice-integration-share.amp
  4. Остановите службы Alfresco одним из способов:

    1. Способ 1:

      sudo systemctl stop alfresco
      Обратите внимание

      Убедитесь, что остановлены все службы Alfresco. Их нужно останавливать последовательно; последними должны быть службы со словом content в названии, например:

      alfresco-tengine-aio.service.service
      alfresco-search.service
      alfresco-content-monitored-startup.service
      alfresco-content.service
    2. Способ 2:

      sudo ./alfresco.sh stop

      Обратите внимание, что этот способ работает только если скрипт входит в вашу версию, а это бывает не всегда.

  5. Найдите путь к файлам alfresco.war и share.war, например:

    sudo find / -type f -iname '*alfresco.war*' 2>/dev/null
  6. Найдите путь к файлу инструмента alfresco-mmt.jar.

  7. Установите компонент 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 update
    sudo apt install openjdk-17-jre-headless
  8. Установите компонент share плагина:

    java -jar /PATH/alfresco-mmt.jar install \
    /PATH/onlyoffice-integration-share.amp \
    /PATH/share.war \
    -verbose -nobackup -force

    где PATH — ранее найденные пути к файлам. Обратите внимание, что значения PATH в приведенной выше команде для каждого вызова разные.

  9. Удалите каталоги Tomcat для Alfresco, чтобы они были перекомпилированы при перезапуске:

    sudo rm -rf /var/opt/alfresco/tomcat/webapps/alfresco
    sudo rm -rf /var/opt/alfresco/tomcat/webapps/share
  10. Перезапустите Alfresco одним из способов:

    1. sudo systemctl start alfresco
    2. sudo ./alfresco.sh start
    Обратите внимание

    Запускайте службы в том же порядке, в котором вы их останавливали.

Установка в Ubuntu​

Чтобы начать использовать ONLYOFFICE Docs с Alfresco, для Ubuntu 24.04 необходимо выполнить следующие действия:

  1. Загрузите скомпилированные пакеты *.amp в соответствующие каталоги вашей установки Alfresco:

    • из onlyoffice-alfresco/repo/target/ в /usr/local/tomcat/amps/ для репозитория Alfresco,
    • из onlyoffice-alfresco/share/target/ в /usr/local/tomcat/amps_share/ для Share.
  2. Вы можете скачать уже скомпилированные файлы пакетов здесь и поместить их в соответствующие каталоги.

    Для установки модулей используйте 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.

  3. Убедитесь, что Document Server сможет отправлять POST-запросы в Alfresco.

    Возможно, потребуется изменить эти строки в alfresco-global.properties либо задать их на странице конфигурации:

    alfresco.host=<hostname>
    alfresco.port=443
    alfresco.protocol=https

    share.host=<hostname>
    share.port=443
    share.protocol=https
  4. Перезапустите Alfresco:

    sudo ./alfresco.sh stop
    sudo ./alfresco.sh start

Проверить модуль можно в инструментах администратора по адресу /share/page/console/admin-console/module-package в Alfresco.

Компиляция пакета модуля ONLYOFFICE для Alfresco​

Если вы планируете самостоятельно скомпилировать пакет модуля ONLYOFFICE для Alfresco (например, изменить исходный код, а затем скомпилировать его), выполните следующие действия:

  1. Для успешной сборки необходима последняя стабильная версия Oracle Java. Если она не установлена, используйте следующие команды, чтобы установить Oracle Java 8:

    sudo apt-get update
    sudo apt-get install openjdk-8-jdk
  2. Установите последнюю версию Maven. Процесс установки описан в официальном руководстве Maven.

  3. Скачайте исходный код пакета модуля ONLYOFFICE для Alfresco:

    git clone https://github.com/ONLYOFFICE/onlyoffice-alfresco.git
  4. Получите подмодуль:

    git submodule update --init --recursive
  5. Скомпилируйте пакеты в каталогах 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.

Settings_menu

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

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

  1. Пользователь переходит к документу в Alfresco Share и выбирает пункт меню Edit in ONLYOFFICE.
  2. Alfresco Share отправляет запрос на сторону репозитория (URL вида: /parashift/onlyoffice/prepare?nodeRef={nodeRef}).
  3. Сторона репозитория 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 — название (имя) документа.
  4. Alfresco Share берет этот объект и создает страницу из шаблона freemarker, подставляя все эти значения, чтобы браузер клиента мог загрузить редактор.
  5. Браузер клиента обращается к библиотеке JavaScript ONLYOFFICE Docs и отправляет ONLYOFFICE Docs конфигурацию DocEditor с указанными выше свойствами.
  6. Затем ONLYOFFICE Docs скачивает документ из Alfresco, и пользователь начинает редактирование.
  7. ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, чтобы сообщить Alfresco, что пользователь редактирует документ.
  8. Alfresco блокирует документ, но по-прежнему позволяет другим пользователям с правами на запись совместно работать в реальном времени с ONLYOFFICE Docs, оставляя доступным действие.
  9. Когда все пользователи и браузеры клиентов заканчивают редактирование, они закрывают окно редактирования.
  10. После 10 секунд бездействия ONLYOFFICE Docs отправляет POST-запрос на callbackUrl, сообщая Alfresco, что клиенты завершили редактирование документа и закрыли его.
  11. 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

  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​

Начиная с версии коннектора ONLYOFFICE 5.0.0, вы можете опробовать онлайн-редакторы ONLYOFFICE в Alfresco без установки ONLYOFFICE Docs.

Чтобы включить подключение, установите флажок Connect to demo ONLYOFFICE Document Server и нажмите кнопку Save.

Важно

Это общедоступный тестовый сервер, который будет доступен в течение 30 дней. Не размещайте на нем конфиденциальные данные.

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

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

  1. Откройте папку, в которой нужно создать документ.
  2. Нажмите кнопку Create....
  3. Выберите тип файла, который нужно создать: Document, Spreadsheet или Presentation.

new_menu

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

  1. Найдите нужный документ.
  2. Нажмите кнопку Edit in ONLYOFFICE.

edit_menu

Чтобы конвертировать документ не в формате XML в формат XML (DOCX, XLSX или PPTX):

  1. Найдите нужный документ.
  2. Нажмите кнопку Convert using ONLYOFFICE.

Документ будет автоматически конвертирован в аналог в формате XML. Полученные файлы помещаются в ту же папку. Также можно настроить правила автоматической конвертации для папки. Подробнее о настройке правил см. в официальной документации Alfresco.

convert_menu

Чтобы скачать файл в нужном формате:

  1. Найдите нужный файл.
  2. Нажмите кнопку Download as... и выберите нужный формат.

download_menu

Чтобы посмотреть историю изменений файла:

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

properties

или

  1. Перейдите на вкладку Файл в редакторе.
  2. Выберите в меню пункт История версий.

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

  1. Откройте вкладку Файл.
  2. Нажмите пункт Создать новую.

Новый файл .docx откроется в новой вкладке.

Чтобы создать пользовательские шаблоны:

  1. Войдите в портал Alfresco как администратор, который его создал.
  2. Перейдите в My files -> Data Dictionary -> Node Templates.
  3. Добавьте пользовательские шаблоны в доступных форматах: .docx, .xlsx, .pptx.

create_template

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

  1. Откройте папку, в которой нужно создать документ.

  2. Нажмите кнопку Create....

  3. Выберите параметр Create document from template и выберите один из доступных шаблонов.

    create_from_template

    или

  4. В редакторе перейдите на вкладку Файл.

  5. Нажмите пункт Создать новую....

  6. Выберите нужный шаблон.

    create_from_template_editor

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

compare_files

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

mail_merge

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

insert_images

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

mark_fav

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

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