This section concerns the RedmineX Gantt plugin. Below, you will find some necessary information, but other than that, the plugin is self-explanatory.



For installation, please visit the installation section.


Introduction Features

To discover the power of RedmineX Gantt chart, we recommend watching the video below.

Redmine Gantt

Getting Started

  1. Create a project: go to /projects and create a project, switching on the Gantt module.
  2. Add members: in the members' tab, add all the members you will need to carry out the project.
  3. Allow Gantt: for all the roles present on the project, you will need to allow the Gantt chart in /roles.
  4. Start Planning: in the Project menu, click the Gantt link and start planning.
  5. Warning: the Gantt chart doesn't support a Firefox plugin called Logitech SetPoint which will result in the inability to scroll vertically. You need to turn the plugin off if you are using Firefox.

Creating Milestones & Tasks

You can create both milestones & tasks within the Gantt chart. Just click the plus icon in the project row and using the modal window, you can create a milestone or a task. Let's create a milestone by selecting Type = Milestone. Now that we have a milestone, let's put a task under the milestone. In the grid (left part of the Gantt chart), locate the plus icon in the newly created milestone row. This way, you will create a task and assign it to the milestone.

Redmine X Gantt: Add task

Gantt Add Task

Creating Sub-tasks

Within the Gantt chart, you can also create sub-tasks. Click the plus icon (without blue background) in the task row and you will create a sub-task. If you want to move a sub-task under a different parent task, you need to double click it and change the parent task in the modal. There is no drag & drop feature for this as it creates a bad experience when there are a lot of tasks.

Redmine X Gantt: Add task

Gantt Sub-task

Grid UI

  1. Project
  2. Task
  3. Sub-task
  4. Duration of the task in days
  5. Start & due dates
  6. External link to the task detail
  7. Add task / or sub-task icon
  8. The number of opened task

When clicking anywhere in the grid, the canvas on the right will focus on the respective task. All grid columns can be edited inline.

Gantt Grid UI

Gantt Controls

The RedmineX Gantt chart can be controlled by a set of controls. Let's go through them and explain what they do.

  1. Zoom level: controls the resolution of the canvas. You can zoom in to see days or zoom out to see a full-year view.
  2. Display: includes or excludes weekends from the canvas.
  3. Today: is a button that focuses the canvas on today.
  4. Collapse & Expand: are buttons that either collapse or expand all projects, tasks & subtasks in the grid.
  5. Documentation: displays these docs in a modal.
  6. Settings: goes directly into Gantt settings.
  7. Filters: the filters switch will reveal additional filters like priority filters & issue-like filters.
  8. Undo/Redo: if you make a mistake, these buttons will take you one step into the past or the future.
  9. Save: is hopefully self-explanatory. You have to save your progress.
Gantt Controls

Gantt Filters

The Gantt filters will reveal a set of filters. First, you can filter tasks by priority, and second, you can use the same kind of filtering as issues have. Meaning you can filter pretty much anything: project, tracker, milestone, date range, etc.

Gantt Filter

Gantt Tasks

On the canvas timeline, you can see tasks. The taskbars have different colors based on the priority of the task. Using filters, you can show/hide tasks with particular priorities. There are 3 types of tasks in Redmine: a regular task, a parent task & a sub-task. The Gantt chart mimics Redmine behavior so you can move (change start & due dates) of the regular tasks & sub-tasks. Parent tasks consist of sub-tasks and cannot be moved on the canvas.

Gantt Tasks

Tasks Relations

If you click on the circle at the end of the taskbar, you can drag it onto another task and create a relation. You can choose from Precedeses/Follows, Finish to Start & Relates. The Precedeses/Follows relation creates a fixed gap between tasks and you can set the number of days. This means that if you move the first task, the related task will also move. The Finish to Start relation does not have any fixed delay, meaning it's just a loose relation without any restrictions. In the task detail, the relation will be mark Finish to Start. If you choose the Relates relation, this creates just a loose relation without any restrictions and without any indication in the task detail.

If you want to delete a relation, just double click the visual bond and select Delete.

Gantt Tasks Relations

Tasks Detail

If you double-click the taskbar, it will open a modal where you can edit some basic task parameters, and using the external link icon, you can get into the task detail. This is not meant as a replacement for the regular task detail, therefore there are not all parameters of the task. It is meant for quick editing and choosing the parent task because the RedmineX Gantt chart does not have a drag & drop task parent change.

Gantt Tasks Detail


In the RedmineX Gantt chart, a milestone is represented by a dark grey diamond. You can create a milestone the same way you create a task (see point 4). Just click on the plus icon in the project row and choose Type = Milestone. You can drag any task past the milestone, but it will generate a warning message in the top right corner.

Gantt Milestone

Critical Path

If you are using the project level Gantt chart, you can see a switch Show critical path. The critical path is a project management method defined as follows:

"Critical Path (CP) is defined as the longest estimated sequence of interdependent activities that should be accomplished on time to ensure completion of the project on due date".

In other words, if you have overlapping tasks at the end of your project that are in relations and can't be carried out in parallel, you will get a visual warning. All tasks in the critical path will be marked red and the manager will need to spread the task in time better.

Gantt Critical Path

Moving Projects

Moving the whole project including all sub-projects, tasks & sub-tasks is impossible in Redmine. Or, it was impossible up until now. Some of our clients use the Gantt chart just for this sole feature: you can grab the project with a mouse, and drag it into the future (or past for that matter). This feature will save a great deal of time if you often change the due date of the whole project. In the settings, you can disable sending notifications as normally Redmine would send the same number of e-mail notifications as there are tasks.

Gantt Moving Projects

Gantt Exports

At the very bottom, you can export your Gantt chart into PDF, PNG, MS Excel & MS Project.

Gantt Exports

Gantt Public Holidays & Per-user Calendars (new from 2.0.0)

From version 2.0.0, it is possible to work with public holidays and per-user calendars. This setting is carried away in the RedmineX Assets plugin, shared with Gantt & Resources at settings/plugin/redmine_x_assets. First, you need to define a tracker for personal holidays, or vacations - "Task tracker for personal holidays".

Gantt Public Holidays

This feature works as follows: since Redmine doesn't have any native "vacations entity", we chose to base this on a tracker. You need to create a project dedicated to vacations, create a tracker that is gonna be used as a vacation task and set the tracker in the RedmineX Assets. The project needs to be a different project than your Gantt project, as you don't want vacation tasks to appear as task boxes. Now, anyone wanting a vacation will just create a task with a respective length and save it into the "vacations project". On the Gantt canvas, any vacation or public holiday will appear the same way weekends do, as a striped box:

Gantt Public Holidays

Default Settings

Now, we need to set how Gantt behaves in default. Under Default settings of holidays and working days, you need to choose your default company country, say Taiwan. In the Selected holidays column, you will have available public holidays. If for some reason you don't want to use all of them, just move the ones you don't want into the Available holidays column.

Gantt Public Holidays

Non-working Days, Or Weekends

In the RedmineX Assets plugin, you can either inherit Redmine settings for weekends by checking the Inherit non-working days from Redmine checkbox or create your own using the Mon-Sun boxes at which point the checkbox need to be unchecked.

Gantt Public Holidays

Per-user Exceptions

Now that we have set the default behavior, we can make per-user exceptions. In User/Group settings of holidays and working days, find a user that is e.g. from a different country and click ADD. In our case, it's Bruce Willis.

Gantt Public Holidays

Now all you need to do is click on the user name and expand the options. You will see the same elements as above as this is just a user-based override of the default settings. All you need to do is choose a country, state if applicable, disable the public holidays you don't want and either inherit the working days from Redmine, or set a custom working schedule if the user works e.g. a half time.

Gantt Public Holidays

In our case, Bruce is from the US, state California, no special exceptions in the public holidays' department and no special exceptions regarding the non-working days. Now you are all set and ready to use Gantt & Resources public holidays, per-user calendars, and vacations.

Gantt Public Holidays