Hi,
I am working on it...I will write a mail as soon as the plugin/extension will be stabilised....
Le Lundi 10 Octobre 2005 11:49, Thomas Bruederli a écrit :
Hi there,
I totally agree with your suggestion for adding a Plugin/Extension API to Roundcube. I also think now the time is right since we still can modify the core code without causing too much of collateral damage...
With the current client/server architecture I hope we can let plugins easily add their own scripts and methods to the client object using javascript prototyping. An extension just includes a javascript file which adds new methods to the rcube_webmail object and automatically have full access to the base object. The main challenge on the client would be to define the rules when a custom operation is allowed to execute by rcmail.command(). Probably we have to build a work around for custom made functions.
Server side we have put the current including mechanism (based on submitted _task and _action parameters) in to a function which can also include dynamically loaded extension files.
Over all, I would appreciate if some of you guys could take care of this topic as I'm a bit busy with my regular job at the moment.
Thomas
2005/10/10, Praneet Kandula pkmlist@gmail.com:
Hi Everyone,
Glad to see a nice community is evolving around Roundcube. I wanted to point out something to keep in mind before development got too far ahead. By nature, any good piece of software will try to find a middle-ground between feature-bloat, and bare-bones mode.
Since most developers have decided that they cannot figure out exactly what will make all of their users satisfied, they develop a plugin architecture into their product, which enables third party developers to add features to the program. Almost all of the successful programs, whether desktop based (Firefox, thunderbird, etc.), or web based (wordpress, squirrelmail), etc. have done this.
Roundcube allows for a certain degree of customization though skinning, which is great, but I believe as we move forward, we should expose a plugin API so that third party developers can develop great plugins. Squirrelmail has been quite successful in this regard: http://squirrelmail.org/plugins.php , fostering an active development community of plugin authors, who might eventually move into core development after they get comfortable with the code.
So basically to summarize, I'll outline what I think the advantages that a plugin API gives us are:
- Features that are controversial, such as a WYSIWYG editor, can be
implemented without "bloating" the core code, yet fit into the program nicely for people that want them.
- The core developers have some pressure off them because if someone
really wants a feature, they can easily implement it as a plugin. If the plugin gains popularity, it can later be rolled into the main code.
- Builds an active community around roundcube. Both squirrelmail and
wordpress have been very successful at attracting third party developers because of how easy they make it to develop extensions.
I'm sure there are many more advantages to a plugin api, but these are the main ones i could think of.
Also, as far as implmentation goes, I believe wordpress has an excellent plugin API, simple to develop on, as well as simple to maintain.
Take a read here: http://codex.wordpress.org/Plugin_API
Sorry for the super-long mail guys, but I thought this was an important issue to be addressed (IMHO) :-)
-- Praneet Kandula