Edgewall Software

Changes between Version 1 and Version 2 of InterTrac


Ignore:
Timestamp:
Dec 10, 2015, 6:49:38 AM (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InterTrac

    v1 v2  
    1 = InterTrac Extension for TracLinks =
     1= InterTrac Links
    22
    3 ''(since [milestone:0.10])''
     3Trac 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.
    44
    5 == Definitions ==
    6 
    7 An InterTrac link is used for referring to a Trac object
    8 (Wiki page, changeset, ticket, ...) located in another
    9 Trac environment.
    10 
    11 == List of Active InterTrac Prefixes ==
     5== List of Active InterTrac Prefixes
    126
    137[[InterTrac]]
    148
    15 == Link Syntax ==
     9== Link Syntax
     10
     11Simply use the name of the other Trac environment as a prefix, followed by a colon, ending with the resource located in the other environment.
    1612
    1713{{{
     
    1915}}}
    2016
    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.
     17The other resource is specified using a regular TracLinks, of any flavor.
    2418
    25 That target environment name is either the real name of the
    26 environment, or an alias for it.
     19That target environment name is either the real name of the environment or an alias for it.
    2720The aliases are defined in `trac.ini` (see below).
    2821The prefix is case insensitive.
    2922
    30 For convenience, there's also an alternative short-hand form,
    31 where one can use an alias as an immediate prefix
    32 for the identifier of a ticket, changeset or report:
    33 (e.g. `#T234`, `[T1508]`, `[trac 1508]`, ...)
     23If 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`.
    3424
    35 == Configuration ==
     25For convenience, there's also some alternative short-hand form, where one can use an alias as an immediate prefix for the identifier of a ticket, changeset or report, eg `#T234`, `[T1508]`, `[trac 1508]`.
    3626
    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.
     27== Examples
     28
     29It is necessary to setup a configuration for the InterTrac facility.
     30This configuration has to be done in the TracIni file, `[intertrac]` section.
    3831
    3932Example configuration:
    40 {{{
    41 ...
     33{{{#!ini
    4234[intertrac]
    43 ## -- Example of setting up an alias:
     35# -- Example of setting up an alias:
    4436t = trac
    4537
    46 ## -- Link to an external Trac:
     38# -- Link to an external Trac:
    4739trac.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...
     40trac.url = http://trac.edgewall.org
    5241}}}
    5342
    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]
     43The `.url` is mandatory and is used for locating the other Trac.
     44This can be a relative URL in case that Trac environment is located on the same server.
     45
     46The `.title` information will be used for providing an useful tooltip when moving the cursor over an InterTrac links.
     47
     48Finally, the `.compat` option can be used to activate or disable
     49a ''compatibility'' mode:
     50 * If the targeted Trac is running a version below [trac:milestone:0.10 0.10]
     51   ([trac:r3526 r3526] to be precise), then it doesn't know how to dispatch an InterTrac
     52   link, and it's up to the local Trac to prepare the correct link.
     53   Not all links will work that way, but the most common do.
     54   This is called the compatibility mode, and is `false` by default.
     55 * If you know that the remote Trac knows how to dispatch InterTrac links,
     56   you can explicitly disable this compatibility mode and then ''any''
     57   TracLinks can become an InterTrac link.
     58
     59Now, given the above configuration, one could create the following links:
     60 * to this InterTrac page:
     61   * `trac:wiki:InterTrac` trac:wiki:InterTrac
     62   * `t:wiki:InterTrac` t:wiki:InterTrac
     63   * Keys are case insensitive: `T:wiki:InterTrac` T:wiki:InterTrac
    6264 * 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]
     65   * `trac:ticket:234` trac:ticket:234
     66   * `trac:#234` trac:#234
     67   * `#T234` #T234
    6968 * 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]"]
     69   * `trac:changeset:1912` trac:changeset:1912
     70   * `[T1912]` [T1912]
     71 * to the log range [3300:3330]: '''(Note: the following ones need `trac.compat=false`)'''
     72   * `trac:log:@3300:3330` trac:log:@3300:3330 
     73   * `[trac 3300:3330]` [trac 3300:3330]
     74 * 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'')
    7675
    77 Anything not given as explicit links (intertrac_prefix:module:id)
    78 is interpreted by the remote Trac, relying on its quickjump
    79 facility.
     76The 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.
    8077
    8178----