Changes between Version 1 and Version 2 of InterTrac
- Timestamp:
- Jun 6, 2013, 2:39:51 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
InterTrac
v1 v2 1 = InterTrac Extension for TracLinks=1 = InterTrac Links = 2 2 3 ''(since [milestone:0.10])'' 3 Trac supports a convenient way to refer to resources of other Trac servers, from within the Wiki markup, since version 0.10. 4 4 5 5 == Definitions == 6 6 7 An InterTrac link is used for referring to a Trac object 7 An InterTrac link can be seen as a scoped TracLinks. 8 It is used for referring to a Trac resource 8 9 (Wiki page, changeset, ticket, ...) located in another 9 10 Trac environment. … … 15 16 == Link Syntax == 16 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 17 21 {{{ 18 22 <target_environment>:<TracLinks> 19 23 }}} 20 24 21 The link is composed by the target environment name, 22 followed by a colon (e.g. `trac:`), 23 followed by a regular TracLinks, of any flavor. 25 The other resource is specified using a regular TracLinks, of any flavor. 24 26 25 27 That target environment name is either the real name of the … … 28 30 The prefix is case insensitive. 29 31 30 For convenience, there's also an alternative short-hand form, 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, 31 35 where one can use an alias as an immediate prefix 32 36 for the identifier of a ticket, changeset or report: 33 37 (e.g. `#T234`, `[T1508]`, `[trac 1508]`, ...) 34 38 35 == Configuration==39 == Examples == 36 40 37 It is necessary to setup a specific `[intertrac]` section in the TracIni for the InterTrac facility, in order to associate a prefix to other Trac sites, and for defining environment aliases. 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. 38 43 39 44 Example configuration: … … 41 46 ... 42 47 [intertrac] 43 # #-- Example of setting up an alias:48 # -- Example of setting up an alias: 44 49 t = trac 45 50 46 # #-- Link to an external Trac:51 # -- Link to an external Trac: 47 52 trac.title = Edgewall's Trac for Trac 48 trac.url = http://projects.edgewall.com/trac 49 50 #trac.svn = http://repos.edgewall.com/projects/trac 51 # Hint: .svn information could be used in the future to support svn:externals... 53 trac.url = http://trac.edgewall.org 52 54 }}} 53 55 54 Now, given this configuration, one could create the following links: 55 * to the current InterTrac page: 56 * `trac:wiki:InterTrac` -> 57 [http://projects.edgewall.com/trac/wiki/InterTrac trac:wiki:InterTrac] 58 * `t:wiki:InterTrac` -> 59 [http://projects.edgewall.com/trac/wiki/InterTrac t:wiki:InterTrac] 60 * Keys are case insensitive: `T:wiki:InterTrac` -> 61 [http://projects.edgewall.com/trac/wiki/InterTrac T:wiki:InterTrac] 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 62 79 * to the ticket #234: 63 * `trac:ticket:234` -> 64 [http://projects.edgewall.com/trac/ticket/234 trac:ticket:234] 65 * `trac:#234` -> 66 [http://projects.edgewall.com/trac/ticket/234 trac:#234] 67 * `#T234` -> 68 [http://projects.edgewall.com/trac/search?q=#234 #T234] 80 * `trac:ticket:234` trac:ticket:234 81 * `trac:#234` trac:#234 82 * `#T234` #T234 69 83 * to the changeset [1912]: 70 * `trac:changeset:1912` ->71 [http://projects.edgewall.com/trac/changeset/1912 trac:changeset:1912]72 * `trac:[1912]` ->73 [http:"//projects.edgewall.com/trac/search?q=[1912]" "trac:[1912]"]74 * `[ T1912]` ->75 [http://projects.edgewall.com/trac/changeset/1912 "[T1912]"]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'') 76 90 77 Anything not given as explicit links (intertrac_prefix:module:id) 78 is interpreted by the remote Trac, relying on its quickjump 79 facility. 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. 80 96 81 97 ----