Description
Problem
Solution
TLDR:
We create new Dependency modificator for self-relation (any cardinality), it is stored in Schema.
Timeline VIew only visualize arrows for self-relations with Dependency modificator
A user can see, create, and delete dependencies on timeline view
There are date-shifting strategies that work ONLY on timeline view for given dependency relation and selected Dates.
Dependency relation
It should be possible to mark self-relation as Dependency. On a backend it is just a property in relation field schema.
Timeline View allows to visualize only Dependency relations as arrows. Dependency relation config on field editor
Timeline view Setup
Dependencies are possible only between same-database entities, like Feature-Feature, Epic-Epic, etc. So a user can use a relation marked as Dependency that will serve as dependency.
❗️ So far we do not provide Relation field selection for Timeline. In theory we can have more than one Dependency relation field, but in this case we just take the first one and use it when a user enables dependencies.
❓ How to define relation direction? In many cases it is m-m, so no clear direction is here. → It is set on relation creation, so when Dependency is marked, a user should also set a direction setting.
When dependencies are enabled, addition options are visible:
Timeline View dependencies visualization and changes
Dependencies management on Timeline (show, add, edit, delete)
Dates re-calculation
We can treat it as UI problem and introduce some limitations
We recalculate dates only on Timeline View when a user changes things. Dependencies shifting mode - shift dependencies when dates overlap
It is not a server side solution, so if a user changes dates or relations on other places, re-calculation WILL NOT happen.
We recalculate dates based on selected relation and dates fields.
References
Linear
https://linear.app/docs/project-dependencies
Rules
Colors
Filtering for project dependencies
There are several filter options related to project dependencies:
Project has dependencies
Project has blocking dependency
Project has blocked by dependency
Project has violated dependencies
Notion
https://twitter.com/NotionHQ/status/1603468280941150210
https://www.youtube.com/watch?v=xmDkJo2EdMQ
Three modes for dependencies
Blocked by and Blocking relations are added when you select Dependencies On
You can delete relations fast, hover on end and click X
ClickUp
https://www.youtube.com/watch?v=q8sEu1KWoyE
Asana
Figma
https://www.figma.com/design/HFmSrH1T2Jv6X33wsNLn2y/PA---Timeline?node-id=3-1236&t=hgTbTeZrjwCbfRis-0