[Kolab-devel] pear.kolab.org and module thoughts

Jeroen van Meeuwen (Kolab Systems) vanmeeuwen at kolabsys.com
Wed Jan 19 16:10:59 CET 2011


Gunnar Wrobel wrote:
> Zitat von "Jeroen van Meeuwen (Kolab Systems)" <vanmeeuwen at kolabsys.com>:
> > I suppose if a generic module is called Kolab_Cache, then it's backend
> > specific routines are either in Kolab/Cache/$tech.php or in seperate
> > Kolab_Cache_$tech modules -reasonable?
> 
> Yes. Horde packages have a tendency to implement the different drivers as
> Kolab/Cache/$tech.php within a single module. The dependencies coming
> with $tech
> are then usually marked as "optional". You can also extract
> Kolab/Cache/$tech.php
> into separate modules. Again such modules would be "optional" dependencies
> for Kolab_Cache.
> 
> I do see a small advantage for the "Kolab/Cache/$tech.php within one
> module" strategy: There is no fragmentation of the internal API over
> package boundaries.
> I would assume that the $tech's have a stable API and that Kolab_Cache has
> a stable API. But I can imagine that adding $tech+1 or fixing bugs might
> make changes on the internal interfaces between Kolab_Cache and $tech's
> necessary. Keeping that within one package should give you some more
> flexibility.
> 

Long story short, while in the beginning Kolab/Cache/ may very well be part of 
one and the same pear module, we have to allow ourselves to break out one or 
the other particular $tech.

For example, some distributions ship pgsql 8.4, others are still on 8.1. Same 
goes for mysql -even though distributions are, generally speaking, somehat in 
the same grander area of version ranges, we *MUST* maintain the ability to 
break out a $tech from the generic module so that we can address dependencies 
on the deployment platform.

Which module are we going to start out with?

Kind regards,

Jeroen van Meeuwen

-- 
Senior Engineer, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
t: +316 42 801 403
w: http://www.kolabsys.com

pgp: 9342 BF08
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kolab.org/pipermail/devel/attachments/20110119/27515dc4/attachment.html>


More information about the devel mailing list