Assign Multiple Roles in Glide Tables

It’s quite simple, Tim.
You only need to connect a single Google Sheet, and use that as the source of your User Profiles.
For the Roles, you need a set of consecutive columns in the Google Sheet that are numbered, eg. “Role 1”, “Role 2”, “Role 3”, etc. Glide will see those columns as a single array column, which you can assign as the Roles column in your User Profiles configuration.

Here is how that looks in the Google Sheet:

…and in Glide:

Note that in the above, we are using an array column as the Role column. So we can have multiple roles (up to 9) per user.

2 Likes

Hi @Darren_Murphy you rock thanks :slight_smile:
I’ll try it out.

Do you happen to know:
Is this intended by Glide to be this way?
Or is it accidental functionality?
Meaning, can I build something serious on top of it? Or is there a risk they will change this in the future?

No, it’s not accidental. It’s always been an option with Google Sheets for as long as I’ve known.
It’s just never been made available with Glide Tables.
If anything changes in the future, I’d expect it to get better - not worse.
That is, I expect that we’ll eventually be able to do this with native tables, and perhaps the limit of 9 roles will be extended (or removed altogether).
I do know that Glide are aware of this limitation, and I expect it’s on the todo list somewhere, it’s just a matter of how long it takes to bubble to the top of the list of priorities.

2 Likes

Cool, this works perfectly and also the users table with google sheet still has the Glide API allowing me to add users with proper userrights this way.

However my next realization is that my app will be limited to 25k users. Which is probably more than fine in the beginning but I should mention that to the customer or is there a workaround for this as well? In fact the app should only load the row of the logged in user and google sheets can go up to 10 million rows … Does this mean this could work? Or does the Glide limitation of 25k users still apply?

Mostly depends on your Plan. If your plan says 25k rows, then that will be the limit. Even if your plan allows for more, it’s well known that performance can start to be impacted once you go above 25k rows in a Google Sheet.
If your client is expecting more than 25k users, then you probably should be having a conversation with the Glide Sales team.

1 Like

Indeed I’ll discuss that with Cameron. It’s still early stage but its a federation with 10.000 small car dealerships each having hundreds of customers. So it really will depend on how many would convert. However I don’t think they want that limitation in case it would be a success.

Thanks for all the help @Darren_Murphy !

1 Like

No, it’s 10 million cells. If you had 1 table with 1 column, you could have 10 million rows. 2 columns only gives you 5 mil rows. 4 columns is 2.5 mil rows. You get the idea.

Any sort of significant number of columns or sheet tabs, is going to cut into the 10 million cell limit pretty quickly.

Putting Glide aside, if your managed to fill up 10 million cells in a Google sheet, the performance of that sheet would probably be terrible. Spreadsheets are not true databases. They are meant for small amounts of data. Not millions of rows of data, or extensive databases.

2 Likes

Hi Jeff,

Thanks for the clarifications.
So indeed it’s not 10 million rows but rather cells, and 10 million is not something I would want to do and as I understand this question will depend on Glide as well.
However it would be nice if I could have a bit more than 25k users, rather in the direction of 100k for my sales pitch.

I’ll ask Cameron if anything would be possible.

Best regards,

Tim

1 Like

Too bad a normal Array column of Make Array column doesn’t seem to work in this case.

Make Array could never work, because it’s a computed column, and computed columns cannot be used for Roles or Row Owners.

I was hopeful that the Multiple Files column could be used for this purpose, because technically it’s a non-computed array column. But alas, it doesn’t work :man_shrugging:t3:

2 Likes