Unable to set array as Row Owner

So I’m following this Glide doc Glide Docs • Row Owners (glideapps.com), I’ve added column with an email address it in, and a another if/else column looking up the admin email from the user table. I’m then making an array to contain both email addresses to use as the multiple row owner column as described in the doc, but the option to make Row Owner is missing on the array column. Needless to say, I’m confused! Any help?

image

That doc is lacking a key piece of information. This only works if the array is created by sequentially numbering multiple columns in a google sheet (ex. ‘Email 1’, ‘Email 2’, ‘Email 3’, which will show as one array column in glide named ‘Email’).

The reason you can’t use any other type of array column, such as the Make Array column, is because it’s a computed column. All computed columns are computed on the end user’s device. So that means all data would have to be sent to a user’s device to build the array before Row Owners could be checked. Obviously that would breach security of the data before the array could be generated. That’s why you can’t assign Row Owners to most array type columns.

On the other hand, an array created with the naming convention in a google sheet ends up generating the array server side instead of client side, and thus, that type of array can be used for row owners. This is a bit of an old workaround when google sheets were the only data source and we didn’t have the ability to assign multiple columns as row owners. It’s also one of the reasons that Roles were created. Roles allow for assigning any number of users as row owners without having to specify individual emails.

2 Likes

I see! I’m going to need to figure out a way to auto populate admin emails into a table in that case, given I’m using glide tables! Hopefully there’ll be a way to do it on form submission with some actions and conditions. One for another day!

That’s the catch 22 with Roles vs Emails. Getting multiple emails with Row owners can be tricky, whereas Roles is easy, but comes at a cost for the number of Private users. Glide’s philosophy is that the more security and user access control you need, the more likely you are a business and they would prefer that you pay business prices.

I think if you create an onboarding flow when a user signs in, such as only showing an onboarding tab when a certain column is empty or false, and then showing the rest of the tabs when they are done in onboarding, then you can build something into that flow that will populate an admin email.

1 Like