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