Уведомление в интерфейсе

Описание

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

В системе существует два способа отображения уведомлений: уведомление в интерфейсе системы и браузерное push-уведомление.

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

Возможна отправка уведомления скриптовыми методами.

Правила получения и отправки уведомлений

  • Сотрудник получает уведомления, если в карточке сотрудника заполнен атрибут "Логин" (login).
  • Уведомление не отправляется: архивному сотруднику, сотруднику, не авторизованному в системе на момент наступления события, и суперпользователю.
  • Режим Silent Mode на отправку уведомлений не влияет.

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

Настройки отображения уведомлений

Настройки системного администратора

Для отображения уведомлений необходимо:

  • Выбрать стратегию работы WebSocket-каналом в конфигурационном файле dbaccess.properties (параметр ru.naumen.queue.websocket.useSeparateQueuesForEachWebsocketEvent, подраздел dbaccess.properties).

    • false (по умолчанию) — используется стратегия "Стратегия создания очереди на каждого пользователя".

      Пользователь подписывается на две очереди:

      • Очередь с личными уведомлениями пользователя — в эту очередь отправляются почти все WebSocket-уведомления, предназначенные пользователю.
      • Широковещательная очередь на всех пользователей — в эту очередь отправляются только те WebSocket-уведомления, которые отправлены всем сотрудникам.
    • true — используется стратегия "Стратегия использования фильтров на широковещательной очереди".

      Пользователь подписывается на две очереди:

      • Очередь с уведомлениями в интерфейсе — в эту очередь отправляются все сообщения действия по событию типа "Уведомление в интерфейсе". До пользователя дойдут только предназначенные ему уведомления.
      • Очередь с сообщениями отслеживания изменений — в эту очередь отправляются все сообщения действия по событию типа "Отслеживание изменений". До пользователя дойдут только предназначенные ему уведомления.
  • Указать время хранения экземпляров прочитанных и непрочитанных уведомлений в конфигурационном файле dbaccess.properties, см. Уведомления.

Настройки системы

Для отображения уведомлений необходимо:

  • Настроить действие по событию "Уведомление в интерфейсе", смотри раздел Уведомление в интерфейсе.

    Алгоритм выполнения действия по событию:
    Алгоритм выполнения уведомления: Наступление инициирующего события → Проверка выполнения условий действия по событию → Формирование списка получателей → Выполнение скрипта кастомизации → Создание экземпляра уведомления → Выполнение действия по событию (один раз).

  • В настройке "Прочие настройки" установить флажок "Лог уведомлений". ,Подробнее смотри в разделе смотри раздел Прочие настройки.

    Если флажок "Лог уведомлений" установлен, то в интерфейсе оператора на верхней панели слева от ФИО пользователя отображается иконка . При нажатии на иконку открывается панель для работы с уведомлениями.

Уведомление в интерфейсе системы

Уведомления отображаются в интерфейсе оператора на странице приложения.

Обычное уведомление

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

На свернутом уведомлении отображается начало текста уведомления. Уведомление разворачивается при нажатии на шеврон. На развернутом уведомлении отображается полный текст уведомления.

Отображение уведомлений в интерфейсе оператора зависит от настройки параметра "Лог уведомлений":

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

Параметры уведомления:

  • Текст уведомления — используется значение соответствующего параметра, заданное для уведомления, по которому сформирован экземпляр уведомления.

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

  • Расположение на экране— используется значение соответствующего параметра, заданное для уведомления, по которому сформирован экземпляр уведомления.

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

Системное уведомление

Системное уведомление отображается всегда внизу страницы во всю ширину.

Системное уведомление о планируемом старте технических работ и блокировке входа в систему настраивается на странице "Администрирование", см. Планирование технических работ.

Действия с уведомлением

  • Развернуть /свернуть уведомление — действие выполняется при нажатии на шеврон. Разворачивание уведомления приравнивается к прочтению уведомления (объект переходит в статус "Прочитано"). После разворачивания уведомление скроется через 10 секунд.
  • Закрыть уведомление — действие выполняется при нажатии на "крестик" в правом верхнем углу плашки уведомления.
  • Обработать уведомление — действие выполняется при переходе по ссылкам в тексте уведомления (если они настроены в соответствующем действии по событию). Карточка или страница, на которую выполняется переход, открывается в текущей вкладке браузера. Есть возможность открыть карточку/страницу на новой вкладке, используя соответствующие управляющие кнопки, например, колесико мыши.

    Обработка уведомления приравнивается к прочтению уведомления (объект переходит в статус "Прочитано"). После обработки уведомление закрывается.

Браузерное уведомление

Браузерное уведомление отправляется браузером.

Браузерное уведомление отображается поверх всех открытых окон. Внешний вид уведомления зависит от браузера.

Браузерные уведомления поддерживаются в браузере Google Chrome (версии 62 и старше) только при использовании протокола https.
Браузерные уведомления НЕ поддерживаются в браузерах Internet Explorer.

Параметры уведомления

  • Тема уведомления — используется название вкладки браузера, указанное в разделе "Настройка системы" → "Интерфейс и навигация", блок "Вкладка браузера", параметр "Название вкладки", см. Настройка favicon и названия вкладки приложения в браузере.
  • Текст уведомления — используется значение параметра "Текст уведомления", заданное для уведомления, по которому сформирован экземпляр уведомления, см. Действие по событию "Уведомление в интерфейсе".

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

Действия с уведомлением

  • Закрытие уведомления — при нажатии на "крестик" в правом верхнем углу уведомление закрывается.
  • Обработка уведомления — при нажатии на уведомление (кроме "крестика") выполняется переход на открытую вкладку приложения SMP.

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

Просмотр уведомлений в интерфейсе оператора

Уведомления о событиях в системе могут выводится на страницу приложения. Расположение плашек с уведомлениям зависит от настройки системы.

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

На свернутом уведомлении отображается начало текста уведомления.

Отображение уведомлений зависит от настройки "Лог уведомлений":

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

Чтобы развернуть /свернуть уведомление, нажмите на шеврон плашки уведомления. На развернутом уведомлении отображается полный текст уведомления. Разворачивание уведомления приравнивается к его прочтению. После разворачивания уведомление скроется через 10 секунд.

Чтобы закрыть уведомление, нажмите "крестик" в правом верхнем углу плашки.

При нажатии на уведомление (кроме "крестика") выполняется переход на открытую вкладку приложения SMP.

Лог уведомлений

Для просмотра уведомлений в интерфейсе оператора может использоваться панель уведомлений. Панель разворачивается при нажатии на элемент управления на верхней панели слева от имени пользователя. На панели уведомлений отображаются последние 100 полученных уведомлений, доступны фильтрация, сортировка и поиск.

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

Удаление экземпляров уведомлений запускается один раз в сутки.

Служебный класс "Уведомление в интерфейсе"

Экземпляры уведомления хранятся в системе как объекты служебного класса "Уведомление в интерфейсе".

Атрибуты объекта "Уведомление в интерфейсе":

  • Получатель — получатель уведомления.
  • Текст — текст уведомления в формате RTF.
  • Статус — текущий статус объекта.
    • Новое" (initial) — начальный статус экземпляра уведомления.
    • "Доставлено" (delivered) — уведомление отображается в интерфейсе получателя, но еще не прочитано.
    • "Не доставлено" (notDelivered) — созданное уведомление не доставлено конкретному получателю (например, в первой версии созданный экземпляр уведомления переходит в этот статусе, если в момент создания уведомления получатель не был в сети).
    • "Прочитано" (readByUser) — экземпляр уведомления переходит в этот статус, если доставленное уведомление было обработано или закрыто получателем.
  • Дата отправки — дата и время срабатывания действия типа "Уведомление в интерфейсе", в рамках которого было инициировано создание данного экземпляра уведомления.
  • Дата прочтения — дата и время перехода объекта в статус "Прочитано" (readByUser).

В служебном классе "Уведомление в интерфейсе" создание пользовательских атрибутов не рекомендуется.