Relation selector doesn't find entities by Public Id

When choosing an entity in a One-to-X relation field, the filterable drop-down list of entities:

  • only shows entity Names
  • does not allow filtering by Public Id

So in a situation like the following, there is no way to find the correct entity:

Could we support filtering by Public Id in addition to entity Name?

It’s a workaround, but if you add a formula field which just returns the Public Id, then you’ll be able to use it in filtering (it won’t help with search in a to-one field - that is currently limited to name only, for technical reasons)

The relation shown in the above image is One-to-One.

If the only solution is to change my Naming convention for every DB that is part of a to-one relation, that’s a pretty terrible limitation :astonished::fire:.

Maybe we misunderstand each other.

The workaround is nothing to do with naming of fields.

I was just explaining that when you start typing in the field for a to-one relation (a right hand field) then the only search that takes place is to check for matches on the name field - it’s not possible to search for a public Id.

However, when you are looking to link an entity in a to-many relation, and you start typing something, the ‘normal’ search mechanism is invoked, which includes searching name, rich text fields and the public id.

Another difference between to-many and to-one fields is that the latter currently support configurable relation filters (i.e. limiting the options to pick from based on filter criteria).

This was the ‘filtering’ I was referring to: if you add a public Id formula field on the ‘destination’ db, then you can limit the visible choices in the picker to specific public Ids.
(this is not the same as searching by public Id, I acknowledge)

Conversely, these ‘result limiting filters’ are not yet available for the to-many relation fields, because implementing them is part of a bigger effort to improve search in general.

Does that make some sense?

Of course, I never did ask: what is the reason why you want/need to filter (find?) entities by their public Id?

The ability to display right hand fields using the left hand (to-many) UI component (with the pros/cons that brings) may possibly appear at some point in the future, and vice versa, but I can’t promise anything.

I was not thinking clearly about this :yawning_face: so it is actually not a problem after all.

But in general, when there are many entities with the same Name, it can be necessary to find the correct one by some other means – like knowing its Public Id, for which Fibery’s global search works well. But not a OneToX “right side” relation field’s picker.

E.g., my “Page Workflow” DB uses a Name Formula that is just the entity’s “State”, so there are many such entities with identical Names.

In this case they are auto-linked so there’s no issue, but if I had to manually link them I would be screwed, since I can’t distinguish/search them by Name or Public Id or anything else in that right-side relation picker (see previous image)

This may be where the relation filter can come in handy - it does support dynamic filters, so maybe you can filter the options so that there won’t be shown multiple options with the same name.

But that’s only available for Collections, right?

I’m talking about relation filters (limiting the available choices) not display filters (limiting which items are shown).
The former are for to-one relations, the latter for to-many relations.

See here

and here (for dynamic relation filters)