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

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

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

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

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

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

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

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

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

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

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

  2. Микросервис ecos-transformations подписан на события из п.1 и создаёт или обновляет thumbnail с форматом 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 меньше чем текущее время.