Redmine Schedule Plugin a precise tool for resource management

The core function of each issue tracking system is to effectively manage tasks in projects. Unfortunately, defining issues in such a system can be a painful process. One task may hinder others  making the whole work plan more prone to all kinds of changes. If your team is working on more than one project, a proper tasks assignment without having the overview of all other projects is simply impossible. Due to that fact we have created our own schedule plugin, which is not just another calendar tool. We have combined it with an already existing tickets management system, and added a few improvements to make tasks creation and assignment easier than ever. Check this out!

Our planning horror

After each sprint planning meeting we have tasks for around two weeks. In a four person team this means eight weeks of a man work. Multiplying it by five days and eight hours (each day has eight working hours) this gives us 320 hours. Assuming that during such sprint planning we have tasks that take approximately 10 hours each which gives us 32 tasks to be added into our project management environment. Currently this means around 12 clicks and some typing to write task subjects. Let’s say that creating one task takes 3 minutes. If you multiple this by 32 issues in sprint it means that you have to spent around 100 minutes on creating issues… Seriously? I’ve noticed, that this is the worst task that a project manager is responsible for. They hate it. But the real horror starts when your team is working on two or more projects simultaneously. Then, each ticket has to be created taking into consideration the tasks related to other projects that a team member is assigned to. That was really painful when you already  planned something to be done before the end of the week but suddenly you are informed by other manager that he already “booked” this person for one day… and the whole plan collapses and requires thorough change.

Our solution is to have a clear view on resources per project

Having faced such issues we (me, Jakub Zalas and Marek – our Ruby on Rails developer) came to a conclusion that we need something similar to Schedules Plugin created by Gossamer Threads Inc. (developed by Brad Beattie). Unfortunately this plugin enabled us to specify hours without the ability to reference the planed hours to tasks in particular sprints. Without this connection we could plan but we were unable to track our progress inside the project. So we used the Schedule approach and added a functionality to reference tickets to planed hours for a specific day and a developer. Schedule for many users per many projects

Referencing issues to planned hours allows us to precisely define what should be done and when

As you can see in the picture below, you are able to specify how many hours a particular person should work on a certain day but also you can define what exactly should be done. Our plugin also checks if the planned hours are not exceeding the available/remaining hours for the day. Scheduling issues

Adding issues directly into the schedule without jumping between pages

To speed up our planning process, we didn’t want to leave schedules view. This way we could keep an eye on all projects where our team is involved and plan hours for each day. We added a quick issue feature to our schedule pop-up window. This is like a New Issue panel in a pill. As you can see in the picture below, it contains the most needed fields to create a new task. One of the fields -“assigned to” is automatically selected to mark the person by whom the schedule is being edited, but it allows selecting any other project member. This new possibility combined with projects schedule view extends the feature of creating quick issues for many projects, form one place. quick issue

Spreading issues over a few days is easier

Sometimes you have to create bigger task. For instance, for 30 hours. Of course you can say that a specific person should work on it eight hours per day till he/she finishes it. Sometimes this is not the smartest way because there are circumstances that may delay the tasks’ completion. Of course, you can divide one big task into smaller ones but I think that it is smarter ito agree with a developer that, for instance, he/she works  one day for eight hours on a given task, the second day 4 hours and then we have to wait for someone to finish. This kind of division is possible in our plugin! You can precisely define how many hours each day person should spend on a specific task. Schedules chart

We improved our planning significantly!

Since we started using schedules plugin in our company our managers started to love it! They are very pleased by the fact that they can plan their projects in one place without having to jump between different views/pages. Even a simple ticket adding process started to be more time efficient and reduced the time spent on this trivial thing by 50%! Additionally, one of our Development Managers – Jakub Zalas, concluded that he can make one step further and after the sprint planning meeting team members are filling in the schedules themselves. This way he saves a lot of time and still he has clear view on the whole sprint planning. Please share your opinion and experiences with us by leaving a comment below. You can also meet with us on Twitter: @GOYELLO.

Aspire Blog Team

Aspire Systems is a global technology services firm serving as a trusted technology partner for our customers. We work with some of the world's most innovative enterprises and independent software vendors, helping them leverage technology and outsourcing in our specific areas of expertise. Our services include Product Engineering, Enterprise Solutions, Independent Testing Services and IT Infrastructure Support services. Our core philosophy of "Attention. Always." communicates our belief in lavishing care and attention on our customers and employees.

54 comments

  1. I have troubles when installing;

    1) download files
    from “Download” button on http://github.com/GOYELLO/redmine-schedules-plugin , I only got app folder. And could not install any.

    2) locale of Poland (pl.yml)
    got sources by ' git clone git://github.com/GOYELLO/redmine-schedules-plugin.git '
    then place files as 'vendor/plugins/redmine_goyello_schedules' , then migration by
    'db:migrate_plugins RAILS_ENV=production' , got Error.
    ———-
    rake aborted!
    can't convert Hash into String
    ———

    I tried –trace and/or several methos, and finally found the langage file is wrong.
    The 'pl.yml' in 'vender/plugins/redmine_goyello_schedules/lang' has a wrong first line as
    ———-
    pl:
    ———-

    So, I delete that first line, but got another error;

    ———-
    rake aborted!
    “?dzony vs. harmo”…
    ———-

    Then copy from 'vendor/plugins/redmine_goyello_schedules/conf/locale/pl.yml' with first line deleted,
    and this time make it fine.

    Please fix these problems.

  2. I have been looking for something like this to manage the projects and people using Redmine. I've installed your version of the Schedules plugin and managed to get around the issue of the broken translation files. However, I am finding that the Ajax pop-up windows aren't working properly.

    When I edit a schedule and click in a timeslot, it brings up a pop-up window by the code for the pop-up Schedule Editor is getting an Error 500. So all I see in the pop-up window is the error message. If I click on a project that I have no tasks assigned to me, then the Schedule Editor displays correctly, but the Quick Issue doesn't work.

    I'm keen to get this working as it looks like a good idea!

  3. I have been looking for something like this to manage the projects and people using Redmine. I've installed your version of the Schedules plugin and managed to get around the issue of the broken translation files. However, I am finding that the Ajax pop-up windows aren't working properly.

    When I edit a schedule and click in a timeslot, it brings up a pop-up window by the code for the pop-up Schedule Editor is getting an Error 500. So all I see in the pop-up window is the error message. If I click on a project that I have no tasks assigned to me, then the Schedule Editor displays correctly, but the Quick Issue doesn't work.

    I'm keen to get this working as it looks like a good idea!

  4. Hi James,

    we will analyse your issue this week. Currently we are before our internal release of a new plugin. On Thursday we will get back to you. In our local version the plugin works fine although I remember that we are displaying some additional data in our schedule editor window. Maybe here is an issue. Which version you use? Could you send to us your current Redmine? (without DB of course but with all plugins you have enalbed. Maybe there is some conflict).

  5. I'm using Redmine 0.84 with the timesheet plugin and a plugin I've written myself (to handle signoffs for a task). I'm using the release of your plugin from GitHub and have just tested it on another instance of Redmine and found the same issue. If you send me your Email address, I'll send you the files offline.

    I've managed to get more details errors:

    1. When trying to get the schedule for a project with tasks assigned to me
    NoMethodError in Schedules#scheduled_tickets
    Showing schedules/_schedule_issue_entry.erb where line #3 raised:
    undefined method `css_classes' for #<Issue:0x2b50df4>

    Extracted source (around line #3):
    1: <%#
    2: # To change this template, choose Tools | Templates
    3: # and open the template in the editor.
    4: %>
    5: <% @i = 1 if @i.nil? %>
    6: <tr id=”row_<%= @i %>” class=”<%= cycle('odd', 'even') %> <%= schedule_issue_entry.css_classes %>”>

    2. When using the Quick Issue:
    Trace of template inclusion: /schedules/_scheduled_issues_table.erb, /schedules/_scheduled_ticket.erb

    NoMethodError in SchedulesController#render_quick_issue
    undefined method `roles_for_project' for #<User:0x2b0dc34>

    Do I need to install the Schedules plugin as well as yours?

  6. Hello Maciej
    I am tryin you plgin and looks great, I had some issues during the install that I solved as follows
    – I had to change the name to the plugin folder to redmine_goyello_schedules
    – I had to change the line 24 of redmine_goyello_schedules/app/views/my/blocks/_my_schedule.html.erb from redmine_schedules to redmine_goyello_schedules

  7. When I trying to edit schedule, I have a some error in my project.log:

    ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
    /vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb:86:in `verify_authenticity_token'
    /vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in `send'
    /vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in `evaluate_method'
    /vendor/rails/activesupport/lib/active_support/callbacks.rb:161:in `call'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:191:in `call'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:591:in `run_before_filters'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:577:in `call_filters'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
    /opt/csw/lib/ruby/1.8/benchmark.rb:293:in `measure'
    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
    /vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in `perform_action_without_caching'
    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
    /vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send'
    /vendor/rails/actionpack/lib/action_controller/base.rb:529:in `process_without_filters'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
    /vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process'
    /vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in `handle_request'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in `dispatch'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `synchronize'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `dispatch'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in `dispatch'
    /public/dispatch.fcgi:15:in `process_request'
    /vendor/rails/railties/lib/fcgi_handler.rb:78:in `process_each_request'
    /opt/csw/lib/ruby/site_ruby/1.8/fcgi.rb:612:in `each_cgi'
    /opt/csw/lib/ruby/site_ruby/1.8/fcgi.rb:117:in `session'
    /opt/csw/lib/ruby/site_ruby/1.8/fcgi.rb:104:in `each_request'
    /opt/csw/lib/ruby/site_ruby/1.8/fcgi.rb:36:in `each'
    /opt/csw/lib/ruby/site_ruby/1.8/fcgi.rb:609:in `each_cgi'
    /vendor/rails/railties/lib/fcgi_handler.rb:77:in `process_each_request'
    /vendor/rails/railties/lib/fcgi_handler.rb:76:in `catch'
    /vendor/rails/railties/lib/fcgi_handler.rb:76:in `process_each_request'
    /vendor/rails/railties/lib/fcgi_handler.rb:50:in `process!'
    /vendor/rails/railties/lib/fcgi_handler.rb:24:in `process!'
    /public/dispatch.fcgi:25

    Where is a problem?

  8. Hi there,

    nice approach. yes it seems as this is the “the missing link”. we use the schedules plugin and have the same problem. we work on up to 10 porjects at the same time, and also have some support projects in redmine.

    does your plugin requires to uninstall other schedules pluings that we have installed? we use redmine version 0.8.4.

    do you offer any commercial support for it?

    regards,
    daniel

  9. Hello,

    I installed the schedules-plugin, and the removed for testing your extended version. I had to drop the tables “schedules_*” and migrate. It ran right, but when I have to fill the hours per project, the schedules editor gives me the following error on the popup layer:

    Not Found
    The requested URL /schedules/scheduled_tickets was not found on this server.

    It seems that the dispatcher is not working, but I don't know the reason. The same happens when switching the week on the “Bulk schedule”:

    Not Found
    The requested URL /account/schedule/1/edit was not found on this server.

    I am using Bitnami stack with redmine 0.8.7. Hope that someone can help me.

    Thank you
    Best regards

  10. Hello,
    I have still the same problem as Iker has…
    ——————————————————————————————————————–
    Schedule editor
    ×
    Not Found
    The requested URL /schedules/scheduled_tickets was not found on this server.
    ————————————————————————————————————–
    I only installed the plugin on the known way.
    Is there any solution available?
    Thanks in advance

    kind regards
    Thomas

  11. Hello
    I have still the following problem:
    Not Found
    The requested URL /schedules/scheduled_tickets was not found on this server.
    I installed Bitnami Redmine Version 09.02 and Goyello Plugin from 15.02.2010..
    Is there anybody mwho can help me?
    Regard Thomas

  12. Hi, I've just installed redmine-schedule-plugin on my 0.9.2 redmine. Configured, edited availibilty hours per user/day. But in the editing schedule page when I click in a textarea to add issue opens a popup with this error message:
    Not Found
    The requested URL /schedules/scheduled_tickets was not found on this server.

    Where I wrong? Thanks.

  13. Hi Thomas, have you resolved this issue? If so, could you explain me how to fix it?
    Thanks a lot..

    strexy

  14. Hi Strexy, I am sorry but I was not able to fix the issue. The problem is still existing. There was no helpful hand showing me the right way. To have any solution I installed the redmine schedule in combination with charts and graphs plugin. This is working and is not so bad. If you will find a way to fix it, please let me know. Thanks in advance.
    Thomas

  15. Hi,

    Thanks a lot for having made this plugin compatible with Redmine 0.9.2
    Unfortunately, it seems there are still important bugs which make this great tool very difficult to use now. I think of broken “quick issue” and “unavailable hours” feature which are broken.
    Do you have any plans to fix them?
    Thanks for your feedback!
    Guillaume

  16. Hi, I was trying to use the schedules plug in. I am getting the following error.
    Not Found

    The requested URL /schedules/scheduled_tickets was not found on this server.

    Do we have a fix for this isssue? or am I missing something.

    Pls advice.

  17. Can someone confirm that this plugin is working for you.

    I am not sure if I am wasting my time trying to make it work.

    I tried enough…

  18. I’m having the same problem … “The requested URL /schedules/scheduled_tickets was not found on this server”.

    Can anybody help?

  19. can you kindly provide the link where i get the fully package download of this plugin

    i am using redmine 0.9.0

  20. Hi can you kindly help us with the latest schedule plugin path which is available and also let me know it works for 0.9.0.

    Jillujesu

  21. Are there any plans to add drag-and-drop support so that rearranging already scheduled resources becomes simpler?

  22. Hello,
    i am using Redmine 0.9.4
    When installled i get this error when i try to edit schedule:
    Internal error
    An error occurred on the page you were trying to access.
    If you continue to experience problems please contact your redMine administrator for assistance.
    I have installed in vendot/plugins and changed the folder name correctly.
    Roles and permissions are set up and schedule is active in my projects.
    I have deleted the original redmine_schedule folder

    NEED HELP…
    thx

  23. Hello,
    i am using Redmine 0.9.4
    When installled i get this error when i try to edit schedule:
    Internal error
    An error occurred on the page you were trying to access.
    If you continue to experience problems please contact your redMine administrator for assistance.

    I have installed in vendor/plugins and changed the folder name to redmine_goyello_schedules
    Roles and permissions are set up and schedule is active in my projects.
    I have deleted the original redmine_schedule folder

    NEED HELP…
    thx

  24. Just a quick question: how do I use the “unavailable” field when editing my schedule? I haven’t found a way to use it and it’d be great to have a way to block some hours, i.e. for meetings.

  25. Hi,

    I have installed the current redmine HEAD with your schedules plugin.
    After the installation process i have activated the module in my project and set the permissions.

    Then I have set my own availability ( i have the “manager” role in
    the project, but cannot change the availability of others users … )
    but i find a problem when i try to assign a task : When i try to do that a pop up window appears asking for a passwordfor “Redmine Api”. I have tried with every password i can imagine but nothing seems to work. After some tries redmine log me out.

    Could you please help me?
    Thanks

    P.S.: I have already fill out an issue on your github page there you can find some logs (https://github.com/GOYELLO/redmine-schedules-plugin/issues/14)

  26.  Hi

    Really like your plugin. Seems to work quite nice in my setup (Redmine 1.1.3 on Windows). However, it seems I can only assign quick issues to a schedule. How do you assign an existing issue to a schedule? Could you explain that please?

    Thanks!

    Admar
    email: a dot schoonen at metatronics dot nl

  27. Hello. I’m using Bitnami Stack with Redmine 1.0.2 (MySQL) and when i try to use Schedules plugin after migrate database and restart the redmine stack service, the plugin don’t work because the migration don’t create the tables at database…
    Can you help me abou that?

    Best regards anc congratulations for you great puglin

    1. Hi Art,

      you can find it here https://github.com/GOYELLO/redmine-schedules-plugin however we did not port it to the newest Redmine version. Feel free to post your patches on github. 

  28. Perfect! This is the thing that Redmine doesn’t does great.. to help the Project Manager plan the next steps, specially with many workers in the Team!

  29.  We’re looking at using this in production but really need a way of filtering the users listed in Bulk Schedule/All Schedule by Role or maybe Group.

    Are there any plans to do this?

  30. Good commentary , For what it’s worth , if your business has been searching for a CA FTB 568 , my wife discovered a template form here http://goo.gl/hXW7HL

  31. My children needed NJ DoR NJ-REG several days ago and located an excellent service with lots of form templates . If others need to fill out NJ DoR NJ-REG too , here’s http://goo.gl/9f8bEz

Comments are closed.