プロジェクト

全般

プロフィール

プラグイン Tips » 履歴 » バージョン 1

Toshiyuki Ando, 2009/06/28 08:45

1 1 Toshiyuki Ando
h1. プラグイン Tips
2
3
チュートリアルの域を超えそうなものはこちらに?
4
5
h2. 活動ページにプラグインの履歴を表示する
6
7
Hudson プラグインを例にとり、プラグインの履歴を表示する方法を紹介します。
8
9
h3. サイドバーに表示される履歴の種類に、自分のプラグインを追加する
10
11
h4. 1. init.rb で活動ページに参加することを宣言する
12
13
以下のコードを Redmine::Plugin.register の中に追加します。
14
15
<pre><code class="ruby">
16
  activity_provider :[履歴の種類], :class_name => '[履歴を管理するクラス]', :default => false
17
</code></pre>
18
19
Hudson の場合は以下のようになります。
20
21
<pre><code class="ruby">
22
  activity_provider :hudson, :class_name => 'HudsonBuild', :default => false
23
</code></pre>
24
25
h4. 2. 権限に view_[履歴の種類] を追加する
26
27
活動の履歴では権限をチェックします。
28
現在ログインしているユーザが履歴を閲覧してよいかどうかは、 
29
*view_[履歴の種類]* 権限が許されているかどうかに依存します。
30
31
Hudsonの例で言うと、履歴の種類が hudson なので、 *view_hudson* 権限が必要です。
32
従って、init.rb に記載する権限の種類に view_hudson がないと、権限なし とみなされてサイドバーに履歴の種類が表示されません。
33
34
<pre><code class="ruby">
35
  project_module :hudson do
36
    # パーミッション設定。
37
    permission :view_hudson, {:hudson => [:index, :history]}  # !!ここ大事!!
38
    permission :build_hudson, {:hudson => [:build]}, :require => :member
39
    permission :edit_hudson_settings, {:hudson_settings => [:edit, :joblist]}
40
  end
41
</code></pre>
42
43
h4. 3. 言語ファイルに label_[イベントの種類]_plural というエントリを追加する
44
45
サイドバーに表示する用語は、 label_[イベントの種類]_plural に統一されています。
46
Hudsonだと label_hudson_plural ですね。
47
言語ファイルに登録しておかないと label_hudson_plural が表示されるという、格好悪いことになります。