Description
[???]We add dynamic values to relation dropdowns in relation filters in order for Creators to:
understand how current hierarchical filters work;
disable hierarchical filters when they are not needed;
configure custom filters that are currently impossible: for example, using to-many relations (ex. filter Task's suggested assignees by who's working on the Project) — see the back-refs for use cases.
Dynamic values UI
Dynamic values appear when a relation Field on the left can be compared:
either to the current Entity's FieldProduct Area = This Bug → Product AreaOwner is any of This Project → Assignees
Product Area
This Bug → Product Area
Owner
This Project → Assignees
☝️ can be a Lookup Field as well (workaround for deep dynamic values)
or to the current Entity itself (think self-relations)Parent Feature = This Feature
Parent Feature
This Feature
We don't support Nested dynamic values like This Entity → Relation Field → Field.
This Entity → Relation Field → Field
Display current value for dynamic values
The current value is immediately visible in the dropdown
When a dynamic value is chosen, the current value appears in the tooltip on hover
This Bug → Product Area — "Integrations"
This Bug → Affected Product Areas — "Integrations • Entity View • API +3 more"Filter by to-many dynamic values using "any of"
This Bug → Affected Product Areas
When a dynamic value is empty (ex. This Bug → Product Area is not set), we treat it as null constant: Empty dynamic value.
null
Dynamic values and collection operators
Project ←→ App → FeaturePicking App for a FeatureProjects contains This Feature → Project
Projects
This Feature → Project
Task ← User (Owner) ←→ RolesTask ←→ RolesPicking Roles for a TaskUsers contains This Task → Owner
Users
This Task → Owner
Import/export via Space template should work
Delete Field => the filter rule is broken
If relation filters contain a dynamic value that can't be resolved (ex. there is no This Entity in Forms and automations), all relation filters are disabled with an explanation label.
This Entity
🦄 in the future, we can ignore only the dynamic parts of the rule
See Migrate existing hierarchical filters to dynamic values for migration rules. We release dynamic values and migrate old filters at the same time.
Automatically show all options in relation selector if there are no suggested ones
Use [This Entity] as a dynamic value in relation filters
Filter by to-many dynamic values using "any of"