Yes, I know this is really boring, but I’m kinda stuck.
I’m on the legacy Pro plan, which doesn’t allow for Roles IIRC (or if it did/does then I can’t get it to work). I know the old ‘Google Sheets Array Trick’, and I’ve used it before, but it always causes issues when you need to add more row owners that you anticipated, especially when adding and moving columns can sometimes make Glide temperamental. It’s not very clean. And it adds a lot of columns. Yuk.
I can’t think of another way, other than Row Owners, to limit access to data. So when I’m dealing with corporate customers who are using my portal (made with Glide), and I want any user in the organisation to have access to data that one of their users entered, a spec sheet for example, then I don’t know another way to do that without just doing a filter in the component. But that’s ‘bad’.
I think you may be conflating Row Owners with Roles here. Whilst the “Google Sheet Array Trick” can be used to create a Row Owners array, it isn’t required. You can add Row Owner columns directly in Glide until the cows come home without ever needing to go anywhere near a Google Sheet. Where a Google Sheet array is useful (and required) is when you need to assign multiple Roles per user. But if I understand your use case correctly, you don’t need that.
That is the correct approach, yes.
Yes, it is bad.
Sounds to me that you just need to be applying Roles as Row Owners correctly. I can help you with that, but I need more information first. Please show me:
Your User Profiles configuration
Your Users table, with any Role & Row Owner columns visible
An example of one other table where you want to apply Row Owners
Apologies if I wasn’t clear - I wasn’t conflating the row owners with the roles, I was just trying to say that I know you can use the array ability to create multiple row owners, which in my instance I could use to do a similar task as the role i.e. have multiple users from an organisation have access to specific lines, but that it’s messy and I don’t like it.
I was just taking the screen shots and went back and scratched my head about the ‘User Profiles Configuration’. Nothing in the settings, no matter how hard I looked.
Eventually, after some head scratching and re-reading 3 times the documentation I figured out that you have to go into the UI Layout, go to the Users tab, and then set the component that displays the user info to have the ‘Role’ as whatever you want, so in my case ‘Company Name’. Boom. Fixed it. Now when I go into the address book for example, I can see the addresses that anyone in the organisation has entered as long as I have selected the company name column as the Row Owner.
But, I gotta say, that seems to be the most unintuitive thing I’ve ever seen! Using a UI component as a configuration option for the whole app, which goes against every other method I can see in Glide? Components are a way to display information, settings are where you set configuration settings, and tables… do their thing. Especially when there’s nothing in the UI to say ‘hey, here’s a setting’ - it’s just a normal collection. Often I’ll delete the Users tab as I don’t have any need for it.