> Did I miss some conversation here?
No, we just started.

> Please also regard the recent conversation about plugin architecture:
> http://lists.roundcube.net/mail-archive/dev/2008-06/0000023.html
> http://lists.roundcube.net/mail-archive/dev/2008-06/0000038.html
Thanks for that links. I had no details about earlier plans.
I will have a look at it.

> Also initializing all plugins on every event is bad for 
> performance. I'd suggest to have a plugin-controller which is 
> created once and which loads all plugins with their hooks. 
> Every time a plugin-hook is triggered, the controller will 
> pass the event to all plugins that registered this hook.
catched it. That's the reason why we 're discussing here.
If I understand A.L.E.C.'s Ideas right:
* Each plugin has an init.php which registers to events:
 /myplugin/init.php:
        init_plugin('init', 'functionname');
        init_plugin('showmail', 'functionname');
* the Controller does a loop over the plugin/subdirectories to get these
registries
* this is somewhat like an decentralized configuration seperated over the
plugin directories.

> Forian, do you plan to implement the whole 
> plugin-architecture of RoundCube or are you just talking 
> about your Funabol integration?
I prefer this approach:
* I plan to build a generic plugin-architecture. I will not code any aspect
of a full featured "plugin-architecture" but only the needed parts for now -
but i want to make it as much extendible as possible to support any possible
kind of plugin later.
* Together with the plugin-architecture I want to implement an Demo-Plugin
as a reference. The Funambol plugin just has too much Funambol-logic in it
so it wouldn't be a good start for a new plugin.
* Then I will extend the Demo-Plugin to my Funambol-Plugin.

I think it does not make sence to implement a full featured plugin monster
if we do not need it right now.
But we should be able to extend it to a monster if we need to do so later
;-)

_______________________________________________
List info: http://lists.roundcube.net/dev/

Reply via email to