%META:TOPICINFO{author="ProjectContributor" date="1302438808" format="1.1" version="1"}%
%META:TOPICPARENT{name="Plugins"}%
---+!! Interwiki Plugin
<!--
   * Set SHORTDESCRIPTION = Link !ExternalSite:Page text to external sites based on aliases defined in a rules topic
-->

The <nop>%TOPIC% links ==ExternalSite:Page== text to external sites based on aliases defined in the %SYSTEMWEB%.InterWikis topic. This plugin is inspired by <nop>UseMod Wiki's inter-wiki links, http://www.usemod.com/cgi-bin/wiki.pl?InterWiki.

%TOC%

---++ Syntax Rules

   * Enter ==ExternalSite:Page== to create a link that points to the ==Page== on the ==ExternalSite== server.
      * If ==Page== contains spaces, it can be enclosed in single or double quotes. Example: ==MySite:'My Photo.jpg'==.  Special characters contained within the quotes are URL encoded.
   * Enter ==[<nop>[ExternalSite:Page][any label]]== to specify a custom label.
   * All ==ExternalSite== aliases are defined in the %SYSTEMWEB%.InterWikis topic.
   * Add and edit aliases in %SYSTEMWEB%.InterWikis.
   * Each entry must be of format: <br /> ==| External site alias | URL | Tooltip help text |==.
   * Site aliases must start with an upper case letter and may contain alphanumeric letters.
   * The URL and Tooltip Text may contain optional ==$page== fromatting tokens; the token gets expanded to the page name.
<blockquote class="foswikiHelp">%H% For Foswiki and TWiki sites, both the *web* and the *topic* have to be specified: ==<nop>Foswiki:Webname/<nop>SomePage==

Foswiki:Extensions/InterwikiPlugin or Foswiki:Extensions.InterwikiPlugin
</blockquote>

<blockquote class="foswikiHelp">%H% For links with paranthesis you will need to write as ==[<nop>[Wikipedia:Fork_(software_development)]]==, or quoted, as ==<nop>Wikipedia:'Fork_(software_development)'== as we assume that the closing paranthesis is not part of the link. For example, Wikipedia:'Fork_(software_development)' .
</blockquote>

---++ <nop>%TOPIC% Settings

You can override the default settings using [[%SYSTEMWEB%.PreferenceSettings][preferences]]. These preferences can be set in your %USERSWEB%.SitePreferences, or in !WebPreferences, or in individual topics.

| *Preference* | *Use to* | *Default* |
| =INTERWIKIPLUGIN_RULESTOPIC= | The topic(s) containing the inter-wiki rules. Can be a comma separated list. See %SYSTEMWEB%.InterWikis#AddingYourOwn for more details | %SYSTEMWEB%.InterWikis |
| =INTERWIKIPLUGIN_INTERLINKFORMAT= | Set the interlink format | =&lt;a class="interwikiLink" href="$url" title="$tooltip" class="interwikiLink"&gt;&lt;noautolink&gt;$label&lt;/noautolink&gt;&lt;/a&gt;= |
The =INTERWIKIPLUGIN_INTERLINKFORMAT= supports a number of formatting tokens:
     | *Token* | *Meaning* |
     | $site | Site alias |
     | $page | Page (part after colon) |
     | $url | Site URL (might contain $page) |
     | $label | Equal to $site:$page |
     | $tooltip | Tooltip message |


---++ Plugin Installation Instructions

You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".

If you have any problems, or if the extension isn't available in =configure=, then you can still install manually from the command-line. See http://foswiki.org/Support/ManuallyInstallingExtensions for more help.


   * *Test:* If the Plugin is correctly installed, this Wiki:InterWiki link should point to http://c2.com/cgi/wiki?InterWiki topic - try it out.

---++ Plugin Info

|  Author: | Foswiki:%USERSWEB%.AndreaSterbini, TWiki:Main.PeterThoeny |
|  Copyright: | &copy; 2001-2007, Andrea Sterbini, Peter Thoeny ([[http://www.twiki.net/][TWIKI.NET]]), 2007-2011 %SYSTEMWEB%.ProjectContributor |
|  License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) |
|  Version: | 12957 (2011-10-31) |
|  Release: | 1.1.2 |
|  Change History: | <!-- versions below in reverse order -->&nbsp; |
|  05 Dec 2011: (1.1.2) | Release with Foswiki 1.1.4 - Minor code and documentation cleanup |
|  30 Oct 2011: | Foswiki:Main.GeorgeClark - Add support for quoted page references from TimotheLitt (Foswikitask:Item10872) |
|  10 Apr 2011: | Foswiki:Main.AndrewJones - Links can now be formatted (Foswikitask:Item10619) |
|  13 Dec 2010: | Foswiki:Main.AndrewJones - Fix inter-wiki's with parentheses (Foswikitask:Item10151). Note, you will need to write as ==[<nop>[Wikipedia:Fork_(software_development)]]==, as we assume the closing parenthesis is not part of the link. |
|  10 Dec 2010: | Foswiki:Main.AndrewJones - Allow the =INTERWIKIPLUGIN_RULESTOPIC= to be a comma separated list. Implements Foswiki:Development/InheritWikiLinksTopics |
|  12 Jul 2010: | Foswiki:Main.AndrewJones - Check access controls on !InterWikis topic |
|  10 Jul 2010: | =mod_perl= and =FastCGI= compatible |
|  20 Sep 2009: | Version from 15 Apr now included with Foswiki 1.0.7 |
|  15 Apr 2009: | Foswiki:Main.CrawfordCurrie - removed plugin preferences from this topic |
|  16 Dec 2008: | Foswiki:Main.KennethLavrsen - Foswiki version - no features changed |
|  03 Aug 2008: | TWiki 4.2.1 release version |
|  22 Jan 2008: | TWiki 4.2.0 release version |
|  25 Nov 2007: | 15752 - TWikibug:Item5006 - Renamed Bugs rule to TWikibug rule (PTh) |
|  13 Aug 2007: | 14545 - TWikibug:Item4451 - Added Bugs: rule (Foswiki:Main.CrawfordCurrie) |
|  11 Aug 2007: | 14538 - Fixed broken ISBN link (TWiki:Main.PeterThoeny) |
|  08 Nov 2006: | 11935 - Added css =class="interwikiLink"= (TWiki:Main.PeterThoeny) |
|  07 Nov 2006: | 11924 - Added INTERLINKFORMAT; removed redundant SUPPRESSTOOLTIP; allow @ signs in page part of interwiki link; support single digit page part (TWiki:Main.PeterThoeny) |
|  26 Feb 2005: | 1.008 Foswiki:Main.CrawfordCurrie cleaned up code and made Dakar-ready |
|  25 Aug 2004: | 1.005 TWiki:Main.PeterThoeny updated InterWikis link rules (no code change) |
|  09 Mar 2004: | Internal changes: Use only official TWiki::Func Plugin API; for increased speed, moved Interwiki link handling from outsidePREHandler to startRenderingHandler |
|  16 Feb 2004: | Support =[<nop>[Site:Page][label]]= Interwiki links (PTh); use TWiki::Func interface for <nop>I18N regular expressions (Walter Mundt) |
|  18 Jan 2003: | Allow number sign =#= in Page name (PTh) |
|  31 Aug 2002: | Allow percent sign =%= in page name (PTh) |
|  27 Jul 2001: | Allow numbers =0-9= in site name |
|  26 Jul 2001: | Fixed alternating missed link bug due to greedy $postfixPattern (fix by Richard Donkin) |
|  14 Jul 2001: | Changed to plug & play |
|  16 Jun 2001: | Made tooltips optional; prevent ==Module::Sub== type of link |
|  12 Jun 2001: | Added optional tool tips (IE only); added the link rules topic name variable; added flexible link patterns; optional ==$page== in URL |
|  10 Jun 2001: | Changed rules topic to table-based syntax |
|  20 Feb 2001: | TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny - Initial version |
|  Plugin Home: | http://foswiki.org/Extensions/%TOPIC% |
|  Support: | http://foswiki.org/Support/%TOPIC% |


