Individual progression bar

Hey everybody !

We are creating an app for our pupils, making sure that they have some content for practicing some physical exercises during this critical health period.
We have added a button which has a relation with the progress bar. But we’ve got a problem : each user, when he switches the button, is modifying the progress bar in all the apps…
What could we do for having a personal progress bar on each app ?

We join to this topic some screenshots of the app.

This is the last thing to do before giving the app to our classes.

Thanks for your help !

1 Like


An other screen of the data !

And also, a screen of the app (yes, we are french teachers :wink:).

When you say Button, do you mean the Switch at the bottom of the app screen?
Also when you say apps, are you saying that you have multiple apps, or is this just one app?
What is the relation column used for?

I think I might know what you problem is, but I need clarification first.

First of all, thanks for your quick answer !

Yes, the Button is the Switch at the bottom.
For the apps, we just have this one, and that’s why, for now, one pupil could change the progress bar for all the pupils who got the app.
For connecting the Switch with the progress bar, we calculate all the scores of the Switch buttons, and then making a relation with the progress bar.
For example : switching on the Switch button is adding 10 points to the global score of the progress bar, and then, the Progress bar is getting to 10.

Not sure if it’s the good way, but it was helpful… Until now !
Thanks again !

OK. So your switch is setting a column in the Calendar. The problem is this calendar is shared among all users, so they all see the same switched value.

I think for the time being, you will need to remove the switch component and replace it with a Form Button. You can then add a switch to the form or just put in text that says "By clicking Submit, I have completed this exercise. The form can submit the user’s email and exercise to your Progression sheet or a new sheet.

I’m not sure how or where you are displaying your progress bar, but you need a sheet with each user’s email, then a relation to the progress or form results sheet, then a rollup that uses the relation to get your count or score from the form results sheet.

Thanks again for the answer.
You’ve seen the entire problem !

And we’re still there, despite your advice. We modified the app for sign in by “public with email”. But this sheet is not usable in the data.
So, we can’t apply your precious instructions :

I’m not sure how or where you are displaying your progress bar, but you need a sheet with each user’s email, then a relation to the progress or form results sheet, then a rollup that uses the relation to get your count or score from the form results sheet.

We are losing hope… :rofl: :sob:

Thank you again !

Hey !

This is what we’ve got : a white progress bar, for now. Do we need to create a page for “signing up” all the users and then, connect the adresses to the personal progress bar ? Or there is another solution ?

Thanks again.

1 Like

Hi PSZLive,

I got the same problem! I don’t know what can i do to make a individual progress bar for each user. I made a relation between the “form button” and the progress bar, but this relation don’t take into account a individual progress.

If someone got the key of the solution…

Thanks

What sheet and column are you using for the progress bar? You need to be viewing a detail record for a specific user that contains a value that you use for the progress bar.

What do you mean by this?

Thanks a lot for your quick answers.

We made a “Form button” like you said, which is completing email adresses for all the users who clicked on the button. These emails are send to the column Email in the sheet “Summary 2”.
Then, we put a formula (UNIQUE), which collect all the emails in the first column and write it juste once, and calculating in the next column (Count) each time the mail was write by the user.
The numbers in the column “Count” are relating to the progress bar.

But it doesn’t work in the app and we don’t know why.

And a second question appears : if a pupil click on the button and send his mail more than once, he could complete all the Progress bar and it’s not our aim. Could we have a button which disappears when it’s clicked ?

bravo les français

3 Likes

I would use the the Column Values and Email Special Value to write the excercise and user email to the the sheet.

https://docs.glideapps.com/all/reference/privacy-and-per-user-data/special-values/users-email-address

To hide the button, you will need to create a relation column to link the exercise in the Calendar sheet to the exercise in the form response sheet. Then create a Lookup column that uses the relation to get the emails of the users who completed the exercise. Set visibility on the button to show when the lookup column is not signed in user.

I’m still not clear which sheet the PulDup bar tab is using, but you need to get your user email addresses in that sheet. Then in Glide you can great a relation from that sheet to link the email address to the email address in the form response sheet. Then you can create a Rollup column that will use the relation to count the number of records in the form response sheet for that user. The number from the rollup column is what you can use for the progress bar value.

I have a progress bar per user in my itemstore.glideapp.io app.

For your app, I’d do what @Jeff_Hager said and place a form button at the bottom of your “assignment” with a switch or checkbox. This form should feed an “assignment log” sheet that collects the user’s email, the name of the assignment and the switch value.

In that same sheet, you can create a multiplier (using if-thens and math columns) that assigns the switch value to a point value that would then add them cumulatively via relation/Rollup by email to a user profile sheet.

Create a progress bar component in your profile sheet that points to this Rollup.

To prevent users from completing an assignment multiple times, in the assignment list sheet, set up a multiple relation between the assignment name in the list and the Assignment name in the log. In the assignment list sheet, create a look up of the email addresses. Then in the app, filter the list where email is not signed-in user.

This is the same logic that I use in my challenges section of my Inventory app.

1 Like

Hey guys !

We would like to thank you a lot for your precious answers. We made some great progress with your advices, the light is coming. For resume : we had individual results for each user email. We didn’t try yet to hide the button, but that’s not the problem here : the progress bar is always the same for all the users that download the app.

We join some screenshots about our data base, hoping for help, again and again.

Thank you !

It’s really hard to tell what’s going on with the limited information I have. Is there any way you can publish your app and make it so I can copy it? Then I could take a deeper look and see what’s happening in your app.

Would you be willing to make it so I can copy the app? That way I can see your relations and how everything is set up in the app.

From what I can see, you have the Séance finies to capture the form button responses, which look good.
I’m still not sure which sheet you are using for the PolDup bar tab. Whichever sheet that is, I’m picturing a list of unique emails, then a Relation column and a Rollup column using email to get a count of exercises for that email. Look like you are trying to figure out a lot of this within the google sheet, but you should be able to get your count within Glide.

@PSZLive I developed a fix for your app. I’ll post a video below with my solution momentarily. The solution required:

  1. Creating arrayformulas from your copied-down formulas
  2. Reversing the boolean of your column that awarded points
  3. Applying a filter to the progress bar component
  4. Creating an indicator on the calendar event when a user completed the task
  5. Preventing a user from completing a task multiple times

Here’s the result:
progressbarfix.glideapp.io

As promised:

1 Like