Easy Gantt PRO
Easy Gantt is a specialized bar chart used to provide a graphical overview and schedule of all tasks (issues) or to indicate the work elements and dependencies of the project. This is a chart with rectangular bars. The length of each bar is proportional to the time value necessary for each task on the work breakdown structure (WBS). You can compare two or more task durations very easily on the Gantt chart. The final product illustrates the schedule of a project. Easy Gantt is fully compliant with IPMA & PMI Project Management methodology standards.
Table of contents
Easy Gantt is intended to be used mostly by:
- Project Managers
- Line Managers
- IT Managers
- Small Business Owners
- Project Portfolio Managers
Why is Easy Gantt important
The project's summary and terminal elements, which combine to form the project's internal structure, are shown in the Gantt chart. It will also depict the dependencies of various tasks (issues) within the project. The chart can illustrate the start and finish project terminal elements in project management. It can also show summary elements and terminal dependencies. The smallest task tracked as part of the project effort is known as a terminal element. Gantt chart represents the tasks in most modern project scheduling packages.
The way to create this chart begins by determining and listing the necessary activities (tasks, issues). In the next step, customize your chart with specific columns, timeline units, filters etc. Then list which items depend on others and what activities take place when. For each activity, list how many man-hours it will require (estimated time) and who is responsible (assignee). Lastly, determine the throughput time (start date, due date). This technique's primary advantage is its good graphical overview that is easy to understand for nearly all project participants and stakeholders. Its primary disadvantage is its limited applicability for many projects since projects are often more complex than can be effectively communicated (visualized) with this chart.
What are the main benefits of Easy Gantt
- The easiest way for planning projects including all the associated tasks, milestones, relations, delays etc.
- The best visualization of the whole project or multiple project management
- Huge time savings during project planning phase
- Great overview of progress during project execution phase
- Broad customization abilities (filters, columns, timeline, custom views such as default, baselines, critical path and resource management - requires separate plugin)
- Large involvement of drag & drop feature reduces the need for keyboard control (you can move tasks, projects and milestones on a timeline and thus plan them, you can also create relations between the entities just with your mouse)
How to get Easy Gantt for Easy Redmine and Redmine
In Easy Redmine, the functionality is provided already in the base so there is no need to purchase and install anything else than the project management software. For Redmine 3.2+, Easy Gantt PRO is available as a separate plugin to purchase (https://www.redmine.org/plugins/easy-gantt).
Installation and update of Easy Gantt for generic Redmine
- Do NOT install plugins as a ROOT user
- First, delete all old Easy Gantt plugins if exists (plugins/easy_gantt*)
- Copy all unzipped plugins into REDMINE_ROOT/plugins
$ bundle install
(or bundle update)
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
- Restart server
Requirements for successful installation
- Redmine version: 3.2+
- Ruby version: 2.1+ (recommended 2.3.)
- Database type: MySQL (recommended), PostgreSQL
Follow installation procedure in #install. Verify whether the installation log doesn't contain any errors. If it does, try to solve it according to the description, or contact email@example.com with the error section of the log attached.
Installation on Bitnami
Bitnami is not tested nor guaranteed. If the installation fails, run manually:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Global level of Easy Gantt
Easy Gantt is available both on the global level and the project level. To access it from the global level, go to More > Easy Gantt as shown on the image below.
Easy Gantt on the global level will most suit the users who need to work with entire project tree of Easy Redmine including all the associated tasks, milestones, relations, delays etc. on a single screen. The main advantage is, therefore, the unnecessity to switch between individual projects when need to work with (or have an overview of) multiple ones in the same time. On the other hand, a certain disadvantage may be the complexity that may act to the detriment of clarity and speed so it's recommended to use the global view only when necessary.
Working with multiple projects (Gantt over Projects)
The global level of Easy Gantt provides you with a unique opportunity to manage your entire project portfolio from one screen. Gantt over Projects shows whole projects as individual bars so you can drag & drop them and thus change the timing of the projects. Naturally, beginning and end of a project bar represent start date and due date of the particular project on the Gantt chart (calculated from a start date of the first task and due date of the last task). You can also drill projects into detail from here. Just click on "+" icon next to the project name and see all the tasks (issues) and milestones (versions) - you can drag & drop these too. Gantt over Projects also shows you weighted project completion (as the colored pieces of bars) based on real weight (estimated duration) of the tasks (issues) and their % completion. As you can see, some project bars are darker than others. The darker ones represent project templates, while the lighter ones are standard projects. Settings of project and task visibility can be modified in Gantt settings (upper right button) as illustrated below.
What "Show soonest start" checkbox does
When ticked, this option shows lowest valid dates for tasks defined by relations or parent. As illustrated below, the square bracket indicates the lowest date you can move the task to, but not any further because it's related to another task that precedes it.
What happens if a project is moved in global Easy Gantt
Moving with a whole project in global Easy Gantt will cause all associated tasks, milestones and subprojects change their dates accordingly. Tasks are shifted to the end of the associated milestones. No cross-project relations are affected, such as precedes-follows or parent-child. Shared milestones are not affected as well, therefore, they might become invalid if they stay outside the range of the moved project. No system notifications are created nor any change can be found in journals.
Color schemes by project priority on the global Easy Gantt
If you need to make specific color schemes by project priority on the global Easy Gantt, the first thing you need to do is create categories for project priority. This can be done in More > Administration > Categories > Project priority as shown below. For each priority status, you define a background color.
Then you need to set a priority on particular projects. You can do so in project settings as illustrated below.
When set, you already see the defined background color schemes on the global Easy Gantt as shown below.
Project level of Easy Gantt
Now, let's have a look at Easy Gantt on the project level. Before you can access it from a project, you need to activate the particular module in project's settings as shown in the image below.
Immediately after activating the module, Easy Gantt tab will appear in the top menu of the particular project. Click on it and Easy Gantt will open. Using the functionality on the project level is a better choice for the users who need to work on the particular project only so there is no need to see entire project tree as on the global level. Another difference is that Easy Gantt on the project level is more customizable as you can easily switch between various types of view such as default, baselines and critical path, which is not possible on the global level. If you open a parent project in Easy Gantt, also its subprojects and their tasks are displayed in addition to the selected project.
How to set up permissions for Easy Gantt
The permissions for Easy Gantt can be set up in More > Administration > Roles and permissions. Please note that some permissions are dependent on others. For example, Edit button will only be available when permissions "View EasyGantt" and "Manage tasks relations" are enabled.
How milestones are displayed in Easy Gantt
An open milestone is always shown under the particular project where it's defined. Moreover, an open milestone is displayed above visible tasks that are linked to the milestone. This also concerns the situation when a milestone is shared with more projects which include tasks linked to the milestone on another project. Closed milestones can be found only in project's Settings > Milestones.
When a shared milestone is displayed on a non-home project in Gantt chart, you will see it twice and in a slightly different color than standard milestones - above the project name is the original shared milestone (can be moved by drag and drop) and below the project name is its mirror linked to the particular task of the project (cannot be moved by drag and drop).
Users can be allowed or prevented from moving tasks beyond the associated milestones. To configure this setting, go to More: Administration: Settings: Task tracking: (un)tick the checkbox "Allow to set task due date after milestone date (milestone will be moved accordingly)" (tutorial). After moving a task beyond its milestone and saving the change, the milestone will move to the task's new due date.
In project management, a baseline is the project's original plan. This original plan is visualized in order to compare it to the current project plan. Easy Gantt PRO offers this feature of highlighting the baseline plan. Baseline plan does not change when the schedule is edited. Redmine Gantt chart allows you to create more baselines which thus work as the snapshots of the project plan. Before start using Baselines, you need to have the module enabled in your project settings as shown in the image below.
Now, go back to Easy Gantt and you will find the Baselines button in the upper right corner of the chart. Click on it, select Create and enter the name of your baseline. Then you see that all the tasks (issues) and milestones (versions) on the Gantt chart have split in two, where the upper ones are your current ones and the lower ones are the original ones from the time of creation of the baseline. This way you have a great overview of all the time shifts you made at any point in time.
In addition to the graphical representation of baselines on a timeline, you can also find information about baseline start date and due date within the particular information columns on the left side of the timeline (as illustrated below). This additional information will come in handy when you need to compare the current start dates and due dates with the original plan (baseline).
Critical path of the project
A critical path is a sequence of tasks (issues) that cannot be delayed or else the whole project would be delayed. Also, it shows the shortest time that the project can be completed. A task within the project is considered critical if its due date cannot be delayed since it would directly affect the project completion date. Easy Gantt PRO shows this sequence after clicking the button "Critical Path."
An activity on the critical path cannot be started until its predecessor activity is complete; if it is delayed for a day, the entire project will be delayed for a day unless the activity following the delayed activity is completed a day earlier. For proper function of a critical path, the project should have just 1 starting and 1 ending task and the tasks (issues) should be connected with relations.
Settings of the Critical path can be modified in global Gantt settings, which is accessible via a small toothed wheel at the top right. The following options are available.
Parent-child tasks visualization
Making parent-child relationship was never so easy. Just drag a task by clicking on its arrow symbol and drop it on any other task, immediately making it a subtask of the selected task. The same pattern is applicable to projects and subprojects. Moreover, this way you can quickly move tasks (issues) from one project or milestone (version) to another one. Parent tasks are visualized on the Gantt chart with their characteristic breakpoints as shown in the animation below (click to open gif).
Moving parent task with/without subtasks
Moving tasks and subtasks (drag and drop on a timeline) in Easy Gantt can be done for entire parent task's tree structure at once (i.e. parent task with its subtask), or you can move parent independently on its subtasks. The first case occurs when a parent task's tree structure (or milestone with associated tasks) is collapsed so you cannot see the list of its subtasks. When moving a collapsed parent task (or milestone with associated tasks), its subtasks are moved accordingly. The second case occurs when a parent task (or milestone with associated tasks) is expanded so you can see the list of subtasks and move parent independently of its subtasks. This case does not apply when parent task's start/due dates are calculated from its subtasks, which can be configured in Administration » Settings » Task tracking » Parent tasks attributes. When moving a parent task with subtasks, a milestone linked to the subtask or a delay of a subtask link is exceeded, a further motion is not allowed.
Drag & Drop Tasks Relations with Delay
Related tasks (issues) can be simply linked using drag & drop functionality. Just switch to edit mode and when moving the cursor over a task, adjustment features appear. Move the mouse to the end of a task, click on the red semicircle and hold on. Now drag to another task and drop it there. The two different tasks just become related tasks with predecessor/follower type of relation. Delay is normally kept by Gantt as a number of days between tasks. When you move the successor into the future, the delay is increased. To reduce the delay (and move the following task closer to its predecessor at the same time), you can "unlock" the relation by clicking on it and then drag the follower or right-click the relation where you can set the delay directly. If you want to move the predecessor to the future and utilize the reserve of the delay, unlock the relation again and the follower will not move. The number above the relation without brackets is the delay Gantt keeps during motion. It is possible that there is also a number in brackets that corresponds to the actual length of the relation.
Flexible and fixed delay in task relations
When tasks are connected via a relation with delay, you can decide whether this delay has to be flexible or fixed while dragging related tasks. The flexible delay is colored green and means that moving a task will not affect the position of its related tasks in the Gantt chart = their start dates and due dates will remain unchanged but the delay will change accordingly. The fixed delay is colored orange and means that dragging one task will automatically move all related tasks in order to preserve the original delay between them, and their start dates and due dates will move accordingly. You can switch between flexible and fixed delay simply by clicking the left mouse button on the relation line itself. This action will be marked by the color change of the relation line from green (flexible) to orange (fixed) or vice versa.
Types of task relations (links) in Easy Gantt
In Easy Gantt, you can create and visualize 4 standard types of relations (links) between tasks using the drag and drop feature (analogical procedure as previously). They are as follows:
Corner situations of task relations
Cross-project relations cannot be visualized.
The only types of relations that can be visualized are predecessor/follower (green line) and related/blocked-by (blue line).
Start-to-start (SS) relation is correctly preserved only when the relation is created/changed in Easy Gantt, not from the task update window.
It's not allowed to add a relation between a parent task and its subtask
Between two tasks can be no more than 2 relations (start-start, finish-finish)
Any combinations of relations leading to a cyclic sequence of tasks (looping) are not allowed. This includes attempting to create a relation with any task that has a parent.
When moving a task on the timeline, relation types start-to-start and finish-to-finish can adequately change the start/due dates of a related task only when doing so in Easy Gantt, not by editing the task using any other tool.
New task and milestone right from Gantt
New task (issue) or milestone (version) can be created by click on the "New" button and then New task, resp. New milestone button. Moreover, New task button is always present at the upper right corner of the screen. In order to preserve good overview of milestones, Easy Gantt shows on the timeline only the milestones that are defined within the currently opened project(s) as well as shared milestones that are used by tasks. Unused shared milestones are not visualized on the Gantt chart.
Drag & Drop Update of Tasks' timing (Start Date, Due Date, Duration, Completion)
Timing attributes of the tasks (issues) can also be edited just by using drag & drop functionality. Switch to edit mode, move cursor over a task and you have several choices to do: 1) move the task on the horizontal line to change its start date and due, 2) stretch or shrink the task to change its duration, or 3) move the rider of the task to change its % completion.
Drag & Drop Update of Milestones' Timing
Just as easy is to change the timing of a milestone. Just drag a milestone, move it across the timeline and drop it on the required due date.
Drag & Drop Sorting of Tasks to Milestones
Easy Gantt allows you to link tasks (issues) with milestones (versions) in just a few clicks. Just drag a task from the list and drop it on the milestone to be linked with. Unchecking the option "Allow to set task due date after milestone date" in More > Administration > Settings > Task tracking will cause that when a task is associated with a milestone, you are unable to move the task beyond the milestone on the timeline. If you need to move the task further ahead, you have to move the milestone first. By checking the option, you can move with tasks regardless of milestones.
Here are all the use cases for moving a task that has a milestone:
- Task is moved on its own line (no parent, no milestone) - milestone is removed
- Task is moved into a new project - milestone is removed
- Task is moved directly under a different milestone - milestone is changed
- Task is moved under a parent task - parent task's milestone is used
Zoom of Project Timeline (Days, Weeks, Months)
The timeline offers three types of view: days, weeks, months. Based on the project length and the necessary level of detail, they can be switched between from the top menu.
Default zoom of project timeline can be modified in Gantt settings (accessible from global Gantt).
Step Back Button (Undo)
When you accidentally do anything wrong, simply take back an unlimited number of steps you have done just by clicking the "Back" button on the main controls.
Tasks Filters & Options Above Gantt
Customize your filter settings and visible columns in a moment. Project-level Easy Gantt supports both task filters and project filters, while global-level Easy Gantt supports project filters only. It's because global Easy Gantt is supposed to be used only when working with projects, not with tasks.
You can print your tables from Easy Gantt or save them as PDF just by clicking on Print button in the lower left corner. Changing the export size format is possible via your browser print dialog or external PDF creator tool (such as Foxit Reader or PDFCreator).
Close all parent issues at once
If you want to close all opened parent issues without the need to click on every single one, just use the "Close all parent issues" button in the lower left corner.
How to show holidays on the Gantt chart
Easy Gantt enables to show holidays in the same manner as non-working days, via the gray columns on the timeline. When holidays are displayed on the Gantt chart, tasks don't allocate time to these days just as they don't do on weekends. The functionality works in Easy Redmine only. You can turn this feature on or off in Gantt settings which you can find in the upper right corner.
Immediately after ticking the checkbox and saving it via "Update Easy setting" button, holidays will appear in your Gantt chart as illustrated below.
Information about holidays is retrieved from user's default working time calendar, which you can find and change in More > Administration > Working time - templates. Holidays are always displayed from the calendar of this particular user, not the assignees which may use different default calendars.
How to show resource allocations in Gantt chart
To show resource allocations in the Gantt chart (both project and global levels), click on the "Resources" button among the basic controls. Of course, the button is available only if Resource Management plugin is installed.
When pushed, a second line is added under the days/weeks/months line above the timeline. This line shows resource allocation sums (a number of allocated hours from tasks) per all the projects (project portfolio) shown on the timeline as illustrated below. Moreover, allocations per individual projects can be found on the particular project bars. When you display resource allocations on the project-level Gantt, make sure you expand all the relevant subprojects you need to see in Resource Management before switching to it (this integrated RM view is just another view of Gantt chart with no option to collapse or expand the tree structure any other way).
When you have defined a specific time period to be visible on the timeline, it may happen that some tasks have their estimated time allocated partially inside the period and partially outside. In such a case, the hours outside the period are marked "non visible" in allocation tooltip.
How to use Tools
Under Tools button, you find some additional practical features which are slightly different in global and project Easy Gantt as illustrated below.
Tools in global Easy Gantt
Tools in project Easy Gantt
The options are as follows:
Visualize task colors by status, tracker or priority
As you can have defined various colors to highlight tasks based on their status, tracker or priority, Easy Gantt allows you to select one of these particular attributes to make the visualized tasks colored accordingly. Just click on the respective button in the lower left corner. The colors can be set in More > Administration > Task statuses.
Filter delayed projects
This button shows only delayed projects, i.e. open projects whose actual completion (% done) is in past.
Filter delayed issues
This button shows only delayed tasks, i.e. open tasks whose actual completion (% done) is in past (see the below screenshot).
Show tasks with lowest progress date
This button shows only tasks with the lowest progress date, i.e. one or more open tasks per project whose actual completion (% done) is most in past. On the below screenshot, it's the task number 1 because its current done ratio is shown on November 10 while the second task's done ratio reaches November 12. The information value of it is that it tells you on which task you should start working first.
This button will add checkboxes on the left side of task list so that you can check more tasks and edit them together using menu displayed upon click with the right mouse button.
How to show cash flow on the Gantt chart
To see cash flow in both project and global Easy Gantt, click on the "Cash flow" button among the basic controls at the top right. In project Gantt, you must first unhide Cash flow button by clicking on the Tools button. Of course, the button is only available when Money plugin is installed in Easy Redmine.
Clicking on it adds a new horizontal line to the timeline. This line shows numbers representing the balances of planned incomes and expenses per selected period (day, week, month). To edit these balances, use Money module. The balances per individual projects are shown in the respective project bars. When you open a parent project using [+] button, it will show details per subprojects as well. To hide cash flow on the Gantt chart, click again on the Cash flow button.
This is the global-level cash flow.
And the project-level cash flow.
How to use Problems button
The Problems button can be found among the main controls at the top right but it only appears when there are some problems found. The button is complemented with a number that represents the number of problems identified as illustrated below. Clicking on the button expands the list of the problems including the names of affected tasks and short explanations. These list items are links so you can click on any and that will highlight the respective task on the timeline. Clicking again on the button collapses the list.
How tasks are sorted in Easy Gantt
By default, tasks in Easy Gantt sort automatically according to task attributes as follows.
Sorting rule #1: Tasks associated with milestones are prioritized in sorting order over those unlinked to any milestone.
Sorting rule #2: If rule #1 applies to more tasks, they sort by start date ascending (from an earlier date up to a later date down).
Sorting rule #3: If rule #2 applies to more tasks, they sort by due date ascending (from an earlier date up to a later date down).
Sorting rule #4: If rule #3 applies to more tasks, they sort by ID ascending (the earlier the task was created, the lower ID it has).
Subtasks are located just below their parent tasks in sorting order. Easy Gantt cannot sort tasks by parent task and milestone at a time. The parent task parameter overrides the milestone parameter. So all subtasks are always subordinate to their parent tasks, although they may have a different milestone than the parent task does.
Sorting by own attribute
Nevertheless, there is a workaround to re-sort tasks as well as projects by any attribute in ascending or descending order. To give an example, create a task custom field named Order, format integer and check used as a filter as illustrated below.
Then go to More: Administration: Filter settings: Easy Gantt & Resource management and add the custom field "Order" into default columns visible in Easy Gantt by moving it from the left side to the right.
Afterward, update several tasks within the same project and enter some values into the custom field "Order" according to which you need to have them sorted. For example, task 1 has order 1, task 2 has order 2 etc.
Finally, go to the project Easy Gantt and click on Order column to make all the project tasks sorted by it. One more click makes them sorted in opposite direction (ascending or descending order).
How to guard the desired delivery date in Easy Gantt
Everybody knows, that the desired delivery date is usually something else as a due date of the task. But it would be very nice to at least know if the desired delivery date is by some tasks not fulfilled. And with this tricky filter, we have this option available up to date even in Easy Gantt, which is the best visualization tool for a human eye. And we have this information available all the time even during our dramatic movements with tasks in Easy Gantt.
Create a task custom field. Name "Desired delivery date", format "date", check filtering.
Create a computed task custom field. Name "Desired date fulfillment", format "computed", check filtering.
Formula for this field:
"Desired delivery date" - "Due date"
Go to the Easy Gantt and save the following filter:
Name: "Not fulfilled tasks"
Tagged in heading "yes"
"Desired date fulfilment" <= -1
Now you will see the number of not fulfilled tasks all the time in the Easy Gantt.
Collapse all projects, milestones, and parent tasks
To collapse all projects, milestones and parent tasks in the list placed on the left side of Easy Gantt, just use the following icons just above the list. One more click will re-expand what was previously expanded.
Easy Gantt on the personal home page
A global-level Easy Gantt can be simply added as a module on a personal home page. To do it, click on "Personalize this page" button in the lower left corner of the page and select the particular module from the list as illustrated below. Then customize module filters if needed. To see a project Gantt, simply set up the filter to show one selected project only and save the settings. For a large project structure, it's not recommended putting it all on the site as it may slow down the loading speed. The feature is designed for a maximum of 50 projects shown at once.
The result might look like this.
- Corner situations of task relations
- When moving a task with a particular tracker into another project that does not allow this tracker in the project settings, the tracker of the task will be changed automatically to the first allowed one in the list.
- There can be only one Gantt module on customizable pages (homepage, project overview, etc.). This includes modules: Easy Gantt, Resource management, Personal Resource management - if one of these is active, no other will be shown on the same page. This is due to page loading speed. A workaround is to put these modules on different tabs of customizable pages.
- In case that task start/due date is calculated from subtasks and cross-project parent-child relationships are enabled, it may happen that the visible length (=duration) of a task on Gantt timeline is sometimes displayed incorrectly. It happens when a subtask from another project has been added to that task.
- If you drag-and-drop a task from "under the milestone" area to an "under the parent task" area in Gantt's left-side panel, the task disconnects from the milestone (is removed from that task) and connects to the new parent task (is added on that task). If you need to keep both the milestone and the parent task concurrently, you just need to make the change in the task detail window, not in Gantt chart.
- Closed milestones are not displayed in Easy Gantt, therefore, any task placed under such a milestone will be shown like without a milestone.
- When a baseline is being created for a very large project with many tasks (1000+), meaning it takes a long time to copy all those tasks. The process may be accompanied by internal error messages if anybody creates a new task(s) on that particular project before the baseline creation is completed. While these errors are not supposed to prevent the baseline from successful creation, we recommend to create baselines in such large projects when no other user is working on them.
- Projects in the Gantt chart can only be moved when they are collapsed (closed) in the left-side tree structure. If you expand (open) the project to see its subprojects and/or (sub)tasks, you cannot move with the project. An empty project can be moved and saved under the condition that options "Calculate project start date from tasks" and "Calculate project due date from tasks" are disabled (can be changed in Administration > Settings > Projects > Other).
Only ruby 2.1+ is supported.