Plugins » History » Revision 92
Revision 91 (Etienne Massip, 2012-07-12 12:12) → Revision 92/118 (Terence Mill, 2012-07-27 15:34)
h1. Plugins
h2. Plugin list
A full list of available Redmine plugins can be found at the "Plugin Directory":/plugins.
More plugins (some in very early development), which are not listed at the "Plugin Directory":/plugins but are publicly available on "GitHub":http://github.org, can be found using a "search like this":http://github.com/search?type=Repositories&language=&q=redmine&repo=&langOverride=&x=0&y=0&start_value=1.
h2. Installing a plugin
1. Copy your plugin directory into @#{RAILS_ROOT}/plugins@ (Redmine 2.x) or @#{RAILS_ROOT}/vendor/plugins@ (Redmine 1.x). If you are downloading the plugin directly from GitHub, you can do so by changing into your plugin directory and issuing a command like @git clone git://github.com/user_name/name_of_the_plugin.git@.
2. If the plugin requires a migration, run the following command to upgrade your database (make a db backup before):
rake db:migrate_plugins RAILS_ENV=production
3. Restart Redmine
You should now be able to see the plugin list in _Administration -> Plugins_ and configure the newly installed plugin (if the plugin requires to be configured).
h2. Uninstalling a plugin
1. If the plugin required a migration, run the following command to downgrade your database (make a db backup before):
rake db:migrate:plugin NAME=plugin_name VERSION=0 RAILS_ENV=production
2. Remove your plugin from the plugins folder: @#{RAILS_ROOT}/plugins@ (Redmine 2.x) or @#{RAILS_ROOT}/vendor/plugins@ (Redmine 1.x)..
3. Restart Redmine
h2. Writing plugins
There is a step-by-step [[Plugin_Tutorial|tutorial]] about writing a plugin. Some more (detailed) information is collected and stored in the "[[Plugin_Internals|plugin internals]]" page.
More (general) developer information can be found in the [[Guide#Developer-guide|Redmine Developer Guide]].
h2. Migrating Plugin
h3. Redmine 1.3 > 1.4
* routes.rb which defines url to controller (parameter, action) mapping must be created in <plugin>/config/routes.rb
* @ARCondition@ is gone with no replacement
* @TabularFormBuilder@ is now @Redmine::Views::LabelledFormBuilder@
* defining your own context menus now requires @helper :context_menus@ in the respective controller
* of course, @returning@ is deprecated in favor of @tap@
* if you're doing anything with repos check it twice, because there can be multiple repos now per project
h3. Redmine 1.4 > 2.x