Трансформация содержимого документов
Примечание
Доступно только в enterprise версии.
Трансформации выполняются в микросервисе ecos-transformations.
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 — описание цели для итогового контента.
Пример:
Берём основное содержимое у сущности
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 действие
Действие для трансформации описано в разделе UI действий с ID transform здесь