# User profiles as admin and homepage for row owners

**URL:** <https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864>\
**Category:** Ask for Help\
**Created:** [July 21, 2020, 3:38am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864 "2020-07-21T03:38:43Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 3:38am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/1 "2020-07-21T03:38:43Z")

</div>

I am trying to create users page visible to admin and row owners page visible to all row owners. Is it possible without creating an alternate tab withImportrange? If yes, please share.

Thanks for your help!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 3:49am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/2 "2020-07-21T03:49:34Z")

</div>

So you want an admin to view all users, but the users can only see their own row?

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 3:52am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/3 "2020-07-21T03:52:21Z")

</div>

Exactly. I have made the users tab visible to admin only. But row ownership restricts it to my profile. If I remove it, onboarding becomes an issue as I see my email in user’s profile setup screen.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 3:54am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/4 "2020-07-21T03:54:55Z")

</div>

Do you plan to have multiple admins or just one?

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 3:55am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/5 "2020-07-21T03:55:33Z")

</div>

One is required. More is better.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 3:56am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/6 "2020-07-21T03:56:53Z")

</div>

The general solution should be having an inline list that filters email is signed-in user or type is admin.

Another way is to have an email 1 column to store the user email, and email 2 column to store the admin email. Then set row owner on the generated array column. But it would work only when you have 1 admin.

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 4:01am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/7 "2020-07-21T04:01:09Z")

</div>

Tried the first approach doesn’t work with on boarding.

Regarding second approach, may work but not the best solution. Let me try that. If something else comes to your mind please let me know.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 4:02am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/8 "2020-07-21T04:02:25Z")

</div>

> [@S\_C](#):
>
> Tried the first approach doesn’t work with on boarding.

Can you explain more about why it doesn’t work?

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 4:04am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/9 "2020-07-21T04:04:43Z")

</div>

It shows my email when user logs in for the first time instead of the e-mail he signed in with as it is reading the first row. I restricted the visibility to e-mail-\> signed in user.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 4:08am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/10 "2020-07-21T04:08:38Z")

</div>

I assume you’re pointing the tab to Profiles sheet right? Go to the Features of that tab, filter email is signed-in user so users can only see their info.

Let it be the “Your Profile” tab, where users can see their own information and edit it.

Make another tab named “Users”, set tab visibility to type is Admin, no filter is needed there.

Remove the row owner in your settings for the Profiles, then it should work for both types.

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 4:10am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/11 "2020-07-21T04:10:41Z")

</div>

That’s what I tried but is not working. May be I am making a mistake somewhere. Will try again tomorrow.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 4:13am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/12 "2020-07-21T04:13:31Z")

</div>

Send me some screenshots if you need help!

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 4:21am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/13 "2020-07-21T04:21:42Z")

</div>

Thanks let me try again. If it doesn’t work. Will send you pics. Thanks @ThinhDinh

---

<div class="post-metadata">

**Author:** ![S\_C](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/s_c/32/12766_2.png) [@S\_C](https://community.glideapps.com/u/S_C)\
**Post date:** [July 21, 2020, 4:41am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/14 "2020-07-21T04:41:39Z")

</div>

You were right. I created 4 on boarding screens. Visiblity was issue in 1st not the other three so glide was not overwriting data. Should work now.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 21, 2020, 4:42am UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/15 "2020-07-21T04:42:25Z")

</div>

Nice to hear!

---

<div class="post-metadata">

**Author:** ![a.manda](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/a.manda/32/32645_2.png) [@a.manda](https://community.glideapps.com/u/a.manda)\
**Post date:** [December 19, 2020, 6:05pm UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/16 "2020-12-19T18:05:11Z")

</div>

I am trying to do this exact thing but within a Glide sheet - is there a way? I tried using the method below but I’m unable to select the Split Text column (or the Template Column) as a row owner.

> [@new Glide Tables](https://community.glideapps.com/t/glide-tables/15597/67):
>
> I think you should be able to create several columns that hold urls for a carousel, then a template column to join them all with a comma delimiter between each one, then the Split Texts column to create an array.

If there’s no workaround to this I will wait patiently for the below to happen 🙂

> [@new Glide Tables](https://community.glideapps.com/t/glide-tables/15597/38):
>
> Not yet. The way we did this for Google Sheets was a kludge because it doesn’t offer a “native” way of doing arrays. With Glide Tables we’ll be able to do better, but we haven’t built it yet.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [December 19, 2020, 6:13pm UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/17 "2020-12-19T18:13:52Z")

</div>

No. There is no way to create array columns like this in a Glide table, and currently computed columns can’t be used for row owners. Only basic columns in a glide table or Google sheet can be used.

Computed columns, like Split Text are computed on the user’s device after all data has been cached on the device. At that point, any security is moot as the user already has access to all data that would otherwise be protected and not synced through Row Owners on a basic column.

---

<div class="post-metadata">

**Author:** ![a.manda](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/a.manda/32/32645_2.png) [@a.manda](https://community.glideapps.com/u/a.manda)\
**Post date:** [December 19, 2020, 6:28pm UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/18 "2020-12-19T18:28:07Z")

</div>

Ahh, that explains some stuff, thank you. So in this use case I have queued up:

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/7/b7fc35b405c07bea8266e8953c96ba3ce2847f04.jpeg "Array Columns | Glide Apps Tutorial") ](https://www.youtube.com/watch?v=x_vKwWrK9wE)

Glide’s kluged “array” from the Google sheet counts as a basic column? This has me assuming their future Glide arrays will be selectable as row owners 🤔

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [December 19, 2020, 7:59pm UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/19 "2020-12-19T19:59:27Z")

</div>

Correct. The “kludge” array column is similar in a lot of functionality to a Lookup column on a multiple relation or to a Split Text column, but the main difference is that an array column is synced to the user’s device much like any other basic column value. Computed column values, like Lookups or Split Text are not not synced to the user’s device and are later computed once the data is on the user device. Yes, if they do build arrays into glide tables, I would hope it works like the Google sheet way because the array values would hopefully be determined at the server level and not the client level, like all other computed columns.

---

<div class="post-metadata">

**Author:** ![a.manda](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/a.manda/32/32645_2.png) [@a.manda](https://community.glideapps.com/u/a.manda)\
**Post date:** [December 19, 2020, 8:44pm UTC](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864/20 "2020-12-19T20:44:48Z")

</div>

Thank you Jeff! I like learning this under-the-hood data flow stuff - this makes sense for security, which is my current focus. I want to have a list of my app’s users accessible to me through an admin tab with a boolean that shuts off access to a user if they are found to be misusing the app’s directory - a highly unlikely occurrence but a safety net to calm my nerves - I just set this up manually through the data editor but in the future I’d love to have it in-app 🙌🏻

(From all I’ve read here I am guessing a savvy banned-user could easily breach my dinky tab-visibility-based ban using browser tools, but considering my user base is not technically inclined I _should_ be safe…👀)

[Next page](https://community.glideapps.com/t/user-profiles-as-admin-and-homepage-for-row-owners/12864.md?page=2)
