Thanks for digging into this. Much appreciated! Those rows were populated using the UI. I can create a fresh app and share it with you so that you can inspect it directly.
One difference I see is that I do have Role column in the my user table. It gets created automatically even I create a new app. Let me if the problem vanishes if I delete that column.
I donāt want clients to be able to see each others workouts as they are all on different plans. I want client to be able to log in and have own individual profiles where I can enter their workouts and goals. Then a section where they can answer my check in questions each week. From the earlier method I was able to setup a tab where I can allow users to enter in their own goals and save them and visible only to them but how would I make it so that I can login via my admin email and then I can add workouts and goals to their profiles which are only visible to said student profile?
You can have more than one column configured as Row Owner
. Put your clientās email id one column and yours on the other column. Then only the two of you can see this row.
2 Likes
Oh could you break that down step by step in the use case I mentioned? How to build it out which components/buttons in which order to use? Besides simply adding coach email as row owner
I would be happy to help with the basics, but I am going to limit the functionality of the app to keep things simple.
Assumptions:
- Let us assume you will create a new workout plan each time the client completes one. i.e we are not going to support collecting responses for a week or month.
- Let us also assume that you are only coach. If you want to support multiple coaches, then it can be done, but it will a discussion for another topic.
Step 1: Add Role Column to Users Table
This is needed so that we can different between you the coach and and your client. Strictly speaking, if you are going to be the only one coach, then we can hardwire the forms, but this will make it easy and flexible to expand the app later.
- Set the
Role
to Coach
for your user record.
- Set the
Role
to Client
or `User for your client user records.
Step 2: Create a Workout Plans
table
This table will the workout plans creating by you (the coach) for your clients. Add the following columns (no need to populate the rows):
Plan Date
(Type: Date Only) - The date for which the plan is for.
Completion Time
(Type: Date & Time) - The date and time when the client completes the workout.
Client Email
(Type: @ Email) - The client email id. Make this Row Owner
.
Coach Email
(Type: @ Email) - Your email id. Make this Row Owner
.
Plan
(Type: Rich Text) - The workout in plain text or Rich Text format.
Q1
(Type: Rich Text) - Your first question in plain text or rich text format.
A1
(Type: Depends on the question. Can be any of the basic type such as Text or Boolean).
Step 3: Create Relation Columns
.
- On the
Users
table add a column of type Relation
, with the name Workout Plans
. The relation should be @ Email
equals Workout Plans -> Client Email
. Select the option Match Multiple
. Now this column will show all workout plans for the related client.
Step 4: Create Clients
Screen.
-
On the layout editor, create a new screen for the Users
table.
-
Change the label to Clients
.
-
Change the Style to List
.

-
Set the screen visibility to Show When Role is Coach, so that this screen will be visible only to coaches (i.e you).

Note: The screenshot here is wrong. It should say Coach
not Client
-
Click the collection Users
.

-
Filter the collection to show only users with the role Client
.
-
You can turn off the support to Add/Edit/Delete items or leave them turned on. The option to Delete items will off by default. But remember that you cannot set the Role of a User through the frontend UI. This is an intentional security limitation of Glide.

-
Go ahead and add your first client in the Users
table, if you donāt have one already. We need at least one client for the next step.
-
On the layout editor, click on a client to open the detail view for the client. Initially, this would just show the name and email. Add a collection element (can be list or card). Change the source to point to the relation column Workout Plans
. We are going to point to the relation column (and not the table), because Glide will not populate the right column values and add rows automatically.
-
Go ahead and click the +
button on the UI to open the add workout plan form. The layout editor should create decent form automatically. But you can adjust the layout and element types to the way you want. Please remove any form elements for Coach Email and Client Email. You should instead add columns for these from the available screen elements and set the columns correctly.
-
Repeat process above for edit action as well. Tip: You can simply copy all screen elements from the Add form, then delete all elements on the edit form and then paste the copied elements.
Step 5: Create Workout Plans
Screen.
- Create a new screen for the table
Workout Plans
. This screen for your clients.
- You may restrict the visibility to
Show when Role is Client
.
- Remove the option to Add or Delete plans.
- If you are going to create multiple plans ahead for each day. You may filter the collection view to show only the plan for the current day.
- Click on a plan to open the edit form. Then the following:
- Replace all question columns with a Rich Text
Text
Element. We want to display the question. We donāt want the user to edit the question.
- Replace the answer elements to suitable form element types like Text Field, Number, etc.
- Remove the Plan Data form element. Instead use a Text element to show plan date.
- You may replace the field for āComplete Timeā with the current date & time value from the screen elements.
That should do it. You will have a Clients
screen from where you can manage the workout plans and see the response filled in by your clients. Your clients will have Workout Plans
screen from where they can see the suggested workouts and fill-in the required responses.
There is a lot that can be done to make the app more user friendly such as showing a workouts calendar. I recommend that you explore the layout editor and read the related docs or ask questions. Glide is very easy to use and super intuitive out-of-the-box.
Thank you for very details steps, would like to know when do as you said then finally can coach when login into app without going to glide backend, be able to edit each student profileās workout plan? And other students canāt see other studentsā workout plans? How would coach be able to see all students profiles in app to be able to individually edit their workout plans?
Yes, please try the steps I gave you. With that you should get what you are looking for