I’m working on a connector and it appears to be working(neat). As i am working on the recon or sync side of things I’m trying to understand. when does or what causes IDM to trigger the executequery method and the sync method. I’ve gotten the executequery method to trigger when I manually recon a mapping, but are there other things that trigger it? and what will cause the sync method to fire?
Hi Rob,
Let’s start by the easier: Sync
. It is triggered whenever the system enpoint’s livesync action is invoked: Manage liveSync :: IDM 7.3.1.
For Query
, it is either triggered by a CREST read or query at the system endpoint. Then the ICF framework is going to invoke the Query operation for an Update operation as well (after the update has been performed), and perhaps for the Create operation as well (before creating the resource). But as long as you have correctly implemented the connector operations and tested the functionality at the system endpoint, you should not worry much of this latter aspect. I must say that the Query operation is the one that needs the most care - and is probably the most involved - as it must obey to paging controls, sorting, and implement/convert the provided filter to the target resource API.
I may already shared this link with you, if not, this might be of interest (this is Groovy, but yet the methodology rightfully applies to Java as well): https://community.forgerock.com/t/developing-a-groovy-connector
Regards
Patrick