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/

Reply via email to