wiki:InterTrac

Version 1 (modified by trac, 17 years ago) ( diff )

--

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

PrefixTrac Site
csmapAlias for csmap
elAlias for el
fdoAlias for fdo
featureserverAlias for featureserver
fusionAlias for fusion
gdalAlias for gdal
geoinformaticaAlias for geoinformatica
geomooseAlias for geomoose
geonetworkAlias for geonetwork
geoprismaAlias for geoprisma
geosAlias for geos
geotiffAlias for geotiff
gittestAlias for gittest
grassAlias for grass
kidsgisAlias for kidsgis
mapbenderAlias for mapbender
mapguideAlias for mapguide
mapserverAlias for mapserver
metacrsAlias for metacrs
moss4gAlias for moss4g
osgeoAlias for osgeo
osgeo4wAlias for osgeo4w
osgeoliveAlias for osgeolive
ossimAlias for ossim
postgisAlias for postgis
projAlias for proj
proj4jAlias for proj4j
proj4jsAlias for proj4js
qgisAlias for qgis
tilecacheAlias for tilecache
tracThe Trac Project
ubuntugisAlias for ubuntugis

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.

<target_environment>:<TracLinks>

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

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:

...
[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

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:

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

Note: See TracWiki for help on using the wiki.