Installation d'Engines pour Redmine

ATTENTION : cet article ne s'applique plus aux versions 2.x de Redmine !

Redmine est un gestionnaire de projets opensource basé sur le framework Ruby on Rails, qui supporte les plugins via le moteur de plugins Engines, comme indiqué ici.

L’installation d’Engines suggère qu’un simple “ruby script/plugin install” suffit, mais il semble que ça ne suffise pas. L’installation ne retourne pas d’erreur, mais une fois qu’on lance ensuite un “rake db:migrate_plugins”, on se retrouve avec une jolie erreur ruby, comme décrit ici.

Added 1 repositories.
# ruby script/plugin install engines
# rake db:migrate_plugins
(in /opt/redmine)
rake aborted!
undefined method `initialize_schema_migrations_table' for module `ActiveRecord::ConnectionAdapters::SchemaStatements'

Je suppose que j’ai obtenu cette erreur car j’avais mis à jour rails ce matin (la version 2.1 étant sortie) tout en ayant freezé mon redmine en 2.0.2, sachant de source sûre que Redmine ne bootait pas en 2.1. Le script/plugin a dû essayer de m’installer une version trop récente d’Engines (confirmé par un diff entre les vendor/plugins/engines/CHANGELOG)

Donc… solution retenue :

# svn update vendor/plugins
# rake db:migrate_plugins
=> OK ! :-)

Peut-être que ce serait une bonne idée d’intégrer Engines à Redmine de base, mais je ne connais pas les implications techniques sous-jacentes, donc je me garde bien de m’avancer trop sur le sujet. Anyway, plus qu’à développer mes plugins !