Desktop builder view and mobile view issue

Hi
Attached are 2 screenshots.

  1. Mobile view (Admin)
  2. Desktop builder view (Same user as above)

Despite being the same user I’m getting 2 different results. The desktop builder view is correct but the mobile view is missing data.

Has anybody else seen this before and what was your solution?

cheers

Do you have Row Owners in any of your tables?

Hi
Yes I do…What I don’t understand is that viewing by user in Build / Dashboard view is supposed to be the same as the actual mobile view but it’s not in this case.

cheers

Yes, it is supposed to be the same. But in my experience I’ve found that the way Row Owners are applied in the builder can sometimes be a bit flakey. Especially when you’re switching back and forth between viewing as different users.

But it always works correctly in the published App, so that’s the acid test.

Anyway, was that the cause of the discrepancy?

1 Like

Ok thanks…that makes sense then…

I have for example
• 10 members of a team.
• 1 Admin sees all members items
• Each other member only see’s there own items

Viewing as each individual member in the builder view is fine - Only see’s there own items
Viewing as admin in the builder is fine - I can see all members items
Viewing as admin in the mobile app - Members are missing
I use row owners as follows
User Sheet - Team Array = Row Owner (Persons name)
Parts sheet - Primary engineer = Row Owner ( Team member)



As you will see in the previous post - Build view I can see everything but in the mobile view you will see missing members
As per image below you will see all team members are in the team array -

cheers

hmm, I wouldn’t expect that to work.

As I understand it - and I could be wrong - when you’re using an array column like that as a Row Owner, your array should only contain email addresses and/or roles (as defined in a Roles column in your User Profiles table and configured in your User Profile setup).

At least - that’s the way I’ve always done it. I’m not exactly sure what the expected behaviour should be when you use an array of User Names as a Row Owner. Again, I wouldn’t expect it to work at all.

I suspect that the simple fix will be to replace all those names with user email addresses. Both in your User->Team array column, and in your Engineer Parts->Primary Engineer column.

1 Like

Hi

Yes i’ve done that. Now the only issue is, for example, if I used state as the ‘team’ array it works fine except that with 6 engineers in 1 state each would see all data for that state as opposed only the data allocated to them in that state.

When using filter data column I can filter it by user profile user name but and / or ‘team’ but then as a admin I can’t see there individual data as it is by User Profile Name and as an admin I’m not there. If I create an array the filter is either empty or not empty.

Note : I have filtered data so if the toggle ‘returned’ is true it is filtered out as well. This may need to be refined if I need to use the filtering differently

I’m getting a little confused

cheers

Yeah, me too :crazy_face:

Again, I wouldn’t expect this to work unless you have also defined State as a Role.

I think what you might be better to do is give your Teams names, and use the team names as Roles.

Assuming that your users can belong to multiple teams, create an array column in your Users Google Sheet called something like Team 1, Team 2, Team 3, etc. (you would need as many of these as the maximum number of teams a user can be a member of. The limit is 9). Glide will convert that column to an array column. In your User Profiles configuration, set that array column as the Role column.

Then for each user, fill those columns with the names of the teams they are a member of. Team names can be whatever makes sense. Blue, Red, Green, whatever…

And then in your EngineerParts table, you can have another array column that contains the team names that should have access to each row, and set that column as a Row Owner.

This approach should be easier to manage, as you won’t need to add each users email address individually as an owner. Just add the team names, and all users in those teams will get access.

1 Like

Thanks for the reply. It’s probably easier to visualise rather than my confusing explanations eg below:

There’s a lot more than this but imagine 23 customers across 3 states with 12 engineers and 1 admin / manager.

Each engineer only see’s their customer in their state but the admin/manager sees all. We have around 40 engineers across the country.

cheers

That screen shot seems to suggest a 1:1 relationship between Customers and Engineers. ie. each Customer has only one assigned engineer - is that correct?

In your earlier posts you were suggesting that your engineers are arranged in teams - and my previous suggestion was based on this understanding. But I don’t see that in your screen shot - unless you are using states as teams? (but you already said that doesn’t really work)

Hi
Apologies, yes it’s a one to one but want the option to be able change one to many within the state if needed.

When I created the teams based on state it all worked well, however, I tried to use filter data in the options menu to filter by engineer which is great but then I’m filtering out the Admin as well. I figured there is probably another way to do it with roles etc.

Cheers