Модуль notabene предназначен для огранизации легковесной системы
пользовательских заметок "на полях". Это не замена стандартной 
системе комментариев Друпала, а возможность для пользователя 
оставлять краткие (и возможно приватные) заметки там, 
где администратор разместил кнопку notabene_nutton.

Модуль представляет собой небольшой API для вывода кнопки 
создания пользовательских заметок в любой части сайта.
Для этого экспортируются две функции:
theme('notabene_button', $rel_id, $nid=0)
и
_notabene_delete_note_by_relid($rel_id).

Первая функция theme('notabene_button', $rel_id, $nid=0) возвращает 
HTML для вставки на страницу кнопки добавления заметок. При наведении 
на кнопку мыши, во всплывающем блоке будут выведены существующие 
заметки. При нажатии на кнопку появится iframe, создаваемый с помощью 
Modal Frame API. Во фрейме будет выведен список созданных заметок и форма 
для их добавления/редактирования. При создании и удалении заметок 
на кнопке автоматически (с помощью jQuery) обновляется счетчик, 
отражающий количество заметок.

Аргумент $rel_id используется для группировки заметок. То есть,
в одной группе выводиться будут только заметки с одинаковым 
$rel_id.

Аргумент $nid, естественно, связывает заметки с той или иной нодой.
Если $nid указан, заметки группируются по правилу ($rel_id & $nid).
Однако указывать $nid не обязательно. Кроме того, если $nid указан,
заметки будут автоматически удаляться при удалении ноды. Если же $nid
не указан, пользователь модуля обязан самостоятельно следить 
за удалением ненужных заметок с помощью второй экспортируемой функции 
_notabene_delete_note_by_relid($rel_id).

Наличие независимого индекса $rel_id необходимо для того, чтобы было можно 
во-первых воткнуть кнопку с заметками куда угодно, а во-вторых - 
чтобы можно было сделать несколько независимых кнопок в пределах одной ноды.

ВИДЫ ЗАМЕТОК
При создании заметки пользователь может отметить ее как "Важную" или
"Личную". Наличие важной заметки в группе влечет появление иконки
восклицательного знака рядом с кнопкой управления заметками.
А если заметка отмечена как личная, она будет видна только ее автору.


НАСТРОЙКИ МОДУЛЯ
На странице 'admin/settings/notabene' находятся настройки модуля.
Пользователь может настраивать:
 - Количество заметок, выводимых во всплывающем блоке и их порядок
   (сначала новые или сначала старые);
 - Формат ввода. Для заметок можно выбрать формат ввода, который 
   будет автоматически применяться при сохранении заметки.
 - Длина заметки. Есть возможность ограничить длину каждой заметки.
   Длина будет контролироваться как при сохранении, так и при вводе 
   через jQuery.


АВТОФИЛЬТРАЦИЯ
В модуле есть возможность автоматической фильтрации содержимого
форм на предмен наличия заметок. В случае обнаружении заметки при 
фильтрации, она вырезается из текста и сохраняется как заметка отдельно.
Пользователь может управлять автофильтрацией со страницы 
"admin/settings/notabene/formfilter". Для этого нужно:
 - указать id формы, которую необходимо фильтровать;
 - указать, в каком поле формы содержится rel_id, с которым будут сохраняться
   найденные заметки.
 - (опционально) указать, в каком поле формы содержится nid, если нужно
   ассоциировать заметки с нодой.
Отфильтрованы будут все textarea заданной формы.
Для того, чтобы заметка была найдена и отфильтрована, пользователи должны
заключать ее в спец. тэги (по умолчанию, между #!! и !!#). Теги можно изменять
на странице настройки автофильтрации.


УДАЛЕНИЕ ЗАМЕТОК
Для удаления заметок в админке модуля создана небольшая система фильтров, позволяющая
отобрать заметки по автору, нодам и времени с момента создания. Отфильтрованные заметки
можно отметить галочкой и удалить. Страница удаления находится по адресу
"http://demo.localhost/admin/settings/notabene/notes".
Автоматическое удаление заметок невозможно, если заметки не привязаны к ноде.
Если привязаны - все заметки будут удалены при удалении ноды.
Также разработчик может использовать функцию _notabene_delete_note_by_relid для
удаления заметок по rel_id.


ПОДМОДУЛЬ NOTABENE_NODE
В состав Notabene входит подмодуль notabene_node, в котором реализовано автоматическое
добавление кнопки заметок в тело ноды без необходимости использовать функцию theme() или 
писать какой-либо другой код. У пользователя есть возможность настраивать появление
кнопки заметок как для типов содержимого, так и для каждой ноды отдельно. В процессе
настройки можно указать:
 - вес кнопки в содержимом ноды;
 - показывать ли кнопку в тизере;
 - показывать ли кнопку на полной странице;
 - фильтровать ли тело ноды на предмет заметок, заключенных в спец. тэги.


ДАЛЬНЕЙШАЯ РАЗРАБОТКА
В дальнейшем планируются следующие улучшения модуля:
 - интеграция в Views;
 - добавление поддержки Beauty Tips и Simplecluetip;
 - рекурсивный поиск textarea при автофильтрации;
 - проработка разных вариантов отображения кнопки.


ОБРАТНАЯ СВЯЗЬ
Если есть какие-то пожелания, предложения, или вы нашли баг - обращайтесь через 
сайт http://graker.ru или по почте roma@graker.ru.