Hi, this question is about the Access Control plugin credential holders list view and API (see attached screenshot for the relevant UI). We are having trouble getting a good user experience when the credential holders results are too many (above 50).
The Access Control plugin API cardholders search function is as follows:
public override ACCredentialHolderSearchResults SearchCredentialHolders(string searchString, int searchLimit)
The first time cardholders are searched, the searchLimit is always set to 50 (this is passed in from the Milestone system). In our plugin code the returned object ACCredentialHolderSearchResults is created as follows:
return new ACCredentialHolderSearchResults(searchResult, partialResult);
If there are more than 50 cardholders then we set partialResult = true. Then in the UI a link is shown at the bottom of the cardholders list that the user can click for more results. When that is clicked, another call to SearchCredentialHolders() happens but this time the searchLimit is 100. We then return 100 cardholders and the UI refreshed with those 100 cardholders. This leads to a confusing experience for the user. In particular, the current item does not move to item 51. So the user sees the list refresh and then gets confused - they are seeing more data but which part is new?
What would be better would be to implement paging where the user can scroll forward/backwards through their results. So, first 50 items, then the next 50 items, and so on, with the ability to go forwards and backwards. Is there a way to achieve this? It could be that we are not fully understanding this API call.
Thanks,
-Lou