[Kolab-devel] kimap (imap library) Re: annotations patch in c-client what is the status?

Gunnar Wrobel wrobel at pardus.de
Thu Nov 5 10:01:22 CET 2009


Quoting Bernhard Reiter <bernhard at intevation.de>:

> Richard,
>
> Am Sonntag, 25. Oktober 2009 13:57:21 schrieb Richard Bos:
>> > Still not a techbase page, sorry, but I just pushed a blog post about how
>> > libkimap got created. That's hopefully a good place to start as I tried
>> > to provide insights on its design:
>> > http://ervin.ipsquad.net/2009/10/22/libkimap-the-genesis/
>>
>> I stored the information here:
>> https://wiki.kolab.org/index.php/Server_component_UW_imap_c-client#C-
>> client_replacement_with_libkimap
>>
>> An search on the wiki now results at least in something:
>> https://wiki.kolab.org/index.php/Special:Search?search=libkimap&go=Go
>
> thanks for doing so, this is really helpful!
> (As is any help with the wiki by others - hint hint hint. :) )

I added my view of the story and post it here for reference and discussion:

===C-client obsolete in Horde 4===

Horde 4 has a completely new Imap_Client library. This library  
implements IMAP access via two different access methods: Either via  
the c-client functions within PHP or via a pure PHP implementation  
based on the PHP socket functions (these are low-level networking  
functions).

As astonishing as it may seem: The pure PHP implementation seems to be  
significantly faster than using the c-client library implemented in C.  
The test script associated with the Imap_Client library uses 50% more  
time when running based on c-client.

The Imap_Client library delegates all calls not supported by the  
c-client functions to the socket based implementation. Metadata  
support has been implemented in Imap_Client  
[http://git.horde.org/h/chora/diff.php/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php?r1=27544c35aa67bdabb93fa22eb5c944109c5aece3&r2=ea1160aa4ed249ceff10dd268d46b8d9dd7dc3b8 recently]. The IMAP access within the Kolab server and the Kolab parts of Horde has also been ported to use Imap_Client. This refers to Kolab_Storage which is the IMAP handler for all elements in the Kolab server and Horde that require access to the Kolab IMAP  
server.

So in Horde4 the need for patching c-client becomes obsolete.

This does however '''not''' mean that libkimap is not interesting for  
the IMAP connectivity of the Kolab server. It could potentially be  
faster than the socket based implementation. Somebody would however  
need to package libkimap in a PECL package (or directly in PHP) and  
implement use of this backend in Imap_Client.

Cheers,

Gunnar

>
> Bernhard
>
> --
> Managing Director - Owner: www.intevation.net       (Free Software Company)
> Germany Coordinator: fsfeurope.org. Coordinator: www.Kolab-Konsortium.com.
> Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998
> Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
>



-- 
______ http://kdab.com _______________ http://kolab-konsortium.com _

p at rdus Kolab work is funded in part by KDAB and the Kolab Konsortium

____ 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 <<
--------------------------------------------------------------------

-------------- 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/20091105/65017190/attachment.sig>


More information about the devel mailing list