Unread issues plugin - how we notify employees at Redmine. General concept
Today's article will be about notifications of changes in Redmine tasks. About what tools are in the boxed Redmine and that we have finalized ourselves.
Any task-tracker has a means of notification of changes in tasks, and Redmine is no exception.
Boxed Redmine can notify users of changes in tasks by email. Pretty standard functionality, but there are not many options for customizing it.
It’s enough to simply expand the options, but, as it seemed to us, notification by letter is not the best option to report that something has changed in the task. Over time, you simply cease to pay any attention to all the letters lying in your mailbox, associating them with spam.
By the way, email notifications in Redmine have another fatal flaw. Redmine does not give the page with the task until it sends a letter to the server and if something bad happens with the mail server, then the page with the task is not given to the user for a long time (up to 15 seconds).
The author of the article spent a lot of time analyzing the problem of long opening the task page, and as it turned out, the network administrators changed the settings of the mail server.
For almost all task lists, task comments, etc. you can get RSS –feed and use it in RSS readers of mobile phones, for example. A fairly convenient way that even ITs rarely use it.
The standard "My Page" allows you to display a limited, pre-configured and embedded in the code of the software product, a set of blocks. A pre-configured set of blocks begins to be missed almost immediately. Among other things, there is another global problem with the list of tasks that are displayed in the block on my page - there is no notification that changes inside the task.
What have we done to promptly inform users about changes in tasks.
We came up with and implemented blue, light green and dark green circles. What do they mean !?
- The green circle next to the task means that you have never read this task.
- A blue circle means that you read the task, but since the last reading of the task, something has changed and, perhaps, the user needs to familiarize themselves with the changes.
- A dark green circle with a number inside means that the nth number of tasks are assigned to you and nothing has changed in them since you last read it.
- Light green and blue circles with a counter inside have a similar meaning.
Circles instantly took root in the company and became an unobtrusive and at the same time informative means of notifying users about changes in tasks.
We designed this functionality as a separate plugin - “Unread issues” , and we are happy to share it with the community.
In addition to the indicator circles that are added to all task lists, the plugin also allows you to define a task request, based on which indicator indicators for my page will be considered. This is very convenient if, for example, users do not need to be notified of changes in certain trackers.
Circles indicators for other entities and performance problems.
The indicator circles took root so well that we immediately began to use them for other entities:
- The number of unread documents
- The number of routine actions that an employee needs to perform. For example, the number of applications for approval, the number of evaluations that must be put to employees, etc.
Since the counters were displayed in the main menu and were recounted almost every time the page was refreshed, and the SQL queries for their calculation were difficult, Redmine slowed down.
Over time, the Ajax counter plugin appeared, which allows you to calculate and display counters asynchronously. This allows users to retrieve the page before calculating all the counters.
The same plugin allows you to set the counter refresh interval so that the value for it is not recounted every time the page is refreshed. For example, for the routine action “Get acquainted with the orders”, you can set an interval of 1 hour, since new orders are rarely issued.
The Ajax counter plugin is freely available here: bitbucket.org/dkuk/ajax_counters. I think that it can be useful to programmers who develop under Redmine.
Block “What do I need to do?”
We use Redmine as a single corporate environment. And in this environment, employees often clog, and sometimes simply boycott, the obligation to carry out routine procedures.
Well, for example, there is a rule that states that an employee must familiarize himself with changes in the tasks assigned to him within three days. And someone does not do this regularly, explaining their actions by the inconvenience of the program and the incomprehensibility of the interface.
Therefore, a wonderful block appeared on my page “What do I need to do?”, In which it is popularly written what the employee should do today, in the next seven days, this month, and for one thing that his subordinates should do.
Block “What do I need to do?” great reduces the input threshold for working in the system.
Actions for the block can be specified in third-party plugins. For example, the KPI plug-in sets its own list of actions for the block: approval of advance payment, closing of the RFP, etc.
Also, actions for a block can be set based on standard Redmine task requests. You can select some request and define in it a field with a date by which the term of the necessary task will be considered. This approach provides great flexibility, since it turns any task request into a routine action. For example, it is easy to create routine actions of the form: “Check tasks”, “Give feedback on tasks”, etc.
Circles indicators and the block "What do I need to do?" cover the needs of employees in reporting changes.
A little earlier, we had notifications via the XMPP protocol in the jabber client, but the need for them disappeared over time. In addition, constantly poured messages of the form “There have been changes in a task like this” very quickly reach the user.
Hope this article is helpful. Try our Unread issues plugin . Any feedback is appreciated!