Include date in the milestone label

+2 votes
asked Dec 19, 2022 in Wanted features by Étienne
When the gantt diagram is on a big scale and the date is calculated, it would be fine and useful if the calculated date could be included in the milestone label with a syntax like [my beautiful milestone - **me.date(yyyy-mm-dd)**]

But maybe it is?

1 Answer

0 votes
answered Dec 19, 2022 by Todd Musheno (2,680 points)

In the preprocessors section under built in functions: try %date("yyyy.MM.dd") let us know if that does NOT work.

https://plantuml.com/preprocessing#291cabbe982ff775

commented Dec 19, 2022 by Étienne
Thank you for your answer! But with your method I can insert the date of today, not the date of the milestone wich is calculeted by constraints.
commented Dec 20, 2022 by Todd Musheno (2,680 points)
Can you provide an example?
commented Dec 21, 2022 by The-Lu (67,080 points)

Hello T., and all,

Here is a possible example:

@startgantt
title Project on\n%date("yyyy-MM-dd")
project start 2022-12-01
[Task] lasts 5 days
[M happens the %gantt_date("yyyy-MM-dd")] happens at [Task]'s end
@endgantt

Regards.

commented Dec 21, 2022 by Étienne21 (120 points)

Hello !

Yes. Exactly.

But the relevance of this fonctionnality will be more obvious on a monthly or yearly scale.

@startgantt
title Project on\n%date("yyyy-MM-dd")
printscale monthly
project start 2022-12-01
[Task] lasts 95 days
[M happens the %gantt_date("yyyy-MM-dd")] happens at [Task]'s end
@endgantt

To get :

example to get

 

commented Dec 21, 2022 by The-Lu (67,080 points)

While we are at it, why not request also, generic getter (`get`):

  • %gantt_date (for Milestone or task)
  • %gantt_start_date (especially for task)
  • %gantt_end_date (especially for task)

Here is a proposal of use:

@startgantt
title Proposal\nfor new Builtin functions\nfor gantt
printscale monthly
hide footbox
project start 2022-12-01

[task1] lasts 10 week

[task2] starts 20 days after [task1]'s end and lasts 1 week
note bottom
note for task2
**%gantt_date(task2, "yyyy-MM-dd")**
task2 starts at **%gantt_start_date(task2, "yyyy-MM-dd")**
task2 ends at **%gantt_end_date(task2, "yyyy-MM-dd")**
more notes
end note

[M] happens at [task1]'s end
caption
Note for Milestone
M happens the:
**%gantt_date(M,"yyyy-MM-dd")**
more txt...
endcaption

@endgantt

To debate...

Regards.

commented Dec 23, 2022 by Todd Musheno (2,680 points)
I feel like an explicit distinction between milestone and task might be better? Also why is there a start/end on task but not milestone?

While we are at that maybe %gantt_chart_start and %gant_chart_end for the whole thing?

I think if we go that route %gantt_start might be synonyms for %gantt_miletone_start or %gantt_task_start depending on the existance of a milestone.

Just my 2 cents, once considered, feel free to reject (I do NOT feel that strong on it).
...