Announcement

Collapse
No announcement yet.

ldap contacts

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ldap contacts

    hi everyone,

    thanks a lot for your work !

    i just installed ox server on a debian lenny, everything works very fine except the contacts.ladap bundle. I've configured everything in /opt/open-xchange/etc/groupware/contacts-ldap/1/LDAPglobal.properties and /opt/open-xchange/etc/groupware/contacts-ldap/mapping.openldap.properties it connects with openldap server (i can see in the logs), but i get a null error when trying to open the folder, here are the logs :

    Code:
    ....
    
    Loading Contacts-LDAP properties...
    -------------------------------------------------------------------------------
    Properties for Context: 1 Propertyfile: LDAPglobal.properties: Foldername: dev
    -------------------------------------------------------------------------------
    	contactTypes: users
    	Searchfilter: (objectclass=person)
    	Uri: ldap://xxx.xxx.xxx.xxx
    	BaseDN: dc=example,dc=com
    	AdminDN: cn=admin,dc=example,dc=com
    	searchScope: sub
    	authtype: AdminDN
    	sorting: groupware
    	userLoginSource: name
    	userSearchFilter: null
    	userSearchScope: sub
    	userSearchAttribute: null
    	userSearchBaseDN: dc=example,dc=com
    	userAuthType: AdminDN
    	userAdminDN: cn=admin,dc=example,dc=com
    	searchfilter_distributionlist: (objectclass=person)
    	searchScope_distributionlist: sub
    	outlook_support: false
    	ADS_deletion_support: false
    	referrals: follow
    	refreshinterval: 10000
    	pooltimeout (-1 for not set): -1
    	derefAliases (null for not set): null
    	memorymapping: true
    	pagesize: 500
    
    8 sept. 2010 15:26:03 com.openexchange.contacts.ldap.osgi.LdapActivator startBundle
    INFO: Registered global LDAP contact provider for folder "dev" with id "53" for context: 1
    
    ....
    
    GRAVE: null
    java.lang.NullPointerException
    	at java.util.Date.getMillisOf(Date.java:939)
    	at java.util.Date.before(Date.java:898)
    	at com.openexchange.ajax.request.ContactRequest.actionAll(ContactRequest.java:504)
    	at com.openexchange.ajax.request.ContactRequest.action(ContactRequest.java:175)
    	at com.openexchange.multiple.handlers.ContactsFactoryService$ContactsHandler.performRequest(ContactsFactoryService.java:105)
    	at com.openexchange.multiple.handlers.ContactsFactoryService$ContactsHandler.performRequest(ContactsFactoryService.java:86)
    	at com.openexchange.ajax.Multiple.doAction(Multiple.java:208)
    	at com.openexchange.ajax.Multiple.parseActionElement(Multiple.java:178)
    	at com.openexchange.ajax.Multiple.doPut(Multiple.java:126)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:619)
    	at com.openexchange.ajax.AJAXServlet.service(AJAXServlet.java:392)
    	at com.openexchange.ajax.SessionServlet.service(SessionServlet.java:174)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.doServletService(AJPv13RequestHandlerImpl.java:504)
    	at com.openexchange.ajp13.AJPv13Request.response(AJPv13Request.java:129)
    	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.createResponse(AJPv13RequestHandlerImpl.java:316)
    	at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.createResponse(AJPv13ConnectionImpl.java:207)
    	at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13Task.java:346)
    	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
    	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:738)
    	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:764)
    	at java.lang.Thread.run(Thread.java:595)
    8 sept. 2010 15:28:31 com.openexchange.ajp13.najp.AJPv13Task call
    GRAVE: null
    javax.servlet.ServletException
    	at com.openexchange.ajax.AJAXServlet.service(AJAXServlet.java:397)
    	at com.openexchange.ajax.SessionServlet.service(SessionServlet.java:174)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.doServletService(AJPv13RequestHandlerImpl.java:504)
    	at com.openexchange.ajp13.AJPv13Request.response(AJPv13Request.java:129)
    	at com.openexchange.ajp13.najp.AJPv13RequestHandlerImpl.createResponse(AJPv13RequestHandlerImpl.java:316)
    	at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.createResponse(AJPv13ConnectionImpl.java:207)
    	at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13Task.java:346)
    	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
    	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:738)
    	at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:764)
    	at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException
    	at java.util.Date.getMillisOf(Date.java:939)
    	at java.util.Date.before(Date.java:898)
    	at com.openexchange.ajax.request.ContactRequest.actionAll(ContactRequest.java:504)
    	at com.openexchange.ajax.request.ContactRequest.action(ContactRequest.java:175)
    	at com.openexchange.multiple.handlers.ContactsFactoryService$ContactsHandler.performRequest(ContactsFactoryService.java:105)
    	at com.openexchange.multiple.handlers.ContactsFactoryService$ContactsHandler.performRequest(ContactsFactoryService.java:86)
    	at com.openexchange.ajax.Multiple.doAction(Multiple.java:208)
    	at com.openexchange.ajax.Multiple.parseActionElement(Multiple.java:178)
    	at com.openexchange.ajax.Multiple.doPut(Multiple.java:126)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:619)
    	at com.openexchange.ajax.AJAXServlet.service(AJAXServlet.java:392)
    	... 12 more
    And the message from the gui :

    Code:
    Erreur : Inattendu : impossible de charger les données parce que la réponse du serveur était vide ! Veuillez réessayer plus tard ou contacter l'administrateur du système ! (UII-CA001, -internal-)

  • #2
    This is a known bug and will be fixed in the next release.
    You need to specify the following mappings in mapping.openldap.properties:

    Code:
    com.openexchange.contacts.ldap.mapping.openldap.lastmodified= modifyTimestamp
    com.openexchange.contacts.ldap.mapping.openldap.creationdate= createTimestamp

    Comment


    • #3
      it works!!!!!

      Thanks again, OX is amazing, and your reactivity is an example for the free software community.

      cheers

      Fabrice

      Comment


      • #4
        I've another question : does it exist a workaround to get ldap folder work for several contexts, or is it just impossible as mentioned in the documentation ?

        thanks again

        Fabrice

        Comment


        • #5
          It might be possible that this already works right now. I would just give it a try.

          If it still doesn't work you'll recognize it soon, because one of the LDAP folders will stay empty.

          Regards,

          Dennis

          Comment


          • #6
            When I set the ldap contacts for two contexts, I get this error on the bundle start and it doesn't work :

            Code:
            GRAVE: PERMISSION-0004 Category=10 Message=The parameter "com.openexchange.contacts.ldap.context1.LDAPglobal.foldername" is not set in property file "LDAPglobal.properties" exceptionID=-946040378-1
            If I set up only one ldap folder, it works fine.

            Fabrice

            Comment


            • #7
              Can you please add both config files here. The error just shows that there is a wrong setting. This is not related to context limitation.

              Regards,

              Dennis

              Comment


              • #8
                here are they :

                /opt/open-xchange/etc/groupware/contacts-ldap/1/LDAPglobal.properties :

                Code:
                com.openexchange.contacts.ldap.context1.LDAPglobal.uri=ldap://example.com
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.baseDN_users=ou=contacts-1,dc=example,dc=com
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.AdminDN=cn=admin,dc=example,dc=com
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.AdminBindPW=secret
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.searchScope=sub
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.authtype=AdminDN
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.sorting=groupware
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userLoginSource=name
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userSearchFilter=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userSearchScope=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userSearchAttribute=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userSearchBaseDN=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userAuthType=AdminDN
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userAdminDN=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.userAdminBindPW=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.memorymapping=false
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.pagesize=500
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.mappingfile=mapping.openldap.properties
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.foldername=lefil
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.searchfilter=(objectclass=person)
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.contactTypes=users
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.searchfilter_distributionlist=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.searchScope_distributionlist=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.baseDN_distributionlist=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.outlook_support=false
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.ADS_deletion_support=false
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.referrals=follow
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.refreshinterval=10000
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.pooltimeout=
                
                com.openexchange.contacts.ldap.context1.LDAPglobal.derefAliases=
                /opt/open-xchange/etc/groupware/contacts-ldap/5/LDAPglobal.properties :

                Code:
                com.openexchange.contacts.ldap.context5.LDAPglobal.uri=ldap://example.com
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.baseDN_users=ou=contacts-5,dc=example,dc=com
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.AdminDN=cn=admin,dc=example,dc=com
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.AdminBindPW=secret
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.searchScope=sub
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.authtype=AdminDN
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.sorting=groupware
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userLoginSource=name
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userSearchFilter=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userSearchScope=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userSearchAttribute=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userSearchBaseDN=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userAuthType=AdminDN
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userAdminDN=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.userAdminBindPW=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.memorymapping=false
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.pagesize=500
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.mappingfile=mapping.openldap.properties
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.foldername=relier
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.searchfilter=(objectclass=person)
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.contactTypes=users
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.searchfilter_distributionlist=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.searchScope_distributionlist=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.baseDN_distributionlist=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.outlook_support=false
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.ADS_deletion_support=false
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.referrals=follow
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.refreshinterval=10000
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.pooltimeout=
                
                com.openexchange.contacts.ldap.context5.LDAPglobal.derefAliases=

                Comment


                • #9
                  The two property files should have different names. Like /opt/open-xchange/etc/groupware/contacts-ldap/1/LDAPglobal1.properties

                  and

                  /opt/open-xchange/etc/groupware/contacts-ldap/5/LDAPglobal5.properties

                  This is a misbehavior that might be resolved in the future.

                  Don't forget to update the property names accordingly to the file names.

                  Regards,

                  Dennis

                  Comment


                  • #10
                    it works!!!!!!!!!!!!!!!!!!!!!!!!!!!

                    thanks again!!

                    Fabrice

                    Comment


                    • #11
                      So it works with more than one context? Then I will look how we can remove the sentence in the documentation.

                      Regards,

                      Dennis

                      Comment


                      • #12
                        It works perfectly with more than one context, as you wrote, the configuration files must have different names.

                        fabrice

                        Comment


                        • #13
                          hi,

                          i just updated to 6.20.0 Rev8 (2011-04-21 12:40:37) and I've now a javascript error when trying to open the ldap folder :

                          firebug says :

                          TypeError: can't convert string to string
                          function format(string,params){var par...nction(match,pos,n){if(pos){index=n-1...
                          concat_init.jsz (ligne 284)

                          and then javascript is down, nothing works...

                          any idea ?

                          Fabrice

                          Comment


                          • #14
                            Hi,

                            rev8 is quite old, please install the latest version rev32 and try again. It might be possible that this was fixed in the meantime.

                            Regards,

                            Dennis

                            Comment


                            • #15
                              how do i install this rev32 as the packages for lenny are still rev 8 ?

                              Comment

                              Working...
                              X