See http://lsc-project.org/wiki/documentation/1.2/configuration/syncoptions

Regards,
Raphaël Ouazana.

Le Jeu 17 juin 2010 12:07, [email protected] a écrit :
> I have an other problem :
> The phone numbers are added from source too destination when there was no
> telephone number in destination. Howerver, when I modify the phone number
> in the source the phone number is not modified in the destination.
> In my configuration file there was :
>
> lsc.tasks.ADpam.srcService.pivotAttrs = ou st
> lsc.tasks.ADpam.srcService.attrs = ou st telephoneNumber objectClass
> lsc.tasks.ADpam.dstService.pivotAttrs = ou st
> lsc.tasks.ADpam.dstService.attrs = ou st telephoneNumber objectClass
>
> I tried to add telephoneNumber in pivotAttrs but nothing happened...
> Have you got suggestions?
>
> -------- Message d'origine--------
> De: Raphaël Ouazana-Sustowski [mailto:[email protected]]
> Date: jeu. 17/06/2010 10:36
> À: François Chapuis ([email protected])
> Cc: Gunter Holzer; [email protected]
> Objet : Re:  RE : RE : ldap2ldap synchro task configuration
>
> Please respect the syntax.
> properties files and Javascript are special, you can't write that.
>
> Ths syntax is :
> lsc.tasks.<taskName>.dn = <script>
>
> where <script> is a Javascript script like this one, and where you must
> escape carriage return.
>
> Le Jeu 17 juin 2010 10:22, [email protected] a écrit :
>> The script didn't worked (the destination dn was undefined) and I
>> changed
>> it into :
>>
>> var dn = "" + srcBean.getDistinguishedName() ;
>> var pos = dn.lastIndexOf("dc=testDomain,dc=com") ;
>> if (pos > 0) {
>> dn = dn.substring(0, pos - 1);
>> }
>> lsc.tasks.ADpam.dn = dn;
>>
>> With this script the telephone Number are added but there still have a
>> lot
>> of errors :
>> juin 17 10:13:59 - ERROR - org.mozilla.javascript.EcmaError:
>> ReferenceError: "dn
>> " n'est pas dÚfini (<cmd>#1)
>> juin 17 10:13:59 - ERROR - org.mozilla.javascript.EcmaError:
>> ReferenceError: "dn
>> " n'est pas dÚfini (<cmd>#1)
>> juin 17 10:13:59 - ERROR - org.mozilla.javascript.EcmaError:
>> ReferenceError: "dn
>> " n'est pas dÚfini (<cmd>#1)
>> juin 17 10:13:59 - INFO  - # Updating entry
>> ou=UnitLevel2b,ou=UnitLevel1a
>> for AD
>> pam
>> dn: ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com
>> changetype: modify
>> add: telephoneNumber
>> telephoneNumber: 0477000000
>> These errors are printed for each unit... Do I have to ignore these
>> errors?
>>
>> Morover the unit I wanted to be created is not :
>> juin 17 10:13:59 - ERROR - org.mozilla.javascript.EcmaError:
>> ReferenceError: "dn
>> " n'est pas dÚfini (<cmd>#1)
>> juin 17 10:13:59 - WARN  - No DN set! Trying to generate an DN based on
>> the uid
>> attribute!
>> juin 17 10:13:59 - ERROR - Error while synchronizing ID {ou=UnitLevel4c,
>> st=4c}:
>>  java.lang.RuntimeException: -- Development error: No RDN found (uid by
>> default)
>> !
>> How can I create the missing unit in the destination?
>>
>> François Chapuis
>>
>>
>> -------- Message d'origine--------
>> De: Raphaël Ouazana-Sustowski [mailto:[email protected]]
>> Date: jeu. 17/06/2010 10:00
>> À: François Chapuis ([email protected])
>> Cc: Gunter Holzer; [email protected]
>> Objet : Re: RE : ldap2ldap synchro task configuration
>>
>> This is my fault... the script was not tested (and is still not...).
>> Please try:
>> lsc.tasks.ADpam.dn = var dn = "" + srcBean.getDistinguishedName() ; \
>> var pos = dn.lastIndexOf("dc=testDomain,dc=com") ; \
>> if (pos > 0) { \
>> dn = dn.substring(0, pos - 1); \
>> } \
>> dn
>>
>> Regards,
>> Raphaël Ouazana.
>>
>>
>> Le Jeu 17 juin 2010 09:53, [email protected] a écrit :
>>> It worked when I had filtered with one item :
>>> lsc.tasks.ADpam.srcService.filterAll =
>>> (&(ou=UnitLevel2b)(objectClass=organizationalUnit))
>>> Thank you all for your help
>>> However I tried to synchromize all units together by changing the
>>> command
>>> filter
>>> lsc.tasks.ADpam.srcService.filterAll =
>>> (&(ou=*)(objectClass=organizationalUnit))
>>> Now I have a problem with the DN when a unit was in the source but not
>>> in
>>> the destination. I wished the unit in the source to be added in the
>>> destination.
>>> Here are an extract of the errors:
>>> juin 17 09:38:36 - ERROR - org.mozilla.javascript.EcmaError:
>>> ReferenceError: "dn
>>> " n'est pas dÚfini (<cmd>#1)
>>> juin 17 09:38:36 - WARN  - No DN set! Trying to generate an DN based on
>>> the uid
>>> attribute!
>>> juin 17 09:38:36 - ERROR - Error while synchronizing ID
>>> {ou=UnitLevel4c,
>>> st=4c}:
>>>  java.lang.RuntimeException: -- Development error: No RDN found (uid by
>>> default)
>>> !
>>> juin 17 09:38:36 - ERROR - org.mozilla.javascript.EcmaError:
>>> ReferenceError: "dn
>>> " n'est pas dÚfini (<cmd>#1)
>>> juin 17 09:38:36 - ERROR - org.mozilla.javascript.EcmaError:
>>> ReferenceError: "dn
>>> " n'est pas dÚfini (<cmd>#1)
>>> juin 17 09:38:36 - ERROR - org.mozilla.javascript.EcmaError: TypeError:
>>> Cannot c
>>> all method "substring" of null (<cmd>#1)
>>>
>>> I think that Because the dn is not already created in the destination
>>> It
>>> can't change it. How about creating it?
>>> There are a lot more errors after but I think they are linked with.
>>>
>>> Regards,
>>> François Chapuis
>>>
>>> -------- Message d'origine--------
>>> De: Raphaël Ouazana-Sustowski [mailto:[email protected]]
>>> Date: jeu. 17/06/2010 09:29
>>> À: François Chapuis ([email protected])
>>> Cc: Gunter Holzer; [email protected]
>>> Objet : Re: ldap2ldap synchro task configuration
>>>
>>> Hi,
>>>
>>> OK I see the problem: the dn is complete so the suffix is added twice.
>>>
>>> Please try the following:
>>> lsc.tasks.ADpam.dn = srcBean.getDistinguishedName().substring(0,
>>> dn.lastIndexOf("dc=testDomain,dc=com") - 1)
>>>
>>>
>>> Le Jeu 17 juin 2010 09:24, [email protected] a écrit :
>>>> Hi,
>>>> I changed it but it makes the same error. It seems that it wants to
>>>> delete
>>>> the previous item but can't do it because this item has children.
>>>> Here is again the error :
>>>> juin 17 09:15:04 - WARN  - WARNING: updating the RDN of the entry will
>>>> cancel ot
>>>> her modifications! Relaunch synchronization to complete update.
>>>> juin 17 09:15:04 - ERROR - Object ou=UnitLevel2b,ou=UnitLevel1a not
>>>> deleted beca
>>>> use it has children (LDAP error code 66 received). To delete this
>>>> entry
>>>> and it's
>>>>  subtree, set the dst.java.naming.recursivedelete property to true
>>>> juin 17 09:15:04 - ERROR - Error while synchronizing ID
>>>> ou=UnitLevel2b,ou=UnitLe
>>>> vel1a: java.lang.Exception: Technical problem while applying
>>>> modifications
>>>> to di
>>>> rectory
>>>> dn: ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com
>>>> changetype: modrdn
>>>> newrdn: ou=UnitLevel2b
>>>> deleteoldrdn: 1
>>>> newsuperior: ou=UnitLevel1a,dc=testDomain,dc=com,dc=testDomain,dc=com
>>>>
>>>> Do I really have to set the dst.java.naming.recursivedelete property
>>>> to
>>>> true? Is there any other way not to delete the element?
>>>>
>>>> Regards,
>>>> François Chapuis
>>>>
>>>> -------- Message d'origine--------
>>>> De: Raphaël Ouazana-Sustowski [mailto:[email protected]]
>>>> Date: mer. 16/06/2010 18:03
>>>> À: François Chapuis ([email protected])
>>>> Cc: Gunter Holzer; [email protected]
>>>> Objet : Re:  RE : [lsc-users]  RE : RE :  ldap2ldap synchro tasks
>>>>
>>>> If the dn is the same after and before, why don't you simply put:
>>>> lsc.tasks.ADpam.dn = srcBean.getDistinguishedName()
>>>>
>>>> Regards,
>>>> Raphaël Ouazana.
>>>>
>>>> Le Mer 16 juin 2010 18:00, [email protected] a écrit :
>>>>> I wanted to use the second solution so here was my DN creator :
>>>>> lsc.tasks.ADpam.dn = "ou=" + srcBean.getAttributeValueById("ou") +
>>>>> ","+srcBean.getDistinguishedName()
>>>>> There is now a new error
>>>>> juin 16 17:47:06 - WARN  - WARNING: updating the RDN of the entry
>>>>> will
>>>>> cancel ot
>>>>> her modifications! Relaunch synchronization to complete update.
>>>>> juin 16 17:47:06 - ERROR - Object ou=UnitLevel2b,ou=UnitLevel1a not
>>>>> deleted beca
>>>>> use it has children (LDAP error code 66 received). To delete this
>>>>> entry
>>>>> and it's
>>>>>  subtree, set the dst.java.naming.recursivedelete property to true
>>>>> juin 16 17:47:06 - ERROR - Error while synchronizing ID
>>>>> ou=UnitLevel2b,ou=UnitLe
>>>>> vel1a: java.lang.Exception: Technical problem while applying
>>>>> modifications
>>>>> to di
>>>>> rectory
>>>>> dn: ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com
>>>>> changetype: modrdn
>>>>> newrdn: ou=UnitLevel2b
>>>>> deleteoldrdn: 1
>>>>> newsuperior:
>>>>> ou=UnitLevel2b,ou=UnitLevel1a,dc=testDomain,dc=com,dc=testDomain,dc
>>>>> =com
>>>>>
>>>>> It maybe want to delete the current slot in order to create a new one
>>>>> to
>>>>> the specified dn but it can't because it has children. Quite strange
>>>>> because I don't want to change the dn (the new and the ancient are
>>>>> the
>>>>> same).
>>>>>
>>>>>
>>>>> -------- Message d'origine--------
>>>>> De: Raphaël Ouazana-Sustowski [mailto:[email protected]]
>>>>> Date: mer. 16/06/2010 17:25
>>>>> À: François Chapuis ([email protected])
>>>>> Cc: Gunter Holzer; [email protected]
>>>>> Objet : Re: [lsc-users]  RE : RE :  ldap2ldap synchro tasks
>>>>>
>>>>> Hi,
>>>>>
>>>>> In fact the two solutions seems to be feasible:
>>>>>
>>>>> Le Mer 16 juin 2010 17:07, [email protected] a écrit :
>>>>>> I think that two solutions are possible but I don't know how to do
>>>>>> it
>>>>>> my method filterAll :
>>>>>> lsc.tasks.ADpam.srcService.filterAll =
>>>>>> (&(ou=*)(objectClass=organizationalUnit))
>>>>>> This method should be modified in something like:
>>>>>> lsc.tasks.ADpam.srcService.filterAll =
>>>>>> (&(ou=*)(objectClass=organizationalUnit)(dn=ou=UnitLevel1a,dc=testDomain,dc=com))
>>>>>> (this doesn't work because dn in not an attribute) and I will have
>>>>>> two
>>>>>> make one task by level of hierarchy.
>>>>>
>>>>> No, but extended filters (if AD support them) exist:
>>>>> (entryDN:dnSubtreeMatch:=ou=UnitLevel1a,dc=testDomain,dc=com)
>>>>>
>>>>>> The other solution is to modify the dn where it is printed
>>>>>> here is the curent dn constructor:
>>>>>> lsc.tasks.ADpam.dn = "ou=" + srcBean.getAttributeValueById("ou") +
>>>>>> ",ou=UnitLevel1a"
>>>>>> lsc.tasks.ADpam.dn = "ou=" + srcBean.getAttributeValueById("ou")
>>>>>> +","
>>>>>> srcBean.getDN()
>>>>>> but this method doesn't exist.
>>>>>> Have you got suggestions?
>>>>>
>>>>> I think you are looking for the getDistinguishedName() method (named
>>>>> getDistinguishName in old versions).
>>>>>
>>>>> Regards,
>>>>> Raphaël Ouazana.
>>>>>
>>>>>> -------- Message d'origine--------
>>>>>> De: Gunter Holzer [mailto:[email protected]]
>>>>>> Date: mer. 16/06/2010 15:37
>>>>>> À: François Chapuis ([email protected])
>>>>>> Cc: [email protected]
>>>>>> Objet : AW:  RE :  ldap2ldap synchro tasks
>>>>>>
>>>>>> How does your DN constructor look like?
>>>>>>
>>>>>> lsc.tasks.ADuser.dn = "CN=" + srcBean.getAttributeValueById("CN") +
>>>>>> ",OU=OpenLDAP"
>>>>>>
>>>>>> Von: [email protected] [mailto:[email protected]]
>>>>>> Gesendet: Mittwoch, 16. Juni 2010 15:32
>>>>>> An: Gunter Holzer
>>>>>> Cc: [email protected]
>>>>>> Betreff: RE : ldap2ldap synchro tasks
>>>>>>
>>>>>>
>>>>>> This time it runned but I have some errors and warning
>>>>>> The first error comes from the fact that there is no UnitLevel4c in
>>>>>> my
>>>>>> destination serveur but I wanted this unit to be added :
>>>>>> juin 16 14:55:05 - ERROR - Error while adding entry
>>>>>> ou=UnitLevel4c,ou=UnitLevel1
>>>>>> a in directory :javax.naming.directory.SchemaViolationException:
>>>>>> [LDAP:
>>>>>> error co
>>>>>> de 65 - entry has no objectClass attribute]; remaining name
>>>>>> 'ou=UnitLevel4c,ou=U
>>>>>> nitLevel1a'
>>>>>> juin 16 14:55:05 - ERROR - Error while synchronizing ID
>>>>>> ou=UnitLevel4c,ou=UnitLe
>>>>>> vel1a: java.lang.Exception: Technical problem while applying
>>>>>> modifications
>>>>>> to di
>>>>>> rectory
>>>>>> dn: ou=UnitLevel4c,ou=UnitLevel1a,dc=testDomain,dc=com
>>>>>> changetype: add
>>>>>> ou: UnitLevel4c
>>>>>> telephoneNumber: 0478444500
>>>>>> st: 4c
>>>>>>
>>>>>>
>>>>>> The following INFO shows that all my sub-entries which were not
>>>>>> direct
>>>>>> sub-entries of UnitLevel1a are changed to sub-entries of UnitLevel1
>>>>>> and
>>>>>> their telephoneNumber are not modified.
>>>>>> My hierarchy was like that in the source:
>>>>>> ou=UnitLevel1a
>>>>>>     ou=UnitLevel2a
>>>>>>          ou=UnitLevel3a
>>>>>>              ou=UnitLevel4a
>>>>>>              ou=UnitLevel4b
>>>>>>          ou=UnitLevel3b
>>>>>>              ou=UnitLevel4c
>>>>>>     ou=UnitLevel2b
>>>>>>          ou=UnitLevel3c
>>>>>> And after synchronization in the destination:
>>>>>> ou=UnitLevel1a
>>>>>>     ou=UnitLevel2a
>>>>>>     ou=UnitLevel2b
>>>>>>     ou=UnitLevel3a
>>>>>>     ou=UnitLevel3b
>>>>>>     ou=UnitLevel3c
>>>>>>     ou=UnitLevel4a
>>>>>>     ou=UnitLevel4b
>>>>>> And except UnitLevel2a and UnitLevel2b no on has got the new
>>>>>> telephone
>>>>>> number.
>>>>>> One of the INFO :
>>>>>> juin 16 14:55:05 - INFO  - # Renaming entry
>>>>>> ou=UnitLevel4b,ou=UnitLevel3a,ou=Uni
>>>>>> tLevel2a,ou=UnitLevel1a for ADpam
>>>>>> dn:
>>>>>> ou=UnitLevel4b,ou=UnitLevel3a,ou=UnitLevel2a,ou=UnitLevel1a,dc=testDomain,dc
>>>>>> =com
>>>>>> changetype: modrdn
>>>>>> newrdn: ou=UnitLevel4b
>>>>>> deleteoldrdn: 1
>>>>>> newsuperior: ou=UnitLevel1a,dc=testDomain,dc=com
>>>>>>
>>>>>> What is the procedure in order to not to change the rdn?
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>


_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to