Changes between Version 1 and Version 2 of InterTrac


Ignore:
Timestamp:
Jun 12, 2009, 10:30:22 AM (15 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, since version 0.10.
    44
    55== Definitions ==
    66
    7 An InterTrac link is used for referring to a Trac object
     7An InterTrac link can be seen as a scoped TracLinks.
     8It is used for referring to a Trac resource
    89(Wiki page, changeset, ticket, ...) located in another
    910Trac environment.
    1011
     12== List of Active InterTrac Prefixes ==
     13
     14[[InterTrac]]
     15
    1116== Link Syntax ==
     17
     18Simply use the name of the other Trac environment as a prefix,
     19followed by a colon, ending with the resource located in the other environment.
    1220
    1321{{{
     
    1523}}}
    1624
    17 The link is composed by the target environment name,
    18 followed by a colon (e.g. `trac:`),
    19 followed by a regular TracLinks, of any flavor.
     25The other resource is specified using a regular TracLinks, of any flavor.
    2026
    2127That target environment name is either the real name of the
     
    2430The prefix is case insensitive.
    2531
    26 For convenience, there's also an alternative short-hand form,
     32For convenience, there's also some alternative short-hand form,
    2733where one can use an alias as an immediate prefix
    2834for the identifier of a ticket, changeset or report:
     
    3137== Examples ==
    3238
    33 Besides the other environments run by the same server process
    34 (called ''sibling'' environments), which are automatically detected,
    35 (''Note: currently only in `tracd`''),
    36 it is necessary to setup a configuration for the InterTrac facility:
    37  * in order to refer to a remote Trac
    38  * for defining environment aliases
    39 
    40 This is done quite simply in an `[intertrac]` section
    41 within the `trac.ini` file.
     39It is necessary to setup a configuration for the InterTrac facility.
     40This configuration has to be done in the TracIni file, `[intertrac]` section.
    4241
    4342Example configuration:
     
    4544...
    4645[intertrac]
    47 ## -- Example of setting up an alias:
     46# -- Example of setting up an alias:
    4847t = trac
    4948
    50 ## -- Link to an external Trac:
     49# -- Link to an external Trac:
    5150trac.title = Edgewall's Trac for Trac
    52 trac.url = http://projects.edgewall.com/trac
    53 
    54 #trac.svn = http://repos.edgewall.com/projects/trac
    55 # Hint: .svn information could be used in the future to support svn:externals...
     51trac.url = http://trac.edgewall.org
    5652}}}
    5753
    58 Now, given this configuration, one could create the following links:
    59  * to the current InterTrac page:
    60    * `trac:wiki:InterTrac` ->
    61      [http://projects.edgewall.com/trac/wiki/InterTrac trac:wiki:InterTrac]
    62    * `t:wiki:InterTrac` ->
    63      [http://projects.edgewall.com/trac/wiki/InterTrac t:wiki:InterTrac]
    64    * Keys are case insensitive: `T:wiki:InterTrac` ->
    65      [http://projects.edgewall.com/trac/wiki/InterTrac T:wiki:InterTrac]
     54The `.url` is mandatory and is used for locating the other Trac.
     55This can be a relative URL in case that Trac environment is located
     56on the same server.
     57
     58The `.title` information will be used for providing an useful tooltip
     59when moving the cursor over an InterTrac links.
     60
     61Finally, the `.compat` option can be used to activate or disable
     62a ''compatibility'' mode:
     63 * If the targeted Trac is running a version below [trac:milestone:0.10 0.10]
     64   ([trac:r3526 r3526] to be precise), then it doesn't know how to dispatch an InterTrac
     65   link, and it's up to the local Trac to prepare the correct link.
     66   Not all links will work that way, but the most common do.
     67   This is called the compatibility mode, and is `true` by default.
     68 * If you know that the remote Trac knows how to dispatch InterTrac links,
     69   you can explicitly disable this compatibility mode and then ''any''
     70   TracLinks can become an InterTrac link.
     71
     72Now, given the above configuration, one could create the following links:
     73 * to this InterTrac page:
     74   * `trac:wiki:InterTrac` trac:wiki:InterTrac
     75   * `t:wiki:InterTrac` t:wiki:InterTrac
     76   * Keys are case insensitive: `T:wiki:InterTrac` T:wiki:InterTrac
    6677 * to the ticket #234:
    67    * `trac:ticket:234` ->
    68      [http://projects.edgewall.com/trac/ticket/234 trac:ticket:234]
    69    * `trac:#234` ->
    70      [http://projects.edgewall.com/trac/ticket/234 trac:#234]
    71    * `#T234` ->
    72      [http://projects.edgewall.com/trac/search?q=#234 #T234]
     78   * `trac:ticket:234` trac:ticket:234
     79   * `trac:#234` trac:#234
     80   * `#T234` #T234
    7381 * to the changeset [1912]:
    74    * `trac:changeset:1912` ->
    75      [http://projects.edgewall.com/trac/changeset/1912 trac:changeset:1912]
    76    * `trac:[1912]` ->
    77      [http:"//projects.edgewall.com/trac/search?q=[1912]" "trac:[1912]"]
    78    * `[T1912]` ->
    79      [http://projects.edgewall.com/trac/changeset/1912 "[T1912]"]
     82   * `trac:changeset:1912` trac:changeset:1912
     83   * `[T1912]` [T1912]
     84 * to the log range [3300:3330]: '''(Note: the following ones need `trac.compat=false`)'''
     85   * `trac:log:@3300:3330` trac:log:@3300:3330 
     86   * `[trac 3300:3330]` [trac 3300:3330]
     87 * 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'')
    8088
    81 Anything not given as explicit links (intertrac_prefix:module:id)
    82 is interpreted by the remote Trac, relying on its quickjump
    83 facility.
     89The generic form `intertrac_prefix:module:id` is translated
     90to the corresponding URL `<remote>/module/id`, shorthand links
     91are specific to some modules (e.g. !#T234 is processed by the
     92ticket module) and for the rest (`intertrac_prefix:something`),
     93we rely on the TracSearch#quickjump facility of the remote Trac.
    8494
    8595----