|   | 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 | For convenience, there's also some alternative short-hand form,   | 
                  
                          |   | 33 | where one can use an alias as an immediate prefix   | 
                  
                          |   | 34 | for the identifier of a ticket, changeset or report:  | 
                  
                          |   | 35 | (e.g. `#T234`, `[T1508]`, `[trac 1508]`, ...)  | 
                  
                          |   | 36 |   | 
                  
                          |   | 37 | == Examples ==  | 
                  
                          |   | 38 |   | 
                  
                          |   | 39 | {{{  | 
                  
                          |   | 40 | #!comment  | 
                  
                          |   | 41 |  Besides the other environments run by the same server process  | 
                  
                          |   | 42 |  (called ''sibling'' environments), which are automatically detected,  | 
                  
                          |   | 43 | Support for sibling environments has been disabled.  | 
                  
                          |   | 44 | See http://thread.gmane.org/gmane.comp.version-control.subversion.trac.devel/157  | 
                  
                          |   | 45 | }}}  | 
                  
                          |   | 46 |   | 
                  
                          |   | 47 | It is necessary to setup a configuration for the InterTrac facility.  | 
                  
                          |   | 48 | This configuration has to be done in the TracIni file, `[intertrac]` section.  | 
                  
                          |   | 49 |   | 
                  
                          |   | 50 | Example configuration:  | 
                  
                          |   | 51 | {{{  | 
                  
                          |   | 52 | ...  | 
                  
                          |   | 53 | [intertrac]  | 
                  
                          |   | 54 | # -- Example of setting up an alias:  | 
                  
                          |   | 55 | t = trac  | 
                  
                          |   | 56 |   | 
                  
                          |   | 57 | # -- Link to an external Trac:  | 
                  
                          |   | 58 | trac.title = Edgewall's Trac for Trac  | 
                  
                          |   | 59 | trac.url = http://projects.edgewall.com/trac  | 
                  
                          |   | 60 | trac.compat = false  | 
                  
                          |   | 61 | }}}  | 
                  
                          |   | 62 |   | 
                  
                          |   | 63 | The `.url` is mandatory and is used for locating the other Trac.  | 
                  
                          |   | 64 | This can be a relative URL in case that Trac environment is located   | 
                  
                          |   | 65 | on the same server.  | 
                  
                          |   | 66 |   | 
                  
                          |   | 67 | The `.title` information will be used for providing an useful tooltip  | 
                  
                          |   | 68 | when moving the cursor over an InterTrac links.  | 
                  
                          |   | 69 |   | 
                  
                          |   | 70 | Finally, the `.compat` option can be used to activate or disable  | 
                  
                          |   | 71 | a ''compatbility'' mode:  | 
                  
                          |   | 72 |  * If the targeted Trac is running a version below milestone:0.10   | 
                  
                          |   | 73 |    (r3526 to be precise), then it doesn't know how to dispatch an InterTrac   | 
                  
                          |   | 74 |    link, and it's up to the local Trac to prepare the correct link.   | 
                  
                          |   | 75 |    Not all links will work that way, but the most common do.   | 
                  
                          |   | 76 |    This is called the compatibility mode, and is `true` by default.   | 
                  
                          |   | 77 |  * If you know that the remote Trac knows how to dispatch InterTrac links,   | 
                  
                          |   | 78 |    you can explicitely disable this compatibility mode and then ''any''   | 
                  
                          |   | 79 |    TracLinks can become an InterTrac link.  | 
                  
                          |   | 80 |   | 
                  
                          |   | 81 | Now, given the above configuration, one could create the following links:  | 
                  
                          |   | 82 |  * to this InterTrac page:  | 
                  
                          |   | 83 |    * `trac:wiki:InterTrac` trac:wiki:InterTrac  | 
                  
                          |   | 84 |    * `t:wiki:InterTrac` t:wiki:InterTrac  | 
                  
                          |   | 85 |    * Keys are case insensitive: `T:wiki:InterTrac` T:wiki:InterTrac  | 
                  
                          |   | 86 |  * to the ticket #234:  | 
                  
                          |   | 87 |    * `trac:ticket:234` trac:ticket:234  | 
                  
                          |   | 88 |    * `trac:#234` trac:#234   | 
                  
                          |   | 89 |    * `#T234` #T234  | 
                  
                          |   | 90 |  * to the changeset [1912]:  | 
                  
                          |   | 91 |    * `trac:changeset:1912` trac:changeset:1912  | 
                  
                          |   | 92 |    * `[T1912]` [T1912]  | 
                  
                          |   | 93 |  * to the log range [3300:3330]: '''(Note: the following ones need `trac.compat=false`)'''  | 
                  
                          |   | 94 |    * `trac:log:@3300:3330` trac:log:@3300:3330    | 
                  
                          |   | 95 |    * `[trac 3300:3330]` [trac 3300:3330]   | 
                  
                          |   | 96 |   | 
                  
                          |   | 97 | The generic form `intertrac_prefix:module:id` is translated  | 
                  
                          |   | 98 | to the corresponding URL `<remote>/module/id`, shorthand links  | 
                  
                          |   | 99 | are specific to some modules (e.g. !#T234 is processed by the  | 
                  
                          |   | 100 | ticket module) and for the rest (`intertrac_prefix:something`),  | 
                  
                          |   | 101 | we rely on the TracSearch#quickjump facility of the remote Trac.  | 
                  
                          |   | 102 |   | 
                  
                          |   | 103 | ----  | 
                  
                          |   | 104 | === Discussion ===  | 
                  
                          |   | 105 |   | 
                  
                          |   | 106 | I think that the `trac` prefix could even be set as a default in the `[intertrac]` TracIni section. --CB  | 
                  
                          |   | 107 |   | 
                  
                          |   | 108 | ----  | 
                  
                          |   | 109 | See also: TracLinks, InterWiki  |