Архива поддерживает гибкое определение полей заголовков почтового сообщения. Под полями почтового сообщения подразумеваются такие заголовки как От кого, Кому, Тема и другие (англ. To, From, Subject). При редактировании файла с определениями полей можно изменить, какие из заголовков будут индексироваться, какие будут видны, экспортированы и проч. После того как вы изменили определение поля заголовка, необходимо перезагрузить сервер Архива. Система пока ещё не в состоянии загружать изменения в процессе передачи (т.е. без перезагрузки, как она может с файлом server.conf).

Чтобы изменить определения поля заголовка, отредактируйте файл config_blob_email.xml с использованием текстового редактора Notepad или VI. Этот файл находится здесь:

[main application]\server\webapps\ROOT\WEB-INF\classes\config_blob.email.xml

Для нахождения точного месторасположения [main application] обратитесь в Разделы файловой системы

После того, как вы измените файл config_blob.email.xml, не забудьте создать его резервную копию. При обновлении the xml файл всегда переписывается при установке (т.е. ваши настройки могуть быть сброшены). Поэтому после обновления потребуется скопировать обратно в папку модифицированную версию файла.

Спецификации поля

Внутри файла XML указаны все связанные с почтовым сообщением поля. К примеру, вот как выглядит опеределение поля в файле: 

<Field name="to" type="emailaddress" resource="field_label_to">
        <Use usage="export" />
        <Use usage="archiverule" />
        <Use usage="stubrule" />
        <Use usage="searchquery" />
        <Use usage="retention" />
        <Use usage="searchresults" param="colsize=20" />
        <Use usage="index_tokenized_and_stored" param="name=to" />
        <Use usage="retention" />
        <Use usage="advancedheaderview" />
        <Use usage="basicheaderview" />
 
</Field>

Определние в XML требует объяснения:

ЭлементПримерОписание
nametoимя поля
typeemailaddressтип поля
resourcefield_label_toимя ресурса в файле application.properties
use для чего используется это поле
usageretentionразрешено указывать в правилах сохранения

Применение

Следующие способы применения определяют, для чего поле заголовка может быть использовано, например, для индексации, для возврата в результатах поиска и т.д. 

ПрименениеОписание
exportПозволяет экспортировать поле
basicheaderviewОтображает поле в стандартном просмотре заголовка
advancedheaderviewОтображает поле в развернутом просмотре заголовка
archiveruleПозволяет использовать поле в правилах архивирования
searchquery

Позволяет использовать поле в поисковых запросах

retentionПозволяет использовать поле в определении правил сохранения
searchresultsОтображает поле в результатах поиска
index_tokenizedПомечает и индексирует поле в индексе поиска
index_storedХранит и индексирует поле в индексе поиска
index_tokenized_and_storedПомечает, хранит и индексирует поле в индексе поиска
ldapВозвращает из ldap [в данный момент не поддерживается]
downloadПозволяет скачивать поле
viewsourceПозволяет демонстрацию поля при просмотре источника
printПоказывает поле в просмотре для печати
viewОтображает поле в основном просмотре
stubruleПозволяет показывать поле в правиле стаббинга

Типы

Данные типы данных определяют, как данные в поле заголовка хранятся в индексе и как эти данные демонстрируются пользователю. 

Тип данныхОписание
stringтекстовая строка
integerцелое число
longдлинное целое число
floatчисло с плавающей точкой
double

число двойной точности

booleantrue/false
dateдата
emailaddressпочтовый адрес
sizeразмер в kb/mb/gb/tb

Составные поля

Составные поля - это те, что содержат в себе несколько других полей. Примером составного поля является anyaddress. Он определяется, как показано ниже: 

<Field name="anyaddress" type="composite" resource="field_label_anyaddress">
        <FieldRef name="to" />
        <FieldRef name="from" />
        <FieldRef name="cc" />
        <FieldRef name="bcc" />
        <FieldRef name="deliveredto" />
        <FieldRef name="sender" />
        <FieldRef name="recipient" />
        <!--  <FieldRef name="rcptto" />
        <FieldRef name="mailfrom" /> -->
        <FieldRef name="journalrecipients" />
        <FieldRef name="journalsender" />
        <FieldRef name="journalto" />
        <FieldRef name="journalcc" />
        <FieldRef name="journalbcc" />
        <Use usage="archiverule" />
        <Use usage="stubrule" />
        <Use usage="searchquery" />
        <Use usage="retention" />
    </Field>

Динамические поля

Используя динамические поля, можно настроить Архива на поддержку любого пользовательского почтового заголовка. К примеру, For example, рассылка вашей компании устанавливает заголовок mime, называющийся X-Privilege. Когда динамическое поле X-Privilege будет добавлено в файл настройки полей (т.е файл config_blob.email.xml), Архива возвратит содержимое заголовка и применит его по назначению.  

К примеру, это динамическое поле определено следующим образом:  

<Field name="X-Privilege" type="string" resource="field_label_privilege">
        <Use usage="export" />
        <Use usage="archiverule" />
        <Use usage="stubrule" />
        <Use usage="searchquery" />
        <Use usage="retention" />
        <Use usage="index_tokenized_and_stored" param="name=to" />
        <Use usage="retention" />
        <Use usage="advancedheaderview" />
        <Use usage="basicheaderview" />
</Field>

Имя поля должно совпадать с именем заголовка MIME. Более того, строка: 

 

field_label_privilege=Privilege

должна быть добавлена в 

[main application]\server\webapps\ROOT\WEB-INF\classes\properties\application.properties

После этого необходимо перезагрузить Архива. В примере выше поле "X-Privilege" должно быть проиндексировано и сохранено. Поле должно появиться в выпадающем списке доступных полей для поиска. 

Метка сноски поля определяет поле, на которое указывает поле-контейнер anyaddress. Поэтому, когда кто-то будет искать письма с помощью anyaddress, по полям, содержащимся в поле-контейнере, тоже будет произведен поиск.