Sets as relation types

Is your feature request related to a problem? Please describe.

In my CRM use-case, a task object might be related to a client, project, quote, invoice or incident. Currently in my Task Template, I have to list all these possible relation types and choose the correct one when I create the object. This leaves about 5 or 6 empty fields that aren’t used.

Describe the solution you’d like
A tidier way of doing this would be to make the relation type have the Sets option where the user selected the Sets that the object could be related to, and then in the object, when the user selects the desired set, another relation type is automatically generated below where the user can then select the object from that set.

For example:

Add a new task object > select related to project > select the correct project

Describe alternatives you’ve considered
I currently have to list all these relation types in the template and choose the correct one when I create the object. This leaves about 5 or 6 empty fields that aren’t used.

2 Likes

Hi @brads, thanks for sharing your ideas! I agree that an Object looks tidier when only the relevant Relations are shown. Your current way of working is one way to go. I think creating multiple Templates is another way to go here. Instead of a single Task Template, you would create multiple Templates (Client Task, Project Task, Quote Task, Invoice Task, Incident Task). This list of Templates could of course get very long very quickly if you need multiple combinations of Relations in different scenarios.

If I understand your request correctly, I would like to rephrase your request slightly:

When I create a new Object I want Relations to be dynamically added to the Canvas of that new Object based on the Relations that are linked to an existing Set

If that is correct, please feel free to read along (apologies for the lengthy reply!). If this is not your request rephrased, don’t waste your time on reading the text below :wink: .

I think limiting ourselves to a specific Set would be a good start as this would make a lot of sense when creating a new Object from within a Set. I can imagine that in addition to the default Template a “dynamic” Template option could be added where you are asked to choose the template you want to use for your new Object:

image

For such a dynamic template it is probably most useful if it inherits the Relations that are visible in the Set View during the time of creation of the new Object.

If you want to make your custom Templates dynamic, I can imagine to have that same inheritance option as a setting in the custom Template itself to “inherit Relations from the Set”, meaning all Relations that are linked to the Set are automatically added to the newly created object, or “inherit Relations from the Set View”, meaning all Relations that are visible in the Set View from which the Object is created are automatically added to the new Object.

In any of the cases above, it would need some kind of predetermined block on the canvas where all these Relations are dynamically added. This could of course result in duplicate Relations in the Object if you have some Relations added manually inside the Template, and some of those Relations are also added because they are inherited from the Set (View). I can imagine it should then be possible to exclude any Relations from the dynamic block with Relations that are already “hardcoded” in the Template. This should of course also be configurable to be disabled as you might have those Relations elsewhere in the Object on purpose :wink: .

If you want to make the Relation dynamic instead of the Template, that might require a new Relation Type indeed. Or, instead, you could take a look at these topics to see whether sub-types and type composition could be the right direction :slight_smile: . Something similar for Relations might be a good solution.