Plugin API
This page is for keeping track of various aspects of the plugin API.
Feel free to add anything to this page you think would be useful.
Draft
A draft about what we propose is to be found here.
Requirements
- Automatically handle database changes
- Need to be able to show plugin specific preferences
- Some plugins will need to have access to the templates in some way
- Think a plugin that adds buttons to mark a message as spam
- A plugin that adds google style message grouping
- Maybe a little too complex of an example, but you get the idea
- A plugin that handles imap ACLs
- The oft mentioned RSS reader
Proposed Plugins
- Password change
- Mail filtering
- internal to roundcube for people who don't have access to server side filtering
- sieve recipe editor
- other server side editing
- Extended (site specific) preferences
- spam folder
- how to handle mail tagged as spam
- add/change a header
- move to a folder
- forward to another address (inline or as an attachment with headers intact)
- Import attached VCS files
- Alert on new Email (Messagebox / Sound?)
- Send emails via other SMTP servers
(usecase: gmx-email forwarded to my server - sending gmx-emails only possible via gmx-SMTP) - Per-user configurable spam levels with amavisd-new and sql (like squirrelmail plugin amavisnewsql). This would as well add server-side per user black and whitelisting.
Other things to look at for planning/implementation
- TYPO3
- Squirrelmail
- Horde
- See the rss reader thread from here: http://lists.roundcube.net/mail-archive/roundcube.dev/2007/01/
Notes added from the mailing list thread about rss readers
It's late, I just want to get this stuff in here, I'll sort it later
On the server we would have a folder called plugins. We could follow the way that WordPress plugins work. They just have you drop folders into the plugins folder and the folder name is used to define the plugin. So for an RSS reader plugin I would have the following structure.
plugins\
RssReaderPlugin\
RssReader.xml
RssReader.js
RssReader.php
RssReaderConfig.php
media\
RssReader.css
RssReaderIcon.png