Skip to content

Design Document: Resource days off should affect project scheduling

Oleg edited this page Apr 18, 2017 · 8 revisions

Summary

The goal is to provide a solution to issue #18 requested many times and long awaited by GanttProject users.
Introduced functionality should keep core model (tasks, resources, their relations, etc) of GanttProject unchanged and work on top of it. So no new concepts for days off are expected to appear at this level. Instead, GanttProject UI should offer valuable checks and hints on project consistency regarding days off, including automatic fixes where possible, at suitable places of the UI.

User interface

This feature requires new (Project)Health (alternative names: Auditand Assistant) panel accessible as separate tab along with Gantt and Resources Chart tabs. This Health panel will also serve as a home for other project consistency checks implemented in future. Such checks, for example, could be:

  • Overdue tasks (actual progress of a task is less than expected based on current date);
  • Over-allocation (resource is allocated more than 100%);
  • etc.

Health panel consists of Tree/TreeTable component and dependent description panel. The tree is showing the found health check violations grouped by check type. Description panel is showing check description and available fix actions for a particular violation.

Program interface

Technical details

Automatic fixes

  1. Assign other resource

Replaces resource with another one chosen by user 2. Remove day off for resource

Removes the day off affecting task from days off configured for resource 3. Extend task duration

Task's end date is shifted by the number of days resource is not available due to days off. Weekends and holiday calendar should respected too.

  1. Split task

Task is split into 2 parts: one before days off and second after days off with corresponding constaraints set for them. 5. Leave as is

Nothing is changed

As soon as user chooses the the to go from above options corresponding dayoff-task relation is marked as resolved. Resolved dayoff-task relations are not shown in Health panel anymore. The state of all the relations should be a part of project model to be persisted in project file. Resolved days off go back to unresolved in case of:

  • ?
Clone this wiki locally