Row Owners and Dynamic Arrays

I can create an array column in a Google sheet with say Email 1 Email 2 Email 3…
I can then make this array column the row owner.

I was the trying to create an array from a Lookup or Join + Split column, but I can’t seem to allow that column to become the row owner. Am I missing something ?

My idea was to make the user who’s email is in a row the row owner, together with all the users that are marked Admin in the Profile sheet or something similar…

Computed columns are calculated locally, on each users device. Therefore, they can’t be row owners. This would be a little bit like shutting the gate after the horse has bolted.

To get what you want you’d either need to use roles (which are only available with Private Pro apps), or you’d need to add an extra email column for each of your admin users.

That makes sense, and I had already gone the way of creating email columns for each admin. This creates an issue though as the non-admin row owner can see the admin email addresses…

This also raised the issue as to how one can create array columns in Glide Tables as the method of numbering columns like in a google sheet doesn’t work in this scenario

There is a way to do this.
What you need to do is create a template column that creates a comma separated list of each of the column values that you want to turn into an array. You can then create an array from that by using a split text column.

But again, this couldn’t be used as a row owner as it’s a computed column. But it does have other uses - creating an image carousel, for example.

Yes, I had done that but then ran into the issue of not being able to use it as a row owner… :sweat_smile:

This is the right idea. I did this setup a while ago.

  • A column that uses arrayformula, filter and textjoin to join all admin users plus the email of the row’s owner.
  • An arrayformula to split those (I usually use comma as a delimiter).
  • An arrayformula to dynamically name the headers sequentially.

My biggest problem with it was the constantly changing headers, but it has not caused trouble thus far.

Yes, I had just done that to get the columns of owners built dynamically, and it works fine.

As I stated before, the one big gripe I have with this is that the non-Admin / public row owner thus potentially can see all the admin email adresses in his rows…

1 Like

I can’t think of an easy way around that without using roles.

The only other option I can think of is a separate app, just for your admins. Which may or may not be a practical option.

There is a way of doing it:

  1. have a table that has no row owners - to store your admin emails (writing them in with buttons for your admin side) - table = admin (include a template column where e = email of signed in user
  2. from the user side, make a relationship to admin table via the email to TP-column (so you find the row)
  3. use the relationship through that row to lookup the admin email you need - maybe handing in user profiles because you can access the data everywhere
  4. in a button (action off inline list, etc), pick up the admin emails, then write them into the row you need, into the column with row owners
  5. and as needed, clear when the action is done

Should work / I do this in my app (just with roles)

1 Like

I think this can be a single value > whole row if you just want to retrieve that row.

If you still write them back to a row that the user can see, wouldn’t those emails still be exposed to the user?

1 Like

Yes, the emails in the non-row owner table would be visible in ‘inspect’ - but it depends how this table is populated. I would have this table being written into and out of with buttons, so that it only contains temporary data.

1 Like

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