Skip to main content

Dynamic Colors (Progress Coloring)

By default, Gantt applies dynamic progress coloring. The chart evaluates each task’s scheduling status against today’s date and the task’s progress, then automatically assigns a color: Dynamic coloring is controlled by the progressColoring parameter, which defaults to true. When enabled, the Gantt evaluates each task on every render and applies the appropriate color automatically.
The Gantt determines whether a task is “resolved” by checking if the Polarion work item has a resolution value set. This is configured in the Polarion workflow — statuses that should count as “resolved” must have resolution values defined. If your custom statuses do not set resolution values, tasks in those statuses will not appear gray even if they are logically complete.

Static Colors (Script-Controlled)

When you need full control over task bar colors — for example, coloring tasks by type, assignee, or a custom field — you switch to static coloring by disabling progress colors:
With progress colors disabled, every task renders with the default blue color unless you explicitly assign colors through an Item Script. In the Item Script, you use task.color to set the CSS color for each task:
The task.color property overrides all automatic coloring and gives you direct control.

The task.color vs task.taskColor Distinction

This is the most common source of confusion when working with item colors. There are two different properties:
  • task.color — Overrides the task bar color completely, regardless of progress status. Use this with static coloring (when show_progress_colors=false).
  • task.taskColor — Changes only the default blue color that applies to on-track, unresolved tasks. Dynamic progress colors (red, orange, gray) still override it.
If you use task.taskColor to set a custom color, it only applies to tasks that would normally appear blue (on-track, unresolved). Tasks with end dates in the past will still appear red because the progress coloring system overrides taskColor. To color all tasks regardless of status, disable progress colors and use task.color instead.

Customizing Default Progress Colors

If you want to keep dynamic coloring but change the specific colors used, configure the default colors via Gantt Config Script or Configuration Properties:
Alternatively, set these as administration properties for system-wide defaults:
You can also configure the color and foreground color for unplanned items:

No-Working-Days Flagging

Starting with version 25.10.2, the Gantt visually flags tasks in red when the assigned user has no available working days during the scheduled period. This helps planners immediately identify unrealistic schedules caused by calendar conflicts.

Resource Allocation Marker Colors

The resource view has its own color system, separate from task bar colors. Resource allocation markers use the resourceMarkersColorConfig to define colors for within-capacity (green by default) and over-capacity (red by default) states. These colors can be customized through the widget configuration.

Choosing Your Approach

Use this decision framework to pick the right coloring strategy:
  • Keep dynamic colors if you want automatic visual feedback about schedule health (most teams prefer this).
  • Customize dynamic colors if you want the automatic behavior but with your brand’s color palette.
  • Switch to static colors if you need to color tasks by type, assignee, priority, or any other custom logic that is unrelated to schedule status.
Last modified on July 10, 2026