Content
View differences
Updated by Niels Lindenthal almost 4 years ago
# Implementation plan
This EPIC has been divided in two for the next releases:
* **12.2**: User-definable non-working days (on the user settings page, date picker, team planner, calendar and GANTT view) are implemented but not visible. On the front-end, weekends are greyed out (cosmetically) as they are today but continue to remain selectable.
* **12.3:** Weekends and non-working days are now user-configurable via settings and are properly reflected (with a grey background) in the date picker, team planner, calendar and GANTT view. Date picker has an "include non-working days" checkbox enabled by default for all existing work packages on migration. <mention class="mention" data-id="42316" data-type="work_package" data-text="#42316">#42316</mention>
* **13.0:** Possible to manually define individual non-working dates: <mention class="mention" data-id="41226" data-type="work_package" data-text="#41226">#41226</mention>
* **13.0:** Possible to use and important calendars with pre-defined non-working days: <mention class="mention" data-id="41227" data-type="work_package" data-text="#41227">#41227</mention>
# Problem
* It is currently hard to create project schedules as when work packages span a weekend. In these cases the weekend days are counted as normal working days.
* When projects change the start day of a work package the calculation of the finish date does not take into account any non-working days between the start and the finish date.
> **Example:** A task starts on Monday and finishs on Friday. If the task is delayed by one day the finish date is set for the Saturday. Since Saturday is a non-working day in this scenario the more accurate calculation for the finish date would be Monday.
# Solution
* For each each instance, an admin can configure working weekdays, which applies to all projects in that instance.
* In addition, the admin can also configure non-working days (such as public holidays or company events) manually, with a weekly or a yearly calendar. This behaviour is specified in <mention class="mention" data-id="41226" data-type="work_package" data-text="#41226">#41226</mention>
* Within the same module to configure non-working days (with a weekly or a yearly calendar), admins will be able to import local calendar files (ics.) or choose from a list of public holiday calendars relevant to the selected region/country for that instance. This feature is specified in <mention class="mention" data-id="41227" data-type="work_package" data-text="#41227">#41227</mention>.
* Non-working days are represented visually in the front-end in the following views:
* Date picker (in several views)
* Gantt
* Calendar
* Team planner
* _\[open\] any other place ?_
* **NOTE:** This work package handles the configuration and display of non-working days. Actual calculation and adaption of start/end dates and duration of work packages by taking into account these non-working days will be handled separately (and specified in epic <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>).
## Visuals
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27750/content"></div></figure>
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27751/content"></div></figure>
# Visuals of affected pages
* Date picker (_note: this is an illustration/work in progress, will almost certainly change with work on epic <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>)_
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27770/content"></div></figure>
* Gantt:
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27771/content"></div></figure>
* Calendar:
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27772/content"></div></figure>
* Team planner
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27769/content"></div></figure>
# **Out of Scope**
* Selecting non-working days at a project level.
* Non-working-days at an individual user-level.
* Individual non-working days, e.g New Years Day (separate work package)
* Subscribing to external calendars, e.g. Google calendars (that are not included in our libraries of region-based ics calendars, or uploaded manually).
* Actual calculation of start and end dates and duration of work packages by taking in account non-working days. This will be handled in <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>.
* Informing the user when they try to schedule a meeting on a non-working day.
# Figma link
https://www.figma.com/file/SMzHAQWcY9k0PkTEKd5UQn/?node-id=0%3A1
This EPIC has been divided in two for the next releases:
* **12.2**: User-definable non-working days (on the user settings page, date picker, team planner, calendar and GANTT view) are implemented but not visible. On the front-end, weekends are greyed out (cosmetically) as they are today but continue to remain selectable.
* **12.3:** Weekends
* **13.0:** Possible to manually define individual non-working dates: <mention class="mention" data-id="41226" data-type="work_package" data-text="#41226">#41226</mention>
* **13.0:** Possible to use and important calendars with pre-defined non-working days: <mention class="mention" data-id="41227" data-type="work_package" data-text="#41227">#41227</mention>
# Problem
* It is currently hard to create project schedules as when work packages span a weekend. In these cases the weekend days are counted as normal working days.
* When projects change the start day of a work package the calculation of the finish date does not take into account any non-working days between the start and the finish date.
> **Example:** A task starts on Monday and finishs on Friday. If the task is delayed by one day the finish date is set for the Saturday. Since Saturday is a non-working day in this scenario the more accurate calculation for the finish date would be Monday.
# Solution
* For each each instance, an admin can configure working weekdays, which applies to all projects in that instance.
*
* Within the same module to configure non-working days (with a weekly or a yearly calendar), admins will be able to import local calendar files (ics.) or choose from a list of public holiday calendars relevant to the selected region/country for that instance. This feature is specified in <mention class="mention" data-id="41227" data-type="work_package" data-text="#41227">#41227</mention>.
*
* Date picker (in several views)
* Gantt
* Calendar
* Team planner
* _\[open\] any other place ?_
* **NOTE:** This work package handles the configuration and display of non-working days. Actual calculation and adaption of start/end dates and duration of work packages by taking into account these non-working days will be handled separately (and specified in epic <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>).
## Visuals
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27750/content"></div></figure>
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27751/content"></div></figure>
# Visuals of affected pages
* Date picker (_note: this is an illustration/work in progress, will almost certainly change with work on epic <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>)_
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27770/content"></div></figure>
* Gantt:
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27771/content"></div></figure>
* Calendar:
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27772/content"></div></figure>
* Team planner
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27769/content"></div></figure>
# **Out of Scope**
* Selecting non-working days at a project level.
* Non-working-days at an individual user-level.
* Individual non-working days, e.g New Years Day (separate work package)
* Subscribing to external calendars, e.g. Google calendars (that are not included in our libraries of region-based ics calendars, or uploaded manually).
* Actual calculation of start and end dates and duration of work packages by taking in account non-working days. This will be handled in <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>.
* Informing the user when they try to schedule a meeting on a non-working day.
# Figma link
https://www.figma.com/file/SMzHAQWcY9k0PkTEKd5UQn/?node-id=0%3A1