Система «Трекер»

Введение

Трекер — это система учета заявок. Исторически для учета аварий в сети мы использовали систему Gnats. Достаточно быстро выяснилось, что кроме аварий с помощью такой системы можно подвергнуть учету значительное число рутинных бизнес-процессов. В какой-то момент мы поняли, что наши потребности в управлении данными превышают возможности системы Gnats, и мы решили написать свою реализацию такой системы.

Система Трекер оперирует следующими понятиями

  • заявка — учитываемая проблема
  • поля заявки — данные пользовательского типа, описывающие проблему
  • этап — особое поле заявки, характеризующее положение поблемы с точки зрения бизнес-процесса
  • класс — настраиваемый шаблон, из которого создаются отдельные экземпляры — заявки; с точки зрения интерфейса класс — это метод группировки проблем одного типа
  • права — пользователи системы наделены разными правами; в зависимости от класса и этапа пользователь может иметь право на просмотр, редактирование

Практика использования Трекера в нашей компании показывает, что его функционала вполне достаточно для того, чтобы с минимальными усилиями взять под контроль подавляющее число побочных бизнес-процессов предприятия.

Практика использования

В настоящий момент в нашей компании с помощью системы "Трекер" автоматизированы следующие процессы:

  • Аварии - разбираются аварийные заявки. Учитываются время и место возникновения проблемы, отображается её текущее состояние, ответственные исполнители и т.д.
    • Аварии - учет сетевых аварий (обрывы, отказы оборудования и т.д.)
    • Софт - разбор заявок, где точно известно, что проблема связана с клиентским компьютером, а также сюда входят платные работы по настройке софта
  • Bug&mod - учет заявок, связанных с доработками и сопровождением корпоративных информационных систем (КИС) - баги, изменения функционала. Точно формулируются запросы к программистам, определяется приоритет, ответственный исполнитель, контролируется тестирование, учитывается время реализации задачи.
    • Трекер - заявки по системе "Трекер"
    • Склад - заявки по системе "Склад"
    • Интранет - заявки по корпоративному порталу
    • 1С - заявки по 1С
  • Модернизация - разбираются заявки по модернизации сети (замена оборудования, переделка сетей, модернизация узлов). Составляется и проводится в жизнь план работ, формулируются задачи, планируется настройка оборудования, учитываются исполнители, проверяется полнота исполнения задачи.
    • Инсталляционная - модернизация в жилых зданиях
    • Корпоративная - модернизация в офисных зданиях
  • Обеспечение - заявки к службе Обеспечения
    • Заказ ТМЦ - заявки на закупку товарно-материальных ценностей, учет их стоимости, учет сроков исполнения. Точно формулируется спецификация заказа, определяется очередность исполнения заказов.
    • Хоз. проблемы - заявки на мелкий ремонт в офисе
  • Поддержка корп. абонентов
    • Общий - запросы абонентов (регистрируются запросы корпоративных абонентов: входящая документация, заявления на расторжения, ведется учет разбора конфликтов, учитываются исполнители, сроки исполнения)
    • Бухгалтерия - учет документооборота между корпотделом и бухгалтерией
    • Продублировать документы - задачи по перевыставлению документов
    • Биллинговый конфликт - разбор проблем, связанных с перерасходом
  • Разбор проблем - учет ситуаций, связанных с ошибками сотрудников компании. Проводится регистрация косяка, определяются предполагаемый виновный и обстоятельства, выясняется действительно ли этот человек совершил косяк, определяется размер штрафа
    • Лин. службы - учет ситуаций по линейным службам
    • Админы+саппорт - учет ситуаций по админам и саппорту
    • Опоздания - регистрация опозданий

Описание поддерживаемых типов полей

  • Текст
  • Строка
  • Число
  • Телефон - числа и символы: "+", "-", ","
  • Дата+время
  • Дата (без времени)
  • Галочка
  • Список - выбор из списка значений
  • Список из sql-таблицы
  • Ссылка

Описание прав пользователей

  • Права на работу с системой:
    • Создание заявки
    • Редактирование заявки
    • Изменение этапа заявки
    • Просмотр заявки
    • Участие в обсуждении заявки
    • Просмотр обсуждений заявки
    • Перемещение заявки в корзину
    • Восстановление заявки из корзины
    • Окончательное удаление заявки
    • Просмотр заявок в корзине
  • Права на получение рассылки:
    • Уведомление о создании заявки
    • Уведомление об изменении полей
    • Уведомление об изменении этапа
    • Уведомление об изменении ответственного
    • Уведомление о новых темах
    • Уведомление о новых комментариях
    • Уведомление о перемещении заявки в корзину
    • Уведомление о восстановлении заявки
    • Уведомление об окончательном удалении заявки

Создание новой задачи

В настоящее время для создания класса задач заполняются таблицы вида:

Название рабочего места
Название Класса задач

Этап Завершено? Заголовок
1 Этап 1 нет тут можно заполнить описание того, как должен использоваться этап (справка для пользователей)
2 Этап 2 нет
N Этап N да
Таблица 1. Описание этапов.

Название поля Комментарий Отображать в
сводной таблице?
Делать фильтрацию? Тип поля Номера этапов, в
которых поле видно
Номера этапов, в которых
поле можно редактировать
1 Поле 1 расшифровка названия
(тоже справка)
да или нет да или нет номера этапов номера этапов
2 Поле 2 да или нет да или нет
N Поле N
Таблица 2. Описание полей.

Далее таблицы с заполненными данными по новому классу задач передаются программисту, который, используя библиотеки функций Трекера, пишет инсталляционный файл на php, который создаёт новый класс задач.

Интерфейс системы

Состав рабочей области

  • Главная инструментальная панель - выбор рабочего места, простой поиск, ссылка на расширенный поиск, корзина, ссылка на сервисы
  • Панель выбора класса задач - выбирается класс задач, с которым хочет работать пользователь
  • Панель выбора этапов - пользователь определяет этапы, заявки находящиеся в этих этапах будут выведены в сводную таблицу. Выдается количество заявок в этапе.
  • Панель фильтров - пользователь может отфильтровать заявки по определенным полям (обычно это поля исполнитель, тип заявки и т.д.). Чтобы по полю можно было отфильтровать, необходимо это специально указать при создании класса задач.
  • Сводная таблица - таблица, в которую сведены заголовочные поля заявок. Обычно заголовочными полями объявляют поля, наиболее важные для понимания текущего состояния проблемы. Таким образом, глядя на сводную таблицу, пользователь видит список нужных ему заявок (удовлетворяющих фильтрам) и наиболее важную информацию по каждой заявке.
    Поля, которые не являются заголовочными, можно посмотреть только в формах просмотра или редактирования заявки. Чтобы поле стало заголовочным, это также необходимо указать при создании класса задач. Также в заголовочной таблице есть активные ссылки, по которым открываются формы для чтения или редактирования заявки.

Простой поиск

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

Расширенный поиск

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

Сводки

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

График

Графическое представление сводок.

Описание возможностей скриптов

С помощью внутреннего скриптового синтаксиса Трекера расширяются возможности системы по модификации полей в задаче.

Например:

  • видимость поля в зависимости от значения другого поля
  • передача значения одного поля другому
  • скрытое заполнение служебных полей
  • объединение значений нескольких полей для представления в сводной таблице в одном поле

Возможности Трекера по интеграции со сторонними программами и источниками данных

Внешним программам Трекер предоставляет набор интерфейсов для выполнения некоторых своих функций удаленно, через SOAP-интерфейсы.

В частности, можно создавать новые заявки и менять значения полей. Возможности же по взаимодействию со стороны самого Трекера на настоящий момент следующие: имеется специальный тип спискового поля, позволяющий подкачивать данные с помощью SQL-запроса из БД, также в скриптах, которые можно назначить ряду событий (таких как создание или сохранение заявки, нажатия поля-кнопки и т.п.) можно использовать любые доступные для PHP средства коммуникации.

Важна возможность синхронизировать базу пользователей с внешними источниками, но эта возможность на настоящий момент не поддержана встроенным функционалом. Однако, это несложно реализовать сторонними средствами, например, написав небольшой скрипт. Важно помнить, что идентификаторы пользователей не должны меняться или пропадать, так как они используются в ряде системных полей Трекера.


Раздел на форуме, посвящённый этой программе.