.. _document_preview: Предпросмотр документов ============================================= Общая информация --------------------------------- - Предпросмотр в браузере работает с форматами **pdf** и **изображениями**. Для этих типов никакой дополнительной логики не требуется и их предпросмотр работает в community версии. - Для содержимого, которое не соответствует поддерживаемым форматам, происходит автоматическая конвертация в **pdf** (только в enterprise версии). Подробнее см. :ref:`Механизм конвертации: Трансформация содержимого документов ` - Предпросмотр автоматически генерируется для основного контента. - Основной контент — контент в атрибуте с id ``content`` или другой, но в конфигурации типа он должен быть указан в ``contentConfig → path``. Подробнее см. :ref:`Конфигурация контента ` Условия автоматической генерации превью --------------------------------------------------------------------------- 1. Тип документа унаследован от user-base прямо или косвенно. 2. У документа есть атрибут с основным контентом. Процесс генерации ----------------------------------- 1. В системе происходит создание сущности с основным контентом или изменение основного контента. 2. Микросервис :ref:`ecos-transformations ` подписан на события из п.1 и создаёт или обновляет thumbnail с форматом pdf. 3. Микросервис :ref:`ecos-transformations ` выполняет конвертацию основного контента документа в формат pdf и записывает результат в основной контент thumbnail. Thumbnail ---------- Это некоторое представление основного документа в заданном формате. Атрибуты: .. code-block:: text 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 ~~~~~~~~~~~~~~~~~~~~ В микросервисе :ref:`ecos-transformations ` настроена джоба, которая занимается обработкой thumbnail'ов, зависших в некорректном статусе. Варианты некорректных статусов: - Статус: **PROCESSING** и время последнего изменения thumbnail старше 30 минут. - Статус: **FAILED** и время в ``nextTryTime`` меньше чем текущее время.