The first time you connect to am LDAP server with LEx, you may notice that you don't see the complete
directory tree hierarchy immediately. LEX shows you only the surroundings of the hierarchy level you
are currently browsing in and evaluates in a background thread the complete tree. During this operation
you see the following information in the status bar:
All other refresh and reload operations on the treeview structure (see below) are disabled during this task. Depending on the performance of the regarding LDAP server and the complexity of the directory hierarchy, this tree caching operation can lasts up to several minutes. For a modern powerful LDAP server with a directory up to about 500 containers, this should be finished in less than 10 seconds.
After caching the tree, LEX store this cache in an XML file (storage location can be set in Tools - Options - General - Directory Cache Storage Path). In the Directory Cache Storage Path, a subdirectory is created for every LDAP server which was connected to with LEX. In this subdirectory, there are separated files for each different LDAP port, for each LDAP base DN and for each user. So different cache information for every combination of LDAP-Server/LDAP-Port/LDAP-BaseDN/LDAP-User is stored in a separate cache XML file.
This is because a directory tree can look very different from different point of views - depending on which user reads the tree and depending on the technical configuration of the connection. The cache filenames are built like this:
Next time a connection is opened with a known combination of LDAPServer, Port, BaseDN and user, LEX builds up the directory tree hierarchy visible in the Treeview Panel very fast - it's read from the XML cache file. The disadvantage of this technique: If new containers were created in the meantime or if containers were removed from the directories, LEX don't update the cache automatically (this would cost application performance and network bandwidth) - you have to update the treeview data manually: