Is your feature request related to a problem? Please describe.
The add relation pop-up in the create type view lists all the relations across all object types, even the ones such as the camera, camera aperture, camera exposure & rotten tomato scores, etc.
These relations are tightly coupled to an objects type. A rotten tomato score is not applicable to any type except a media or a web series. Same goes for the camera exposure relations which is only applicable for the image type. Since the Object, Types and relations closely resemble the real world usage, it would be better to provide an option to restrict the scope of the relation to be only applicable for a specific object type.
Describe the solution youād like
Currently, each relation type object seems to be having the following relations:
It would be great to add one more relation to the relation type object named Belongs to which takes a list of ātypeā types for which the relation is applicable. So for the camera relation, the belongs to relation consists of the value āImageā meaning that the relation is only applicable to the image type. If a user wants the relation to his type as well, he can add his type to the belongs to field of the camera relation which enables him to add the relation to his type as well. A special value ā*ā or similar can be used to denote that the relation is applicable for any user created types
Edit 1: Thereās a similar request for Relation Scope where an object relation should only display suitable types. I guess people upvoting this would also love that request:
Currently, an Object relation can hold references to objects of any type. The Author relation on a Book can reference other Books, or Movies, or Daily Plans.
Iād like to be able to define Author as a specifically Human relation. Only Humans would be suggested when selecting that relation and searching for objects to include.
āJust donāt put non-Human objects in thereā is the obvious response, but Iāve already run into a few situations where this feature would be handy. For example: creating an Event and filling its Invitees relation, you might not already have a guest list in mind, so youād want to see the list of Humans (or Humans tagged āpeople I knowā, because Katherine Hepburn is a Human but probably wonāt respond) and select from it. Even if you do have guests in mind, tapping them all from a list of 60 suggestions is a lot nicer than typing a search for each one.
It could also help with making search results more relevant, and possibly even make certain kinds of searches possible that currently arenāt. If a relation is limited to Humans, and you search āwriterā in the suggestion list, it could limit the results to humans tagged as writers, when searching all objects it would also show every Book, Movie, and Article object because they mention writers.
This settings could also be tied to the type, not only to the relation itself. For example, when editing a type, I would edit the relations belonging to that type and, for relations of the kind Object, I would be able to configure the Object types this relation is allowed to link to.
And if there could be a setting to limit to a unique type of object, it would even be possible to implement calculations based on this objects relations, e. g. a string concatenation of two of itās relations (not only the title).
In some cases I might want a Relation to only accept a limited set of values.
For example, my āContinentsā Relation will only have a limited set of allowed values (Africa, South America etc.).
Ideally Iād like to set those as I create the Relation.
Of course, Iād also like to be able to edit/add allowed values later if needed (though priority in the UI should be in suggesting the allowed values).
Edit: The above linked request limits the object displayed in the relation popup for adding new objects. This request enables one to prevent one from adding a relation to other types. So if this gets implemented, I can have a relation named āContainsā for a Type say A, and also can have a different relation with the same name āContainsā for Type B. However, since the relations are constrained to types A and B respectively, this relation cannot be added to any other Type thereby reducing the noise in the add relation popup and encourages users to create more type specific relations with confidence
Correct me if I am wrong but this request is to limit the relations displayed in the add relation popup whereas the one added in the release is this one?
You right, iāve marked the wrong one!
Edit: The above linked request limits the object displayed in the relation popup for adding new objects.
I get your point. We will extend relation list result with more meta-data, like Type for sure!
Additionally: When viewing the relations library, it would be very helpful to see the relations grouped in some way. Either by their scope limit (if this feature is implemented) OR even being able to manually group them.
Right now, the relations library gets unwieldy very quickly as I add specific relations for specific object types and then they seem to appear in the library in random order!
Is this already possible with the āstatusā relation type? It works the same way as Notionās multi-select property. Just create a new relation using the status type, then add your options and that will get you what you are describing here.
This workaround would not work if you wanted to limit the Relation options to a specific subset of Objects.
Right now a āstatusā relation type only accepts Text as the Relation option. So in the example of the āContinentsā Relation, āAfricaā and āSouth Americaā would be text.
This could be remedied if a Status relation could accept Objects as their Relation option, instead of just text. But this would also be solved if you could limit the scope of a Relation to one or more Types.