Модуль Naumen SMP & ITSM 365: простой дашборд
Простой интерактивный дашборд для отображения метрик в приложениях на базе Naumen SMP или ITSM 365
Внимание! Этот проект не является официальным продуктом компании Naumen.
Модуль умеет отображать простые метрики (количество заявок или задач) в различных срезах (ответственные, статусы, приоритеты и прочее), с детализацией до конкретных объектов (Drill Down).
- Откройте GIST с актуальной версией модуля.
- Создайте в системе скриптовые модули с кодами из названий файлов:
- flatDashboard.groovy -> flatDashboard
- flatDashboardParams.groovy -> flatDashboardParams
Внимание! Оставьте код модуля flatDashboard без изменений. Дополнительные правила поиска и фильтрации вы можете внести в модуль flatDashboardParams.
- Перейдите в директорию release
- Скачайте самый новый архив
- Загрузите на свой стенд по инструкции
Создайте класс, который в будущем будет выполнять роль контейнера для хранения данных отчета:
- Название класса: Контейнер отчета
- Код класса: userReport
- Жизненный цикл - да
Добавьте новые атрибуты:
- Группировка (тип: строка, код: groupBy)
- Источник (тип: строка, код: source)
- Код (тип: строка, код: code)
- Количество (тип: вещественное, код: count)
Настройте атрибут "Название":
- Составной
- ШаблонЖ Контейнер для объектов класса ${metaClass}
Настройте карточку класса:
- Заголовок: Без заголовка
- Тулбар: уберите все кнопки с панели
- Вкладка "Параметры объекта": убрать все контенты
Пример карточки на скриншоте ниже:
Создайте свои типы контейнеров под каждый класс объектов системы, для которых вы хотите настроить дашборды. При создании используйте следующую логику:
- Название типа: аналогично классу объектов на дашборде, например, Заявка
- Код типа: аналогично коду класса, например, serviceCall
Атрибут для хранения ссылок на объекты:
- Название: Объекты
- Код: objects
- Тип: набор ссылок на БО целевого класса объектов (например, Заявка)
Карточка объекта:
- Разорвите наследование настроек карточки в типе
- Выведете на карточку контент типа "Список связанных объектов" через атрибут "Объекты"(код: objects)
- Перейдите в настройки карточки класса/типа, для которого хотите добавить дашборд
- Нажмите кнопку "Добавить контент", для нужного компонента интерфейса
- Выберите тип контента "Встраиваемое приложение"
- Заполните название (произвольно) и код (по правилу)
- Укажите опциональные настройки и нажмите кнопку "Сохранить"
callsByStates#donut@fqn-serviceCall@sourceAttr-responsibleTeam@groupAttr-state@group-states$serviceCall@intervalAttr-creationDate@interval-4$week@filter-openedScalls@above-0 Описание примера:
- выести дашборд в виде "бубликовой" диаграммы
- по объектам класса "Заявка"
- связанным с текущим объектом через атрибут "Ответственная команда"
- с группировкой по атрибуту "Статус"
- с предопределенным правилом получения групп "states"
- дата создания которых находится в промежутке "4$week" от текущей даты
- с дополнительной фильтрацией по предопределенному правилу "openedScalls"
- с правилом выборки групп, в которых количество заявок больше 0
- callsByStates - код дашборда (любая уникальная комбинация букв латинского алфавита)
- #donut - тип диаграммы, доступные типы:
- @fqn-class$case - код метакласса объектов для диаграммы, например, task или task$task
- @sourceAttr-attrCode - код связи объектов диаграммы с карточкой текущего объекта
- @groupAttr-attrCode - атрибут, по которому производится группировка
- @group-ruleCode$param1$param2 - правило поиска групп
- @intervalAttr-attrCode - атрибут типа "Дата/время", по которому нужно ограничить интервал
- @interval-length$interval - интервал для ограничения, где length - целое число, interval - строка
- @above-N - дополнительный фильтр для элементов дашборда, количество объектов больше N (целое число)
Распространяю под лицензией BSD license.