shinagawa.redmine 第2回勉強会の発表資料

2012/01/21(土) に行われる shinagawa.redmine の勉強会『プラグイン開発ガイド』 の発表を行います。

r-labs に書いたのは結構大作で、 40 分で説明しきれないので、 ポイント絞って説明しようかなと思ってます。


発表資料を公開しておきます。


https://docs.google.com/present/view?id=dfhpqwhr_0c58t6mtg

スポンサーサイト



 

プラグイン開発記 - routes の問題

Redmine インフォメーション プラグイン用語集プラグインroutes の問題が発生していた。



これは Redmine 最新安定版(1.3.0) では発生しないが、 開発版で発生する問題だった。
結局、解決方法がわからなくて、 @haru_iida さんに教えてもらったのだが、 routes を設定していないといけないらしい。
今後の Redmine のバージョンから routes の設定が必須になるかも知れない。

Rails では link_to のメソッドなどで、以下のようなアクションを指定した場合、
link_to(表示文字列, {:control=>:foos, :action=> :show, :id => "demo", :foo_id => 1})
control, action, id の値だけアドレスに使われて、残りのハッシュの値は GET の引数として渡される。
アドレス: http://127.0.0.1/foos/show/demo
params = {:id => "demo", :foo_id => "1"}
これは config/routes.rb というファイルでどのようなアドレスになるか変更できる。
http://gihyo.jp/dev/serial/01/ruby/0038


Rails では、 find_project という id をプロジェクトの識別名としてプロジェクトを探す関数が予め用意されているし、 id をプロジェクトの識別名に使うという方針みたい。

Redmine では、ソースを見ていると、 id を使わずに project_id というキーで、識別名を指定して、 routes を使ってアドレスが次のようにしている。
http://サイトアドレス/projects/プロジェクト/コントロール/アクション


用語集プラグインでは参考にした ezFAQ がそうしていたからという理由が一番大きいけど、 routes 設定するのも面倒なので、 Rails のように id をプロジェクト識別名に設定する方法でやっていた。
けど、 routes を設定するのが必須なら project_id をキーにしておくように変更した方がいいかも知れない。
ただ、そうすると前と URL が変わってしまうので、それもどうかなとも思う。

Redmine インフォメーション プラグイン の場合は、もともとプロジェクトに属してなくて、 id を情報のカテゴリとして使っていたので、 とくに問題はなさそう。


もう一つ問題は 『プラグイン開発ガイド』
こちらも簡単のために、プロジェクト識別名を id で設定していた。
今後、 routes 必須になる可能性を考えると、 project_id にして、 routes の説明を追加した方がいい気がする。
shinagwa.redmine の勉強会 まで時間がないけど、がんばってなおしてみようかな。

 

プラグイン開発ガイドの更新

『プラグイン開発ガイド』 を修正しました。

前の記事 で書いていたプロジェクト識別名の指定に project_id を使うように変更しています。
routes の説明は、まだ私がよく理解していないので、そんなに詳しくは書いていません。 そのうち、ちゃんと説明を書き足したいなと思います。

それ以外にはデータベースのプラグインのテーブルを rake コマンドを使って削除する方法も追加しました。
最初に書いていた時は知らなくて、 sqlite のコマンドを使って削除する方法を書いていました。 そのうち、直そうかなと思っていたので、ついでに直しています。

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

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

12月 | 2012年01月 | 02月
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 31 - - - -


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

yohshiy

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

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

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