Плагин News: оповещения и объявления в GLPI

Техническое руководство по плагину News для GLPI: установка через консоль, устройство оповещений, шаблон баннера о техническом обслуживании, SQL для чистки «вечных» оповещений и матрица выбора между News, публичными напоминаниями и Smart Notify.

В этой статьеРазделов: 7

Самая дешёвая заявка — та, которая так и не была создана. Когда пользователь видит понятное объявление прямо на экране GLPI до того, как сообщит о чём-то уже известном, он не создаёт заявку — и очередь службы поддержки перестаёт заполняться дубликатами об одном и том же обслуживании или инциденте. Плагин News решает именно эту задачу: баннеры оповещений, объявлений и уведомлений об обслуживании внутри интерфейса, для специалистов и для пользователей самообслуживания. Сопровождая инфраструктуру клиентов, мы поняли, что включить баннер — это простая часть; полезную коммуникацию от замусоренного портала отличают правильная сегментация, дата окончания и дисциплина удалять объявление, когда оно теряет актуальность.

Статическое объявление и уведомление специалисту: не путайте

Прежде чем что-либо устанавливать, стоит разделить две разные задачи. Статическое объявление (плагин News или встроенные публичные напоминания) обращено к тем, кто ещё не создал заявку, — это превентивная коммуникация в самообслуживании и на панели. А уведомление специалисту (встроенная почта или колокольчик Smart Notify) обращено к тем, кто уже работает с заявкой. Типичная ошибка — считать, что одно заменяет другое: отключить почту, потому что есть баннер, или повесить баннер в расчёте, что специалист узнает о комментарии (followup). Это взаимодополняющие слои. Плагин News — внешний слой, тот, что не даёт заявке появиться.

Установка и поиск плагина News

News распространяется через Marketplace GLPI и официальный репозиторий. После загрузки в plugins/news установите и активируйте его. В командной строке запускайте от имени пользователя веб-сервера — ловушка здесь в использовании --allow-superuser или запуске от root: файлы записываются с неправильным владельцем, и потом ломается cron:

# GLPI 10/11 (CLI) - run as the web server user, never with --allow-superuser:
docker exec --user apache glpi php bin/console glpi:plugin:install news
docker exec --user apache glpi php bin/console glpi:plugin:activate news

# UI alternative: Setup > Plugins, Install button and then Activate.

После активации плагина управление объявлениями обычно находится в Инструменты > Оповещения (название может отличаться в зависимости от версии). В каждом оповещении важны четыре решения: тип, текст сообщения, где и для кого оно отображается и как долго.

Устройство оповещения: важные поля

Тип определяет цвет и смысл баннера — пользователь считывает срочность ещё до того, как прочтёт текст. Используйте эту семантику экономно: если всё красное, ничего не срочно.

ТипЦвет / смыслКогда использоватьПример
ИнформацияСиний — нейтральноОбщее объявление, новость«Доступна новая версия GLPI»
ПредупреждениеЖёлтый — вниманиеЧто-то, на что стоит обратить внимание, без срочности«Указывайте инвентарный номер при создании заявки»
ПроблемаКрасный — критичноАктивный инцидент в процессе«Мы знаем о медленной работе почты»
ОбслуживаниеВыделение — запланированоПлановое окно с точным временем«Система X на обслуживании 15.07, 22:00–2:00»

Видимость управляет двумя осями: где появляется баннер (центральная страница специалиста, портал самообслуживания, страница входа) и для кого (все, определённые профили, группы или организации). Здесь кроется ловушка, которая чаще всего ставит в неловкое положение в инсталляциях с несколькими организациями: оповещение, созданное в корневой организации с включённой рекурсией, попадает в самообслуживание ВСЕХ клиентов, использующих один и тот же экземпляр. Объявление об обслуживании у клиента A видит клиент B. При сопровождении правило такое: ограничивать каждое оповещение конкретной организацией и использовать рекурсию от корня только для объявлений, касающихся всех, например правил создания заявок.

Период (дата начала и окончания) — поле, которое все недооценивают, и именно оно со временем сильнее всего замусоривает портал.

Готовый шаблон: баннер планового обслуживания

Сообщение поддерживает HTML, поэтому можно стандартизировать читаемый баннер вместо сплошного абзаца. Этот шаблон чётко показывает, что отключается, когда заработает и что делать пользователю. Скопируйте, подставьте свои значения и вставьте в поле сообщения:

<strong>Scheduled maintenance - E-mail system</strong><br>
Window: 15/07/2026, from 22h00 to 02h00 (local time).<br>
Impact: webmail and message sending will be unavailable.<br>
What to do: postpone critical sends until after 02h00.<br>
<em>There is no need to open a ticket about this outage.</em>

Последняя строка — «создавать заявку не нужно» — сокращает очередь больше, чем весь остальной баннер. Это та явная инструкция, которую пользователь ищет, прежде чем решить, сообщать ли о проблеме.

Ловушка «вечного оповещения» и SQL для чистки

В каждой инсталляции, которую мы берём на сопровождение, повторяется одна картина: в портале самообслуживания накопилось шесть-восемь старых баннеров, срок которых никто не завершил. Пользователь привыкает игнорировать всю полосу — это баннерная слепота, — и когда появляется действительно важное объявление, его никто не читает. Первопричина почти всегда — оповещение без даты окончания. Ещё хуже баннер «мы знаем о медленной работе», висящий три дня после устранения инцидента: он сигнализирует о сбое, который уже закончился, и подрывает доверие к каналу. Мы ввели ежемесячную проверку прямо в базе данных. Сначала выясните реальную схему (имена столбцов различаются между версиями плагина), затем ищите «вечные» оповещения:

-- 1. Find the News plugin alerts table:
SHOW TABLES LIKE 'glpi_plugin_news_%';

-- 2. Check the real column names (they vary by plugin version):
DESCRIBE glpi_plugin_news_alerts;

-- 3. "Eternal" alerts - no end date, the root cause of banner blindness:
SELECT id, name, type, date_start, date_end
FROM glpi_plugin_news_alerts
WHERE date_end IS NULL OR date_end = '0000-00-00 00:00:00'
ORDER BY date_start;

-- 4. Alerts still active whose window has already passed (forgot to remove):
SELECT id, name, type, date_end
FROM glpi_plugin_news_alerts
WHERE date_end IS NOT NULL
  AND date_end < NOW()
ORDER BY date_end DESC;

Запрос 4 больше всего удивляет клиентов: он показывает инцидент, который «уже решён», но всё ещё висит на экране. Запуск раз в месяц сохраняет доверие к каналу — и обходится дёшево.

News, публичные напоминания или Smart Notify: что выбрать

Не каждое объявление требует плагина. В GLPI есть встроенные публичные напоминания, а NexTool поддерживает Smart Notify для динамической стороны. Каждый инструмент закрывает свою задачу:

КритерийПубличные напоминания (встроенные)Плагин NewsSmart Notify (NexTool)
ХарактерПростой текст/объявлениеСтатический баннер по типуДинамическое уведомление (колокольчик)
Целевая аудиторияТе, кто ещё не создал заявкуТе, кто ещё не создал заявкуСпециалист в рабочей сессии
Где отображаетсяОбласть планирования / центральная страницаЦентральная страница, самообслуживание и входКолокольчик на панели навигации GLPI
СегментацияПрофиль / организацияТип, экран, профиль, группа, организацияПо событию и по специалисту
Цвет по важностиНетДа (информация / предупреждение / проблема)Звук по приоритету
Нужна установка плагинаНет (встроенные)ДаДа (модуль NexTool)
Лучше всего дляБыстрого сообщения без плагинаОбслуживания и инцидентов в самообслуживанииОповещения специалиста об изменениях

На практике: используйте встроенные публичные напоминания для простого сообщения без установки чего-либо; плагин News — когда нужен цветной баннер по типу, сегментация по экранам и объявление на странице входа; а Smart Notify — для другой стороны медали: почти в реальном времени сообщать специалисту о комментариях, согласованиях и задачах прямо в GLPI. Они не конкурируют: News не даёт заявке появиться, Smart Notify ускоряет работу с уже существующей заявкой.

Лучшие практики коммуникации (из опыта сопровождения)

  • У каждого сообщения есть дата окончания. Без исключений. Если вы не знаете, когда объявление истекает, вы не знаете, зачем его публикуете.
  • Сообщайте об обслуживании за 24 часа и держите баннер до конца окна. При плановых окнах, объявленных заранее, мы видели, как поток дубликатов про «систему недоступна» заметно сокращается — воспринимайте это как честный диапазон, а не магическое число.
  • Убирайте баннер об инциденте сразу после его решения. Объявление о сбое, висящее после сбоя, хуже, чем никакого объявления.
  • Не накапливайте баннеры. Три объявления одновременно в самообслуживании — уже шум; четвёртое никто не прочтёт.
  • Ограничивайте по организации в экземплярах с несколькими клиентами. Рекурсия от корня — только для того, что касается всех.
  • Цвета со смыслом. Красный — это активный инцидент, а не «прочтите внимательно».

В NexTool мы рассматриваем коммуникацию в GLPI как часть сопровождения: настраиваем нужные каналы, определяем политику истечения объявлений и сочетаем статическую коммуникацию с динамическими уведомлениями для инфраструктуры клиента. Если хотите пойти дальше баннера, модуль Smart Notify закрывает сторону специалиста, а наша команда сопровождения поможет спроектировать весь процесс.


Проверено командой NexTool Solutions.

Часто задаваемые вопросы

Проверьте совместимость версии в Marketplace GLPI перед выкатом в продуктив. Если плагин ещё не поддерживает вашу версию, встроенные публичные напоминания закрывают главное (публичное объявление с периодом), а Smart Notify берёт на себя уведомления специалистам. В средах клиентов мы всегда сначала тестируем установку на тестовом стенде, а потом применяем в рабочей инфраструктуре.

News показывает баннеры с цветом по типу (информация, предупреждение, проблема), управлением местом показа (центральная страница, самообслуживание, вход) и тонкой сегментацией. Публичные напоминания — простой текст без цвета и позиционирования баннера, зато не требуют установки. Для быстрого сообщения хватит встроенного инструмента; для визуальной и сегментированной коммуникации — News.

Да. News использует стандартную видимость GLPI, поэтому можно ограничить показ профилем, группой, пользователем или организацией. Ловушка в экземплярах с несколькими клиентами — создать оповещение в корневой организации с включённой «рекурсией»: оно попадёт в самообслуживание всех клиентов. Ограничивайте конкретной организацией.

Да, если видимость включает экран самообслуживания (helpdesk). Именно там баннер приносит больше всего пользы: пользователь читает объявление об обслуживании, прежде чем создать дублирующую заявку. Убедитесь, что в оповещении отмечен вариант показа в самообслуживании.

Задавайте дату окончания каждому оповещению и раз в месяц проверяйте базу на оповещения без даты окончания или с уже истёкшим окном (SQL для чистки приведён в тексте статьи). «Вечные» оповещения вызывают баннерную слепоту: пользователь начинает игнорировать всю полосу и перестаёт читать действительно важные объявления.

Нет. News — статическая коммуникация для тех, кто видит экран: он не отправляет почту и не оповещает специалиста о конкретном комментарии. Чтобы почти в реальном времени сообщать специалисту о комментариях, согласованиях и задачах, используйте встроенные почтовые уведомления или колокольчик Smart Notify. Это разные и взаимодополняющие слои.

Нужна помощь?