Skip to main content

What the Metadata Field Stores

When you enable advanced dependency types, the Gantt needs to store two additional pieces of information for each dependency link that Polarion’s native link roles do not capture:
  • Dependency type — which of the four types (FS, SS, FF, SF) the link uses
  • Lag — how many days of delay or lead time apply to the link
This information is persisted in a custom field called gantt_dependency_metadata on the work item. The field stores a JSON-serialized map that associates each linked target work item ID with its dependency type code and lag value. diagram

Step 1 — Verify the Custom Field Exists

The gantt_dependency_metadata field is created automatically when you first enable advanced dependencies. Confirm it exists:
  1. Navigate to Administration > Custom Fields for your project.
  2. Search for gantt_dependency_metadata.
  3. Verify it is of type String or Text.
The Gantt reads and writes to this field by its exact ID gantt_dependency_metadata. Renaming, deleting, or changing its type will cause all advanced dependency type and lag data to be lost.

Step 2 — Hide the Field from End Users

The metadata field contains a JSON structure that is not meant for manual editing. Hide it from work item forms:
  1. Open Administration > Form Configuration for each relevant work item type.
  2. Locate gantt_dependency_metadata in the field list.
  3. Set it to hidden so it does not appear on the form layout.
ActionResult
Field visible on formUsers may accidentally edit or clear the JSON, breaking dependency metadata
Field hidden on formMetadata is managed exclusively by the Gantt, preventing accidental corruption

Step 3 — Enable Advanced Dependencies

If you have not already done so, add the following to Project / Repository Administration > Configuration Properties:
nextedy.gantt.default.advanced_dependencies=true
Without this property, the Gantt does not read or write to the metadata field, and all dependency links default to Finish-to-Start (type 0).

How Data Flows

When you create or modify a dependency link in the Gantt chart:
  1. The Gantt creates (or updates) a Polarion work item link using the configured link role.
  2. The Gantt writes the dependency type code and lag value into the gantt_dependency_metadata field on the source work item as a JSON entry keyed by the target work item ID.
  3. When the chart loads, the Gantt reads the metadata field to restore the correct dependency type and lag for each link.
When you delete a dependency link:
  1. The Polarion work item link is removed.
  2. The corresponding entry in gantt_dependency_metadata is also removed.
If you change the Dependency Role configuration, existing metadata entries remain in the custom field. The Gantt will re-associate them with the new link role on the next load.

Verification

You should now see:
  • The gantt_dependency_metadata field listed in your project’s custom fields
  • The field hidden from work item forms
  • Advanced dependency types (SS, FF, SF) and lag values preserved correctly after saving and reloading the Gantt chart

See Also

KB ArticlesSupport TicketsSource Code
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/model/Data.java
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/model/impl/GanttService.java
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/model/impl/types/TypeConfigWidgetParameters.java
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/widget/WorkItemsGanttWidget.java
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/model/Link.java