Краткое описание пакета
=======================

Пакет разработан для обеспечения работы с тегами. Пакет рассматривает две
сущности: рубрику и статью [name:ng.app.rubricator.algorithm.base.txt],
которые подготавливает для использования в рубрикаторе на основе тегов.
Использование тегов в рубриках и статьях слегка различается: в рубриках
могут создаваться новые теги, тогда как в статьях теги выбираются только из
числа существующих в рубриках.

Способ реализации
-----------------
Пакет предоставляет две аннотации - для рубрики и для статьи - и интерфейсы
для разрешения связывания аннотация и компонент:

    ITagRubricAnnotationAble
        Компоненты, предоставляющие данный интерфейс будут связаны с
        аннотацией ITagRubricAnnotation, имеющей следующие поля:

        tags
            Поле с выбором тегов из числа введенных хотя бы в одной из
            аннотаций ITagRubricAnnotation,

        tags_added
            Поле, позволяющее организовать ввод нового тега. Введенный здесь
            тег считается выбранным в этой аннотации и появляется в других
            аннотациях в поле выбора.

    ITagItemAnnotationAble
        Компоненты, предоставляющие данный интерфейс будут связаны с
        аннотацией ITagItemAnnotation, имеющей следующие поля:

        tags
            Поле с выбором тегов из числа введенных хотя бы в одной из
            аннотаций ITagRubricAnnotation,


Работа подсистемы тегирования требует создания и регистрации каталога::

    zope.app.catalog.interfaces.ICatalog

в котором должен быть создан индекс tags::

    zc.catalog.catalogindex.SetIndex 

со следующими параметрами:

    Interface 
        ng.app.rubricator.tag.tagrubricannotation.interfaces.ITagRubricSearch

    Field Name 
        tags

    Field Callable 
        False

Индекс должен быть зарегистрирован под именем tags и интерфейсом::

    zc.catalog.interfaces.IIndexValues

После этого становится возможным создание рубрик, создание в них
тегов и выбор этих тегов в создаваемых статьях. 

Подсистема тегирования разработана для тегового рубрикатора,
но, возможно, может использоваться и обособлено.    


###[name:литредактор]
