Упоминание объектов в тексте RTF

Описание настройки

Упоминание объекта — это способ вставить ссылку на объект в атрибуте типа "Текст в формате RTF" или комментарии, без копирования URL адреса этого объекта.

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

При настройке упоминания определяется какие объекты могут упоминаться и в контексте каких объектов.

Упоминание объекта доступно в поле ввода текста в формате RTF (только редактор Froala).

Упоминание объекта может инициировать действие по событию, например, отправку оповещения. В скрипте действия по событию "Упоминание в рамках выбранных объектов" доступны контекстные переменные, содержащие информацию о том, какие объекты были упомянуты.

Место настройки в интерфейсе

Все возможные упоминания объектов, настроенные в системе, отображаются в списке на странице "Упоминание объектов" (интерфейс администратора).

Список упоминаний

Чтобы открыть список упоминаний объектов, в меню навигации выберите "Настройка системы" → "Упоминание объектов".

Выполнение настройки

На странице "Упоминание объектов" нажмите кнопку "Добавить" в блоке "Доступные объекты", заполните поля формы добавления и нажмите кнопку Сохранить.

Поля формы "Добавление настройки упоминания объекта":

  • Название — введите название упоминания.
  • Код — введите код упоминания
  • Объекты — выберите класс /типы объектов, на которые будут указывать упоминания.

    Для выбора будут доступны все объекты данного класса, кроме архивных.

  • Префикс для упоминания объекта — введите специальный символ или набор символов, который будет использоваться для вставки упоминания в поле ввода текста RTF (после ввода префикса будет открываться список выбора объектов для упоминания).

    Например, префикс "@" — для упоминания сотрудника.

    Особенности настройки и использования префикса:

    • Максимальная длина префикса 255 символов.
    • Можно использовать буквы (кириллица и латиница), цифры, спецсимволы (любые символы, кроме пробела).

      Пробел в начале или в конце префикса удаляется и упоминание перестает работать. Пробел в середине строки префикса сохраняется, но префикс также остается нерабочим.

      Пример. Вводим " /df" с пробелом в начале строки, сохраняется запись без пробела "/df". При использовании любого из этих префиксов упоминание не добавляется.

    • Регулярные выражения, тэги и прочее игнорируются.

  • В контексте объектов — выберите класс /типы объекта, в контексте которого будет доступно упоминание объектов. Если ни один класс не выбран, то упоминание выбранных объектов доступно в контексте всех объектов.
  • Атрибут для формирования ссылки — выберите атрибут, по значению которого будет формироваться ссылка для упоминания. Для выбора доступны уникальные атрибуты выбранного класса (параметр "Объекты").
  • Группа атрибутов для сложной формы упоминания — выберите группу, атрибуты которой будут отображаться в списке на форме "Добавление упоминания". Для выбора доступны группы атрибутов выбранного класса (параметр "Объекты").

    Если группа атрибутов не выбрана, то название упоминания не отображается на форме "Упоминание объекта" (в меню слева). Форма открывается при нажатии иконки на панели редактирования текста RTF.

  • Профили — выберите профили, обладателям которых доступно использование данного упоминания. Если не выбран ни один профиль, то все пользователи могут использовать данное упоминание.

    Для выбора доступны абсолютные профили класса, выбранного в параметре "Объекты".

    Абсолютный профиль — профиль, в котором используются абсолютные роли, действующие по отношению ко всем классам объектов.

    Профиль считается абсолютным только тогда, когда во всех классах объектов в данном профиле выбраны только абсолютные роли. Если в профиль добавлена хотя бы одна относительная роль, то профиль перестает быть абсолютным и будет недоступен для выбора при настройке упоминания.

    Включенный механизм контроля прав при поиске влияет на формирование списка объектов, доступных для упоминания по префиксу. Список объектов формируется с учетом всех профилей упоминаемого класса объектов с признаком "Определить условие отбора объектов, доступных обладателю роли". Профили, выбранные в параметре "Профили", на формирование списка не влияют.
    Механизм контроля прав не влияет на форму добавления упоминания объектов, см. Контроль прав при поиске

Результат настройки

Добавленное упоминание отобразится в списке на странице "Упоминание объектов".

Условия отображения иконки вставки упоминания в тексте RTF

Иконка вставки упоминания отображается на панели редактирования текста RTF в интерфейсе оператора, если в объекте, в рамках которого добавляется упоминание, настроено хотя бы одно упоминание со следующими параметрами:

  • в параметре "В контексте объектов" указан класс текущего объекта;
  • в параметре "Группа атрибутов для сложной формы упоминания" определена группа атрибутов.

Последующие настройки

Порядок отображения настроенных упоминаний

Порядок отображения упоминаний на форме "Упоминание объекта" (меню слева) определяется порядком отображения элементов на странице "Упоминание объектов".

Порядок элементов на странице "Упоминание объектов" настраивается с помощью инструмента "drag&drop" или иконок  "вверх" и  "вниз" в строке списка.

Связанные настройки

Переход по ссылке с упоминанием

Для атрибутов типа "Текст в формате RTF", размещенных на карточке объекта, переход по ссылке с упоминанием может быть отключен в конфигурации системы dbaccess.properties. По ссылке с упоминанием будет открываться новая страница с данным упоминанием в формате "текст" (в Internet Explorer выполняется переход на домашнюю страницу).

Поиск объектов

При упоминании по префиксу (например, "@") результаты поиска объектов для упоминания совпадают с результатами быстрого поиска. В списке отображается пять объектов в порядке убывания критерия релевантности поиска, согласно настройкам поиска для класса/типа.

Если упоминание добавляется с помощью иконки вставки уведомления и формы."Упоминание объекта", то результаты поиска объектов для упоминания отображаются согласно правилам сортировки по умолчанию — по возрастанию, лексикографически в прямом порядке.

Поиск объектов для класса "Сотрудник" (employee) выполняется по трем атрибутам: "ФИО" (title), "Логин" (login) и "Адрес электронной почты" (email).

Для всех остальных классов поиск происходит только по атрибуту "Название" (title).

Поиск по данным атрибутам будет доступен, если перечисленные атрибуты участвуют в поиске и объекты проиндексированы.

Добавление упоминания в интерфейсе оператора

Добавить упоминание объекта можно следующими способами.

Через префикс в поле ввода текста RTF

В поле ввода текста RTF введите префикс (например, "@") и начальные символы (хотя бы один) названия искомого объекта для упоминания, после этого отобразится список объектов для выбора (до ввода первого символа список пуст, отображается только название упоминания):

  • для класса "Сотрудник" (employee) у элементов для выбора отображается "ФИО", "Логин" и "Адрес электронной почты";

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

Выберите объект для упоминания. После выбора объекта в текст вставляется гиперссылка (название гиперссылки —значение атрибута с кодом "title").

Список объектов для упоминания формируется с помощью механизма расширенного поиска. Результаты поисковой выборки дополнительно фильтруются на соответствие запросу и в списке отображаются первые 5 объектов итоговой выборки.
Логика работы дополнительного фильтра (ru.naumen.core.client.widgets.richtext.mentions.AtJsCustomizer): у каждого элемента коллекции есть searchKey - строка, состоящая из title+localeName+email+login+email. Если хоть одна часть элемента searchKey (Фамилия, Имя, Отчество, логин, email) начинается с поискового запроса, то он попадает в итоговую выборку и отображается в списке объектов для упоминания.

Через иконку вставки упоминания на панели редактирования текста RTF

На панели редактирования текста RTF нажмите иконку вставки упоминания и выберите объект для упоминания на форме "Упоминание объекта" (форма также открывается с помощью комбинации Ctrl+Shift+K).

На форме "Упоминание объекта" для выбора доступны все объекты класса /типа, на который указывает упоминание. Для выбора объекта можно воспользоваться поиском или фильтрацией списка.

После выбора объекта в текст RTF вставляется гиперссылка.

При добавлении упоминаний может выполняться действие по событию "Упоминание в рамках выбранных объектов" (если оно настроено).
При копировании упоминаний и вставке их в другой текст RTF действие по событию "Упоминание в рамках выбранных объектов" не будет срабатывать.