User Tools

Site Tools


intertrac

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

intertrac [2015/06/09 15:23] (current)
Line 1: Line 1:
 +====== InterTrac Links  ======
 +
 +Trac supports a convenient way to refer to resources of other Trac servers, from within the Wiki markup, since version 0.10.
 +
 +===== Definitions =====
 +
 +An InterTrac link can be seen as a scoped TracLinks.
 +It is used for referring to a Trac resource 
 +(Wiki page, changeset, ticket, ...) located in another
 +Trac environment.
 +
 +===== List of Active InterTrac Prefixes =====
 +
 +[[:[InterTrac]]]
 +
 +===== Link Syntax =====
 +
 +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.
 +
 +<code>
 +<target_environment>:<TracLinks>
 +</code>
 +
 +
 +The other resource is specified using a regular TracLinks, of any flavor.
 +
 +That target environment name is either the real name of the 
 +environment, or an alias for it. 
 +The aliases are defined in `trac.ini` (see below).
 +The prefix is case insensitive.
 +
 +For 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:
 +(e.g. `#T234`, `[[:T1508]]`, `[[:trac|1508]]`, ...)
 +
 +===== Examples =====
 +
 +<code>
 +#!comment
 + Besides the other environments run by the same server process
 + (called //sibling// environments), which are automatically detected,
 +Support for sibling environments has been disabled.
 +See http://thread.gmane.org/gmane.comp.version-control.subversion.trac.devel/157
 +</code>
 +
 +
 +It is necessary to setup a configuration for the InterTrac facility.
 +This configuration has to be done in the TracIni file, `[[:intertrac]]` section.
 +
 +Example configuration:
 +<code>
 +...
 +[[:intertrac]]
 +# -- Example of setting up an alias:
 +t = trac
 +
 +# -- Link to an external Trac:
 +trac.title = Edgewall's Trac for Trac
 +trac.url = http://projects.edgewall.com/trac
 +trac.compat = false
 +</code>
 +
 +
 +The `.url` is mandatory and is used for locating the other Trac.
 +This can be a relative URL in case that Trac environment is located 
 +on the same server.
 +
 +The `.title` information will be used for providing an useful tooltip
 +when moving the cursor over an InterTrac links.
 +
 +Finally, the `.compat` option can be used to activate or disable
 +a //compatbility// mode:
 +  * If the targeted Trac is running a version below milestone:0.10 
 +   (r3526 to be precise), then it doesn't know how to dispatch an InterTrac 
 +   link, and it's up to the local Trac to prepare the correct link. 
 +   Not all links will work that way, but the most common do. 
 +   This is called the compatibility mode, and is `true` by default. 
 +  * If you know that the remote Trac knows how to dispatch InterTrac links, 
 +   you can explicitely disable this compatibility mode and then //any// 
 +   TracLinks can become an InterTrac link.
 +
 +Now, given the above configuration, one could create the following links:
 +  * to this InterTrac page:
 +    * `trac:wiki:InterTrac` trac:wiki:InterTrac
 +    * `t:wiki:InterTrac` t:wiki:InterTrac
 +    * Keys are case insensitive: `T:wiki:InterTrac` T:wiki:InterTrac
 +  * to the ticket #234:
 +    * `trac:ticket:234` trac:ticket:234
 +    * `trac:#234` trac:#234 
 +    * `#T234` #T234
 +  * to the changeset [[:1912]]:
 +    * `trac:changeset:1912` trac:changeset:1912
 +    * `[[:T1912]]` [[:T1912]]
 +  * to the log range [[:3300:3330]]: **(Note: the following ones need `trac.compat=false`)**
 +    * `trac:log:@3300:3330` trac:log:@3300:3330  
 +    * `[[:trac|3300:3330]]` [[:trac|3300:3330]] 
 +
 +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.
 +
 +----
 +==== Discussion ====
 +
 +I think that the `trac` prefix could even be set as a default in the `[[:intertrac]]` TracIni section. --CB
 +
 +----
 +See also: TracLinks, InterWiki
 +
  
intertrac.txt ยท Last modified: 2015/06/09 15:23 (external edit)