LSC is going to treat your database like a directory. For every record in your directory there can only be 1 matching record in your database. Regardless of the direction you’re trying to sync you will not be able to manage a many to one relationship between your relational data and your directory using LSC. You could probably make it work with additional coding and the new executable plug-in as Raphael suggests.
-Jon C. Kidder American Electric Power Middleware Services Email: [email protected]<mailto:[email protected]> Phone: 614-716-4970 From: [email protected] [mailto:[email protected]] On Behalf Of Natan Sanson Sent: Thursday, July 31, 2014 12:00 PM To: lsc-userslsc-users Subject: [lsc-users] Is there any way to update the source service during a task execution? This is an EXTERNAL email. STOP. THINK before you CLICK links or OPEN attachments. ________________________________ Hi lsc users, I have to sync a lot of jdbc rows with an ldap destination. Any row to update is composed by COL1: USERID COL2: ROLEID COL3: ROLESTATUS The "key" is composed by USERID an ROLEID Inside my ldap I have the users stored with an ldap attribute valued with USERID value, and for each user a multivalued attribute with all the ROLEID values If I try to create a task where the "ldap store" is the sourceservice and the jdc store the "destination service", I don't have a smart way to have multiple entries for each USERID, because the multivalued attribute ROLEID cannot be used to fetch more than a time the same user. LDAP returns always only one time each DN, it doesn't matter how you compose your filter If I try to create a task where the JDBC is the source service and LDAP the destination, I cannot find a way to update the JDBC rows, that it is my goal to achieve I tried to put inside my lsc.xml rows like that without success //If a user does not have this ROLEID, I have to update that it was removed. getOneFilter: (&(objectClass=inetOrgPerson)(USERID={USERID})(!(ROLEID={ROLEID}))) //IF THE ROLEID IS NOT LONGER REPLICATED ON THE LDAP STORE SO I HAVE TO REPORT THE REVOCATION WITHOUT DELETING THE JDBC ROW srcBean.setDataset("ROLESTATUS",dstBean.getDatasetById("AnyLdapAttributeJustToTestTheWriteCapability")); srcBean.datasets().put("ROLESTATUS",dstBean.getDatasetById("AnyLdapAttributeJustToTestTheWriteCapability")); srcBean.datasets().put("ROLESTATUS",dstBean.getDatasetById("AnyLdapAttributeJustToTestTheWriteCapability")); THIS DOES NOT WORK Please let me know if there is a way to update the lack of a value inside an LDAP multivalued attribute on a JDBC store where each value is represented by a row Thanks in advance, Natan
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

