I set up the executable plug-in and I can achieve my result, even if I'm
using LSC in a really odd way.
For each ROLEID I cannot synch, I send an add request that is managed by a
perl script. The script updates my source entry with an update
Thank you,
Natan
On Thu, Jul 31, 2014 at 6:36 PM, Jon C Kidder <[email protected]> wrote:
> 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]
>
> 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