Skip to content

kulesa/redmine_better_gantt_chart

Repository files navigation

Redmine Better Gantt Chart Plugin

<img src=“http://travis-ci.org/kulesa/redmine_better_gantt_chart.png” />

The plugin improves functionality of Redmine Gantt Chart.

Features

  • Issues on Gantt chart connected with arrows. Handy!

  • Relations info added to issue tooltip.

  • NEW: smart sorting of issues on the chart. Now issues are sorted just like you’d expect them to.

  • NEW: rescheduling takes into account weekends, if this setting is enabled

  • Fixed rescheduling of related tasks if due date of dependent task changed to an earlier date.

  • Fixed sorting of issues on the chart as per www.redmine.org/issues/7335

  • Added validation: start date of child issue cannot be less than start date of the parent, if parent depends on other tasks

  • Fast rescheduling of related issues. Now you can have hundreds of related issues with many levels of hierarchy, and expect they’ll be rescheduled just almost as fast as if you were in MS Project. And it will not cause ‘stack level too deep’ error (not kidding)!

Compatibility

Tested with Redmine versions: 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.2, 1.3, 1.4, 2.2, 2.3, 2.4

Installation and Setup

  1. Go to releases page: github.com/kulesa/redmine_better_gantt_chart/releases

  2. For Redmine 2.x above download version 0.9.0 or above. For Redmine 1.x download version 0.6.1.

  3. Go to your #{RAILS_ROOT}/vendor/plugins directory

  4. Unzip downloaded archive and rename extracted folder to ‘redmine_better_gantt_chart’ (if extracted folder has other name).

  5. Restart Redmine

You should now see the plugin in Administration -> Plugins. The plugin does not require any database migrations.

Connection arrows are rendered in SVG via Raphael.js library. This should work in any modern or not so modern browser, including IE6.

Usage

Relations

  1. Open an existing issue in Redmine

  2. Click Add in Related Issues section, select type of relation ‘Follows’ or ‘Precedes’ and enter # of the related issue.

  3. Save changes.

  4. Go to Gantt tab.

Smart sorting

By default issues on the chart sorted uses improved algorythm. However you can switch back to default Redmine sorting by disabling ‘Smart sorting’ plugin setting.

Rescheduling

Changing due date of an issue causes rescheduling of related issues. By default, any day of week is a working day, and new start and due dates can fall on weekends as well as on other days. To change this, go to plugin settings and disable *Work on weekends* checkbox. This will turn on support of working days. So far only normal weekends supported; you need manually change dates falling on holidays.

New setting *Work on weekends* introduced in v.0.6.

Problems and Limitations

  • Currently only ‘follows’ and ‘precedes’ relations are used to calculate schedule of dependend issues. Other relation types are rendered on the chart, but they do not change schedule of related issues.

  • Only ‘finish-to-start’ dependency type is available.

  • One issue can precede many issues but, can be preceeded with only one issue.

Helping out

If you notice any problems, please report them to the GitHub issue tracker here. Feel free to contact me via GitHub or Twitter or whatever with any other questions or feature requests. To submit changes fork the project and send a pull request.

Running specs

To run specs,

  • go to the plugin folder, uncomment content of Gemfile, run ‘bundle`

  • run ‘bundle exec rspec`.

Contributors

Thanks to Jeremy Subtil (BigMadWolf) for contributing a patch for displaying connections between cross-project related issues.

License

Better Gantt Chart is released under MIT license.