RedmineのPlugin名とPlugin配置フォルダ名が一致していないとエラーが発生する場合がある

Parent issue filter にて、下記のようなissueがあがっていたのですが、原因は、Plugin名とインストール先フォルダ(plugins配下のフォルダ名)が違うことでした。

I'm getting translation missing: en.field_root_issue instead of Root Issue as a filter after installing on Redmine 2.5.2.stable.13333

Any idea how to fix this?

image

Getting translation missing: en.field_root_issue instead of root issue label · Issue #4 · onozaty/redmine-parent-issue-filter

 Plugin名というのは、init.rb に書かれている Redmine::Plugin.registerで指定している部分です。

そことPlugin配置先のフォルダ名(plugins配下)が異なると、下記のような問題が発生するようです。

  • メッセージリソース(config/locales/*.yml)が参照できなくなり、translation missingといったエラーが出る
  • assets 配下のものが参照できなくなる。(スタイルシートや画像、JavaScriptなど、固定のものを配置するディレクトリ)

Pluginがうまく動かない場合には、Plugin名とPluginのフォルダ名をまず確認してみるとよさそうです。

 

ちなみに、Parent issue filter は、gitでのリポジトリ名とPlugin名が異なる状態で、インストール手順として下記のようにフォルダ名を変えてgit cloneするような形にしていたのですが、

git clone https://github.com/onozaty/redmine-parent-issue-filter.git parent_issue_filter

指定せずにcloneする方が何名かいらっしゃるような状態で、確かに紛らわしいので、リポジトリ名を変えようかと考えています。(としてもparent_issue_filter にしてしまうと、リポジトリ一覧見た際にRedmineのものだということがわからなくなるので、ちょっとどうしようかなと…)

------------------------

追記@2014-09-24

Plugin名の変更は影響が大きいので、とりあえず、インストール手順などに注意書きをさらに追加して様子をみることにしました。