Контракт файлового хранилища


НАЧАЛО >> Электронная библиотека >> Контракт файлового хранилища📄 Скачать в DOCX


Модуль FT остается владельцем постоянного хранения файлов, производных представлений, извлеченного текста и политик обработки. Доменные модули не должны хранить физические пути к файлам и не должны напрямую читать структуру SID-каталога.

1. Безопасная модель файла

Метод BuildObjectInfo строит описание FTObjectInfo по записи FT: SID, имя файла, тип содержимого, размер, контрольную сумму, профиль хранения, статус карантина, владельца и служебные metadata. В этой модели нет абсолютного пути к файлу на сервере.

Метод BuildSafeFileReference возвращает безопасную ссылочную модель для интерфейса и API. В ней указывается действие скачивания и параметры, но не раскрывается каталог хранения.

2. Связь вложения с объектом

Метод BuildAttachmentLink формирует FTAttachmentLink: связь файла с доменным объектом, полем, категорией вложения и режимом видимости. Метод BuildAttachmentLinkField сериализует эту связь в стандартное поле 113 с типом LINK.

Модуль-владелец доменного объекта сам решает, в какой записи хранить ссылку на вложение и какие бизнес-правила применяются при сохранении. FT отвечает только за файловый объект и нейтральный контракт связи.

3. Фоновая обработка

Метод BuildProcessingJobDescriptor возвращает дескриптор фоновой операции для Queue: handler, параметры, timeout и dedupstring. Само выполнение остается за Queue и конкретным обработчиком FT.

4. Системные описания

Системные JSON-файлы в modules/FT/system задают поставляемые профили хранения, вложений, предпросмотра, OCR, индексирования, карантина и retention. Метод LoadSystemDefinitions(true) выполняет dry-run чтение этих описаний и используется HealthCheck/TestA.