Hi Steve, first of all, thanks for your words, they're highly appreciated. Coming to your issue below, I believe the problem is either related to your mapping configuration or Connector's READ implementation. Having [1] as background, propagation to an External Resource works as follows:
CREATE requested: 1. READ 2. CREATE (if READ was unsuccessful) or UPDATE (if READ was successful) UPDATE requested: 1. READ 2. CREATE (if READ was unsuccessful) or UPDATE (if READ was successful) DELETE requested: 1. READ 2. NOT_ATTEMPTED (if READ was unsuccessful) OR DELETE (if READ was successful) So, it seems your current troubles lie in the last case: when DELETE is requested, the preliminary READ operation does not find any matching object onto the External Resource. This can happen because either (1) the Remote Key value as indicated in the mapping is not enough to uniquely identify an object onto the External Resource or (2) the READ operation implemented by the Connector code is not working as expected. I invite you to carefully examine the core-connid.log content to investigate the actual reason of such behavior. FYI there is some change coming in this area with Syncope 2.1.6 [2]- an addition to the current feature set where matching the remote object can be performed either by Remote Key (as currently) or via Push Correlation Rule [3]. HTH Regards. [1] http://syncope.apache.org/docs/2.1/reference-guide.html#propagation [2] https://issues.apache.org/jira/browse/SYNCOPE-1499 [3] http://syncope.apache.org/docs/2.1/reference-guide.html#push-correlation-rules On 24/11/19 12:36, Steven van der Merwe wrote: > Hi > > Firstly, thank you very much for a great piece of software. > > I wonder if any kind soul could help me with an issue I am having (it is > probably my understanding that is lacking) and I have been struggling with it > for about 4 day now. > > I have written my own connector to push data from Syncope to a graph database > (It is a one way push only). Now the issue I am having is that CREATE works > fine and call the appropriate method in my connector and does what is > expected however both DELETE and UPDATE are not being called at all. I have > created a search method (But I do not have anything to search on the other > side), however it does not seem to pass any information to the search. > > I have set up the following: > - Connector (with Sync,Search,create,authenticate,update,delete selected) > - Resource on connector (with above selected) > - Account policy set > - Push policy set (IGNORE conflict resolution set) > - I have created a provisioning rule > - __GROUP__ > - Set up mapping with keys etc () > - no object link > > When I test it does the following: > - Create group : works and calls my connector > - Delete group : does not call my connector (In the propagation task log it > says NOT_ATTEMPTED) -> I have implemented all of the needed methods in my > connector I think? > > Please could someone point me in the right direction as this is driving me > crazy > > Regards > Steve > > -- > Steve van der Merwe > Blog : http://www.stevevandermerwe.co.za > +27 84 978 3817 -- Francesco Chicchiriccò Tirasa - Open Source Excellence http://www.tirasa.net/ Member at The Apache Software Foundation Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail http://home.apache.org/~ilgrosso/