Skip to content

Latest commit

 

History

History
136 lines (105 loc) · 5.5 KB

Content_transformation.rst

File metadata and controls

136 lines (105 loc) · 5.5 KB

Трансформация содержимого документов

Note

Доступно только в enterprise версии.

Трансформации выполняются в микросервисе ecos-transformations <transformation>.

Spring настройки для микросервиса трансформаций:

ecos:
  webapp:
    task:
    executors:
      transformations:
      corePoolSize: 10 # количество потоков трансформации

Конвертация - частный случай трансформации, который подразумевает изменение содержимого из одного формата в другой.

Для конвертации между типами документов используется OnlyOffice.

OnlyOffice

Настройки:

ecos:
  integrations:
    onlyoffice:
    host: only-office-app # хост, на котором доступен сервер OnlyOffice
    port: 80 # http порт для работы с OnlyOffice

Типы источников контента (input)

Идентификатор Конфигурация Описание
entity-content
entityRef: String // Сущность, из которой нужно загрузить контент
attribute: String // Атрибут с контентом. По умолчанию - основной контент документа
Загрузка контента из свойства документа
template
entityRef: EntityRef // ссылка на сущность, на основе которой будет вычислен шаблон
templateRef: EntityRef // ссылка на шаблон
Генерация содержимого на основе шаблона

Типы трансформаций (transformations)

Идентификатор Конфигурация Описание
convert
converter: String // идентификатор конкретного конвертера. Если не задан, то вычисляется автоматически
toMimeType: String // MIME type, содержимого, которое мы хотим получить по итогу конвертации
Конвертирование содержимого из одного MIME type в другой.
barcode
Добавление баркода на документ

Типы целей трансформации (output)

Идентификатор Конфигурация Описание
temp-file Загрузка результата во временный файл. Как правило используется если результат требуется скачать.
mutate
entityRef: EntityRef // ссылка на мутируемую сущность
attribute: String // целевой атрибут для содержимого. По умолчанию _content
additionalAttributes: Map<String, Any?> // дополнительные атрибуты для мутации
Выполнить мутацию с итоговым содержимым. Может быть использован как для создания новых сущностей, так и для изменения существующих.

Общий вид конфигурации для трансформации

Общий вид описания трансформации состоит из трех частей:

  • input - описание источника контента;
  • transformations - список трансформаций в порядке очереди;
  • output - описание цели для итогового контента.

Пример:

  1. Берем основное содержимое у сущности emodel/anysrc@123-123-123;
  2. Преобразовываем его в pdf;
  3. Добавляем баркод;
  4. Загружаем результат во временный файл.
{
   "input": { 
     "type": "entity-content", 
     "config": { 
       "entityRef": "emodel/anysrc@123-123-123" 
     } 
   },
   "transformations": [
     { "type": "convert", "config": { "toMimeType": "application/pdf" } },
     { "type": "barcode" }
   ],
   "output": {
     "type": "temp-file"
   }
}

UI Действие

Действие для трансформации описано в разделе UI действий с ID transform здесь<ui_actions>