External dependencies

An external dependency allows a project manager to set up a dependency from a task in one project to a task in another project.

External dependencies help the project managers to see the impact of changes in their project schedule when a predecessor project changes.

How external dependencies work

To define the external dependency, the project manager selects a project task from the predecessor project to be linked to the task in the successor project. When an external dependency is added, the system adds shadow tasks in both the successor and predecessor projects.

A shadow task is a read-only task in the respective project. It has the database attribute shadow set to true and orig_sys_id pointing to the sys_id of its original task. The shadow task is kept in sync to its original task whenever the relations are processed.

In addition to the shadow tasks, two shadow relations are also added in planned_task_rel_planned_task table. These relations are shadows of the original relations.

For example, for two projects, project P1 is the predecessor project, and P2 is the successor project. Project P1 has a task T1, and project P2 has a task T2.

If an external dependency is created from T1 to T2, the following tasks are added in the two projects:
Project Task
P1 Shadow of T2
P2 Shadow of T1
After adding the external dependency, following shadow relation records are created in planned_task_rel_planned_task table:
Parent Child Project External
T1 T2 True
Shadow of T1 T2 P2 False
T1 Shadow of T2 P1 False
where:
  • Parent is the predecessor project
  • Child is the successor project
  • Project is the project where relation is seen
  • External is the external dependency