Requirement: Web role with employee and payroll admin can see the cases created by themselves and can also see the cases created by all payroll admins. i.e. all the cases with contact level access and other account-level cases with filtered by logged-in user and further filtered by a specific column.
Options tried that didn’t solve the issue :
- Client-side filtering: We can add a filter on data after loading it on the client screen. But,
- As data will filter after loading from the server and if data is more than to maintain the paging on the client-side is not conceivable.
- There might a possible scenario, where the script may fail on any browser and due to that all cases of other users could be visible to log-in users and it would be a major data breach and not a sustainable solution.
Server-side filtering: To show the employee cases along with payroll admin cases,
-
- we need to filter the data on the basis of payroll admin followed by a logged-in user. But, due to technical constraints on the portal, there is no such provision to pass dynamically logged-in user id from the available filtering options on the portal. So, it is hard to get the logged-in employee data along with payroll admin data in one go.
- Filter Fetch XML: one option on Entity List is to add filter criteria, but it doesn't provide the option to pass dynamically logged-in user id. Also, it shows the filter conditions on UI, which we don't want
- Multiple entity list: Multiple entity list is another option, but it will duplicate the records also, it requires lots of views. Also, the view doesn’t have the option to filter data dynamically by logged in user-id
- Create Custom Table by Fetch XML: It requires a lot of development effort and will increase maintenance effort as well.
The solution, which we are looking for:
- Filter OOTB entity list in Liquid, without losing the OOTB entity list essence. i.e No custom development required to build the table from scratch
- Pass dynamically logged-in user id into CRM views to filter the records, while preparing in the view or while configuring entity list for views.