Gantt milestone bug?

0 votes
asked Mar 17, 2021 in Bug by luke.whitehorn (120 points)

In the following example

[Review 01] happens at 2021-03-29
[Review 02] happens on 3 weeks after [Review 01]'s end

The resulting diagram shows Review 02 happening 2 weeks after Review 01, not 3. If you use '21 days after' then it does work.

Is this a bug or am I missing something?

1 Answer

0 votes
answered Mar 18, 2021 by The-Lu (64,340 points)

Hello L.,

  • In which version?

For example on last online version (1.2021.3beta6), we observed the expected result:

If that can help,
Regards,
Th.

commented Mar 18, 2021 by luke.whitehorn (120 points)

I tried using an online 1.2021.3beta7 and I managed to reproduce it properly. It seems to be due to closed days being treated differently.

@startgantt

Project starts 2021-03-17

saturday are closed
sunday are closed

' Milestones
[Review 01] happens at 2021-03-29
'[Review 02] happens on 21 days after [Review 01]'s end
[Review 02] happens on 3 weeks after [Review 01]'s end
@endgantt

If you run that snippet, you will see that [Review 02] is two weeks after [Review 01].

Comment it out ther [Review 02] line and then uncomment out the line above it that is currently commented out, run again and this time it will actually be three weeks.

commented Mar 18, 2021 by plantuml (295,000 points)
It's not widely documented, but indeed, there is a diff.

Be default, a week means 7 days.

But when you specify that sunday and saturday are closed, it turns week duration to 5 days.

The Gantt really thinks in term of load. 21 days is more the load of the task than its duration.

In your case, 3 weeks really mean a load of 15 days.

Hope this helps !
It's not that easy to find a consistent logic :-)
commented Mar 18, 2021 by luke.whitehorn (120 points)
Ahh, yes. I thought it could be something like this.

I guess it would be good to warn of this in the docs. Something like:

"A week is a synonym for how many non-closed days are in a week. So if you specify Saturday and Sunday as closed, a week will be equivalent to 5 days"

Plus the example above maybe :)
commented May 4, 2022 by Ken Campbell

Hi Folks,

Are you planning to change this feature?

In the example from above:

[Review 02] happens on 21 days after [Review 01]'s end
[Review 02] happens on 3 weeks after [Review 01]'s end

 the "21 days" should be 21 open days and the "3 weeks" should be exactly 3 calendar weeks, regardless of closed days.

commented Sep 28, 2022 by Edward
edited Sep 28, 2022

Sorry to reopen the topic, but I agree with Ken just above: the current behaviour is totally backwards!

-"days" could be considered ressources, and thus closing days could push the end of the task further

-"weeks" should follow the common definition of the word: 3 weeks from this monday, is another monday

Maybe in the future there could be a distinction made between "lasts" and, e.g., "requires" or "needs" (is "happens" supposed to be the keyword?), but until we have this nuance, for now, week should just be a shorthand for seven days.

plantuml's own answer is inconsistent:

"The Gantt really thinks in term of load. 21 days is more the load of the task than its duration.

Then why [Review 02] happens on 21 days after [Review 01]'s end doesn't move an inch whether I add recurrent or specific days as closed in between, whereas [Review 02] happens on 3 weeks after [Review 01]'s end does, but only with recurrent closed days?

commented Sep 28, 2022 by plantuml (295,000 points)

Sorry to reopen the topic, but I agree with Ken just above: the current behaviour is totally backwards!

No problem, we are constantly improving PlantUML and we want to solve inconsistency.
A part of the problem is that the notion of closing days have been introduced lately in the gantt, that's what there might be inconsistency and bugs.
But once again, we are willing to solve these.

Maybe in the future there could be a distinction made between "lasts" and, e.g., "requires" or "needs" (is "happens" supposed to be the keyword?),


You're right: the use of "lasts" was a very bad idea. We should have use "requires" instead.
In next version, both syntaxes ("lasts" and "requires") will be accepted.
"lasts" will be deprecated and should not be used (will be kept only for compatibility).


Then why [Review 02] happens on 21 days after [Review 01]'s end doesn't move an inch whether
I add recurrent or specific days as closed in between, whereas [Review 02] happens on 3 weeks
after [Review 01]'s end does, but only with recurrent closed days?

Recently, we have introduced the notion of working day.
Maybe your PlantUML is not up to date.

Do the following examples make sense? (You can click on images):

@startgantt
Project starts 2022-09-01
saturdat are closed
sunday are closed

[Review 01] lasts 5 days
'Should read as [Review 01] requires 5 days

[5D] happens on 5 days after [Review 01]'s end
[5WD] happens on 5 working days after [Review 01]'s end

[1W] happens on 1 week after [Review 01]'s end
[1WW] happens on 1 working week after [Review 01]'s end
@endgantt

@startgantt
Project starts 2022-09-01
saturdat are closed
sunday are closed

2022-09-09 is closed

[Review 01] lasts 5 days
'Should read as [Review 01] requires 5 days

[5D] happens on 5 days after [Review 01]'s end
[5WD] happens on 5 working days after [Review 01]'s end

[1W] happens on 1 week after [Review 01]'s end
[1WW] happens on 1 working week after [Review 01]'s end
@endgantt

Once again, we are really open on syntax so please tell us what you think about it!

Thanks,

commented Nov 7, 2022 by Ken Campbell
Hi Folks,

The days makes sense but not the weeks.  One week is seven days.  One week is always seven days, by definition.

It looks like you have defined one week as five days and one working week as five open days.

But again, one week is seven days, not five.

I see the value in keeping the week (but defined as seven days), but I don't see the value in the "working week"; it is already supported as five working days and the term "working week" is ambiguous.

Regards,

Ken
commented Mar 13, 2023 by Christian
Hi all,
sorry to re-open this discussion, but I stumbled using weeks, and spent a bit thinking about it.
My proposal would be similar to Kens to make 1 week equal to 7 days, and disregard open days:

week = 7 days, no matter closed or open, like days - think about physical process like concrete setting times. These occur no matter if work is done, and limit the start of the next steps.

Currently it's mixed and confusing: week uses the amout of open days, but applies them to all days. (Sadly I am unable to attach pictures)

Best regars,
Christian

p.s.: Thank you a lot for plantuml! :-)
...