[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