Note
Доступно только в enterprise версии.
Трансформации выполняются в микросервисе ecos-transformations <transformation>
.
Spring настройки для микросервиса трансформаций:
ecos:
webapp:
task:
executors:
transformations:
corePoolSize: 10 # количество потоков трансформации
Конвертация - частный случай трансформации, который подразумевает изменение содержимого из одного формата в другой.
Для конвертации между типами документов используется OnlyOffice.
Настройки:
ecos:
integrations:
onlyoffice:
host: only-office-app # хост, на котором доступен сервер OnlyOffice
port: 80 # http порт для работы с OnlyOffice
Идентификатор Конфигурация Описание entity-content entityRef: String // Сущность, из которой нужно загрузить контент
attribute: String // Атрибут с контентом. По умолчанию - основной контент документаЗагрузка контента из свойства документа template entityRef: EntityRef // ссылка на сущность, на основе которой будет вычислен шаблон
templateRef: EntityRef // ссылка на шаблонГенерация содержимого на основе шаблона
Идентификатор Конфигурация Описание convert converter: String // идентификатор конкретного конвертера. Если не задан, то вычисляется автоматически
toMimeType: String // MIME type, содержимого, которое мы хотим получить по итогу конвертацииКонвертирование содержимого из одного MIME type в другой. barcode Добавление баркода на документ
Идентификатор Конфигурация Описание temp-file Загрузка результата во временный файл. Как правило используется если результат требуется скачать. mutate entityRef: EntityRef // ссылка на мутируемую сущность
attribute: String // целевой атрибут для содержимого. По умолчанию _content
additionalAttributes: Map<String, Any?> // дополнительные атрибуты для мутацииВыполнить мутацию с итоговым содержимым. Может быть использован как для создания новых сущностей, так и для изменения существующих.
Общий вид описания трансформации состоит из трех частей:
- input - описание источника контента;
- transformations - список трансформаций в порядке очереди;
- output - описание цели для итогового контента.
Пример:
- Берем основное содержимое у сущности emodel/anysrc@123-123-123;
- Преобразовываем его в pdf;
- Добавляем баркод;
- Загружаем результат во временный файл.
{
"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 действий с ID transform
здесь<ui_actions>