Hello,
Currently, table UIDs and table field UIDs seem to work like this:
- A table UID is simply a sequence of 17 random alphanumeric characters, e.g.
M2Py62CePbiiYVizy
- A field UID is different. It seems to contain 5 random lowercase letters followed by the very first name given to the field in snake case, e.g.
kyntc_my_field
I can understand the desire to avoid working with a bunch of random strings when referring to fields in the Tulip API. However I’ve had several confusing cases where a field was renamed because its use evolved in the apps, whereas the field’s UID still contained an inaccurate/outdated name.
Most of the time, users don’t want to create a new field and change it everywhere in their apps just to have an accurate UID… which I totally get. And it might be technically annoying or bring confusion to make a field UID mutable (one could argue it wouldn’t be “temporally unique” anymore). But still, the field UID can be:
- overly general (
kyntc_number
), - overly accurate but outdated (
kyntc_first_name
that would actually contain a full name. Or worse, things regarding product quantities, money or sensor measurements), - or even completely meaningless since some users are unaware of field UIDs (
kyntc_aaaasdf
).
So, I was wondering: what is better when working with field UIDs in the Tulip API?
- A (current situation): work with more meaningful field UIDs that are sometimes accurate, and sometimes aren’t? E.g.
kyntc_name
which might be a username, a first name, a last name…? - B: work only with random strings (e.g.
kyntc
)? - C: work with something halfway by mentioning the field type, e.g.
text_kyntc
? - D: allow the user to change the field’s ID but warn him that this is potentially a breaking change for any Tulip API client (and maybe Tulip apps?).
Similar remarks could apply to tables in general. What do you think about this? Should things remain as they are? Should things change?