> We need to see the full lsc.xml file to help you. Here is the lsc.xml file: <?xml version="1.0" ?> <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd" xmlns:exec="http://lsc-project.org/XSD/lsc-executable-plugin-1.0.xsd" revision="0">
<connections> <ldapConnection> <name>ldap-src-conn</name> <url>ldap://dc.acme.corp:389/OU=Offices,DC=acme,DC=corp</url> <username>[email protected]</username> <password>notpassword</password> <authentication>SIMPLE</authentication> <referral>IGNORE</referral> <derefAliases>NEVER</derefAliases> <version>VERSION_3</version> <pageSize>1000</pageSize> <factory>com.sun.jndi.ldap.LdapCtxFactory</factory> <tlsActivated>false</tlsActivated> </ldapConnection> <pluginConnection> <name>executable</name> <url>fake</url> <username>fake</username> <password>fake</password> </pluginConnection> </connections> <tasks> <task> <name>SyncUpdateGroupTask</name> <bean>org.lsc.beans.SimpleBean</bean> <ldapSourceService> <name>SyncUpdateGroupTask-src</name> <connection reference="ldap-src-conn" /> <baseDn>OU=Offices,DC=acme,DC=corp</baseDn> <pivotAttributes> <string>cn</string> </pivotAttributes> <fetchedAttributes> <string>cn</string> <string>member</string> </fetchedAttributes> <getAllFilter>(&(objectClass=group))</getAllFilter> <getOneFilter><![CDATA[(&(objectClass=group)(cn={cn}))]]></getOneFilter> <cleanFilter><![CDATA[(&(objectClass=group)(cn={cn}))]]></cleanFilter> </ldapSourceService> <pluginDestinationService implementationClass="org.lsc.plugins.connectors.executable.ExecutableLdifDestinationService"> <name>SyncUpdateGroupTask-dst</name> <connection reference="executable" /> <exec:executableLdifDestinationServiceSettings> <name>SyncUpdateGroupTask-service</name> <connection reference="executable" /> <exec:listScript>/usr/local/bin/ad_list.sh</exec:listScript> <exec:getScript>/usr/local/bin/ad_get.sh</exec:getScript> <exec:addScript>/usr/local/bin/ad_connector.py</exec:addScript> <exec:updateScript>/usr/local/bin/ad_connector.py</exec:updateScript> <exec:removeScript>/usr/local/bin/ad_connector.py</exec:removeScript> <exec:renameScript>/usr/local/bin/ad_rename.sh</exec:renameScript> <exec:fetchedAttributes> <string>member</string> <string>objectClass</string> <string>cn</string> </exec:fetchedAttributes> </exec:executableLdifDestinationServiceSettings> </pluginDestinationService> <propertiesBasedSyncOptions> <mainIdentifier>js:"cn=" + javax.naming.ldap.Rdn.escapeValue(srcBean.getDatasetFirstValueById("cn"))</mainIdentifier> <defaultDelimiter>,</defaultDelimiter> <defaultPolicy>KEEP</defaultPolicy> <conditions> <create>false</create> <update>true</update> <delete>false</delete> <changeId>false</changeId> </conditions> <dataset> <name>member</name> <policy>FORCE</policy> <forceValues> <string> <![CDATA[rjs: var membersSrcDn = srcBean.getDatasetValuesById("member"); var membersDstDn = dstBean.getDatasetValuesById("member"); var membersList = new java.util.ArrayList(); var syncMembers = new java.util.ArrayList(); for (var i=0; i<membersSrcDn.size(); i++) { var memberSrcDn = ""; try { memberSrcDn = membersSrcDn.get(i); } catch(e) { continue; } membersList.addAll(getMembersDn(srcLdap, membersDstDn, memberSrcDn)); } var diff = difference(membersDstDn, membersList); syncMembers.addAll(diff); if ( syncMembers.size() == 0) { membersList.add("cn=empty"); } syncMembers ]]> </string> </forceValues> </dataset> </propertiesBasedSyncOptions> <scriptInclude> <string>ldap.js</string> </scriptInclude> </task> </tasks> </lsc> _______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] https://lists.lsc-project.org/cgi-bin/mailman/listinfo/lsc-users

