Setting for partially independent start-date, end-date in parent tickets
In issue #5490 the global settings option for an independent subtask priority/start date/due date/done ratio was implemented (closed in #5490-91). There were some fixes to this or related functionality in #21449, #20994 and #27533.
In note #5490-91 Jean-Philippe Lang mentioned a third "restricted children" option as to vaguely specified.
I would like to propose a specification for this third option allowing a hybrid approach, where it is still possible to set a separate start- and end-date for the parent ticket and calculate the overall date according to the following ruleset.For the start date:
- If the start date of the parent ticket is "older/lower" than the the oldest date of the subtickets, the parent tickets own start date is used (just like in the independent setting now).
- If the start date of any of the subtickets is older than the parent ticket, then the oldest subticket date is used (just like in the dependent setting now).
- If the end date of the parent ticket is "newer" than the the newest date of the subtickets, the parent tickets own end date is used (just like in the independent setting now).
- If the end date of any of the subtickets is newer than the parent ticket then newest subticket date is used (just like in the dependent setting now).
As an example:
Let have a parent-ticket with a start-date as 01. March 2021.
Adding a subticket with a start-date of 10. March 2021, the parent-ticket keeps the start-date 01. March 2021.
Adding another subticket with a start-date of 15. February 2021, the parent start-date gets updated to 15. February too.
Now setting the parent-ticket start-date to 05. February is allowed.
Setting the parent-ticket start-date to 05. March, raises an error stating a subticket restricts the start-date to 15. February.
(The user could even be asked if he wants to update the subticket date(s) accordingly, but I would consider that optional at first.)
UI-wise I would suggest leaving the start and end Dates in the parent tickets visible and editable but check for the above conditions when submitting changes.
Adding this feature would allow to have parent tickets keep track of their scheduled dates while automatically moving them if subtask requires it. This would make working with project schedules e.g. Gantt-Chart more useful.