@ -27,6 +27,7 @@ Click on one of the categories in order to proceed with the configuration.
| [Work packages](./manage-work-packages) | How to configure work packages, types, status and workflows. |
| [Custom fields](./custom-fields) | Set custom fields for work packages, Spent time, projects, versions, users, groups and more. |
| [Attribute help texts](./attribute-help-texts) | Add help texts to explain attributes (including custom fields) in projects and work packages. |
| [Working days](./working-days) | Define which days of the week are considered working days for scheduling and calculation of duration |
| [Enumerations](./enumerations) | Set enumerations, e.g. work package priorities, time tracking activities, document categories, and more. |
| [System settings](./system-settings) | Configure your system settings, e.g. a welcome text block on the landing page, display settings, repositories, and more. |
| [Incoming emails](./../installation-and-operations/configuration/incoming-emails) | Configure email settings in OpenProject: How to set up incoming email. |
description: Define which days of the week are considered working days for scheduling and calculation of duration
keywords: working non-working days work week
---
# Working days
Starting with OpenProject 12.3, administrators are able to define which days of the week are considered working days at an instance level. In other words, this setting defines what OpenProject should consider to be a normal work week when scheduling work packages.
To change this setting, navigate to *Administration* → *Working days*.
> **Note:** By default, the five days from Monday–Friday are considered working days, and Saturday and Sunday are considered non-working.
![The 'Working days' entry in Admin settings ](admin-working-days.png)
To change this setting, unselect days that you would like to define as non-working, and select ones that you would like to consider working, and click on **Save**.
### Effect on scheduling
It is important to note that as an instance-level setting, any change here will affect the scheduling of *all work packages* in *all projects* in that instance. It is currently not possible to define working days at a project-level.
However, it *is* possible to override this setting at the level of individual work packages via the date picker. For more information on how to schedule work packages on non-working days, refer to [Duration and Non-working days in the user guide](../../user-guide/work-packages/set-change-dates/#working-days-and-duration).
> **Important:** Changing this setting will reschedule work packages automatically to the next available working day after clicking on **Save**. For example, removing Friday as a working day by unchecking it will mean that work packages that included Friday will now end one day in the future, and ones that started or ended on Friday will now start and end on Monday.
>
> Depending on the number of projects and work packages in your instance, this process can take from a couple of minutes to hours.
Changing this setting is likely to cause changes to scheduling in unexpected ways, and generate a significant number of notifications for assignees, responsibles and watchers for work packages whose dates change as a result.
We only recommend changing this setting if you are absolutely sure and you are aware of the potential consequences.
### Effect on calendars
The non-working days defined here are coloured differently, generally with a darker background colour, on the [work package date picker](../../user-guide/work-packages/set-change-dates/#working-days-and-duration), [Gantt chart](../../user-guide/gantt-chart/) and the [Team planner](../../user-guide/team-planner/) and [calendar](../../user-guide/calendar/) modules.
@ -48,6 +48,12 @@ The numbers in the instruction below correspond to the numbers in the image abov
5. Any calendar that has the **Public** box unchecked in the **Visibility settings** will be considered **Private**, and hence displayed under the **Private Views** heading in the menu bar to the left.
> **Note**: The calendar will highlight non-working days with a darker background colour. By default, a work package cannot be dragged or resized such that it begins or ends on these days unless the "Working days only" switch is turned off for that work package. To learn how to do this, refer to the documentation on [Working days and duration](../work-packages/set-change-dates/#working-days-and-duration).
>
> Work packages can also expand and retract in width depending on how many non-working days are spanned (for example, a 3-day task starting on Thursday and ending on Monday will spread across 5 calendar days; dragging that same work package so that it starts on a Tuesday and ends on a Thursday means that it will spread across 3 calendar days. In both cases, the duration remains 3 days.
## Filters in calendar
You can filter the work packages in the calendar view by adding any number of filters, e.g. *Author*, *Due Date*, *Priority*, *Assignee*, etc.
@ -48,8 +48,11 @@ To **change the order of an item** in the Gantt chart, click the **drag and drop
### How to change the duration of an element in the Gantt chart
To change the duration of a work package in the Gantt chart view, hover over the work package in the Gantt chart and use the little arrows on its ends to adjust the start date or finish date. This will shorten or prolong its duration.
To move a work package on the time line just click on it and drag and drop it to the desired point of time. This will change its start and finish date.
To change the duration of a work package in the Gantt chart view, hover over the work package in the Gantt chart and use the little arrows on its ends to adjust the start date or finish date. This will shorten or prolong its duration. To move a work package on the time line just click on it and drag and drop it to the desired point of time. This will change its start and finish date.
> **Note**: The Gantt chart will highlight non-working days with a darker background colour when you are zoomed in to a level that shows individual days. By default, a work package cannot be dragged or resized such that it begins or ends on these days unless the "Working days only" switch is turned off for that work package. To learn how to do this, refer to the documentation on [Working days and duration](../work-packages/set-change-dates/#working-days-and-duration).
>
> Work packages can also expand and retract in width depending on how many non-working days are spanned (for example, a 3-day task starting on Thursday and ending on Monday will spread across 5 calendar days; dragging that same work package so that it starts on a Tuesday and ends on a Thursday means that it will spread across 3 calendar days. In both cases, the duration remains 3 days.
@ -53,11 +53,15 @@ How to navigate the team planner - the numbers below correspond with the above i
1. The top header: Click on the top header (where it says **Team planner** in the picture above) to edit the name of your new team planning calendar. The top header is in edit mode by default, so you can just click right on the text. This is where you can give the new team planning calendar its new name. Your new name gets saved automatically by exiting the top header (by clicking somewhere else, for example).
2. Use the **+ add existing** button to add an existing work package to your view. Note: You cannot create new work packages from the team planner module. Create new work packages in the work package module, then select them in the team planner.
3. Add a new team member to you planning calendar using the **+ add assignee**.
3. **Include projects** filter: By default, this filter will only include the current project you are in. You can select additional projects as you see fit by pressing this filter button and check-marking additional projects. The number in the grey bubble inside of this button will indicate the number of projects that are currently selected inside of the filter.
4. There is a filter button by which you can focus what is displayed on your calendar (for example, only certain team members or work packages).
5. This switches you team planning calendar to full screen mode.
6. Saving, renaming and saving a copy (saving as), or deleting can also be accomplished using the **[⋮]** button. This is also where you can modify the visibility options. Select **public** to allow others in your organization that are members of your respective project to see your planning calendar. If **public** is not selected, the calendar is **private** and can only be seen by you, not other members.
7. By default the planning calendar only shows the current week. Use these buttons to toggle between the 1-week and 2-week view.
4. **Include projects** filter: By default, this filter will only include the current project you are in. You can select additional projects as you see fit by pressing this filter button and check-marking additional projects. The number in the grey bubble inside of this button will indicate the number of projects that are currently selected inside of the filter.
5. There is a filter button by which you can focus what is displayed on your calendar (for example, only certain team members or work packages).
6. This switches you team planning calendar to full screen mode.
7. Saving, renaming and saving a copy (saving as), or deleting can also be accomplished using the **[⋮]** button. This is also where you can modify the visibility options. Select **public** to allow others in your organization that are members of your respective project to see your planning calendar. If **public** is not selected, the calendar is **private** and can only be seen by you, not other members.
8. By default the planning calendar only shows the current week. Use these buttons to toggle between the 1-week and 2-week view.
> **Note**: The team planner will highlight non-working days in the calendar with a darker background colour. By default, a work package cannot be dragged or resized such that it begins or ends on these days unless the "Working days only" switch is turned off for that work package. To learn how to do this, refer to the documentation on [Working days and duration](../work-packages/set-change-dates/#working-days-and-duration).
>
> Work packages can also expand and retract in width depending on how many non-working days are spanned (for example, a 3-day task starting on Thursday and ending on Monday will spread across 5 calendar days; dragging that same work package so that it starts on a Tuesday and ends on a Thursday means that it will spread across 3 calendar days. In both cases, the duration remains 3 days.
## Getting started
@ -81,9 +85,13 @@ Next, add specific work packages to your planner. You can do this by either addi
Click on the cell in the team planner grid that corresponds to the preferred assignee and start date.
> **Note:** You can also click and drag across a date range to create a work package that spans those dates. The first square will be the start date and the last
>
> one the finish date.
![Add new work package](add-new-work-package.png)
After you clicked, the **new work package dialog** will automatically open. Here you can set a variety of information pertaining to your work package, such as the (1) type, (2) one or more additional people, (3) the assignee (by default the person or group which you selected in the team planner grid), (4) the accountable person, as well as a variety of other settings, such as start and end dates, time and cost estimates, and more as you scroll further down the dialog.
After you click, the **new work package dialog** will automatically open. Here you can set a variety of information pertaining to your work package, such as the (1) type, (2) one or more additional people, (3) the assignee (by default the person or group which you selected in the team planner grid), (4) the accountable person, as well as a variety of other settings, such as start and end dates, time and cost estimates, and more as you scroll further down the dialog.
![New work package dialog](new-work-package-details.png)
@ -91,7 +99,7 @@ After you clicked, the **new work package dialog** will automatically open. Here
**To add an existing work package**:
Press the **+ add existing" button** we introduced in step 2 of the main view overview. Once you press the **+ add existing** button, start typing the name of the work package you are looking to add. Once found, drag & drop the work package strip. Should the work package have a duration exceeding the current 1 or 2 week view, a horizontal scroll bar will display, with which it is possible to scroll to the end date of the longest running work package.
Press the **+ add existing" button** we introduced in step 2 of the main view overview. Once you press the **+ add existing** button, start typing the name of the work package you are looking to add. Once found, drag & drop the work package strip. Should the work package have a duration exceeding the current 1 or 2 week view, small arrows will indicate this, with an indication of the date that is outside of the current view, so you don't have to scroll all the way to the start or the end for this information.
Additional features: You can change the status of a work package, and enter the work package strip detailed view by pressing the info button **(i)** on each respective strip.
| [Set start and finish dates](#set-start-and-finish-dates) | How to set start and finish dates, and how to change them |
| [Working days and duration](#working-days-and-duration) | How to set duration, and how it affects start and finish dates |
| [Scheduling mode](#scheduling-mode) | Enabling manual scheduling and what it does |
| [Information and warning ban ners](#information-and-warning-banners) | What the different warning and information banners mean |
## Set start and finish dates
You can change the start and finish dates of work packages by opening the date picker.
You can change the start and finish dates of a work package by opening the date picker.
![The standard date picker](standard-date-picker.png)
![The standard date picker with different elements highlighted](standard-date-picker-legend.png)
1. [Manual scheduling](#scheduling-mode) checkbox
2. Start and finish date input fields
3. Mini calendars for date range preview
4. Save and cancel buttons
1. [Manual scheduling](#scheduling-mode) switch
2. Working days only switch
3. Start date, finish date and duration input fields
4. Mini calendars for date range preview
5. Save and cancel buttons
You can open the date picker for a work package from a number of different places:
- By clicking on the date field in the work package [details view](../work-package-views/#work-package-full-screen-view)
- By clicking on the date field in the work package [details view](../work-package-views/#work-package-full-screen-view)
- By clicking the the date field in the work package [split screen view](../work-package-views/#work-package-split-screen-view) (from any other view, including [notification center](../../notifications), [team planner](../../team-planner/), [boards](../../agile-boards)...)
- By clicking the start or finish date fields in [list view](../work-package-views/#work-package-list-view)
- By clicking the start date, finish date or duration fields in [list view](../work-package-views/#work-package-list-view)
### Using the date picker
@ -42,9 +44,9 @@ You can enter dates either by typing them in into the start and finish date fiel
You can also click on the **Today** link below the start and finish date fields to use today's date.
A more intuitive way to select start and end dates is to simply click on two different dates in the mini calendars below. Two calendar months are displayed to give you more visibility.
A more intuitive way to select start and end dates is to simply click on two different dates in the mini calendars below. Two calendar months are displayed for better visibilty.
Start by clicking on a start date. This will enter the selected date as the start date, mark it with a dark color on the mini calendar below and move the focus automatically to the finish date. Hovering on different finish dates will give you a preview of which date are included if you click this second date. Once you have decided on a finish date, click on it to select it. This will enter the finish date in the date field and mark the end date with another dark color.
Start by clicking on a start date. This will enter the selected date as the start date, mark it with a dark color on the mini calendar below and move the focus to the finish date field. Hovering on different finish dates will give you a preview of the date range for the work packakge if you click this second date. Once you have decided on a finish date, click on it. This will enter the finish date in the date field and mark that date with another dark color. The dates in between will be highlighted with a lighter colour.
To confirm the selected dates, click on the **Save** button. The green message on top of the work package indicates a successful update.
@ -60,30 +62,90 @@ Date changes are documented in the work package [Activity](../../activity/).
- The date picker allows you to pick start and finish dates in the opposite order. Clicking on a start date and then moving backwards to click on an earlier date will then use that first date as the finish date and the second (earlier) date as the start date.
- Once you have selected your start and finish dates, you can adjust either field without resetting the other one by clicking on a new date near the previously selected date. This, however, depends on which date field is in focus. For example, clicking on a new start date that is 2 days earlier when the start date field is in focus simply replaces the original start date (conserving the finish date). However, clicking on that same date when the finish date field is in focus clears the finish date and uses the clicked date as the new start date. A second click then allows to select the new finish date.
- Once you have selected your start and finish dates, you can adjust either field without resetting the other one by clicking on a new date near the previously selected date. This, however, depends on which date field is in focus. For example, clicking on a new start date that is 2 days earlier when the start date field is in focus simply replaces the original start date (conserving the finish date). However, clicking on that same date when the finish date field is in focus clears the finish date and uses the clicked date as the new start date. A second click then allows to select the new finish date. This should feel quite intuitive when you use it.
### One-day events
If you want the work package to start and end on the same date, simply click the same date twice.
If you want the work package to start and finish on the same date, simply click the same date twice.
![Date picker with the same start and finish dates](one-day-event.png)
Work packages with *only* a start date or only a finish date are automatically considered as one-day events.
Work packages with *only* a start date or only a finish date are automatically considered one-day events.
Certain work package types (such as Milestones) can only span one day and thus have only one date field:
![Milestones have datpickers with a single date field](milestone-datepicker.png)
## Working days and duration
Starting with OpenProject 12.3, it is possible to manually input a duration for a work package and decide whether this duration should include working days only or all calendar days.
> **Note:** Working dates are currently defined by the administrator of your OpenProject instance. By default, they are Monday to Friday, with Saturday and Sunday considered non-working. If you are an administrator, please read our [admin guide on working days](#link) (CHECKLINK).
>
> **Whening upgrading to 12.3 from a previous version:** Please note that this switch will be set to ***off*** for all existing work packages so as to preserve start and finish dates. However, the switch will be ***on*** by default for new work packages.
### Working days
![The "Working days only" switch on the datepicker](working-days-only-switch.png)
The **Working days only** switch is on by default, and the date picker skips over the weekend (or the days defined as non-working days) when scheduling work packages and deriving duration. In this mode, non-working days are marked with a darker colour and are not clickable. Work packages cannot start or finish on non-working days, and these days do not count towards the calculation of duration.
Switching **Working days only** off will turn the previously disabled non-working days into regular working days, and make them available for scheduling. The duration will now take these days into account.
### Duration
Duration is always expressed in days, and is the total number of days between the start and finish dates (inclusive). The **Duration** field is directly related to the start and finish dates, but does not require them. Changing one will change the other.
![The Duration field is to the right of the Finish date](duration-field-focus.png)
Duration can either be automatically derived from dates or entered manually. When the duration field is is focus, you can enter a number corresponding to days; you do you not need to type the word "days" (or the equivalent in your language), this will automatically be added for you.
#### Duration when start and finish dates exist
When you set a start and a finish date, the duration is automatically derived. For example, if the start date is set to *Thursday, 12 October, 2022* and the finish date to *Friday, 14 October, 2022*, a duration of 3 days is derived.
> Screenshot to-be-added
Changing the duration when both start and finish dates are already set will then update the finish date. In our example, if you change the duration to 4 days, one of two things can happen:
- *If the Working days only switch is **on***, the finish date is automatically set to Monday, 17 October, 2022 (since Saturday and Sunday are not working days)
- *If the Working days only switch is **off***, the finish date is automatically set to Saturday, 15 October, 2022 (since all calendar days are included)
Changing the start and finish dates will also affect duration. In our example, if you change the start date to *Monday, 10 October 2022* without changing the finish date of *Friday, 14 October 2022*, the duration is automatically updated to 5 days.
> Screenshot to-be-added
### Duration when only one date exists
A work package cannot have only one date *and* a duration; the other date is automatically derived. This derived date can either be the start date or the finish date.
For example, if you set the start date to *Wednesday, 12 October* and enter a duration of 3 days, a finish date of Friday, 14 October is automatically derived. Conversely, if you set the finish date *Friday, 14 October* and then set the duration to 3 days, the date picker will count backwards and derive a start date of *Wednesday, 12 October.*
#### Duration without start and finish dates
It is possible for a work package to have only duration without any start or finish dates set.
> **Note:** If you add even one date to a work package with duration, the other date is automatically derived; ot is not possible to have just one date (start *or* finish) and duration set. Please note also that if a work package with only duration derives its start date via a relation, the finish date is then also derived.
Setting only duration without start of finish dates useful especially when you have a general estimation of how long different tasks or phases of a project will take, but do not have exact dates defined quite yet.
> **Pro tip:** This feature makes it possible to automatically derive an estimated start or finish date for entire project.
>
> To do so, create a series of work packages that represent the main phases and set the approximate duration for each. Link them all using follow/precedes relationships. Now, when you set an end date on the last work package or a start date on the first one in the series, the start and end dates for all other work packages will be derived.
## Scheduling mode
### Manual scheduling
![Datepicker with a checkbox to enable manual scheduling](manual-scheduling-checkbox.png)
![A switch on the date picker allows you to enable manual scheduling ](manual-scheduling-switch.png)
Checking "Manual scheduling" enables [manual scheduling mode](../../gantt-chart/scheduling/#manual-scheduling-mode) for the work package. This ignores work package relations such that you're able to select any start and end dates, even ones that would normally be restricted due to follows/proceeds relationships.
Switching "Manual scheduling" on enables [manual scheduling mode](../../gantt-chart/scheduling/#manual-scheduling-mode) for the work package. This ignores work package relations such that you're able to select any start and end dates, even ones that would normally be restricted due to follows/proceeds relationships.
Manual scheduling also decouples the start and end dates of parent and children work packages. This means that the dates of parents are no longer constrained by those of the children, and children can be scheduled outside of the range of parent work packages. These relationships are completely ignored as far as scheduling is concerned.
Manual scheduling also decouples the start and end dates of parent and children work packages. This means that the dates of parents are no longer constrained by those of the children, and children can be scheduled outside of the range of parent work packages. These relationships are completely ignored as far as scheduling is concerned, but are not removed (so they will still be visible in [Gantt view]()); the constraints are respected again if you switch manual scheduling off.
Manual scheduling can be useful when you need to anchor a work package to fixed dates, for example because the dates of preceding or following work packages are not yet known.
@ -123,7 +185,7 @@ This banner is _not_ displayed when manual scheduling is enabled on work package
This warning banner is displayed on work packages whose start and end dates affect those of other related work packages. For example, when changing the finish date will consequently change the start date of another (following) work package and/or the finish date of a parent.
**Info**: When both an information and a warning banner are applicable to a work package, only the more important warning banner is displayed.
> **Info**: When both an information and a warning banner are applicable to a work package, only the more important warning banner is displayed.
### Show Relations button
@ -132,4 +194,3 @@ This warning banner is displayed on work packages whose start and end dates affe
The information and warning banners also feature a **Show Relations** button. Clicking on this will open a new tab that displays work packages with direct relations to the current work package in [Gantt view](../../gantt-chart), in hierarchy mode.
> **Info**: This preview is intended to give a quick overview of only _direct_ relations that might affect scheduling options for the current work package. It does not show second-level relations (and above). To get a full overview, please use the project work package [list view](../work-package-views/#work-package-list-view) or [Gantt view](../../gantt-chart) with your desired [filter/view configuration](../work-package-table-configuration/).