Roles, Google Sheets and new Pricing

With updates being free on Glide tables, does Glide support an array or roles in Glide tables?

A user can have multiple roles depending on their place in the organization which gives them access to the underlying data for reporting, etc.

I use Google sheets for the ‘magic’ Role array creation and everything works great.

The User table also stores ‘session variables’ as a last resort. I would prefer this Table in Glide rather than a google sheet but I since I use a ‘role array’ it can NOT be a Glide table.

Is this correct or can I use a Glide table for Users with an array for ‘Role’?

TIA

As far as I’m aware, we still can’t have an array of roles in Glide Tables as of today.

1 Like

Glide needs to support Role Arrays that are implemented in the Glide User Table.

Unfortunately if you have roles/security with more than 1 role you have to use a Google sheet for your User Table and therefore are charged for every update.

User Tables are the one table that is visible in Actions (mostly) and filters and are often used to store “Session Variables”. These updates will add up even faster with the new update quantity restrictions.

I like the ‘free updates’. I like strong security with Row Owners. I don’t like that I am forced to use a Google sheet to store an array of Roles so updates are not free.

I hope this gets reviewed since it seems to be a flaw in this pricing model.

Yep. This is one of the very few things that keeps me using Google Sheets.

1 Like

Is there an official request for this feature? I couldn’t find it…

Requests have been made through other channels, but I’m not sure if a feature request has been made here in the community. I do know for a fact that Glide engineering are aware of this limitation. They just haven’t said anything about if/when it will be addressed :man_shrugging:

2 Likes

Thank you very much!

Hey guys, not sure if this solves the issue anyone is having… but I also wanted to be able to have more than 1 role at a time while still being able to set “And” instead of “Or” on the visibility conditions of a page.

Took me a while to come up with something, it may not work for every use case and can get a little complex if you have too many types of roles… I ended up creating multiple IFTTT columns inside of the users table that host 2 or more roles inside.

As an example,

These roles would = their access levels… Entry > Lead > Manager > Regional > Admin

If I wanted an Entry level to have access as well as their Team Lead, but still be able to add other necessary conditions… Instead of making a page visible by -Show If Role Is “Entry” Or, Role is “Lead”-, I would create 1 IFTTT column in the users table called “Entry + Lead”, add both roles, each equalling a value of “true” and else “false” at the bottom.

Since I created this from the Users Table, I now have a column with an “Access Level” that I can use anywhere in the app without compromising the security or control I have for each page. You can take this concept and multiply it using many, many combinations. I have 13 different “Access Levels” with only 5 Roles in play, been working like a charm.

With that, you can do things like…

Show if “Profile Complete” is Checked,
AND,
Current Status is “Active”
AND,
Access Level “Entry + Lead” is Checked

This gives access to BOTH roles without having to use the “Or” condition, not sure if this solves anyone’s problem, but I’m sure I’m not the only one who struggled with this… Hope it helps. :+1:t3:

Totally forgot to mention this last part!

I have the Roles column selected as a Row Owner in addition to the name and email.

This won’t work for Row Owners though, unless both the user’s role as well as the row owner columns contains an exact match. For example, if the the row owner column contains Entry+Lead, and you have 3 users with different roles (Entry, Entry+Lead, Entry+Lead+Manager), then only the one user with Entry+Lead will have row owner access. The others will not.

The main purpose of the Role column built into User Profiles is for data security by being able to apply the Role as a Row Owner. Row Owners prevents unowned rows from being downloaded to the end user’s device. Yes, you can also use the role for filtering and visibility, but filtering and visibility on their own do not secure data from prying eyes.

Imagine you have a payroll app. Each employee’s salary is in that app. Employees may not want to share how much there salary is other employees, but they do want to share with their manager. Sure you can use filters/visibility instead of Row Owners, but the data is not secure and any tech savvy employee can still find that data. With Row Owners, they would only be able to access data that they own.

Filtering and Visibility are not secure. Row Owners is secure. Filtering and Visibility can act on data that’s already been downloaded to the user device and then hide or show the data. Whereas Row Owners prevent unowned data from being downloaded to the device in the first place, so it’s much more secure.

It may seem like it’s working for you because you have an email column and some of your users have a matching Role, but it’s not going to work in all cases. Also, if you say that you are using Name as row owner, then that’s not going to work at all. Row Owner columns only work with emails or roles. The email or the role has to be an exact match for a user to become an owner of the row.

1 Like