Предпросмотр документов
Общая информация
Предпросмотр в браузере работает с форматами pdf и изображениями. Для этих типов никакой дополнительной логики не требуется и их предпросмотр работает в community версии.
Для содержимого, которое не соответствует поддерживаемым форматам, происходит автоматическая конвертация в pdf (только в enterprise версии). Подробнее см. Механизм конвертации: Трансформация содержимого документов
Предпросмотр автоматически генерируется для основного контента.
Основной контент - контент в атрибуте с id ‘content“ или другой, но в конфигурации типа он должен быть указан в contentConfig → path. Подробнее см. Конфигурация контента
Условия автоматической генерации превью
Тип документа унаследован от user-base прямо или косвенно.
У документа есть атрибут с основным контентом.
Процесс генерации
В системе происходит создание сущности с основным контентом или изменение основного контента.
Микросервис ecos-transformations подписан на события из п.1 и создает или обновляет thumbnail c форматом pdf.
Микросервис 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 меньше чем текущее время