Архива поддерживает гибкое определение полей заголовков почтового сообщения. Под полями почтового сообщения подразумеваются такие заголовки как От кого, Кому, Тема и другие (англ. 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 требует объяснения:
Элемент | Пример | Описание |
name | to | имя поля |
type | emailaddress | тип поля |
resource | field_label_to | имя ресурса в файле application.properties |
use | для чего используется это поле | |
usage | retention | разрешено указывать в правилах сохранения |
Следующие способы применения определяют, для чего поле заголовка может быть использовано, например, для индексации, для возврата в результатах поиска и т.д.
Применение | Описание |
export | Позволяет экспортировать поле |
basicheaderview | Отображает поле в стандартном просмотре заголовка |
advancedheaderview | Отображает поле в развернутом просмотре заголовка |
archiverule | Позволяет использовать поле в правилах архивирования |
searchquery | Позволяет использовать поле в поисковых запросах |
retention | Позволяет использовать поле в определении правил сохранения |
searchresults | Отображает поле в результатах поиска |
index_tokenized | Помечает и индексирует поле в индексе поиска |
index_stored | Хранит и индексирует поле в индексе поиска |
index_tokenized_and_stored | Помечает, хранит и индексирует поле в индексе поиска |
ldap | Возвращает из ldap [в данный момент не поддерживается] |
download | Позволяет скачивать поле |
viewsource | Позволяет демонстрацию поля при просмотре источника |
Показывает поле в просмотре для печати | |
view | Отображает поле в основном просмотре |
stubrule | Позволяет показывать поле в правиле стаббинга |
Данные типы данных определяют, как данные в поле заголовка хранятся в индексе и как эти данные демонстрируются пользователю.
Тип данных | Описание |
string | текстовая строка |
integer | целое число |
long | длинное целое число |
float | число с плавающей точкой |
double | число двойной точности |
boolean | true/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, по полям, содержащимся в поле-контейнере, тоже будет произведен поиск.