バージョン 1 から バージョン 2 における更新: TracReports
- 更新日時:
- 2010/01/20 13:35:07 (15 年 前)
凡例:
- 変更なし
- 追加
- 削除
- 変更
-
TracReports
v1 v2 1 = レポート = 1 = レポート = #TracReports 2 2 [[TracGuideToc]] 3 3 … … 15 15 trac.ticket.report.* = disabled 16 16 }}} 17 ''これによって、ナビゲーションバーの "チケットを見る" でのデフォルトのハンドラがクエリモジュールになります。もし可能ならば、この設定を有効にして、レポート機能がなくなることによって生じる不都合を報告してください。'' 17 ''これによって、ナビゲーションバーの "チケットを見る" (英語版では "View Tickets") でのデフォルトのハンドラがクエリモジュールになります。もし可能ならば、この設定を有効にして、レポート機能がなくなることによって生じる不都合を報告してください。'' 18 19 '''''ほとんど確実に httpd を再起動する必要があるでしょう。''''' 18 20 19 21 レポートは以下の基本的なパーツから構成されます: … … 24 26 * '''フッタ (Footer)''' -- レポート本体を異なる形式でダウンロードするためのリンク。 25 27 26 == ソートの並び順変更 == 28 == ソートの並び順変更 == #ChangingSortOrder 27 29 単純なレポート (特にグループ化されていないもの) では、カラムのヘッダをクリックすれば、そのカラムでソートすることが出来ます。 28 30 29 31 カラムのヘッダがハイパーリンク (赤) になっていれば、クリックすることでそのカラムでのソートができます。並び順を逆にするには、もう一度クリックします。 30 32 31 32 == ダウンロードできるフォーマット == 33 == レポートの番号を変更する == #ChangingReportNumbering 34 レポートの ID を変更する必要がある場合があるかもしれませんが、おそらくレポート自体を編集する方がベターです。というのも Trac のデータベースを変更する必要があるからです。 ''report'' 表は以下のようなスキーマとなっています (0.10 相当): 35 * id integer PRIMARY KEY 36 * author text 37 * title text 38 * query text 39 * description text 40 ID を変更すると ''レポート一覧 (Available Reports)'' での表示順と番号、レポートのパーマリンクが変更されます。以下のような SQL を実行すると ID が変更されます: 41 {{{ 42 update report set id=5 where id=3; 43 }}} 44 メンテナンス結果、データベースの一貫性を保つ必要があることに留意してください (例えば ID はユニークでなければなりませんし、 SQLite などデータベースの上限値を超えることはできません)。 45 46 == チケットをナビゲート == #NavigatingTickets 47 レポートクエリ結果の 1 チケットをクリックするとそのチケットが表示されるでしょう。表示されたチケットのメインメニューバーのすぐ下にある ''次のチケット'' (英語版では ''Next Ticket'') または ''前のチケット'' (英語版では ''Previous Ticket'') リンクをクリックすることによって他のチケットに移動するか、''レポートに戻る'' (英語版では ''Back to Report'') リンクをクリックしてレポートページに戻ることができます。 48 49 あなたは安全にチケットを編集することができます。またチケットの編集結果を保存した後で、 次のチケット/前のチケット/レポートに戻る (英語版では Next/Previous/Back to Report) のリンクを使用して結果を行き来することが可能です。しかし、あなたがチケットへの操作を終えてレポートに戻るときに、どのチケットが変更されたかのヒントは表示されません。この動作はカスタムクエリの動作とは異なります。 (カスタムクエリについては TracQuery#NavigatingTickets を参照して下さい) 。 ''(0.11 以降 )'' 50 51 == ダウンロードできるフォーマット == #AlternativeDownloadFormats 33 52 通常表示される HTML でのビューの加え、レポートはいろいろな形式で使用することができます。 34 53 レポートページの一番下に、利用可能なデータ形式の一覧があります。望む形式のリンクをクリックすれば、 35 54 その形式でのレポートをダウンロードすることができます。 36 55 37 === カンマ区切りテキスト - CSV (Comma Separated Values) === 56 === カンマ区切りテキスト - CSV (Comma Separated Values) === #Comma-delimited-CSVCommaSeparatedValues 38 57 1 レコードを 1 行として、各カラムをカンマ (',') で区切ったプレーンテキストとしてダウンロードできます。 39 58 '''Note:''' CSV 形式を保つため、各カラムのデータに改行文字やカンマがある場合、その位置で切り取られます。 40 59 41 === タブ区切り === 60 === タブ区切り === #Tab-delimited 42 61 CSV と似ていますが、水平タブ文字 (\t) で区切られる点が違います。 43 62 44 === RSS - XML Content Syndication ===63 === RSS - XML コンテンツ配信 === #RSS-XMLContentSyndication 45 64 全てのレポートは、 XML/RSS 2.0 での配信が可能です。 RSS フィードを購読するにはページ下部にある、オレンジ色の 'XML' アイコンをクリックしてください。 Trac での RSS 対応についての一般的な情報は、 TracRss に記述しています。 46 65 47 66 ---- 48 67 49 == カスタムレポートを作成する == 68 == カスタムレポートを作成する == #CreatingCustomReports 50 69 51 70 ''カスタムレポートを作成するためには、 SQL を楽に書ける程度の知識が必要です。'' … … 58 77 SELECT 文となります。 59 78 60 == Ticket 表のカラム == 79 == Ticket 表のカラム == #Ticketcolumns 61 80 ''ticket'' 表は、以下のカラムを持ちます: 62 81 * id -- チケットID 82 * type -- チケット分類 63 83 * time -- 登録日時 64 84 * changetime -- 最終更新日時 … … 75 95 * summary -- チケットの概要 76 96 * description -- チケットについての完全な説明 97 * keywords -- キーワード 77 98 78 99 各カラムに対応する属性の詳細な説明は、 TracTickets に記述しています。 … … 92 113 93 114 94 == 上級トピック: 動的変数の使用 == 115 == 上級トピック: 動的変数の使用 == #AdvancedReports:DynamicVariables 95 116 レポートに汎用性を持たせる手段として、 ''動的変数'' をレポート SQL で使用する方法があります。 96 117 簡単に言うと、動的変数とは、クエリを実行する前に置き換えられる ''特別な'' 文字列のことです。 97 118 98 === クエリで動的変数を使う方法 === 119 === クエリで動的変数を使う方法 === #UsingVariablesinaQuery 99 120 動的変数を使うためのシンタックスは単純です。 '$' に続いて、大文字で変数名となる語を挿入してください。 100 121 101 122 例: 102 123 {{{ 103 SELECT id AS ticket,summary FROM ticket WHERE priority= '$PRIORITY'124 SELECT id AS ticket,summary FROM ticket WHERE priority=$PRIORITY 104 125 }}} 105 126 … … 119 140 120 141 121 === 特殊な定数 === 142 === 特殊な定数 === #SpecialConstantVariables 122 143 実用的なレポートのために、定義済みの動的変数が用意されています。これらは URL に値を設定しなくても、自動的に値が割り当てられます。 123 144 … … 126 147 例 (''私が担当になっているチケット一覧''): 127 148 {{{ 128 SELECT id AS ticket,summary FROM ticket WHERE owner= '$USER'129 }}} 130 131 132 ---- 133 134 135 == 上級トピック: 表示形式のカスタマイズ == 149 SELECT id AS ticket,summary FROM ticket WHERE owner=$USER 150 }}} 151 152 153 ---- 154 155 156 == 上級トピック: 表示形式のカスタマイズ == #AdvancedReports:CustomFormatting 136 157 Trac には、レイアウトのカスタマイズや、グルーピング、ユーザ定義の CSS 利用などによる 137 158 もっと複雑なレポートの作成も可能です。このようなレポートを作成するには、 138 159 Trac のレポートエンジンが出力を制御するためのステートメントを含む、特別な SQL を使用します。 139 160 140 == 特別なカラム == 161 == 特別なカラム == #SpecialColumns 141 162 レポートを整形するため、 TracReports はクエリの結果から '特定の' カラム名を 142 163 探します。このような '特定の' 名前で、最終的なレポートのレイアウトやスタイルが 143 164 処理され、変更されます。 144 165 145 === 自動的に整形されるカラム名 === 146 * '''ticket''' -- チケットの ID が入っているカラムで使用します。該当する ID のカラムにハイパーリンクされます。 147 * '''created, modified, date, time''' -- 日付や時刻に整形されます。 148 149 * '''description''' -- チケットの説明が入っているカラムで使用します。 Wiki エンジンで処理されます。 166 === 自動的に整形されるカラム名 === #Automaticallyformattedcolumns 167 * '''ticket''' -- チケットの ID が入っているカラムで使用します。該当する ID のカラムにハイパーリンクされます。 (訳注: `summary` というカラム名もチケットにハイパーリンクされます。日本語版では `概要` でもリンクします。) 168 * '''created, modified, date, time''' -- 日付や時刻に整形されます。 (訳注: `datetime` という列名にすると日時で整形されます。日本語版では `時刻` で終わるカラムは `time` に、 `日付` で終わるカラムは `date` に、 `日時` で終わるカラムは `datetime` に、それぞれ整形されます。) 169 170 * '''description''' -- チケットの説明が入っているカラムで使用します。 Wiki エンジンで処理されます。 (訳注: 日本語版では `説明` でも整形されます。) 150 171 151 172 '''例:''' … … 154 175 }}} 155 176 156 === 整形されるカラムのカスタマイズ === 177 '''訳注''': Trac-0.11.1.ja1 以降のバージョンで作成した Environment では、デフォルトのレポートに日本語での整形ルールが適用されています。このような Environment を本家版 Trac で使用したい場合は各レポートの SQL を編集し、上記の日本語のカラム別名を英語に変更してください。 178 179 === 整形されるカラムのカスタマイズ === #Customformattingcolumns 157 180 カラム名の前後に 2 つのアンダースコアがついている場合 (例: '''`__color__`''') は、 158 181 ''整形用のヒント'' として扱われ、レコードの整形が行われます。 … … 160 183 * '''`__group__`''' -- 指定されたカラムで、表示がグループ化されます。各グループは、それぞれセクションヘッダとクエリ結果の表を持ちます。 161 184 * '''`__color__`''' -- 1 から 5 の数値である必要があります。値によって、あらかじめ定義された色付けが行われます。一般的な使用法は、優先度別の色付けです。 185 {{{ 186 #!html 187 <div style="margin-left:7.5em">デフォルトの色付け: 188 <span style="border: none; color: #333; background: transparent; font-size: 85%; background: #fdc; border-color: #e88; color: #a22">Color 1</span> 189 <span style="border: none; color: #333; background: transparent; font-size: 85%; background: #ffb; border-color: #eea; color: #880">Color 2</span> 190 <span style="border: none; color: #333; background: transparent; font-size: 85%; background: #fbfbfb; border-color: #ddd; color: #444">Color 3</span> 191 <span style="border: none; color: #333; background: transparent; font-size: 85%; background: #e7ffff; border-color: #cee; color: #099">Color 4</span> 192 <span style="border: none; color: #333; background: transparent; font-size: 85%; background: #e7eeff; border-color: #cde; color: #469">Color 5</span> 193 </div> 194 }}} 162 195 * '''`__style__`''' -- CSS 形式でレコードを整形できます。 163 196 … … 177 210 取り出しています。 178 211 179 === 行単位のレイアウト変更 === 212 === 行単位のレイアウト変更 === #Changinglayoutofreportrows 180 213 デフォルトでは、全てのカラムで1行を使い、上記の指定がされていれば、 181 214 フォーマットされた形式で HTML に表示されます。それだけでなく、 … … 207 240 }}} 208 241 209 === カスタムフィールドをレポートで使用する === 210 211 チケットにカスタムフィールドを追加した場合(バージョン 0.8 では実験的な機能でした。 TracTicketsCustomFields 参照)、カスタムフィールドを含む SQL クエリを書くことができます。 ticket_custom テーブルを join をする必要がありますが、これは取り立てて簡単というわけではありません。242 === カスタムフィールドをレポートで使用する === #Reportingoncustomfields 243 244 チケットにカスタムフィールドを追加した場合(バージョン 0.8 以降の機能。 TracTicketsCustomFields 参照)、カスタムフィールドを含む SQL クエリを書くことができます。 ticket_custom テーブルを join をする必要がありますが、これは取り立てて簡単というわけではありません。 212 245 213 246 追加のフィールドを trac.ini に宣言する ''前に'' 、チケットがデータベースに存在する場合、 ticket_custom テーブルには関連するデータを持たないことになります。これに起因する問題を回避するためには SQL の "LEFT OUTER JOIN" 節を使用してください。 214 247 215 ---- 216 See also: TracTickets, TracQuery, TracGuide 248 '''Note レポートの追加、編集をするボタンを表示するためには権限を設定する必要があります。''' 249 250 ---- 251 See also: TracTickets, TracQuery, TracGuide, [http://www.sqlite.org/lang_expr.html Query Language Understood by SQLite]