Component visibility problem

hi guys,

I am building a quiz app, and I am with a problem that I would like some help from you.
this is the app:


all the content is a place holder. I am finishing the structure, to move forward to the final content.
I would like to publish it as a public app, to avoid the pin confirmation experience.
since it is a simple quiz, without important data, I am using the row owner to just let the user see their own quiz results.
how it should work:
  1. the user access the app [kind of home page]
  2. the user clicks on the form button to start the quiz
  3. the user responds to the answers and fill the name and email fields (required)
  4. after submitting the answers, the user get back to the home page, but now they should only see the components with the quiz result

the problem is that I set all the components as visible when “email is empty” or “email is not empty”. I thought that should work because I got the user email and now there is a row owner. but when the app sends then back, the home screen is showing the star information with the form button.

I hope that sounds clear enough to get some help from you.
I would like to release the app before Christmas.

thank you so very much,
pedro

1 Like

Hi @pedro_segreto

Firstly a warm welcome to the community, great to meet you.

Your app must use Public with email or Allowed Email List sign-in options to use row owners.

Check out :arrow_down:

https://docs.glideapps.com/all/reference/security-and-per-user-data/row-owners

hi @Rosewebstudio!

thanks for the help.
is there any other way to make components visible and invisible to the users without using the public with email feature?
I need to show the quiz results to the user after he fills the form…

all my best,
p.

You would maybe have to write a Unique ID or the entered email to a user specific value somewhere and if that value is filled, then you could set a filter or set a relation to only the the results you want. It’s technically not as secure as using Row Owners, but if the data is not sensitive, then it should be fine. Also keep in mind that when using user specific columns in an app that is Public, then those values will be lost once the app is restarted, so there isn’t a good way to she the quiz results to the user if they come back into the app at a later time…unless you provide a field to let them enter there email address to see past results.

2 Likes

@pedro_segreto Jeff covered it well (he is a superhero on glide)

The way I think about these kind of things is that glide needs to know who is viewing the app and show the information only relating to that user.

So somehow that user need to tell glide “Hey this is me, can I look at my data please” so logging in via email makes sense and works.

Good luck with whatever you choose to do.

3 Likes

@Jeff_Hager and @Rosewebstudio,

I am already using a unique ID for each test response.
I will try to use this ID to turn on and off the visibility of the components.
I don’t need to give access to an old response to the user. It is just a fun christimas app.

thanks for the help!

1 Like

@Jeff_Hager and @Rosewebstudio,

the change from “email is not empty” to “ID is not empty” didn’t work.
after submitting the form information the app is not “linking” then with the actual user. so, the user is getting back to the home screen with the form button again.
I solved this using the “public with email” setting. but I think the PIN friction should downsize the engagement with the app.
at least, is working. but would be good to build public apps that show specific information filtered by the user and/or the session of use.

thanks for your help! and mary christmas!
ho ho ho

1 Like