Sudden Problem with User Specific filter choices

I have many filter categories that i had all set up and were working perfectly until a few days ago I noticed that some of the filters stopped connecting to the user’s selection properly.

Prior to the mysterious change, an individual’s selections looked as follows on the database side:

User Selection was always listed on top row and everything below it was empty

This is what is happening now:

Old selections aren’t being eliminated on database side and new selections are popping up in random rows instead of at the top. The circled selections are the only one’s that I actually made. The others are old selections.

On the user facing end, the old selections aren’t visibly selected, but nevertheless it seems to be affecting some of choice components from working properly.

Any advice appreciated!

Can you show how your screen is set up with the filters? Does that screen have and sorting or filtering applied? A detail screen with entry components on it will update whichever row it’s connected to. If it’s connected to the first row, then that’s where the values will be set. If it’s connected to any of the other rows, then the values will apply to the respective row. If you have some sort of filtering or sorting applied to that detail screen or tab, then the screen will be connected with the first row that matches that filter or sort order.

hi jeff. ok trying to follow what you need to see!


Is this what you needed? How do i set up the details row to be connected to a certain row? Does it matter which row its connected to? if its normal for the entry to show up on any row, then that’s fine, but it seemed to be connected to the fact that old selections arent disappearing

Another example of multiple entries of “service” selections from different users. Again, it’s cleared out on the user facing end so it’s not like anyone can tell that old selections are still there. But I am anticipating a problem as more users start entering user specific preferences and old entries are existing in all the rows

Well, users will never see another user’s user specific values. Those are unique to each user. What you showed above appears to be filtering for your inline list. What I want to see is the filtering on the tab itself. If you select the tab in the upper left panel of the builder, and then click on the Options tab in the upper right panel of the builder, then you should see the filtering and sorting for the tab.

The table that drives that tab is the table that stores those user filters. Which row you are viewing, and gets set by the user filters, depends on many things. It’s always going to settle on the first matching row. If you sort in sheet order then it can be the first row in the table. If it’s reverse sheet order, then it may be the last row. If you have any filters, then it will be the first row that matches the filter. If you have Row Owners, then it will be the first row owned by the user.

Ok I got you. So I have 2 different tabs that have filtering options, one tab is for filtering salons and the other is for filtering professionals

tab 1 is set as

tab 2 is set as

So i tried my selections and my assumption now for tab 1 that my selections will always show up on the row of the salon that’s closest to me regardless if they fit the criteria…which is row 7. And it will reset the entries if I’m at the same location so my guess is that the old entries were all done in different locations?

Now strangely, on tab 2, all of my entries were also showing up on row 7 even though its a different list and set as randomized order, and the suddenly it created a new row on the database and now i have a new empty profile as shown here. ugh. i did nothing except enter filter options…

OK, yep, that makes sense now, and I think you understand what’s happening.

I think since your tabs contain components (user filters) and an inline list that doesn’t necessarily pertain to any one specific row that the tab is pointing to, I think it might make sense to just set the sorting for the tabs to sheet order. That way the tabs should always be pointing to the first row. I’m guessing that the sorting only needs to be on the inline lists themselves.

Another thing to consider is to have a separate single row table with your user specific columns. That new table would be the source of your tab and you can copy over all of the filter components and the inline list. That way it keeps your profile data and your filter columns in separate tables and is a little easier to manage. It also eliminates the possibility of erasing someone’s filters if you delete one of your profile data rows. If you do this, I recommend creating the new tables and tabs before removing the old ones, just so you don’t lose any of the screen configuration that you already have. (Looks like you have put a good amount of work into that.)

As for the new empty row…is it possible that you accidentally added a new row in the data editor? That, or maybe you have an action somewhere that adds a row???

4 Likes

OK, I understand a few things here! I changed the tabs back to sheet order and the single value went back to normal BUT i remembered why I changed the tab in the first place…Because if someone logs into the app and doesn’t ‘opt in’ for the app to connect with their location, then I DIDNT want it to automatically go back to the sheet order. That would be a strange and unfair advantage to always have the same businesses/professionals always show up in the same order.

Ultimately I wish there was a “backup” order option in the inline list for this exact reason. The GPS is not reliable enough on it’s own, but its necessary for a marketplace app.

I tried to do the reverse sheet order instead so then new businesses/professionals signing on could have the first look but it didn’t work right. the list got all messed up and a bunch of the listings disappeared.

So unfortunately I’m thinking i need to figure out how this single row table would work, but I’m struggling to understand completely bc I’m a visual learner so i’ll have to play around with it. Am I basically duplicating all the filter related columns from the others tables but only allowing it to be used for the user specific selection?

What you want makes sense, but I guess I don’t understand how the sorting for the tab would have any effect on the sorting of the inline list. Unless you are showing one specific featured profile that changes based on random or distance sorting? If not, then wouldn’t the sorting on the inline list be what you need?

Yes, that would be correct. This is only an alternative to consider. It really shouldn’t be much different from what you are doing now, but it might help to avoid summer oddities in the future.

Ok I see. I thought that changing the tab order to something else besides ‘sheet order’ would prevent the inlist from defaulting back to that if a user wasn’t connected to GPS… if that is NOT the case, then my user specific selection is no longer faulty bc it goes back to the top row now that i put the tab back to sheet order, BUT now i still have the previous issue of the listings always showing up in sheet order if the GPS isn’t connected. Is there anything I can do about that?

The only time an inline list (within a detail screen) would be affected by the particular row that the screen is attached to, is obviously if you set filters on the list based on the row, or of the source if the inline list is a relation.

To solve your problem, I think what I would do is duplicate your inline list so you have two identical lists. Then change the sorting on the second list to random.

Now, if you use your original table as the tab source, then you could set a visibility condition on each inline list. On the distance sorted list, set the visibility to show the list when the distance is greater than zero or not empty. On the random sorted list, set the visibility to show when the distance is zero or empty. Each list will show depending on the value in the distance column in the first row of the table.

If instead you create a separate table to hold your user filter columns, then I would add a column with a random set of coordinates. (0,0) would probably work in this case and create a distance column that compares your location to those coordinates. Then set the visibility conditions on the inline lists like I mentioned above, but based on that new distance column.

2 Likes

GREAT idea! I’m going to try this out tonight - thank you!!!

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.