[Kolab-devel] web groupware

Thomas Jarosch thomas.jarosch at intra2net.com
Wed Feb 28 17:27:53 CET 2007


Hello Gunnar,

On Wednesday, 28. February 2007, Gunnar Wrobel wrote:
> One question: It is open source and may be integrated into
> Horde, right? The headers do not explicitely state that so I wanted to
> be certain.

It's GPL with the usual "This program is free software..." hocus-pocus
in the headers. KONSEC encourages to get the new code integrated in Horde.

> I would suggest a number of distinct steps in order to integrate the
> caching driver into Horde without breaking too much of the current
> functionality:
>
>  1) Splitting the current Kolab driver into a "Base driver", an "IMAP
>     Storage driver" and a "XML groupware object driver". This first
>     step will only provide a solution that allows to continue using
>     the current structure but that can be deprecated later.
>
>  2) Rework the "Base driver" to accept groupware object data as a
>     hash. Adapt the "IMAP Storage driver" to this change.
>
>  3) Create four XML groupware drivers that specifically handle tasks,
>     events, addresses and notes.
>
>  4) Rework the Kolab drivers of mnemo, kronolith, nag, and turba to
>     work with the new hash based scheme instead of manipulating XML
>     directly.

Thanks for your review. As you pointed out, currently all drivers are closely 
tied to the low-level XML functions. Splitting this up is very messy and IMHO 
doubles the work to be done. If you execute steps 1. to 3., you'll get close 
to the current state of the caching driver. If we theoretically disable 
writing the cache to the disk, the caching driver should behave exactly
the same to the user.

Also I'm not sure if the additional abstraction layer between the "base 
driver" and "IMAP storage driver" won't make things avoidable complex. 
How would that layer look like?

Do you like the concept of splitting the big Kolab.php file into several 
Kolab/xyz.php files like I did with the caching driver? The idea behind that 
was to improve maintainability of the code.

Cheers,
Thomas




More information about the devel mailing list