I meant to share this earlier todayâI spent some time last night playing around with Row Owners and Roles (two Glide features I donât often get the chance to use) and ended up learning quite a bit.
The result? Another tutorial video for you all about how and when to use Row Owners and Roles, their benefits and limitations. Enjoy!
Minor nitpick - slight slip of the tongue at 3:22 - âYou can only make columns that live in your Google Sheet Row Ownersâ
I think what you meant to say there is you can only use basic columns as Row Owners (ie. not computed columns). Those columns can be in a Google Sheet or in a Glide Table.
For part 2, you need to cover using multiple columns for Row Owners and/or Roles
Thatâs exactly what I meant. When you create a Basic Columnâdoes it not live in your Google Sheet though? (I did reference that it can be a basic column in a Glide table).
I had planned on showing how you can create an arrayformula to populate an admin email for multiple row owner columns, but thought it best to keep it simpleâŚdef a part 2!
Itâs not NECESSARY, but itâs good practice for data security. Again, setting ârow ownersâ is very unforgiving. The moment you apply a row owners to a user profile sheet, no other user can view anotherâs information. So if you want to create any sort of sense of community within your app where users are viewing other users profiles etc., you would need to create a second sheet.
I assumed that with roles you could make certain information only visible to certain people. So give groups different rights. âThis article should only be visible to managementâ. Is that the case too?
Great information. I also will be referring people to this postâŚprobably often.
I just want to add the reason WHY row owners can only be applied to basic columns in a google sheet or glide table. I think what many people donât realize is that any computed columns are actually computed on a userâs device. It may seem like itâs done on the glide server, but itâs not. This includes relations, lookups, template, math, etc. Anything thatâs not a basic column.
Because of that, for example, the reason you canât use a lookup as a row owner, is because all of the data needs to be downloaded to the userâs device before the lookup function can run. At that point you have already defeated the purpose of row owners, which is to secure data by preventing it from being downloaded to a userâs device in the first place.
Only basic column data is synced between the glide servers and each user device. All of the calculations and computed column values are only determined on the user device.
Correct. If you have a sheet called âDocumentsâ, you could create a column called Role and place the approp role within that sheet and set it as a row owner.
Yes roles work and function exactly the same as row owners, except instead of using an email, you can use a group name which has to match a group name defined in a Role column in the user profile sheet. Just like how the signed in userâs email has to match the email in a sheet column designated as a row owner columnâŚa role in a sheet column designated as a row owner column will need to match to role column in the user profile sheet for the signed in user.
I believe you can intermix emails and roles in the same column and glide will check against the signed in userâs email and role from the user profile sheet.
Thatâs why everything computes so fast. It doesnât need to send everything to the server first and wait for new calculations before returning the results to the app. Itâs all done in app. Of course, basic column data is still synchronized, but speed isnât such a high priority.
Please help
If you have two roles i.e Admin and User
If you have 100 users.
100 users data will be downloaded in to each user device than filter specific user data?