= InterTrac リンク = #InterTracLinks

バージョン 0.10 以降で、 Trac は Wiki マークアップの中から、他の Trac サーバのリソースを簡単に参照できるようになりました。

== 定義 == #Definitions

InterTrac リンクはスコープ付きの TracLinks とみなすことができます。
他の Trac Environment で管理されている Trac のリソース
(Wiki ページ, チェンジセット, チケット, ...) を指定し、
参照するために使用します。

== InterTrac プレフィックスのリスト == #ListofActiveInterTracPrefixes

[[InterTrac]]

== リンクのシンタックス == #LinkSyntax

他の Trac Environment の名前をプレフィックスとして使用し、
コロンに続けて他の Environment にあるリソースを記述します。

{{{
<対象の Environment>:<TracLinks>
}}}

リソースは通常の TracLinks で使用できるどのようなものでも指定できます。

<対象の Environment> には、 Environment の本当の名前か、
エイリアスを指定します。
エイリアスは `trac.ini` に定義します (下記参照)。
プレフィックスでは大文字 / 小文字は区別されません。

TracLinks が角括弧に括られている場合、エイリアスは展開されます。例えば `th` が`trachacks` へのエイリアスとなっている場合は `[th:ticket:1]` は `trachacks:ticket:1` と表示されます。 TracLinks が角括弧に括られていない場合は、入力通り表示されます。

簡易な方法として、他にも省略形があります。
チケット、チェンジセット、レポートの識別子に直接プレフィックスとして、
エイリアスを使うことができます。
(例 `#T234`, `[T1508]`, `[trac 1508]`, ...)

== 例 == #Examples

InterTrac を使用するためには、設定をする必要があります。
この設定は、 TracIni ファイルの `[intertrac]` セクションに行います。

設定の例:
{{{
...
[intertrac]
# -- エイリアスの設定例:
t = trac

# -- 外部の Trac へのリンク:
trac.title = Edgewall's Trac for Trac
trac.url = http://trac.edgewall.org
}}}

`.url` は必須項目で、他の Trac の場所を指定するのに使用されます。
同じサーバ上の Trac Environment であれば、相対 URL でも
かまいません。

`.title` に設定した内容は InterTrac リンクをマウスオーバしたときに、
ツールティップとして表示されます。

`.compat` オプションには ''互換性'' モードの
有効無効を設定します:
 * リンク先の Trac が [http://trac.edgewall.org/milestone/0.10 milesotne:0.10]
   (正確には [http://trac.edgewall.org/changeset/3526 r3526]) より前のバージョンで稼働している場合、 InterTrac リンクをどのようにディスパッチしていいのか解釈できませんので、
   ローカルの Trac で正しいリンクを生成します。
   通常使用するほとんどのリンクを生成できますが、すべてのリンクが動作するわけではありません。
   これを互換モード (compatibility mode) と言い、デフォルトで `true` になっています。
 * リモートの Trac が InterTrac リンクをディスパッチできると分かっている (訳註: リモートの Trac のバージョンが 0.10 以降である) 場合、
   互換モードを明示的に無効化することで、 TracLinks の ''すべての''
   機能を InterTrac リンクで使用できるようになります。

上記の例を設定すると、以下のようなリンクを使用することができます:
 * この (訳注: 本家サイトの) InterTrac ページ:
   * `trac:wiki:InterTrac` trac:wiki:InterTrac
   * `t:wiki:InterTrac` t:wiki:InterTrac
   * キーでは大文字/小文字は区別されません: `T:wiki:InterTrac` T:wiki:InterTrac
 * チケット #234 へのリンク:
   * `trac:ticket:234` trac:ticket:234
   * `trac:#234` trac:#234 
   * `#T234` #T234
 * チェンジセット [1912] へのリンク:
   * `trac:changeset:1912` trac:changeset:1912
   * `[T1912]` [T1912]
 * リビジョンログの範囲指定 [3300:3330]: '''(Note: `trac.compat=false` を設定する必要があります。)'''
   * `trac:log:@3300:3330` trac:log:@3300:3330  
   * `[trac 3300:3330]` [trac 3300:3330] 
 * リモートの Trac のスタートページにリンクするためには、明示的なリンクの内部にプレフィックスに続いて ':' を記述します。例: `[th: Trac Hacks]` (''0.11 以降; ''リモート'' の Trac も 0.11 で動いている必要があります'')

通常の形式 `<InterTrac のプレフィックス>:モジュール:識別子` は
正しい URL `<リンク先の Environment>/モジュール/識別子` と解釈されます。省略形のリンクは
モジュールごとに固有となっています (例 !#T234 は
チケットモジュールによって解釈されます)。残りの形 (`<InterTrac のプレフィックス>:任意の文字列`)
については、 リモートの Trac の TracSearch#quickjump に沿った動作をします。

----
See also: TracLinks, InterWiki
