Edgewall Software

Changes between Version 8 and Version 9 of InterTrac


Ignore:
Timestamp:
Jul 6, 2005, 6:10:21 PM (19 years ago)
Author:
Christian Boos
Comment:

Updated to reflect the current implemention status in r1912 - Please test and provide feedback!

Legend:

Unmodified
Added
Removed
Modified
  • InterTrac

    v8 v9  
    11= InterTrac and InterWiki Extension for TracLinks =
    22
    3 ''Warning: this is a proposal for implementing #234, #40 and #1414''
     3''This is a proposal for implementing #234, #40 and #1414''
     4''I think it's now ready for testing (see r1912)''
    45
    56== Definitions ==
     
    2829
    2930That target environment name is either the real name of the
    30 environment, or an alias for it.
     31environment, or an alias for it.
     32The aliases are defined in {{{trac.ini}}} (see below).
     33The prefix is case insensitive.
    3134
    3235For convenience, there's also an alternative short-hand form,
    33 where one can use a (short) alias as an immediate
    34 prefix for the identifier of a ticket, changeset or report:
     36where one can use an alias as an immediate prefix
     37for the identifier of a ticket, changeset or report:
    3538(e.g. {{{#T234}}}, {{{[T1508]}}}...)
     39That alias must be at most 3 letters long.
    3640
    3741=== InterWiki ===
     
    4044}}}
    4145
    42 The link is composed by the target Wiki (or system) name,
     46The link is composed by the targeted Wiki (or system) name,
    4347followed by a column (e.g. {{{MeatBall:}}}),
    44 followed by a column separated list of identifiers.
     48followed by a page specification in the target.
    4549
    46 The target Wiki URL is looked up in a page like [http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt MeatBall:InterMapTxt].
     50The target Wiki URL is looked up in a the InterMapTxt wiki page,
     51modelled after
     52[http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt MeatBall:InterMapTxt].
    4753
    48 Support for #1414: The URL could contain identifier references
    49 (e.g. {{{$1}}}, {{{$2}}} ...),
    50 that will be replaced by the corresponding identifiers found
    51 in the link.
    52 If the URL doesn't contain any identifier reference, the identifier
    53 is simply appended to the URL (i.e. reverting to the ''traditional''
    54 InterWiki scheme).
    55 
     54An addition to traditional InterWiki links, where the target
     55is simply ''appended'' to the URL,
     56Trac supports parametric InterWiki URLs:
     57identifiers {{{$1}}}, {{{$2}}}, ... in the URL
     58will be replaced by corresponding arguments from a list
     59made up from the page specification split by the ':' token.
    5660
    5761== Examples ==
     
    6367it is necessary to setup a configuration for the InterTrac facility:
    6468 * in order to refer to a remote Trac
    65  * for defining project keys
     69 * for defining environment aliases
    6670
    6771This is done quite simply in an {{{[intertrac]}}} section
     
    8589Now, given this configuration, one could create the following links:
    8690 * to the current InterTrac page:
    87    * {{{trac:wiki:InterTrac}}}     trac:wiki:InterTrac
    88    * {{{t:wiki:InterTrac}}}        t:wiki:InterTrac
    89    * Keys are case insensitive: {{{T:wiki:InterTrac}}} → T:wiki:InterTrac
     91   * {{{trac:wiki:InterTrac}}} ->
     92     [http://projects.edgewall.com/trac/wiki/InterTrac trac:wiki:InterTrac]
     93   * {{{t:wiki:InterTrac}}} ->
     94     [http://projects.edgewall.com/trac/wiki/InterTrac t:wiki:InterTrac]
     95   * Keys are case insensitive: {{{T:wiki:InterTrac}}} ->
     96     [http://projects.edgewall.com/trac/wiki/InterTrac T:wiki:InterTrac]
    9097 * to the ticket #234:
    91    * {{{trac:ticket:234}}} trac:ticket:234
    92    * {{{trac:#234}}} trac:#234
    93    * {{{#T234}}} #T234
    94  * to the changeset [1508]:
    95    * {{{trac:changeset:1508}}} trac:changeset:1508
    96    * {{{trac:[1508]}}} trac:[1508]
    97    * {{{[T1508]}}} [T1508]
     98   * {{{trac:ticket:234}}} ->
     99     [http://projects.edgewall.com/trac/ticket/234 trac:ticket:234]
     100   * {{{trac:#234}}} ->
     101     [http://projects.edgewall.com/trac/search?q=#234 trac:#234]
     102   * {{{#T234}}} ->
     103     [http://projects.edgewall.com/trac/ticket/234 #T234]
     104 * to the changeset [1912]:
     105   * {{{trac:changeset:1912}}} ->
     106     [http://projects.edgewall.com/trac/changset/1912 trac:changeset:1912]
     107   * {{{trac:[1912]}}}
     108     [http://projects.edgewall.com/trac/search?q=[1912] trac:[1912]]
     109   * {{{[T1912]}}} ->
     110     [http://projects.edgewall.com/trac/changeset/1912 [T1508]]
    98111
    99112=== InterWiki ===
     
    131144source:branches/cboos-dev/intertrac-branch
    132145
    133 In particular, [1508] should implement the behavior described
    134 in version 4 of this page.
     146In particular, [1912] should implement the behavior described
     147in version 9 of this page.
    135148
    136 The InterWiki specification is not yet implemented.
    137 It is documented together with the InterTrac extension
    138 because they need to be implemented together, as they
    139 share a similar syntax.
    140149
    141 The general idea is that any {{{[a-zA-Z][a-zA-Z0-9]*:}}} prefix
    142 has to be interpreted as:
    143  1. either a ''module'' name (''module'' being a {{{Component}}}
    144     which supports some Wiki syntax)
     150The general idea is that any {{{[a-zA-Z][a-zA-Z0-9]*:}}} prefix,
     151followed by anything which is not a space, has to be interpreted as:
     152 1. maybe an alias to something else; it yes, it is dereferenced
     153    before going on
     154 1. either a link prefix given by an IWikiSyntaxProvider component
    145155 1. if not found, an environment name (!InterTrac link)
    146156 1. if not found, an external system name (!InterWiki link)
     157 1. if not found, it is left unchanged
    147158
    148 This order enables to configure Trac for using another
    149 ticket system by disabling the {{{[ticket]}}} component
    150 and setting a {{{ticket}}} !InterWiki link pointing to the other
     159This order enables one to configure Trac for using another
     160ticket system: first disable the {{{[ticket]}}} component
     161and setup a {{{ticket}}} !InterWiki link pointing to the other
    151162BugTrackingSystem.