Lifeとあるエンジニアのとある1日のつぶやき。Tracには登録したチケットを特定の条件で纏め上げる事が出来る強力なレポート機能がありますが、これらのレポート機能はそれまでに登録した全てのレポートが対象となります。未解決のチケットの一覧を見たい場合でも、Tracの利用を開始してから今までに登録したチケットの中で、ステータスが「未解決」のチケットが表示されます。1人でTracを利用している場合は、これでも全然問題が無いのですが複数人で利用している場合、またはTracを利用して本格的にプロジェクトを管理する場合は、特定の期間でそれらのチケットの状態をまとめて、上に報告すると言った場合にも利用したいと言う要望があるのではないでしょうか?企業内で利用するのであれば、週次報告会又は月次報告会で、今週(今月)の進捗度合い、発生した課題などを報告する必要があったりします。その際に、期間(時間)を特定してレポートを出力させるという事ができれば便利です。Estimationプラグインを利用する事で出力が可能になります。Estimationプラグインのインストール方法については、下記を参照してください。Estimationプラグイン-さて、インストールが完了するとTracの上部メニューに「Management」というメニューが表示されるかと思います。Date:」のテキストボックスに入力した期間でそれらの値を集計する事が可能です。Date」の期間でレポートを纏め上げる事ができるわけです。Date)は、「$ENDDATE」という変数に格納されSQLに渡されます。この2つの変数を利用する事で、入力された開始日と終了日を限定したレポートを作成する事ができます。このManagementメニューから閲覧できるレポートですが少し特殊で、通常の「チケットを見る」のメニューからではエラーになって閲覧する事ができません。これは、それらの特殊な変数がManagementメニューのプログラムを介した場合しかセットされないからです。あれば、そのManagementメニューのレポート一覧に、独自のレポートを加える必要が出てきます。通常のレポートの作成まずは、「チケットを見る」のメニューからレポートを作成します。レポートの作り方は、表示されているレポートの一覧から任意のものをクリックし、「このレポートをコピー」ボタンをクリックします。「このレポートをコピー」ボタンが表示されていない場合は、Tracを利用しているユーザーにTRAC_ADMINの権限がないためだと思いますので、それを付与します。report_versionテーブルにレポートの情報を登録TracのDBにログインし、report_versionテーブルに必要な情報をセットします。trac-db下記のSQLを参考に必要な情報を登録します。'タグ名');最初の「レポート番号」は、1.で登録した際のレポートの番号です。「チケットを見る」メニューからレポートの一覧を表示した際に、一番左側に表示されている番号のことです。次のバージョン番号ですが、ちょっと詳細は分からないのですが、恐らく適当な数字OKかと。他のバージョンと被らない番号を適当に割り当ててあげればよいと思います。Reports」の2つのみになっていますので、このどちらかの値をセットします。違いは、レポートを出力される位置でしょうか。Reports」の箇所にレポートが出力されます。Reports」の箇所にそのレポートが出力されます。最後に、1.で作成したレポートを編集します。Date:」で入力された値は、$ENDDATEに格納されています。これを利用して、時間に関係するカラムへ問合せするようにSQLを作成します。特定の期間内に作られた全チケットを出力したい場合は下記のSQLをセットします。timeチケットは、ticketテーブルのカラム「time」に登録日がセットされています。そのカラムに対して開始日($STARTDATE)と終了日($ENDDATE)が範囲内にあるチケットを抽出するように条件を組み込んでいます。レポート名は、「期間を指定した全チケット」とでもしておきましょうか。これで、指定した期間内に登録された全チケットを閲覧する事が可能になりました。Reports」の箇所に「期間を指定した全チケット」というメニューが表示されていると思います。ここで、抽出するチケットの登録された期間を入力してみます。期間を指定する際は、「月/日/年」の形式になります。上記の期間を入力した状態で、「期間を指定した全チケット」をクリックします。(JavaScriptで各レポートのメニューが動的に変わっているようですね)結果。作成日が、2007/07/01から2007/07/31までの全チケットが表示されました。Estimationプラグインの一機能である、見積り時間や作業時間については入力せずにこうした期間を設定したレポートの出力を行う為だけに使うと言うのも便利かもしれませんね。今回は、作成日に対する条件設定をしましたが、ticketテーブルの「change_time」には更新日が格納されていますので、その条件をセットする事で更新されたチケットを取り出すことも可能です。レポートのSQL自体自由に変更する事が出来ますので、色々応用ができそうですね。Reserved.スパムを報告お問い合わせ利用規約ヘルプ。