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:
implemented without "bloating" the core code, yet fit into the program nicely for people that want them.
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.
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
Hi,
I totaly agree with you. It is as far as I know a "must have" feature of any project. It will allow everyone to customise the software so it feets to the user needs. I am already thinking about the rewriting of the roundcube core to add the support of an extensible plugins api. If anyone have ideas about this I am listening to him...
Olivier
Le Lundi 10 Octobre 2005 03:20, Praneet Kandula a écrit :
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
Check out the implementation Wordpress uses.. Seems to be a good starting point:
http://codex.wordpress.org/Plugin_API
On 10/9/05, Slaanesh slaanesh@no-log.org wrote:
Hi,
I totaly agree with you. It is as far as I know a "must have" feature of any project. It will allow everyone to customise the software so it feets to the user needs. I am already thinking about the rewriting of the roundcube core to add the support of an extensible plugins api. If anyone have ideas about this I am listening to him...
Olivier
Le Lundi 10 Octobre 2005 03:20, Praneet Kandula a écrit:
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
Praneet,
I believe this is a great idea. When we used to use squirrelmail I loved the way I could just pick up a new plugin and have it 'just work'.
I much prefer (for obvious reasons) using RoundCube now, but not being able to easily expand the core product is definately a shortcoming.
I'm unable to code this myself (mostly due to time constraints) but would be more than happy to assist with testing.
Great work on Round Cube so far guys - it's an excellent product.
Ross
On Sun, 9 Oct 2005 21:20:14 -0400, Praneet Kandula pkmlist@gmail.com wrote:
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
Yes this is a very good starting point....thank you for giving this url....
Le Lundi 10 Octobre 2005 03:57, Praneet Kandula a écrit :
Check out the implementation Wordpress uses.. Seems to be a good starting point:
http://codex.wordpress.org/Plugin_API
On 10/9/05, Slaanesh slaanesh@no-log.org wrote:
Hi,
I totaly agree with you. It is as far as I know a "must have" feature of any project. It will allow everyone to customise the software so it feets to the user needs. I am already thinking about the rewriting of the roundcube core to add the support of an extensible plugins api. If anyone have ideas about this I am listening to him...
Olivier
Le Lundi 10 Octobre 2005 03:20, Praneet Kandula a écrit:
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
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
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