Предпросмотр документов

Общая информация

  • Предпросмотр в браузере работает с форматами pdf и изображениями. Для этих типов никакой дополнительной логики не требуется и их предпросмотр работает в community версии.

  • Для содержимого, которое не соответствует поддерживаемым форматам, происходит автоматическая конвертация в pdf (только в enterprise версии). Подробнее см. Механизм конвертации: Трансформация содержимого документов

  • Предпросмотр автоматически генерируется для основного контента.

  • Основной контент - контент в атрибуте с id ‘content“ или другой, но в конфигурации типа он должен быть указан в contentConfig → path. Подробнее см. Конфигурация контента

Условия автоматической генерации превью

  1. Тип документа унаследован от user-base прямо или косвенно.

  2. У документа есть атрибут с основным контентом.

Процесс генерации

  1. В системе происходит создание сущности с основным контентом или изменение основного контента.

  2. Микросервис ecos-transformations подписан на события из п.1 и создает или обновляет thumbnail c форматом pdf.

  3. Микросервис ecos-transformations выполняет конвертацию основного контента документа в формат pdf и записывает результат в основной контент thumbnail.

Thumbnail

Это некоторое представление основного документа в заданном формате. Атрибуты:

content: CONTENT // основное сгенерированное содержимое
mimeType: TEXT // MIME-тип содержимого для этого thumbnail
srcSha256: TEXT // Хэш исходного контента
srcAttribute: TEXT // Атрибут с исходным контентом
status: TEXT // Статус обработки. Варианты: [DRAFT, PROCESSING, PROCESSED, FAILED]
nextTryTime: DATETIME // Время следующей попытки сгенерировать контент в случае неудачи
failsCount: NUMBER // Текущее количество неудачных попыток сгенерировать контент
failDescription: TEXT // Описание последней ошибки генерации

Thumbnail сущности создаются как дочерние к основному документу.

Thumbnail repair job

В микросервисе ecos-transformations настроена джоба, которая занимается обработкой thumbnail’ов, которые зависли в некорректном статусе.

Варианты некорректных статусов:

  • Статус: PROCESSING и время_последнего_изменения_thumbnail старше 30 минут

  • Статус: FAILED и время_в_nextTryTime меньше чем текущее время