Different queues have different start and end priorities and days until due.
When a task is moved from one queue to another the priority should be calculated differently but the start and end priority along with the number of days until due follows the ticket. This is possible the best solution for some but for us this was not the best.
Therefore we have made an Action (rt3/lib/RT/Action/UpdatePriority.pm) that updates the priority according to the queue. The script should be stright forward and easy to understand but we are not responsible for any harm of your system and so on..
We have different queues reflecting the priority of the case. The queues have names like '01 day', '07 days', '14 days' and '30 days'. The first queue start its priority at 50 and the rest at 0. Tickets in the '07 days' queue have after 7 days a priority of 100 and after 14 days a priority of 14. Likewise tickets in the '14 days' queue have a priority of 50 after 7 days, 100 after 14 days and 150 after 21 days and so on.
Thereby moving a ticket from one queue to another changes the priority and the rate at which it increase.
The script is run each night but it will only change the priority when needed so one can run it every minute without generating to much noice in the history of the tickets.
NB: mark that this script does not update the due-date. Should not be difficult to modify though.
The script was written by Marting Setek.
John Enok Vollestad / Norwegian Computing Center