Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
abills:docs:events [2016/02/24 10:20]
anton создано
abills:docs:events [2018/10/19 15:25] (текущий)
larysa
Строка 1: Строка 1:
-===== Уведомления ​в Web-интерфейсе =====+**''​Документация по модулю Events перенесена в Confluence''​** 
 +[[http://​abills.net.ua:​8090/​display/​AB/​Events]]
  
-Уведомления включены по умолчанию в интерфейсе администратора и клиента. \\ 
  
-Для отключения уведомлений в интерфейсе администратора,​ перейдите в меню ''​Профиль''​ и поставьте галочку в разделе "​События"​ напротив "​Отключено"​.\\ +===== Events =====
- +
-Для отключения уведомлений в кабинете пользователя,​ добавьте в ''​libexec/​config.pl''​ **$conf{USER_PORTAL_EVENTS_DISABLED} ​1**.\\+
  
 ==== Реализация ==== ==== Реализация ====
Строка 13: Строка 11:
 Этот объект через заданый интервал (по умолчанию,​ 30 секунд) отправляет запрос на функцию ''​form_events''​\\ Этот объект через заданый интервал (по умолчанию,​ 30 секунд) отправляет запрос на функцию ''​form_events''​\\
  
-Результат запроса ​в зависимости от наличия уведомлений:​  +Результат запроса - JSON масив объектов
-    ​- JSON масив объектов +
-    - Пустая строка (нулевой длины)+
  
-При возврате непустой строки, происходит обработка уведомлений ​в зависимости от типа уведомления.\\+При возврате ​масива ​ненулевой длины, происходит обработка уведомлений.\\
 На даный момент,​ поддерживаются типы: На даный момент,​ поддерживаются типы:
-  - Сообщение+  - Сообщение ​(''"​TYPE"​ : "​MESSAGE"''​) 
 +  - Уведомление (''"​TYPE"​ : "​EVENT"''​) 
 +  - Обьект карты (''"​TYPE"​ : "​MAP_EVENT"''​) ( включается только на вкладке с картой ). [[abills:​docs:​development:​modules:​maps#​otobrazhenie_sobytij_na_karte|Формат события]]
  
 === Формат уведомлений === === Формат уведомлений ===
-В зависмости от типа уведомление имеет следующий вид:+В зависимости от типауведомление имеет следующий вид:
  
 **== Message ==** **== Message ==**
Строка 32: Строка 30:
   "​MESSAGE_ID"​ : 23,   "​MESSAGE_ID"​ : 23,
   "​EXTRA"​ : "​https://​demo.abills.net.ua:​9443/​admin/​index.cgi",​   "​EXTRA"​ : "​https://​demo.abills.net.ua:​9443/​admin/​index.cgi",​
-  "CLIENT" : { "​UID"​ : 2, "​LOGIN"​ : "​testuser"​ }+  "SENDER" : { "​UID"​ : 2, "​LOGIN"​ : "​testuser"​ }
 } }
 </​code>​ </​code>​
  
 Все параметры,​ кроме ''​TYPE'',​ ''​TITLE''​ и ''​TEXT''​ являются опциональными. \\ Все параметры,​ кроме ''​TYPE'',​ ''​TITLE''​ и ''​TEXT''​ являются опциональными. \\
 +
 +Значение поля ''​TEXT''​ обрезается до 30 символов.\\
  
 Параметр ''​MESSAGE_ID''​ служит для создания ссылки для быстрого перехода к сообщению в ''​Msgs''​\\ Параметр ''​MESSAGE_ID''​ служит для создания ссылки для быстрого перехода к сообщению в ''​Msgs''​\\
Строка 42: Строка 42:
 Объект ''​CLIENT''​ отвечает за дополнительную отображаемую информацию о клиенте,​ к которому относится сообщение.\\ Объект ''​CLIENT''​ отвечает за дополнительную отображаемую информацию о клиенте,​ к которому относится сообщение.\\
  
 +=== Серверная часть ===
 +
 +Функция ''​form_events''​ через ​ функцию ''​cross_modules_call'',​ вызывает в каждом модуле функцию с именем ''​$Module_events'',​ и возвращает хеш результатов. При вызове из портала абонента,​ одним из аргументов передаётся ''​CLIENT_INTERFACE => 1''​.
 +
 +Функция ''​$Module_events''​ должна передавать JSON строку вида:
 +<​code>​
 +
 +  "​TYPE"​ : "​MESSAGE",​
 +  "​TITLE"​ : "​Message Title",​
 +  "​TEXT" ​ : "This is sample message text",
 +  "​MESSAGE_ID"​ : 23,
 +  "​EXTRA"​ : "​https://​demo.abills.net.ua:​9443/​admin/​index.cgi",​
 +  "​CLIENT"​ : { "​UID"​ : 2, "​LOGIN"​ : "​testuser"​ }
 +},
 +
 +  "​TYPE"​ : "​MESSAGE",​
 +  "​TITLE"​ : "​Message Title",​
 +  "​TEXT" ​ : "This is sample message text for another message",​
 +  "​MESSAGE_ID"​ : 25,
 +  "​EXTRA"​ : "​https://​demo.abills.net.ua:​9443/​admin/​index.cgi",​
 +  "​CLIENT"​ : { "​UID"​ : 8, "​LOGIN"​ : "​client"​ }
 +}
 +</​code>​
 +
 +==== Групировка уведомлений ====
 +События групируются по модулям.\\
 +[[abills:​docs:​manual:​admin:​events:​events_group_main|Управление групами]].\\
 +Администратор может подписаться на групы событий в меню ''​Профиль''​.\\
 +Отписаться от групы можно или в меню, или нажав на иконку перечеркнутого глаза в заголовке уведомления.\\
 +Для некоторых модулей,​ можно поменять статус уведомления на "​Прочитано",​ кликнув на иконку галочки в заголовке уведомления. \\