Content
View differences
Updated by Marc Alcobé over 4 years ago
#
# 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 installation an Admin can set a default working week days working-day calendar which is preset for all projects.
* Also a monthly or yearly calendar view will allow The calculation of the Admin to add non-working days such as public holidays or company events manually. This behaviour is specified on dates takes the work package: <mention class="mention" data-id="41226" data-type="work_package" data-text="#41226">#41226</mention> schedule into account (see example in the problem statement).
* From Changing the same monthly or yearly calendar Admins will be able to import local calendar files (ics.) or choose from work schedule triggers a list rescheduling of public holiday calendars from the region/country where the instance is located. This behaviour is specified on the current and future work package: <mention class="mention" data-id="41227" data-type="work_package" data-text="#41227">#41227</mention> packages.
* Warning
* Background job
* The non-working work schedule is visualised visualized in the front-end in the following views and those days that are non working days: days ought to be blocked as targets for selection (unless the work package is in manual scheduling mode):
* Date Prio 1: date picker
* Prio 2: Gantt
* Prio 3: Calendar
* Team planner
* **NOTE:** All the rescheduling of work packages dates and durations for example excluding weekends from the date selection or changing the start/end date depending on the duration of the work package and the non-working days will be tackled in a separate EPIC related to the duration <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention> that is also included into the release 12.2.0.
## Visuals
<figure class="image op-uc-figure"><div op-uc-figure" style="width:72.77%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27750/content"></div></figure> src="/api/v3/attachments/20674/content"></div></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27751/content"></div></figure> # Open
* Danger Zone for changing the work schedule. Changing the work schedule will impact your schedule.
# **Out of Scope for the MVC**
* Adding public holidays to the seed data.
* Selecting non-working days on a project level.
* Non-working-days of individual team members.
* Subscribe to external calendars, e.g. Google calendars (that are not included in our libraries of ics or uploaded manually). calendars.
* All the rescheduling of work packages dates and durations based on non-working days as its part of <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>. ##31992
* Informing about non working days when scheduling a meeting. meeting
# Implementation notes
* Frontend: Frontend:
* Fetch non working days when date picker, gantt chart, calendar or planning board is opened
* Block&visualize in working days settings
* Block&visualize in date picker
* Block&visualize in gantt gantt
* Block&visualize in calendar
* Block&visualize in team planner planning board (TBD)
* Angular based administration of non working days relying on the API
* Backend:
* model layer for non working days
* Contract and Services for non working days
* API: Introduce an index action that will fetch all non working days. There are two types of those. One type represents the recurring days (e.g. Saturday and Sunday) and one the exemptions (e.g. Christmas) Christmas)
* Background job upon changes to the non working days
* Exclude non working days on schedule
* Default/Seed data
#
* 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 installation an Admin can set a default working week days
* Also a monthly or yearly calendar view will allow
* From
* Warning
* Background job
* The non-working
* Date
*
*
* Team planner
* **NOTE:** All the rescheduling of work packages dates and durations for example excluding weekends from the date selection or changing the start/end date depending on the duration of the work package and the non-working days will be tackled in a separate EPIC related to the duration <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention> that is also included into the release 12.2.0.
## Visuals
<figure class="image op-uc-figure"><div
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27751/content"></div></figure>
*
*
* Non-working-days of individual team members.
* Subscribe to external calendars, e.g. Google calendars (that are not included in our libraries of ics or uploaded manually).
* All the rescheduling of work packages dates and durations based on non-working days as its part of <mention class="mention" data-id="31992" data-type="work_package" data-text="#31992">#31992</mention>.
* Informing about non working days when scheduling a meeting.
# Implementation notes
* Frontend:
* Fetch non working days when date picker, gantt chart, calendar or planning board is opened
* Block&visualize in working days settings
* Block&visualize in date picker
* Block&visualize in gantt
* Block&visualize in calendar
* Block&visualize in team planner
* Angular based administration of non working days relying on the API
* Backend:
* model layer for non working days
* Contract and Services for non working days
* API: Introduce an index action that will fetch all non working days. There are two types of those. One type represents the recurring days (e.g. Saturday and Sunday) and one the exemptions (e.g. Christmas)
* Background job upon changes to the non working days
* Exclude non working days on schedule
* Default/Seed data