Плагін «Unread issues» - як ми повідомляємо співробітників в Redmine. Загальна концепція



Сьогоднішня стаття буде про повідомлення про зміни в завданнях Redmine. Про те, які засоби є в коробковому Redmine і про те, що ми доробили самі.

Будь-task-трекер має засоби повідомлення про зміни у завданнях, і Redmine — не виняток.



пошта
Коробковий Redmine може повідомляти користувачів про зміни в завданнях по електронній пошті. Досить стандартна функціональність, але опцій за її кастомізації не дуже багато.



Досить просто розширювати опції, але, як нам здалося, повідомлення за допомогою листа — не найкращий варіант повідомити про те, що в задачі щось змінилося. З часом, ти просто перестаєш звертати яку-небудь увагу на всі листи, валяться до тебе в ящик, асоціюючи їх із спамом.

До речі, у повідомлень по електронній пошті в Redmine є ще один фатальний недолік. Redmine не віддає сторінку із завданням поки не надішле листа на сервер і, якщо з поштовим сервером відбувається щось погане, то сторінка з завданням не надається користувачеві досить довго (до 15 секунд).

Автор статті витратив не мало часу, аналізуючи проблему довгого відкриття сторінки з завданнями, і як виявилося адміністратори мережі змінили налаштування поштового сервера.

RSS
Майже на всі списки завдань, коментарі до завдань і т. д. можна завести RSS-feed і використовувати його в RSS-рідері мобільних телефонів, наприклад. Досить зручний спосіб, яким навіть IT-ки користуються рідко.



Моя сторінка
Стандартна «Моя сторінка» дозволяє вивести лімітований, преднастроенный і вшитий в код програмного продукту, набір блоків. Переднастроєні набору блоків практично відразу починає не вистачати. Крім іншого, є ще одна глобальна проблема зі списком завдань, які відображаються в блоці на моїй сторінки — немає жодного повідомлення про те, що змінюється всередині завдання.



Що зробили ми, щоб оперативно інформувати користувачів про зміни в завданнях.

Кружечки-індикатори
Ми придумали і реалізували сині, світло-зелені та темно-зелені кружечки. Що вони означають!?

  • Зелений кружечок поряд із завданням означає те, що ви ніколи не читали це завдання.
  • Синій кружечок означає те, що ви читали завдання, але з моменту останнього прочитання в задачі щось змінилося і, можливо, користувачеві необхідно ознайомитися з змінами.
  • Темно-зелений кружечок з циферкой всередині означає, що на вас призначено n-ое кількість завдань і в них нічого не змінювалося з моменту останнього прочитання.
  • Аналогічне значення мають світло-зелені і сині кружечки з лічильником всередині.


Кружечки моментально прижилися в компанії і стали ненав'язливим і в теж час інформативним засобом повідомлення користувачів про зміни в завданнях.

Ми оформили цю функціональність у вигляді окремого плагіна — «Unread issues», і з радістю ділимося ним з спільнотою.
Крім кружечків-індикаторів, які додаються у всі списки завдань, плагін також дозволяє визначити запит завдань, на основі якого будуть вважатися індикатори-лічильники для моєї сторінки. Це дуже зручно, якщо користувач, наприклад, не потрібно повідомляти про зміни в певних трекерах.



Кружечки індикатори для інших сутностей і проблеми з продуктивністю.

Кружечки-індикатори так добре прижилися, що ми відразу стали використовувати їх для інших сутностей:
  • Кількості непрочитаних документів,
  • Кількості регламентних дій, які необхідно виконати співробітникові. Наприклад, кількість заявок для погодження, кількість оцінок, які необхідно проставити співробітникам і т. д.
Оскільки лічильники відображалися в головному меню і перераховувалися практично при кожному оновлення сторінки, а SQL — запити за їх обчисленню бували складними, Redmine пригальмовував.

З часом з'явився плагін «Ajax counter», який дозволяє обчислювати і відображати лічильники асинхронно. Це дозволяє користувачам отримувати сторінку ще до обчислення всіх лічильників.



Цей плагін дозволяє встановлювати оновлення інтервал лічильника, щоб значення для нього не перераховувалося кожен раз при оновленні сторінки. Так наприклад, для регламентного дії «Ознайомитися з наказами» можна поставити інтервал в 1 годину, оскільки нові накази виходять рідко.

Плагін «Ajax counter» знаходиться у вільному доступі тут: bitbucket.org/dkuk/ajax_counters. Думаю, що він може бути корисний програмістам, які розробляють під Redmine.

Блок «Що мені потрібно зробити?»
Ми використовуємо Redmine як єдину корпоративну середу. І в цьому середовищі, співробітники часто забивають, а іноді і просто бойкотую обов'язок виконувати регламентні процедури.

Ну, наприклад, є правило, яке говорить, що працівник зобов'язаний ознайомлюватися із змінами в завданнях, призначених на нього, протягом трьох днів. І хтось не робить цього регулярно, пояснюючи свої дії незручністю програми та незрозумілістю інтерфейсу.

Тому, з'явився чудовий блок на моїй сторінці «Що мені потрібно зробити?», в якому популярно розписано, що співробітник повинен зробити сьогодні, у найближчі сім днів, в поточному місяці, а за одно і те, що повинні зробити його підлеглі.



Блок «Що мені потрібно зробити?» здорово зменшує вхідний поріг для роботи в системі.

Дії для блоку можуть задаватися в інших плагінах. Наприклад, плагін «KPI» задає свій список дій для блоку: узгодження авансу, закриття ЗП і т. д.

Також, дії для блоку можуть задаватися на основі стандартних запитів завдань Redmine. Ви можете вибрати якийсь запит і визначити в ньому поле з датою, за яким буде вважатися термін виконання необхідного завдання. Цей підхід дає велику гнучкість, оскільки перетворює будь-який запит завдань в регламентне дію. Наприклад, легко створити регламентні дії виду: «Перевірити завдання», «Дати зворотний зв'язок завдань» і т. д.

Кружечки-індикатори і блок «Що мені робити?» перекривають потреби співробітників у інформування про зміни.

Трохи раніше у нас були повідомлення по протоколу XMPP в jabber-клієнт, але потреба в них згодом відпала. До того ж, постійно сиплються повідомлення виду «У задачі такий відбулися зміни», дуже швидко дістають користувача.

Сподіваюся, стаття буде корисна. Спробуйте наш плагін «Unread issues». Будь зворотній зв'язок вітається!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.