Announcement

Collapse
No announcement yet.

Questions about contacts LDAP caching and LDAP user folder...

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

  • Questions about contacts LDAP caching and LDAP user folder...

    I'm looking at Contacts LDAP bundle and I've some questions regardings its internal operation and configuration.
    In particular, looking at sample configuration file (LDAPglobal.properties) I checked this property for LDAP caching:
    Code:
    # Specify the refresh interval for the cached contacts. If authtype is 
    # "anonymous" or "AdminDN" the contacts are cached and refreshed in the
    # background in the interval specified here (given in ms)
    com.openexchange.contacts.ldap.context111.LDAPglobal.refreshinterval=
    I've configured with "anonymous" binding but it seems that no caching is applied...

    Looking at source code (LdapContactInterface class), the getContactsInFolder method checks only for "AdminDN" authtype
    Code:
    public SearchIterator<Contact> getContactsInFolder (...
    ...
            final List<Contact> arrayList;
            // If a AdminDN is used, all users see the same contacts, so we can cache them...
            if (contentTheSameForAll()) {
    The contentTheSameForAll method should check both for "AdminDN" and "anonymous" authtype...



    As regards caching internals, I see that LdapContactInterfaceProvider uses a local List named cached_contacts in order to store LDAP Contacts.
    This solution is quite easy but I think that it should be better to rely on JCS capabilities in order to provide a more cluster-consistent distributed cache.



    Lastly, I found an interesting LdapUserFolderCreator class which seems unused.
    Looking at LdapActivator, it seems that this class was intended to be binded to some user login event, but for now it's not-completed and/or is a work-in-progress.
    Can you provide me some more detail on LdapUserFolderCreator?

  • #2
    Hello,

    Originally posted by janny_buh View Post
    I'm looking at Contacts LDAP bundle and I've some questions regardings its internal operation and configuration.
    In particular, looking at sample configuration file (LDAPglobal.properties) I checked this property for LDAP caching:
    Code:
    # Specify the refresh interval for the cached contacts. If authtype is 
    # "anonymous" or "AdminDN" the contacts are cached and refreshed in the
    # background in the interval specified here (given in ms)
    com.openexchange.contacts.ldap.context111.LDAPglobal.refreshinterval=
    I've configured with "anonymous" binding but it seems that no caching is applied...

    Looking at source code (LdapContactInterface class), the getContactsInFolder method checks only for "AdminDN" authtype
    Code:
    public SearchIterator<Contact> getContactsInFolder (...
    ...
            final List<Contact> arrayList;
            // If a AdminDN is used, all users see the same contacts, so we can cache them...
            if (contentTheSameForAll()) {
    The contentTheSameForAll method should check both for "AdminDN" and "anonymous" authtype...
    In fact this was a bug. Fixed that meanwhile, so will be fixed in latest snaphosts.


    As regards caching internals, I see that LdapContactInterfaceProvider uses a local List named cached_contacts in order to store LDAP Contacts.
    This solution is quite easy but I think that it should be better to rely on JCS capabilities in order to provide a more cluster-consistent distributed cache.
    That's on the big list.

    Lastly, I found an interesting LdapUserFolderCreator class which seems unused.
    Looking at LdapActivator, it seems that this class was intended to be binded to some user login event, but for now it's not-completed and/or is a work-in-progress.
    Can you provide me some more detail on LdapUserFolderCreator?


    This class should be the equivalent to the LdapGlobalFolderCreator. The Global one creates a global address folder. And the User one was intended to create an address folder for one user only, so no global one. But this is not finished until now...
    If finished every user would have a folder only for himself with his ldap contacts (makes only sense in conjunction with user auth). But I assume this wont be finished in the next time.

    Regards,

    Dennis

    Comment


    • #3
      Thanks for your reply

      Originally posted by Dennis Sieben View Post
      This class should be the equivalent to the LdapGlobalFolderCreator. The Global one creates a global address folder. And the User one was intended to create an address folder for one user only, so no global one. But this is not finished until now...
      If finished every user would have a folder only for himself with his ldap contacts (makes only sense in conjunction with user auth).
      This feauture is very interesting, when do you plan to release it?

      Comment


      • #4
        Originally posted by janny_buh View Post
        Thanks for your reply



        This feauture is very interesting, when do you plan to release it?
        Currently this feature is put on hold. This class is just a skeleton for a far future...

        So I won't expect it to be finished in the next half year.

        Regards,

        Dennis

        Comment

        Working...
        X