Issue #525 has been updated by Jon Kidder.
Using the destination's getAllFilter presumes that the criteria used to select records for synchronization and the criteria used to select records for deletion are the same. I ran in to two situations where this is not true. 1. There is no key data that uniquely identifies destination records maintained by an LSC task. In my case the destination records can be created by multiple sources or were created by previous runs of the task. The records had to be "tagged" by the task. When I added the tag to the filter LSC couldn't find the existing destination records and attempted an add operation, which failed, instead of a modify operation. I had to perform a one time sync without the tag in the filter in order to create the tag and then change the configuration to add the tag to the filter. This extra step wouldn't have been neccesary with separate getall and clean filters for the destination. 2. I am merging multiple sources into a common branch. In some cases this results in the merging of multiple source attribute sets into a common detination record. The task needs to synchronize attributes belonging to common destination records and delete destination records that aren't touched by other sources(tasks). There needs to be separate getall and clean filters in order for this to work. Here is a grossly simplified sample of what I'd like to be able to do in the destination configuration. <getAllFilter>(objectClass=myObject)</getAllFilter> <cleanFilter>(&(objectClass=myObject)(syncModifier=Task1)(!(syncModifier=Task2)))</cleanfilter> Where syncModifier is a multivalued attribute containing a tag for each process that modifies the record. I appologize for not having the resources to develop and contribute this feature myself. This feature would add tremendous flexibility to address more complicated use cases and appears to be relatively inexpensive to develop. ---------------------------------------- Feature #525: Add a clean filter to the destination service http://tools.lsc-project.org/issues/525 Author: Jon Kidder Status: New Priority: Normal Assigned to: Category: Administration Target version: I am using LSC to consolidate multiple sources into a common branch of an LDAP tree. When I run the clean phase for one source all of the destination data from the other sources gets removed from the destination. I can easily tag the data so that I know which source it came from but I have no way to filter the destination records selected for comparison against the source during the clean phase. I understand that I could do this by making each source a child branch of a common parent in the directory and having my applications do subtree searches starting at the parent but I do this with several sources in a couple of different places and I'm trying to avoid building a complicated LDAP "bush". -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://tools.lsc-project.org/my/account
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-dev mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-dev

