Changes between Version 1 and Version 2 of InterTrac

Show
Ignore:
Author:
trac (IP: 127.0.0.1)
Timestamp:
23.11.2006 16:22:46 (8 years ago)
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. 
    1516== Link Syntax == 
    1617 
     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. 
     20 
    1721{{{ 
    1822<target_environment>:<TracLinks> 
    1923}}} 
    2024 
    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. 
     25The other resource is specified using a regular TracLinks, of any flavor. 
    2426 
    2527That target environment name is either the real name of the  
    2830The prefix is case insensitive. 
    2931 
    30 For convenience, there's also an alternative short-hand form,  
     32For convenience, there's also some alternative short-hand form,  
    3133where one can use an alias as an immediate prefix  
    3234for the identifier of a ticket, changeset or report: 
    3335(e.g. `#T234`, `[T1508]`, `[trac 1508]`, ...) 
    3436 
    35 == Configuration == 
     37== Examples == 
    3638 
    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. 
     39{{{ 
     40#!comment 
     41 Besides the other environments run by the same server process 
     42 (called ''sibling'' environments), which are automatically detected, 
     43Support for sibling environments has been disabled. 
     44See http://thread.gmane.org/gmane.comp.version-control.subversion.trac.devel/157 
     45}}} 
     46 
     47It is necessary to setup a configuration for the InterTrac facility. 
     48This configuration has to be done in the TracIni file, `[intertrac]` section. 
    3849 
    3950Example configuration: 
    4152... 
    4253[intertrac] 
    43 ## -- Example of setting up an alias: 
     54# -- Example of setting up an alias: 
    4455t = trac 
    4556 
    46 ## -- Link to an external Trac: 
     57# -- Link to an external Trac: 
    4758trac.title = Edgewall's Trac for Trac 
    4859trac.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... 
     60trac.compat = false 
    5261}}} 
    5362 
    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] 
     63The `.url` is mandatory and is used for locating the other Trac. 
     64This can be a relative URL in case that Trac environment is located  
     65on the same server. 
     66 
     67The `.title` information will be used for providing an useful tooltip 
     68when moving the cursor over an InterTrac links. 
     69 
     70Finally, the `.compat` option can be used to activate or disable 
     71a ''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 
     81Now, 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 
    6286 * 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] 
     87   * `trac:ticket:234` trac:ticket:234 
     88   * `trac:#234` trac:#234  
     89   * `#T234` #T234 
    6990 * 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]"] 
     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]  
    7696 
    77 Anything not given as explicit links (intertrac_prefix:module:id) 
    78 is interpreted by the remote Trac, relying on its quickjump 
    79 facility. 
     97The generic form `intertrac_prefix:module:id` is translated 
     98to the corresponding URL `<remote>/module/id`, shorthand links 
     99are specific to some modules (e.g. !#T234 is processed by the 
     100ticket module) and for the rest (`intertrac_prefix:something`), 
     101we rely on the TracSearch#quickjump facility of the remote Trac. 
     102 
     103---- 
     104=== Discussion === 
     105 
     106I think that the `trac` prefix could even be set as a default in the `[intertrac]` TracIni section. --CB 
    80107 
    81108----