Redmine 1.4.0 もうすぐリリース。大量のプラグインが動作しない可能性あり

もうすぐ Redmine の 1.4.0 がリリースしそうです。 ロードマップ をみると、インストールの説明の変更のチケットだけを残して、 期限が 4/1 になっているので、時期はおそらく 4/1 でしょう。

1.4.0 では待ち望んでた Ruby 1.9 への対応が行われています。
残念ながら、 Rails 3 への対応は 2.0.0 に持ち越しのようです。

ただ、システム管理者やプラグイン開発者にとってはあまり喜んでばかりもいられません。 というのも、 1.4.0 では今までのプラグインが大量に動作しなくなる 可能性があるためです。

また、インストールの説明が更新されたら、そこでちゃんと説明されるかも知れませんが、 インストールにもハマりやすいポイントが出来ています。 こちらについて詳しくは以前の記事を見てください。

routes の問題

おそらく多くのプラグインでは Internal Error が発生して動作しなくなります。
このときのログは、以下のようなエラーになっています。
No route matches ....
動作しなくなる原因は Redmine のルートの設定が変わってしまったためです。 (リビジョン 8162)

以前、 trunk を試しているユーザーの方々から報告をいただいて私も知りました。

ルート設定の変更は 1.3 では見送られたっぽいですし、 こんな大量のプラグインを動かなくする変更を本当にいれるのかなと思っていたのですが、 どうやら本当に入れるみたいです。
Redmine のブランチの仕組みをよく分かっておらず、今の開発版(trunk)がそうというだけで、本当にそうなるかどうかはリリースされるまではっきりしたことは言えませんが。

対応法

ルート設定の変更への対応はプラグインに config/routes.rb のファイルを追加します。

基本的には以下のような内容のファイルを作れば、一応の動作はします。
ActionController::Routing::Routes.draw do |map|
  map.connect 'foos/:action', :controller => 'foos'
  # :
end
foos がコントロール名で、 ブロックの中に使っているコントロールの分だけ書きます。

ただ、これだけで動作するものもあれば、しないものもあります。 私の作成している用語集プラグインもこれだけだとすべての機能がちゃんと動作するわけではありません。
動かない場合の原因はプラグインごとに異なると思うので、プラグインごとにちゃんと対応する必要があります。

私のプラグインの対応状況

私が公開しているプラグインの対応状況です。
TestLink Link プラグイン
まだ試していませんが、これは wiki マクロの拡張だけで routes に関係がないタイプなので、対応しなくてもそのまま動作すると思います。
Redmine インフォメーション プラグイン
こちらは前項の方法で対応済みです。
用語集プラグイン
まだ対応できていません。 4/1 までに対応するつもりではいます。

関連記事
スポンサーサイト
Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
43位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
3位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

05月 | 2017年06月 | 07月
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。