Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
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|Управление групами]].\\ | ||
+ | Администратор может подписаться на групы событий в меню ''Профиль''.\\ | ||
+ | Отписаться от групы можно или в меню, или нажав на иконку перечеркнутого глаза в заголовке уведомления.\\ | ||
+ | Для некоторых модулей, можно поменять статус уведомления на "Прочитано", кликнув на иконку галочки в заголовке уведомления. \\ |