1 | = InterTrac Links = |
---|
2 | |
---|
3 | Trac supports a convenient way to refer to resources of other Trac servers, from within the Wiki markup, since version 0.10. |
---|
4 | |
---|
5 | == Definitions == |
---|
6 | |
---|
7 | An InterTrac link can be seen as a scoped TracLinks. |
---|
8 | It is used for referring to a Trac resource |
---|
9 | (Wiki page, changeset, ticket, ...) located in another |
---|
10 | Trac environment. |
---|
11 | |
---|
12 | == List of Active InterTrac Prefixes == |
---|
13 | |
---|
14 | [[InterTrac]] |
---|
15 | |
---|
16 | == Link Syntax == |
---|
17 | |
---|
18 | Simply use the name of the other Trac environment as a prefix, |
---|
19 | followed by a colon, ending with the resource located in the other environment. |
---|
20 | |
---|
21 | {{{ |
---|
22 | <target_environment>:<TracLinks> |
---|
23 | }}} |
---|
24 | |
---|
25 | The other resource is specified using a regular TracLinks, of any flavor. |
---|
26 | |
---|
27 | That target environment name is either the real name of the |
---|
28 | environment, or an alias for it. |
---|
29 | The aliases are defined in `trac.ini` (see below). |
---|
30 | The prefix is case insensitive. |
---|
31 | |
---|
32 | If the InterTrac link is enclosed in square brackets (like `[th:WikiExtrasPlugin]`), the InterTrac prefix is removed in the displayed link, like a normal link resolver would be (i.e. the above would be displayed as `WikiExtrasPlugin`). |
---|
33 | |
---|
34 | For convenience, there's also some alternative short-hand form, |
---|
35 | where one can use an alias as an immediate prefix |
---|
36 | for the identifier of a ticket, changeset or report: |
---|
37 | (e.g. `#T234`, `[T1508]`, `[trac 1508]`, ...) |
---|
38 | |
---|
39 | == Examples == |
---|
40 | |
---|
41 | It is necessary to setup a configuration for the InterTrac facility. |
---|
42 | This configuration has to be done in the TracIni file, `[intertrac]` section. |
---|
43 | |
---|
44 | Example configuration: |
---|
45 | {{{ |
---|
46 | ... |
---|
47 | [intertrac] |
---|
48 | # -- Example of setting up an alias: |
---|
49 | t = trac |
---|
50 | |
---|
51 | # -- Link to an external Trac: |
---|
52 | trac.title = Edgewall's Trac for Trac |
---|
53 | trac.url = http://trac.edgewall.org |
---|
54 | }}} |
---|
55 | |
---|
56 | The `.url` is mandatory and is used for locating the other Trac. |
---|
57 | This can be a relative URL in case that Trac environment is located |
---|
58 | on the same server. |
---|
59 | |
---|
60 | The `.title` information will be used for providing an useful tooltip |
---|
61 | when moving the cursor over an InterTrac links. |
---|
62 | |
---|
63 | Finally, the `.compat` option can be used to activate or disable |
---|
64 | a ''compatibility'' mode: |
---|
65 | * If the targeted Trac is running a version below [trac:milestone:0.10 0.10] |
---|
66 | ([trac:r3526 r3526] to be precise), then it doesn't know how to dispatch an InterTrac |
---|
67 | link, and it's up to the local Trac to prepare the correct link. |
---|
68 | Not all links will work that way, but the most common do. |
---|
69 | This is called the compatibility mode, and is `true` by default. |
---|
70 | * If you know that the remote Trac knows how to dispatch InterTrac links, |
---|
71 | you can explicitly disable this compatibility mode and then ''any'' |
---|
72 | TracLinks can become an InterTrac link. |
---|
73 | |
---|
74 | Now, given the above configuration, one could create the following links: |
---|
75 | * to this InterTrac page: |
---|
76 | * `trac:wiki:InterTrac` trac:wiki:InterTrac |
---|
77 | * `t:wiki:InterTrac` t:wiki:InterTrac |
---|
78 | * Keys are case insensitive: `T:wiki:InterTrac` T:wiki:InterTrac |
---|
79 | * to the ticket #234: |
---|
80 | * `trac:ticket:234` trac:ticket:234 |
---|
81 | * `trac:#234` trac:#234 |
---|
82 | * `#T234` #T234 |
---|
83 | * to the changeset [1912]: |
---|
84 | * `trac:changeset:1912` trac:changeset:1912 |
---|
85 | * `[T1912]` [T1912] |
---|
86 | * to the log range [3300:3330]: '''(Note: the following ones need `trac.compat=false`)''' |
---|
87 | * `trac:log:@3300:3330` trac:log:@3300:3330 |
---|
88 | * `[trac 3300:3330]` [trac 3300:3330] |
---|
89 | * finally, to link to the start page of a remote trac, simply use its prefix followed by ':', inside an explicit link. Example: `[th: Trac Hacks]` (''since 0.11; note that the ''remote'' Trac has to run 0.11 for this to work'') |
---|
90 | |
---|
91 | The generic form `intertrac_prefix:module:id` is translated |
---|
92 | to the corresponding URL `<remote>/module/id`, shorthand links |
---|
93 | are specific to some modules (e.g. !#T234 is processed by the |
---|
94 | ticket module) and for the rest (`intertrac_prefix:something`), |
---|
95 | we rely on the TracSearch#quickjump facility of the remote Trac. |
---|
96 | |
---|
97 | ---- |
---|
98 | See also: TracLinks, InterWiki |
---|