Visibility for users without profiles

I’ll try it! Thanks!

1 Like

Tried it, but still not working because all the columns are pulling from the existing profile’s row (Jane) rather than the signed in user’s row (Jim). Thanks, tho!

If it’s done correctly it will pull in values for the signed in user and show them in the row of the profile you are viewing. The true/false value that’s determined from Jim’s completed profile will show in Jane’s row when Jim is signed in. If someone else signs in, it will use their true/false value. I’m almost positive this will work for you. If you have any screenshots you can share of all the columns you created for this, we can help determine what’s wrong.

I’ve tried it a million ways including yours. The reason it doesn’t work is because it would require that info input by one user would have to change the info input by another user. The visibility function for most components is based on the profile that is being viewed, not by the signed in user. The only exception is the email which can be set to the signed in user. Component can only be conditioned from the profile being viewed, not from the info of the signed in user.

In my example, Jim is viewing Jane’s profile. Jim’s email makes him the signed in user, but he has not completed a profile so he has no name, pic, etc… in the app. Jane has completed a profile, so she has name, pic, etc… If I want to limit Jim’s ability to see Jane’s email until he completes a profile (i.e. he inputs his name, pic, etc…), the visibility would have to pull info from his row. But it’s actually pulling info from Jane’s row. So “show if Name is not empty” is pulling from Jane, who has a complete profile, not Jim, who has not input his name because he hasn’t completed a profile. The visibility only recognizes Jane’s name because it’s her profile we’re on. I can’t find a relation, lookup, or if-then-else combo that will ignore the profile and base visibility on the signed in user.

In other words, only show component to viewers who possess a certain quality (i.e. who have a “Name”)

Yep, that all sounds exactly like what my posted example does. What it does is creates a column in the user profile sheet that is filled for that one user ONLY when they are signed in. This allows you to create a relation to only that signed in user’s profile from every single row in every single sheet. With access to the signed in user’s profile on every row in every sheet, you can perform actions based on conditions you set within that user’s profile. Again, we could probably identify really quickly what you are missing if there were screenshots. When I have some free time, I’ll create a sample app to demonstrate.

This is the main key to everything working and it will only fill the column for the signed in user if that user is the one that’s signed in. The rest of it is what you put in all the other sheets where you want to control components by signed in user. Only the signed in user’s profile information will be pulled into the other sheets.

Thank you for being so helpful! Looking forward to this working!

1 Like

I’ll send some screen shots shortly

1 Like

Here are the screenshots. I’m not sure where I’m going wrong in the steps. Keep in mind that all of these steps have been taken in the PROFILE sheet.I made another TEMPLATE column in my POSTS sheet, so that’s where the relation is matching. I am trying to make this button visible to people who have emails (signed in users) with profiles only. In the last shot, the signed in user has a profile, but the button is still missing. In the shot before that, the signed in user has no profile and the button is still missing. The visibility is pulling from the viewed profile, not from the signed in user. Thanks for your help!



image
image


Read through this again:

The very first step is the if then column in the profile sheet. Don’t fill it with the persons name, fill it with the word ‘Name’, or ‘Profile’, or anything really. You are filling with the persons actual name which will not allow this to work, because we need a common value for the relation to work. With this step only the signed in user’s profile will have the word ‘Name’ in their profile row.

Next follow the rest of the bulleted items. Again, create the template with the WORD name. Not the actual persons name. Create the relation to link this column with the if/then column. This will build a relation with on every record where the matching row is only the signed in user. Then create the lookup column against the relation and you can pull back the signed in user’s first and last name. This will be the same signed in user’s name on every profile record. You can then build your visibility to check if the lookup first and last name is not empty.

Again, the key here is to build the templates with the word ‘name’. Not the person’s name.

2 Likes

Jeff pls when you can add an example of the to your concepts app seeing as it’s a common query. Tx

1 Like

@Wiz.Wazeer I will consider that. I may need to create a second sign in only version of concepts. I try to keep it Public only so it’s easily accessible and so it doesn’t accumulate user emails as it is an app that can be copied and I don’t want a bunch of other people’s email addresses being copied along with the app. That’s why I try to emulate the functionality of a signed in user the best I can.

The concepts app is getting a little old. I’ve updated a few examples as new features have become available, but it does need some work.

1 Like

It didn’t work, unfortunately. I followed all oft he steps and everything that you described happened. But once I went to do the visibility, it didn’t work. I think it’s because it’s the ACTUAL profile page. Not sure.

Does your relation column have the multiple checkbox selected? It should not be.

No… it’s not checked.

What’s not working with the visibility condition?

It’s still pulling in the profile’s info, not the signed in user. So, it can’t differentiate between a person who has completed a profile and a person who has not.

Can you show me a snippet of all of these additional columns you created in the profile sheet. I don’t need to see the settings for each column. Just some of the data, so I can see what’s going on.

WOOOOOOO!!! I did it again to make sure the screenshots were correct and it worked!!! Thank you so much! There should be a tutorial on this in Glide.

Woohoo! Glad you got it to work! I only discovered this technique a few days ago courtesy of @George_Lewis1, so it’s still pretty new in everybody’s mind. There is another way to do this that a lot of us have done in the past, but it only pulls back a list of emails that match a certain condition/relation. I think this way is a lot better because it can give you access to use every column from the users profile on every sheet. A proper tutorial would be good, but hopefully Glide will build on their new profiles feature and make some of this more easily accessible down the road without the need for templates, relations, and lookups.

1 Like