Plugins are basically CakePHP applications with some extra required files:
- <pluginname>/meta.xml: contains various info on the plugin and the author.
- <pluginname>/controllers/install_controller.php with method install: contains all the logic needed for installing the plugin. create tables, insert data, etc.
- <pluginname>/controllers/install_controller.php with method uninstall: contains all the logic needed to restore Bromine to the condition prior to installation. Bromine will handle the deletion of the plugin files.
Lots of info on how to create CakePHP applications can be found here: http://book.cakephp.org and more specifically on plugins here: http://book.cakephp.org/view/115/Creating-a-Plugin
We're shipping Bromine with a Pizza plugin that can serve as template.
Once you've created something awesome go to http://clearspace.openqa.org/community/selenium/bromine/plugins and release it by creating a document describing its functionality and attaching the files.