[Kolab-devel] Enhancing Kolab decision making(re: Is it okay to commit the samba patch to cvs?)
Richard Bos
ml at radoeka.nl
Tue Sep 16 21:32:07 CEST 2008
Hi,
Op Monday 15 September 2008 23:53:59 schreef Alain Spineux:
> Bernhard asked my advice about the inclusion of this patch in CVS .... :
>
> As I say for long time now, I'm more in favor of a plugin interface than
> the inclusion of any Samba's specific code into Kolab.
>
> The pros and cons of the plugin architecture :
>
> - require more code than the simple Samba's specific patch
> + the plugin architecture could be helpful to future Kolab's plugin
> projects ( Asterisk integration, black and grey listing, ....)
> + The two projects (kolab and the samba plugin) will be able to
> evolute independently. Changes in one will not automatically implies
> change in the other. This is true for bug too.
>
> For remember the Kolab's plugin interface should contains a least :
> - some kolab's perl and PHP "function helper", "
> - some php "hooks" to add screen and functionalities to the admin
> interface, - some "hook" from inside the kolabd and the template generation
> ùprocess
Let me put it this way: let us know when the plugin interface is available we
can than use it to add the samba functionality.
Of course a plugin interface would be nice, but it is not here and I think
that it will take a long (very long) time till it arrives. Now with regards
to the samba patch, it is of course possible to wait till the plugin
interface arrives or as the patch is about ready to be committed to cvs that
could be done as well. If one waits long enough the current patch can't be
committed anymore as the sources in cvs will have changed and a nice
oppertunity will have passed to include some samba functionality. The kolab
devs could of course state that the patch will be included if someone
provides the plugin structure, hoping that e.g. Albrecht or Christian (the
samba patch providers) will provide the plugin structure. But Albrecht e.g.
already stated that he won't customize the patch further, so forget he'll
provide a plugin structure...
Let's see what difficulties we run into if the samba patch would be made a
plugin:
The patch provides a template file (samba.php.template.in). So it needs to be
build. This makes it already much less attractive as a plain plugin. The
samba.php include file much be included in the file www/admin/user/user.php.
How should happen with a plugin structure? Should there be
a /usr/lib/php/kolab/plugins directory? Should all the php files in that
directory be included in the www/admin/user/user.php? Or should the plugin
have a kind of include tag that states that it should be included in
user.php? This is I believe still the easy part. Next is that the plugin
should be triggered when a new user is saved, or removed and when the
password is saved. How is that to be done? Here some smart plugin mechanism
needs to be developed.
Next is the slapd.conf.template; 2 schema's have to be included, some indexing
keys are defined and new acl's are added. The latter can be achieved when
kolab is going to use the new openldap configuration method (what is it
called Real Time Configuration, I believe). The plugin openldap stuff can
just be dumped in the RTC openldap directory. I don't believe that the
plugin additions can be easily added to the current slapd.conf file.
Last for this patch is the addition of variables to kolab.conf. This can be
achieved when kolab is going to use a conf.d (/etc/kolab/conf.d) directory.
Plugins could just dump their variable definitions there and kolabconf would
read them.
For the RTC slapd.conf there is already an issue. For all the other
challenges there isn't.
Perhaps issues should be opened for the ideas mentioned above (and that others
agree with). But I also think it shows that the plugin interface is not
available for a long time. Hence the samba patch should be committed to cvs
the way it is now available, if it is to be accepted by the kolab devs at
all.
My 2ct.
--
Richard Bos
We are borrowing the world of our children,
It is not inherited from our parents.
More information about the devel
mailing list