[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