Glide overwrites updates made using choice component

I am using a choice component in a user table edit form to select values to save to the updated user row.

When I select a value from the choice component, the field updates fine - but a few seconds later Glide deletes the value.

I have attached a video that shows glide deleting the values from the users data view.

the only work around I can come up with is to use a text component which requires me to manually type the correct value everytime. something is up with the way the choice value works in forms and its got me stumped.

Looks like you’re trying to update the Role column. Glide does not allow this for security reasons. The only way to update a users role is via the Data Editor or the Glide API.

2 Likes

@Carl_Johnson what you are trying to do isn’t possible.

Can users set their own roles in an app?

Users cannot set roles from an app. This is a security measure to keep your app safe from potential misuse by a user. If a new user signs up for a User Profile in your app, they won’t be assigned a specific role. Glide will leave the role field blank, and you can assign roles to new users in your user table.

Can users change their roles in the app?

Users cannot change their role through the published app. A role can only be changed by updating the original data source or in the Data Editor. Note that roles cannot be updated with a third party data source (such as Airtable). To update roles stored in a third party data source, we suggest using the Glide Tables API.

Some people have used glide API to set the role

1 Like

If you are NOT using Roles for data security, and I stead using them for general filtering and visibility, then you may be able to remove the role column from the user profile configuration so it just becomea a normal column instead of a role column. Only change this if you do not intend to use roles as row owners.

Great to know that I was fighting a losing battle. At this stage I don’t know if I will use row owners

I’m thinking I will use the official roles column in a limited way and use a different role-ish column to designate how users can the app

Is that an acceptable user rights pattern or should I stick with the official rules column?

Every situation is different. My general rule of thumb is:

  • Use the official Role functionality if data security through Row Owners is an absolute must. You can use it for other things too, but I feel the official Role functionality is only required if Row Owners with Roles is required to securely protect data.
  • Use pseudo roles (not official Role functionality) if you just want a way to control visibilty or filters for tabs, collections, components, etc. It does not securely protect data but still helps for UX.
3 Likes