Great idea!

Ziba Scott, 09.03.03 23:39:
Hi Roundcube Plugin API Devs,

I wanted to float a concept out there for feedback: Core plugins. Hopefully I haven't missed a discussion about it elsewhere.

A core plugin would be a plugin which is required for roundcube to
function or must at least be replaced by a non-core plugin which serves
the same function.  This is something Drupal has implemented with (in my
opinion) great success.

I believe there would be several benefits to implementing some core,
required elements of roundcube using the plugin api:

* The plugin api is assured to become potent and robust as it's heavily
depended on
* There almost no learning gap between developing/maintaining a plugin
and a core feature.
* This would eliminate the need for code which reads:
    "check for a plugin to do this, otherwise do it the regular way"
* The non-plugin code base becomes smaller and more focused

I'm not proposing there be a concerted effort to re-factor everything as
plugins but making some core plugins could open doors.

In a test branch we plugin-ized a few core things and liked what we saw:

IMAP Caching: We replaced all the imap caching calls with plugin hook calls. Then it
was easy to implement memcache caching instead of sql caching.

Temporary File Handling:
We replaced all the read/write attachments to disk calls with plugin
calls and wrote two plugins: Filesystem, to handle attachments just as
before and Database to handle attachments in a multi-server friendly
way.  Memcache would be another option.

Contacts:
We added a few hooks, re-factored rcube_contacts.php  and rcube_ldap.php
into plugins, and then made a horde contacts plugin.


What do you all think?

Thanks,
Ziba
_______________________________________________
List info: http://lists.roundcube.net/dev/


--
*Horváth Balázs*        *Balazs Horvath*
Online szakember, tanácsadó     Online specialist, consultant
WEBoor.net Kft.         WEBoor.net Ltd.

+36 (20) 971-2904
[email protected] <mailto:[email protected]>

H-1076 Budapest, Garay u. 45. I. em. 110.
Tel: +36 (20) 62-101-62
Fax: +36 (1) 998-0685
Web: http://weboor.net <http://weboor.net?adid=1>

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

Reply via email to