読者です 読者をやめる 読者になる 読者になる

( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

常に画面の片隅にチケットの一覧を表示させるTracPluginを作りました。

Trac Plugin

今の案件でもわりとハードにTracを使っているんです。


で、たとえば、新しくチケットを書いているときに、関連するチケットや現在担当しているチケットの情報を見たいときがあるじゃないですか。


そんなときに、いちいち検索したりレポート一覧の画面に行ったりするのがUZEEEEE!!なので、チケットの一覧が常に画面のどこかに表示されていると便利かなと思い、Pluginを作りました。

f:id:yuroyoro:20091215224133p:image


shibuya-tracのrepositoryにコミットしてます。

これはなに?

TicketListOverrayPluginといいます。


wikiページだろうがチケットの個別表示の画面だろうが管理画面だろうが、常にレポートの検索結果の一覧を表示させるものです。


f:id:yuroyoro:20091215224134p:image
f:id:yuroyoro:20091215224136p:image


Trac 0.11.5.ja1とMacOSX Safari4.0.4とFirefox3.5.5で動作確認しています。

インスコ

shibuya-tracリポジトリからsvn coでチェックアウトしてください。

svn checkout http://svn.sourceforge.jp/svnroot/shibuya-trac/plugins/TicketListOverrayPlugin/trunk/0.11/ TicketListOverrayPlugin

チェックアウトした後、TicketListOverrayPluginディレクトリに移動し、以下のコマンドでeggを作成します。

cd TicketListOverrayPlugin/
./setup.py bdist_egg


distディレクトリにTicketListOverrayPlugin-1.0-py2.5.eggというファイルが作成されるので、このファイルをtracのプロジェクト環境があるディレクトリのpluginsディレクトリにコピーしてください。

使い方

プラグインが有効になると、Tracの画面の横にこんな感じで、レポートの一覧が表示されます。


f:id:yuroyoro:20091215224134p:image

このウィンドウのレポートのタイトルや、チケットをクリックすると、該当するレポートやチケットを表示させます。(デフォルトでは、新しいタブで表示させます。)


あと、「邪魔くせぇぇぇぇ!!」と思った場合は、左上にある○をクリックすると小さくなります。


f:id:yuroyoro:20091215224135p:image


なお、このウィンドウはドラッグして移動させることができます。

設定

trac.iniの"components"セクションの末尾に、以下のように記入してプラグインを有効にしてください。(IniAdminプラグインの画面から有効にしてもおけです。)

[components] 
...省略
ticketlistoverray.* = enabled


動作をカスタマイズするには、trac.iniに"ticketlistoverray"セクションを追加して、設定を行ってください。

[ticketlistoverray]                                                                                                     
default_visibility = true
height = 640
left = 720
max_count = 10
width = 480

設計項目の内容は以下の通りです。

項目 説明 デフォルト
reports 表示するレポートのIDをカンマ区切りで指定します。デフォルトでは、Tracに最初から設定されている、自分の担当チケット(id=7)と未解決チケット(id=1)が設定されています。他のレポートに変更したい場合はここで設定してください。 7,1
max_count ひとつのレポートあたりに表示するチケットの件数を指定します。 5
link_target_new リンクをクリックした際に新しいウィンドウで開くかを設定します。 true
default_visibility ウィンドウを最初から開いた状態で表示するか設定します。trueだと表示したときには既に展開されているッ! true
width ウィンドウの幅(px) 380
height ウィンドウの高さ(px) 480
top ウィンドウの表示位置 Y座標(絶対位置:px) 200
left ウィンドウの位置 X座標(絶対位置:px) 680


設定は、IniAdminプラグインの画面からも行うことができます。

f:id:yuroyoro:20091215224137p:image


注意事項ですが、表示させるレポートの検索結果には、id列とsummary列が含まれている必要があります。レポートのSQL内に、"is AS Ticket"や"summary AS 概要"などが含まれていないと表示されません。(いちおうlogにwarningは出してます。)