010 便利な小窓をTracに常駐させてチケット忘れを防止!


こんにちは、id:EC-OneのAkiです。

ちょっと前に書いたTracに関する記事が人気だったので*1、「またTracについて書いたら喜ばれるんじゃないか」といういやらしい心期待に応えたい気持ちが芽生えました。(^ ^;
ということで、今回は「MyTickets」「TracNav」というTracプラグインをご紹介します。
どちらもプラグインのインストールが必要となりますので、管理者権限のない人は管理者にお願いしてみてください。

- 前提となる環境

今回の記事は以下の環境を前提としています。*2

あなたの未解決チケットを小窓で表示する - 「MyTickets」

Tracの当該Wikiページの先頭に

[[MyTickets]]

と書くだけで、自動的に以下のような小窓がページ右上に出現します。

ログインして最初に表示されるトップページに書いておけば、いやでも目につきますね。
かといって邪魔にはならない大きさです。(TicketQueryマクロを使っても同じ内容は表示されるのですが、それだとちょっと大きすぎて画面を占領してしまうのがたまにキズでした)

MyTicketsを使うには、MyTicketsプラグインを入れる必要があります。その方法を3ステップで説明します。

1. MyTicketsのインストール

以下の手順でMyTicketsプラグインをインストールします。

wget http://amateras.svn.sourceforge.net/viewvc/amateras/Trac/mytickets-plugin.tar.gz
tar zxvf mytickets-plugin.tar.gz\?view\=tar
cd mytickets-plugin/mytickets
vi macro.py
cd ..
python setup.py install
vi <trac.iniのパス>
/usr/sbin/apachectl graceful

上記の「vi macro.py」と「vi 」は何を編集しているのか、について2と3で詳しく説明します。*3

2. macro.pyを編集して優先度を非表示に

先ずは「vi macro.py」から!
MyTicketsはそのまま使うと「チケットの優先度」が表示されるのですが、今回はそれをはずしてみています。「優先度も表示したい」という方はここは飛ばして下さい。
まず、39行目を以下のように変更します。
●変更前:

out.write('<li><a href="%s">#%s[%s]%s' % \

●変更後:

out.write('<li><a href="%s">#%s %s' % \

つぎに、42行目を削除します。
●削除行:

escape(result['priority']), \

これで小窓に優先度は表示されなくなります。

3. trac.iniを編集してMyTicketsを有効に

もうひとつ、「vi 」は何を編集しているのかというと...
こちらはMyTicketsを有効にするために、プロジェクトのtrac.iniの[components]セクションにMyTicketsに関する行を追加しています。

[components]
 〜 中略 〜
mytickets.* = enabled

これでMyTicketsプラグインが使えるようになりました。


次は、チケットだけでなく色々な情報が書けるナビゲーション小窓、TracNavをご紹介します。

ナビゲーション小窓 - 「TracNav」

先ほどと同じく、Tracの当該Wikiページの先頭に

[[TracNav(好きなページ名)]]

と書くだけで、以下のような小窓がページ右上に出現します。

Tracのトップページに「よく見るページ」へのリンク集として置いておいてみてはいかがでしょうか。

小窓の内容は「edit」というリンクから編集できます。今回は以下のように書いてみました。

 * ナビ
  * [/report/1 未解決チケットの一覧]
  * [wiki:議事録]
  * [wiki:事務局]

実際に使ってみるとわかりますが、これは指定した名前のWikiページが別に出来ていて、それを小窓として表示しているのです。ですから、ページ名を変えて複数のナビゲーション小窓を作成することも可能です。*4
ちなみに小窓の中では「=」を使った見出しやベタテキストは表示されません。*5

また、残念ながら、IE7ではeditリンクが右寄せにならずに表示が崩れてしまいます。
これを直す方法も調べたいところですが、まぁ、さほど実害はないので今回はそのままにしておくことにしました。

MyTicketsと同じく、TracNavを使うにはTracNavプラグインを入れる必要がありますので、その方法を2ステップで説明します。

1. TracNavのインストール

以下の手順でTracNavプラグインをインストールします。

svn export http://svn.ipd.uka.de/repos/javaparty/JP/trac/plugins/tracnav-0.11/
cd tracnav-0.11/
python setup.py install
vi <trac.iniのパス>
/usr/sbin/apachectl graceful

上記の「vi 」は何を編集しているのか、について2で説明します。

2. trac.iniを編集してTracNavを有効に

TracNavを有効にするために、プロジェクトのtrac.iniの[components]セクションにTracNavに関する行を追加する必要があります。

[components]
 〜 中略 〜
tracnav.* = enabled

これでTracNavプラグインが使えるようになりました。

Tracは使い込めば使う込むほど楽しい!けれど...

TracSubversionを組み合わせて使う事が社内で一般的になり、いろんなプラグインを使うようになって、管理や情報整理が楽しくできるようになって...きっと仕事が楽しくなったことと思います。けれど、Tracとたわむれる事ばかりに時間を使いすぎて、逆に本来の仕事やプライベートに割くべき時間が減っている、なんてことはありませんか?
...自戒。

ナレッジセンターでは「Tracを導入したけれど、メンバーに使い方をどう説明したらいいの?」というお悩みから、「複数プロジェクトで1つのTracサーバを共用するにはどんな設定をすればいいの?」というご質問まで受け付けています。困ったときはお気軽にご相談ください。







JavaRuby及び周辺のOSSを用いた開発に関して、企業があらゆる悩みごとを相談できるのが、ナレッジセンターの「レスキューサービス」です。
どんな相談でも親身に受け付けますので、レスキューサービスってなに?もっと知りたい!と思った方はお気軽に問い合わせ下さい。
問い合わせ画像リンク

*1:006 Tracマクロを3つだけ覚えれば梅雨でも仕事が楽しくなる - EC-One ナレッジセンター レスキューサービス ブログ

*2:これはEC-One(イーシー・ワン)社内の共通Tracサーバで使用している環境だったりします

*3:viとはLinuxなどUNIX系の環境で利用できるテキストエディタのことです

*4:引数に何も指定しないと、デフォルトのページ名はTOCになります

*5:TOCという名前のWikiページとして見た時にはもちろん見えます