[Kolab-devel] PHP LDAP library moved to Horde 4

Gunnar Wrobel wrobel at pardus.de
Fri Apr 17 22:11:13 CEST 2009


Hi!

As it might be of interest to some in the development community I  
wanted to provide some news on the current cutting edge development of  
the Kolab Server PHP libraries. This mail is concerned with the LDAP  
subsystem and I'm glad to get feedback from anyone interested in the  
Kolab LDAP schema as well as applications like the Kolab web admin.  
Please note that this is not about released software but only an  
overview on ongoing work.

As mentioned here and there the PHP libraries in the Kolab Server are  
currently making progress towards the next Horde version (Horde 4).  
Horde 3 has been stable for a long period of time and thus the APIs of  
the different libraries were frozen. Horde 4 means that the APIs get  
loosened up for a while until the first application releases of the  
new Horde series occurs.

The first package of the Kolab Server libraries that successfully made  
the transition is the Kolab_Server package. It abstracts all LDAP  
handling required for the Kolab Server.

The package version currently included in the Kolab_Server resided here:

http://cvs.horde.org/framework/Kolab_Server/

The next version of the library lives here:

http://cvs.horde.org/framework/Kolab_Server/?rt=horde-git

The API changes for the transition were actually pretty minor. The  
other packages depending on Kolab_Server saw some small modifications  
and all unit tests in the dependent packages are still running fine.

On the inside of the library some important additions/changes have been made:

   * Schema support.

     The class can adapt to a certain degree to the LDAP schema that  
is actually
     being used on the server.

   * Use of class variables to represent objectClass attributes.

     This allows to quickly adapt your server to an LDAP situation  
where you use
     non-standard attribute names.

   * Cleaner class structure that matches the objectClass structure and
     also allows to represent logical object types.

   * Separate classes to handle the LDAP tree structure

     This allows quicker adaption to new or modified LDAP tree structures.

   * Real LDAP server unit testing.

     This will allow to run functionality checks on a configured server.

   * Added LDAP write support.

     This allows creating users on your Kolab server.

All this concludes the migration path from the initial situation where  
we had LDAP specific code in the Kolab resource management, the Kolab  
free/busy system, the Kolab web admin as well as the Kolab web client.  
All subsystems can now use a central component that will hopefully  
allow us to adapt the code more easily to long overdue LDAP schema  
changes (such as the cn=... -> mail=... problem) without needing to  
code in many places at the same time.

I also started on a very thin application layer on top of Kolab_Server  
that might at some point replace the Kolab web admin. The application  
is called "koward" and lives here:

http://cvs.horde.org/koward/?rt=horde-hatchery

Any input on things you always wished for in the Kolab web admin would  
be of interest. I know there have been some Kolab web admin changes  
under discussion on this list recently and I hope to be able to take  
them into account early on during the development process.

Cheers,

Gunnar

-- 
____ http://www.pardus.de _________________ http://gunnarwrobel.de _

E-mail : p at rdus.de                                 Dr. Gunnar Wrobel
Tel.   : +49 700 6245 0000                         Bundesstrasse 29
Fax    : +49 721 1513 52322                        D-20146 Hamburg
--------------------------------------------------------------------
    >> Mail at ease - Rent a kolab groupware server at p at rdus <<
--------------------------------------------------------------------


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digitale PGP-Unterschrift
URL: <http://lists.kolab.org/pipermail/devel/attachments/20090417/dc2f45d2/attachment.sig>


More information about the devel mailing list