Content
View differences
Updated by Christophe Bliard over 1 year ago
**As a** project manager
**I want to** automatically move a set of work packages to the earliest date possible
**So that** I don't have to do this manually.
#### Acceptance criteria
##### General
* There are only two scheduling modes.
* **Manual**: The user can freely set the start and finish dates, but relations are ignored.
* **Automatic:** Automatically sets the start date based on a predecessor. The user can only set duration.
* This mode is also used for parents, where all fields are inactive.
* Any time a user wants to manually choose dates for a work package, they select manual scheduling.
* By default, all new work packages will be manually scheduled.
* A new manually-scheduled work package will either have no dates, or take the current date (depending on existing settings).
* Every newly created work package will have no predecessor; they have to be added later.
* If it's a new child work package, it will continue behaving as it does today and by default take the parent's start date.
* For automatic scheduling, a predecessor is required. If there are no predecessors and automatic mode is selected in the date picker:
* the top banner will show an error informing the user that a predecessor is required
* save action and all fields will be disabled (non-working days, dates...)
* If a work package was previously manually scheduled, but is then added as a successor. Or if a predecessor is added to a manually scheduled work package:
* the scheduling mode of the successor will always change to automatic.
**Parent/children relations**
* Parents will continue to behave as it does today, except they will now be in Automatic mode.
* They "cover" the date ranges of the two children and children can have an indirect link to relationships of the parents.
* Their dates will not be editable.
* They can be switched to manual mode.
* Adding a first child to a manually-scheduled work package will automatically change the parent scheduling mode to automatic.
* If the parent previously had dates, those will be overwritten by those of the children.
* parent start date is the earliest start date among all children.
* parent due date is the latest due date among all children.
* children scheduling mode does not matter.
* If none of the children have dates, neither will the parent. Previous dates (before being a parent) are lost, as is the case today.
* Removing the last child of a parent will switch the now non-parent work package mode to manual, whilst preserving dates before the removal of the last child.
* If neither the child nor the parent had dates, it will simply be switched to manual mode without any dates.
* A dialog will be added in feature #59542 to give more options.
* If a work package is both a successor and a parent, its dates are still derived from the children dates.
* If the children are in automatic scheduling mode, then they will start as soon as possible and will be rescheduled to start after the parent's predecessor, which will update the parent's dates.
##### Gantt view
* You can freely move manually scheduled work packages.
* It's impossible to move an automatically scheduled successor
* A dialog will be added in feature #59541 to give more options.
* For work packages without any predecessors, it will not be possible to select Automatic mode.
* Clicking on "Automatic" will show a blankslate with no actions possible.
* If the dates of a predecessor are removed or if a predecessor is deleted
* if the successor is automatically scheduled and would then lose its dates, then it does lose its dates.
* If it was the last predecessor that was removed, it will switch to manual mode and keep its dates if any.
* A dialog will be added in feature #59731 to ask user confirmation.
##### **Migration from an earlier version**
* Dates will **NOT** change automatically. All existing dates are preserved.
* Manually scheduled work packages remain so.
* For work packages with no predecessors (or with no relations at all), they will be switched to manual scheduling.
* These work packages are switched to manual scheduling regardless of having dates or not.
* When relations exist,
* If the relationship is parent-child, there are no changes to dates; the parent remains in automatic mode (as is the case now) and the children follow the rules above.
* If the successor is in automatic scheduling mode and has no dates
* The successor remains in automatic mode and continues to have no dates, regardless of having predecessor having with dates or not.
* The successor will be rescheduled automatically as soon as one of the predecessor has its dates updated.
* If the successor is in automatic scheduling mode, has dates and none of the predecessors have any dates
* The successor is switched to manual mode to preserve its dates and duration
* If the successor is in automatic scheduling mode, has dates and some predecessors have dates too
* The successor remains in automatic mode
* A lag is set on the closest relation to preserve dates
* The closest relation is the one with the least distance between all predecessors and the successor, and with the oldest predecessor
* The gap is the number of working days between closest predecessor and successor
* predecessor date is due date, or start date if due date is unset
* successor date is start date, or due date if start date is unset
* Other relations are not modified
* TODO: what if the successor was manually scheduled and a lag exist on multiple relations that would push it to the future? Should we adjust lags of multiple relations in this case?
<br>
#####
##### Datepicker changs
workPackageValue:59845:description
**I want to** automatically move a set of work packages to the earliest date possible
**So that** I don't have to do this manually.
#### Acceptance criteria
##### General
* There are only two scheduling modes.
* **Manual**: The user can freely set the start and finish dates, but relations are ignored.
* **Automatic:** Automatically sets the start date based on a predecessor. The user can only set duration.
* This mode is also used for parents, where all fields are inactive.
* Any time a user wants to manually choose dates for a work package, they select manual scheduling.
* By default, all new work packages will be manually scheduled.
* A new manually-scheduled work package will either have no dates, or take the current date (depending on existing settings).
* Every newly created work package will have no predecessor; they have to be added later.
* If it's a new child work package, it will continue behaving as it does today and by default take the parent's start date.
* For automatic scheduling, a predecessor is required. If there are no predecessors and automatic mode is selected in the date picker:
* the top banner will show an error informing the user that a predecessor is required
* save action and all fields will be disabled (non-working days, dates...)
* If a work package was previously manually scheduled, but is then added as a successor. Or if a predecessor is added to a manually scheduled work package:
* the scheduling mode of the successor will always change to automatic.
**Parent/children relations**
* Parents will continue to behave as it does today, except they will now be in Automatic mode.
* They "cover" the date ranges of the two children and children can have an indirect link to relationships of the parents.
* Their dates will not be editable.
* They can be switched to manual mode.
* Adding a first child to a manually-scheduled work package will automatically change the parent scheduling mode to automatic.
* If the parent previously had dates, those will be overwritten by those of the children.
* parent start date is the earliest start date among all children.
* parent due date is the latest due date among all children.
* children scheduling mode does not matter.
* If none of the children have dates, neither will the parent. Previous dates (before being a parent) are lost, as is the case today.
* Removing the last child of a parent will switch the now non-parent work package mode to manual, whilst preserving dates before the removal of the last child.
* If neither the child nor the parent had dates, it will simply be switched to manual mode without any dates.
* A dialog will be added in feature #59542 to give more options.
* If a work package is both a successor and a parent, its dates are still derived from the children dates.
* If the children are in automatic scheduling mode, then they will start as soon as possible and will be rescheduled to start after the parent's predecessor, which will update the parent's dates.
##### Gantt view
* You can freely move manually scheduled work packages.
* It's impossible to move an automatically scheduled successor
* A dialog will be added in feature #59541 to give more options.
* For work packages without any predecessors, it will not be possible to select Automatic mode.
* Clicking on "Automatic" will show a blankslate with no actions possible.
* If the dates of a predecessor are removed or if a predecessor is deleted
* if the successor is automatically scheduled and would then lose its dates, then it does lose its dates.
* If it was the last predecessor that was removed, it will switch to manual mode and keep its dates if any.
* A dialog will be added in feature #59731 to ask user confirmation.
##### **Migration from an earlier version**
* Dates will **NOT** change automatically. All existing dates are preserved.
* Manually scheduled work packages remain so.
* For work packages with no predecessors (or with no relations at all), they will be switched to manual scheduling.
* These work packages are switched to manual scheduling regardless of having dates or not.
* When relations exist,
* If the relationship is parent-child, there are no changes to dates; the parent remains in automatic mode (as is the case now) and the children follow the rules above.
* If the successor is in automatic scheduling mode and has no dates
* The successor remains in automatic mode and continues to have no dates, regardless of
* The successor will be rescheduled automatically as soon as one of the predecessor has its dates updated.
* If the successor is in automatic scheduling mode, has dates and none of the predecessors have any dates
* The successor is switched to manual mode to preserve its dates and duration
* If the successor is in automatic scheduling mode, has dates and some predecessors have dates too
* The successor remains in automatic mode
* A lag is set on the closest relation to preserve dates
* The closest relation is the one with the least distance between all predecessors and the successor, and with the oldest predecessor
* The gap is the number of working days between closest predecessor and successor
* predecessor date is due date, or start date if due date is unset
* successor date is start date, or due date if start date is unset
* Other relations are not modified
* TODO: what if the successor was manually scheduled and a lag exist on multiple relations that would push it to the future? Should we adjust lags of multiple relations in this case?
<br>
#####
##### Datepicker changs
workPackageValue:59845:description