When copying a table view of an object with all its underlying edit and view and delete functions, is there any way to reset the SOURCE FILTER?
For example, I have a table called LEADS. When a Store Manager logs in, I restrict their view to only those leads from their branch, using a SOURCE FILTER: This table displays Lead records connected to the same Stores connected to the logged-in Store Manager .
Now, if I want to duplicate that set of pages so that a Regional Manager will see a different (broader) set of leads, using the filter: This table displays Lead records connected to the same Stores connected to the logged-in Regional Manager .
The problem is, if I copy the set of pages, there appears to be no way to change the SOURCE FILTER to change it from Store Manager to Regional Manager. Which means my only option is to rebuild those pages manually.
Im hoping someone knows a trick to reset or change the SOURCE FILTER?
I note that this 2014 topic asked for the same thing, with no answer. I thought maybe Knack did something about this in the last 9 years? Changing Data Source for Table
I can provide some insight into a couple workarounds for this that may be helpful. Due to the way source filters work, this is the reason we don’t set up views to specific user roles, only the parent Accounts.
Is to only restrict your table data sources to the logged-in Account (not a specific user role).
What this does is allow you to copy your tables without worrying about the source since it cannot be changed. Then you can customize each table to Show records that match a specific user role such as the Store Manager is the logged-in account. You can then customize this further by adding page rules to restrict which tables each role sees.
Is to build any user role specific views on a User Page. This allows you to build views in a way that only logged-in users can see. These views can be shown to all logged in users or you can restrict them to a specific Account Connection field for the record, for example your Store Manager, Regional Manager, or Currently Assigned To for the record. Do be careful when setting these up since Knack does not tell you which connection field that table field is set up with, it will only show the general connected to logged-in account text:
After creating user page views, I update the name or description of the view to indicate which connection field I am using for displaying records. In this example I put it in my tag name in parentheses:
Hope this helps!
Thanks for that @TechChrispin. Yeah, I was reading something else Carl wrote the other day and I had an epiphany that the way I was doing user role filtering was all wrong and making my life way more complicated than it should be: if I’d done this the right way in the first place I would have no need to copy these pages. What you described is a succinct statement of the right way to do it. Too late to change it in the app that I opened this thread for (its riddled with user role filtering) but I’ve got a workaround to that now; but in future I’ll be doing things differently. Thanks again for patiently explaining. Leigh.