> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dependency Types Reference

> Nextedy GANTT supports four dependency link types that control how task scheduling relationships are enforced between work items.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

<Note title="Version Requirement">
  Mapping advanced dependency types (SS, FF, SF) to Polarion link roles requires Gantt version **4.4.0** or later. (Advanced dependency link types were first introduced in 3.0.0.) Earlier versions only support Finish-to-Start.
</Note>

## Dependency Type Codes

| Code | Type               | Name                  | Constraint                                                          |
| ---- | ------------------ | --------------------- | ------------------------------------------------------------------- |
| `0`  | `finish_to_start`  | Finish-to-Start (FS)  | Target task cannot start before source task ends (may start later)  |
| `1`  | `start_to_start`   | Start-to-Start (SS)   | Target task cannot start until source task starts (may start later) |
| `2`  | `finish_to_finish` | Finish-to-Finish (FF) | Target task cannot end before source task ends (may end later)      |
| `3`  | `start_to_finish`  | Start-to-Finish (SF)  | Target task cannot end before source task starts (may end later)    |

## Dependency Link Properties

Each dependency link in the Gantt chart carries the following properties:

| Property   | Type    | Default         | Description                                                                       |
| ---------- | ------- | --------------- | --------------------------------------------------------------------------------- |
| `id`       | String  | Generated       | Unique identifier derived from the Polarion link role and connected work item IDs |
| `source`   | String  | Required        | ID of the predecessor (source) task in the dependency                             |
| `target`   | String  | Required        | ID of the successor (target) task in the dependency                               |
| `type`     | String  | `0` (FS)        | Dependency type code: `0`=FS, `1`=SS, `2`=FF, `3`=SF                              |
| `roleId`   | String  | See application | The Polarion link role ID used for this dependency link (e.g. `dependson`)        |
| `roleName` | String  | See application | Human-readable name of the Polarion link role (e.g. "depends on")                 |
| `lag`      | Integer | `0`             | Lag time in days (positive) or lead time (negative) applied to the dependency     |

## Dependency Type Visual Reference

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/Jklvz9qm2AdmIvBG/gantt/diagrams/reference/dependency-types/diagram-1.svg?fit=max&auto=format&n=Jklvz9qm2AdmIvBG&q=85&s=0cc6d4a6efeb11b14f54ec1a5848788f" alt="diagram" style={{ maxWidth: "520px", width: "100%" }} width="520" height="320" data-path="gantt/diagrams/reference/dependency-types/diagram-1.svg" />
</Frame>

## Enabling Advanced Dependency Types

By default, only Finish-to-Start (`0`) dependency links are supported. To enable all four types, set the following configuration property:

```properties theme={null}
nextedy.gantt.default.advanced_dependencies=true
```

Set this property in **Project / Repository Administration > Configuration Properties**.

<Warning title="Hidden Custom Field Required">
  When using advanced dependency types, the Gantt stores metadata in a custom field called `gantt_dependency_metadata`. Hide this field from end users in the Polarion Form Configuration.
</Warning>

## Dependency Role Widget Parameter

The **Dependency Role** widget parameter controls which Polarion work item link roles represent dependency relationships. Configure this under **Widget Properties > Work Items > Dependency Roles**.

| Setting                 | Description                                                        |
| ----------------------- | ------------------------------------------------------------------ |
| Empty                   | No dependency links are shown                                      |
| Single role selected    | All dependency links use this role                                 |
| Multiple roles selected | The first role is used when creating new dependency links via drag |

## Link Role Mapping per Dependency Type

You can optionally map each dependency type to a different Polarion link role by adding these configuration properties:

```properties theme={null}
nextedy.gantt.workitems.linkRoles.finish_to_start=your_FS_role_id
nextedy.gantt.workitems.linkRoles.start_to_start=your_SS_role_id
nextedy.gantt.workitems.linkRoles.finish_to_finish=your_FF_role_id
nextedy.gantt.workitems.linkRoles.start_to_finish=your_SF_role_id
```

Multiple link roles per dependency type are supported as comma-separated values:

```properties theme={null}
nextedy.gantt.workitems.linkRoles.finish_to_finish=dependency_feature_ff,dependency_task_ff
```

## Link Direction

By default, the Gantt reverses the arrow direction to match standard Gantt chart conventions (source points to dependent item). If your Polarion link role already points from source to dependent, set the forward dependency property:

```properties theme={null}
nextedy.gantt.workitems.default.forward_dependency=true
```

## Disabling Dependency Link Creation

To prevent users from creating dependency links by dragging, add this to the **Gantt Config Script** widget parameter:

```javascript theme={null}
gantt.config.drag_links = false;
```

## Constraint Violation Indicators

When a dependency constraint is violated (for example, a target task is scheduled before its source finishes in a Finish-to-Start relationship), the Gantt displays a red dotted line under the incorrectly positioned task bar. Move the task to comply with the dependency rules to resolve the violation.

<Tip title="Dependencies and Auto-Scheduling">
  When [auto-scheduling](/gantt/reference/widget-parameters/work-items-gantt) is enabled, the Gantt automatically recalculates task dates based on dependency constraints. Dependency links that are hidden or not loaded due to limits are ignored by the scheduling engine.
</Tip>

## Lag and Lead Time

Each dependency link supports a `lag` property:

| Value                        | Effect                                                                               |
| ---------------------------- | ------------------------------------------------------------------------------------ |
| Positive integer (e.g. `2`)  | Delays the successor by the specified number of days after the dependency constraint |
| `0`                          | No lag (default)                                                                     |
| Negative integer (e.g. `-1`) | Creates lead time, allowing the successor to begin before the dependency constraint  |

## Related Pages

* [Create Your First Dependency Link](/gantt/getting-started/first-dependency) -- step-by-step tutorial
* [Work Items Gantt Widget Parameters](/gantt/reference/widget-parameters/work-items-gantt) -- Dependency Role parameter
* [General Administration Properties](/gantt/reference/configuration/general-properties) -- advanced dependency properties
* [Gantt Config Script API](/gantt/reference/api/config-script-api) -- `drag_links` and other config overrides

<LastReviewed date="2026-07-07" />
