Row owners and roles in the same time?

Hi guys,

Can I have roles and row owners in the same time ?

For example
I would like to have all the users have their email address as row owners so the data is secured and also to have an admin that can manage all the users.

If it would be possible, how could I add the admin automatically to every new user ?

Another option would be to have 2 columns with row owners … one with the email for the user and another one with the admin/admins emails … but how can I add automatically those emails to every new row / new user ?

Thanks.

1 Like

@Robert_Petitto Hi Robert, also related to this topic, I saw your video on row owners and roles but I don’t understand how to set let’s say a Manager to see all the users he manages, but the users to not be able to see each other’s profile or the manager’s profile. Thx

If you only have a single admin user, then the simplest way is to add a column containing their email address, and make that column a row owner.

If you have multiple admins, then it’s better to use roles. For each of your admin users, give them an Admin role, and then include a column that contains the word Admin, and make that a row owner.

This one is a bit tricky, and the answer really depends on how new users are being added, and what data source you are using. With fully private apps, you’d generally be adding users manually before they sign-in, and so it can be done at that point. But if User Profile rows are being created as users sign in for the first time, then it’s not quite so simple. If you’re using a Google Sheet as the source for your User Profiles, then it’s easy enough to use an arrayformula to populate owner columns with appropriate values for new users. But if you are using Glide Tables, then you’d probably need some sort of onboarding process with a step that triggers a webhook to something like Make, which can then assign the row owner values via the API. ** I mis-spoke here. Refer to clarification from @Jeff_Hager below.

You would give your Manager a Role of Manager, and then have a Row Owner column that contains the word Manager in each of the rows of the users he manages. If you have multiple managers with multiple groups of users, then you may need several Roles. Manager1, Manager2, Manager3, etc.
So for all the users that Manager1 manages, they would have a Row Owner column with Manager1, and so on…

3 Likes

thanks

But in this case , wouldn’t all those users have the Manager role ? and they all would see what a Manager could see ?

No, the users being managed wouldn’t have any role at all. They would just have their own email address as an owner row, which means they would only see their own data.

Only the Managers would be given the Manager role, and as a Manager would be set as a Row Owner for every user, they would have access to all data.

This might be easier to explain with a picture. Consider the following example:

In the example above, the first 3 users are Managers. Each of them has the Manager role assigned. Now because Manager is a Row Owner (designated by the little blue icon in the column header), they have access to all users. However, the rest of the users - from row 4 onwards - have no Role. But their email column is set as a Row Owner, so they will have access to their own row only.

Below is an example of a slightly more complicated setup, that reflects a hierarchy of management.

  • Marie (Row 1) is the CEO. She has the CEO Role, and that Role is an Owner of every row. So she sees all users.
  • Tamsin (Row 2) is a Manager, and the Users from rows 9-15 report to her. She has the Manager 1 role, and Manager 1 is set as a Row Owner for those rows. So she sees her own row plus those of all she manages.
  • Sarah (Row 3) is also a Manager, but for a different set of users. She has the Manager 2 role, and that role is set as a Row Owner for all those users that she manages (rows 4-8)
  • So in the above example, both Tamsin & Sarah have access to the rows of those users that report to them, but not any of the users that report to their counterpart manager.
7 Likes

Beautiful reply … thank you very much for the effort … It’s all clear now

Do you know if there is a limit to the private users you can buy on business and enterprise plans after you reach the ones that are received on the plan ?

I believe that Business Team Plans are capped at 100 Private Users, although you might be able to negotiate to pay for more.

There is no real limit on Enterprise plans, but obviously the more you have the more you pay.

2 Likes

It’s a shame this reply will be purged with this topic being solved. You might want to save this for the future, it’s a great explanation. :100:

But then again… I’m a digital packrat… soooo… there’s that. :wink:

1 Like

Just for my clarification on this…I know you can’t assign a role to a user (the user profile role column) within glide if you don’t have the same role yourself. But can’t anybody assign a role to any row as a row owner? So, two different things…the user profile role and the role used as a row owner value. I feel like a simple onboarding process could fill in the row owner role without having to go through a third party, such as Make.

I could be wrong though. I thought the whole thing was that a user could not change their own role to a role they don’t belong to, for security reasons. So a non-admin could not make themselves an admin, but they could fill a column in any row with an admin value that could be used for row ownership.

1 Like

No, I think you’re correct.
I use Make for setting roles, and I usually set any row owner values at the same time. So I think I may have confused myself there.

I’ve updated my original reply, just so as to avoid confusing anyone.

3 Likes

OK, just making sure I’m not losing it. :wink: I’ve never had to deal with that scenario, but just wanted to make sure I understood it.

2 Likes

Yes, anyone can add the value to the row owner column. I was using Set Column for this, but 1 out of 100 times it doesn’t set. I suspect that this is/was a bug, but I could never reproduce it for a recording. I ended up using hidden default text entry and Screen/User Columns to set these values, as those have been more reliable. I’ve used welcome screens to mask this action so that the first thing a user does after signing in, is setting these values for me because their user records are created automatically on sign in (I’m not manually adding new users).

2 Likes

@david It would be great if this explanation would be on the roles page … I think it would help a lot of users from Glide’s community as it’s very precise. Thanks.

@Darren_Murphy I’ve tried using Roles as described above, with Row ID and everything … I have row owners in the email column and the column where I put the title for the role but when I change the user, it can still see all the data … is there a bug or delay in this or it works only in production ? Thx.

Yes, the builder can be a bit flakey at times when it comes to roles/row owners and switching between viewing as different users. If you close the app and then open it again in the builder it usually sorts itself out.

One thing to note is that as far as I know it will always work correctly in the published app.

4 Likes

@Darren_Murphy This is my experience too.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.