We like to import all the CardHolder data, including images, to our face recognition system.
How do you enumerate and fetch all the CardHolders in the Milestone system?
Note the solution should handle large number of CardHolders.
I do see the ACCredentialHolderManager a search API, that takes a search parameter, but do not see an API that would let me enumerate all the CardHolders in the system.
I was able to persuade a developer colleague with the right expertise on the Access framework. Her comes the reply..
--
In order to enumerate and fetch all card holders, you first need to call SearchCredentialHolders(string searchString, int searchLimit) with string.Empty as value for the searchString parameter. This will give you a list of credential holders, including their credentialHolderId which you can use further to get the rest of the information on a particular credential holder via the GetCredentialHolder(string credentialHolderId) method.
However, there might be an issue here. Card holder images can come from 2 places:
- Picture straight from the Access Control System itself, which can be obtained via the method above (or by interacting directly with the Access Control System, no VMS involved)
- The picture that is added only to the VMS via the Management Client. This picture is not pushed back to the Access Control System, and it is not exposed to the outside world. There is no way for someone to query for this picture, as its visibility is strictly internal.