-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
Description
Proposal
For overview / planning purposes I'd like a diagram to show a number of planned actions distributed over a yearwheel, i.e. a pie/sunburst diagram based on /grouped by calendar time spaces, like quarter, month, week, day.
It should be dynamic, based on today's date as base date for display, and nodes should be added based on a list of nodes with a corresponding CRON expression, to be able to calculate next occurrence over the coming year.
Use Cases
Display of planned activities, based on today's date to always be up-to-date.
Perfect for software maintenance support function, especially planned cloud upgrades etc.
Screenshots
Syntax
::: mermaid
yearwheel;
baseDate now %% or constant like 2026-01-01
A("Verify yearwheel", "0 8 1 * 1") %% first monday every year
B("Finance upgrade", "0 0 22 ? 1,4,7,10 6#3") %% every quarter, third saturday, at 22 hours
C("Maintenance upgrade", "0 12 * 3 *") %% every year in march
:::
Implementation
This is a proposal which I'd love to see built into mermaid by the wonderful community.
EDIT:
Additional thoughts on requirements:
- Quartz syntax for CRON expression is needed (crontab is not flexible enough).
Additional diagram configuration:
- Control display period by time unit and number of units depending on planning granularity.
mermaid
yearwheel;
baseDate now %% now (dynamic) | constant like 2026-01-01
baseCalendarUnit year %% year | quarter | month as time unit
baseCalendarInterval 1 %% no of time units to display, e.g. one year, two quarters, six months
A("Verify yearwheel", "0 8 1 * 1") %% first monday every year
B("Finance upgrade", "0 0 22 ? 1,4,7,10 6#3") %% every quarter, third saturday, at 22 hours
C("Maintenance upgrade", "0 12 * 3 *") %% every year in march