= Trac 設定ファイル = #TheTracConfigurationFile
[[TracGuideToc]]

Trac の設定は `<projectenv>/conf/` にある '''`trac.ini`''' というファイルを編集して行います。変更した内容は通常、即座に反映されますが、 `[components]` セクションや `[logging]` セクションへの変更では Web サーバを再起動する必要があります。また、グローバルな設定ファイルを新しく作成した直後も Web サーバを再起動しなければなりません。

`trac.ini` 設定ファイルは Web サーバから書き込み可能でなければなりません。 Trac は現在のところ、キャッシュを破棄するために完全に Environment を再読み込みするトリガーとなる可能性として期待しています。

== グローバルな設定 == #GlobalConfiguration

0.11 より前のバージョンでは、グローバルな設定ファイルは `$prefix/share/trac/conf/trac.ini` や `/etc/trac/trac.ini` などディストリビューションに依存した特定の位置に配置されていました。アップグレードする場合は、設定を継承するファイルを明示しなければなりません。以前のバージョンから 0.11 にアップグレードした場合、プロジェクトの `trac.ini` ファイルに `[inherit]` セクションを追加しなければなりません。カスタマイズしたテンプレートや画像のファイルは `$prefix/share/trac/...` から他の場所に移動することもできます。

グローバルな設定は Environment 固有の設定とマージされます。ローカルの設定はグローバルの設定を上書きます。グローバルな設定ファイルは以下のように指定します:
{{{
[inherit]
file = /usr/share/trac/conf/trac.ini
}}}

Note: 新しいプロジェクトを作る時に [TracAdmin trac-admin] の `initenv` コマンドに `--inherit=/path/to/global/options` オプションを追加することで、グローバル設定ファイルを指定することができます。オプションを追加せずにプロジェクトを作成した場合でも、新しく作成された conf/trac.ini ファイルを編集して、グローバルファイルの設定で上書きしたいエントリを削除すれば、新しい Environment でグローバル設定ファイルを使用することができます。


== リファレンス == #Reference

現在利用できる設定項目のリファレンスです。

 ''Note: Trac で有効化されたプラグインによって [bitten], [spam-filter], [vote] などのデフォルトのインストールには含まれていないセクションが、この下のリストに追加されます。''

[[TracIni()]]


== [components] == #components-section
このセクションは Trac 本体も含めて、プラグインによって提供されるコンポーネントの有効/無効を設定するために使います。有効/無効を設定するコンポーネントは、オプションの名前 (`name`) を使って特定します。コンポーネントが有効かどうかはオプションの値 (`value`) によって決定されます; コンポーネントを有効にするには、値を `enabled` または `on` に設定します。他の値 (一般的には `disabled` または `off`) の場合、コンポーネントは無効になります。

オプションの名前はコンポーネントの完全修飾名、もしくは、コンポーネントのモジュール/パッケージ プレフィックスとなっています。前者は 特定のコンポーネントの有効/無効を設定し、後者は特定のパッケージ/モジュール内のコンポーネントの有効/無効を設定します。

以下の設定ファイルの抜粋を見てください:
{{{
[components]
trac.ticket.report.ReportModule = disabled
webadmin.* = enabled
}}}

最初のオプションは [wiki:TracReports レポートモジュール] を使用しないように Trac を設定しています。二つ目のオプションは `webadmin` パッケージのすべてのコンポーネントを使用できるように設定しています。末尾のワイルドカードはモジュール/パッケージのマッチを行う場合、必須です。

アクティブなコンポーネントの一覧を取得するには、 ''Trac について'' (訳注: 英語版では ''About Trac'') の ''Plugins'' ページを参照してください。 (`CONFIG_VIEW` [wiki:TracPermissions パーミッション] が必要となります。)

See also: TracPlugins

== [ticket-custom] == #ticket-custom-section

このセクションでは、チケットに追加フィールドを定義することができます。詳しくは TracTicketsCustomFields を参照してください。

== [ticket-workflow] == #ticket-workflow-section
''(0.11 以降)''

チケットのワークフローはプラグインで制御します。
デフォルトでは `ConfigurableTicketWorkflow` コンポーネントが制御を行います。
このコンポーネントでは、 trac.ini ファイルのこのセクションでワークフローを設定することが可能です。
詳細は TracWorkflow を参照してください。

== [milestone-groups] == #milestone-groups-section
''(0.11 以降)''

今やチケットのワークフローは変更可能です。チケットステータスを数多く持つことができます。
単に解決した (closed) チケットと、その他のチケットを対比して表示することが、すべてのケースで
適切とは言えなくなりました。このセクションでは、簡単にステータスの ''グループ'' を作成ができます。
グループはマイルストーンのプログレスバーで異なった色で表示させることができます。

設定の例 (closed と active しか持たない場合):
{{{
closed = closed
# プログレスバーでの表示順序
closed.order = 0
# カスタムクエリへのリンクに渡すパラメータ (登録日時と最終更新日時の2カラムを追加し登録日時でソート)
closed.query_args = group=resolution,order=time,col=id,col=summary,col=owner,col=type,col=priority,col=component,col=severity,col=time,col=changetime
# このグループのチケット数をマイルストーンの完了パーセンテージに計上する
closed.overall_completion = true

new = new
new.order = 1
new.css_class = new
new.label = new

# キャッチオールグループを 1 つ許容
active = *
active.order = 2
# このグループに付与する CSS のクラス
active.css_class = open
# このグループを表示するときに使用するラベル
active.label = in progress
}}}

グループの定義は、含めるステータスをカンマ区切りのリストにして構成します。
また、 '*' はあらゆるステータスを意味し、残りのすべてのステータスをキャッチオールグループに
関連付けます。

CSS クラスは次のいずれかを設定します: new (黄色), open (無色), closed (緑色)。
新しくスタイルを追加するには、以下のセレクタを使用します:
`table.progress td.<class>`

== [svn:externals] == #svn:externals-section
''(0.11 以降)''

Subversion 向けの TracBrowser は、フォルダの `svn:externals` 属性を解釈できます。
しかしながら、外部リソースが `http:` や `https:` プロトコルを使用して ''いない'' 場合や、リンクを別の Trac や [http://www.viewvc.org/ ViewVC] のような、異なるリポジトリブラウザに向けたい場合、 Trac に external のプレフィックスと外部の URL のマップを設定しなければなりません。

このマッピングは TracIni の `[svn:externals]` セクションで設定します。

例:
{{{
[svn:externals]
1 = svn://server/repos1 http://trac/proj1/browser/$path?rev=$rev
2 = svn://server/repos2 http://trac/proj2/browser/$path?rev=$rev
3 = http://theirserver.org/svn/eng-soft       http://ourserver/viewvc/svn/$path/?pathrev=25914
4 = svn://anotherserver.com/tools_repository  http://ourserver/tracs/tools/browser/$path?rev=$rev
}}}
上記では、 `svn://anotherserver.com/tools_repository/tags/1.1/tools` という external は `http://ourserver/tracs/tools/browser/tags/1.1/tools?rev=` にマップされます (`rev` は、 external にリビジョンが指定された場合、適切なリビジョン番号に設定されます。詳細は [http://svnbook.red-bean.com/en/1.4/svn.advanced.externals.html SVN Book の externals] を参照してください) 。

Note: 番号はセクション内でのキー項目としてだけ使用されます。 URL 自身はキー項目として扱うことが出来ないという、設定ファイルのパーサの制限事項を回避するためです。

最後に [http://subversion.tigris.org/svn_1.5_releasenotes.html#externals Subversion 1.5] で導入された相対 URL は、現在のところサポートしていません。

----
See also: TracGuide, TracAdmin, TracEnvironment
