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:
.\LDAPServer\LDAPPort_BaseDN_User.xml
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: