Interwiki Plugin

Link ExternalSite:Page text to external sites based on aliases defined in a rules topic

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

  • 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 [[ExternalSite:Page][any label]] to specify a custom label.
  • All ExternalSite aliases are defined in the InterWikis topic or as specified by the INTERWIKIPLUGIN_RULESTOPIC topic list.

Definition Syntax Rules

Add and edit aliases in InterWikis.
  • Each entry must be three or four columns, using the following format:
    | External site alias | URL | Tooltip help text | Optional INTERLINKFORMAT override |.
  • The Alias must start with an upper case letter and may contain alphanumeric characters.
  • The URL and Tooltip Text may contain optional $page formatting tokens; the token gets expanded to the page name.
  • The URL may contain Foswiki macros. They are expanded when the URL is rendered.
  • The Tooltip Text must not contain:
    • any HTML tags (including <nop> escape code)
    • any internal WikiWord links
    • any external links
    • Hint: Escape 'WikiWords' and '$page'.
    • If the link format override is provided, it overrides the INTERWIKIPLUGIN_INTERLINKFORMAT for just that entry.

HELP Note that Interwiki links do not properly resolve when part of an INCLUDEd page name. e.g. %INCLUDE{"Interwiki:link"}%

HELP For Foswiki and TWiki sites, both the web and the topic have to be specified: Foswiki:Webname/SomePage Foswiki:Extensions/InterwikiPlugin or Foswiki:Extensions.InterwikiPlugin

HELP For links with parentheses you will need to write as [[Wikipedia:Fork_(software_development)]], or quoted, as Wikipedia:'Fork_(software_development)' as the plugin will not include the closing parenthesis as part of the link.

InterwikiPlugin Settings

You can override the default settings using preferences. These preferences can be set in your SitePreferences, or in any 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 InterWikis for more details InterWikis
INTERWIKIPLUGIN_INTERLINKFORMAT Set the interlink format <a class="interwikiLink" href="$url" title="$tooltip" class="interwikiLink"><noautolink>$label</noautolink></a>
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

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. "Extensions Operation and Maintenance" Tab -> "Install, Update or Remove extensions" Tab. Click the "Search for Extensions" button. Enter part of the extension name or description and press search. Select the desired extension(s) and click install. If an extension is already installed, it will not show up in the search results.

You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> 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 https://foswiki.org/Support/ManuallyInstallingExtensions for more help.

Change History

06 Aug 2023: (1.27) Foswikitask:Item15151: add warnings and strictness
3 May 2018: (1.26) Foswikitask:Item14688: Correct tyops and poor grammar in documentation.
8 Dec 2017: (1.25) Foswikitask:Item14395: Failure to check result from readTopic causes error.
8 Feb 2071: (1.24) Foswikitask:Item14321: Fix some stale default Interwiki links.
8 Apr 2016: (1.23) Foswikitask:Item14022: Change foswiki.org links to https.
14 Jun 2014: (1.22) Foswikitask:Item13287: Foswikitask:Item13387: Regular expression enhancements, better UTF-8 support.
03 Oct 2014: (1.21) Foswikitask:Item13045: Add per-link override of INTERLINKFORMAT
24 May 2014: (1.20) Foswikitask:Item12819: Expand variables defined in InterWiki links
Foswikitask:Item11587: Replace call to deprecated Foswiki::Func::readTopicText()
23 Oct 2013: (1.1.7) Foswikitask:Item12555: Documentation updates
12 Nov 1012: (1.1.6) update CPAN link to goto metacpan and remove some ancient links that have been broken for years. Convert to perl version strings
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 [[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 [[Site:Page][label]] Interwiki links (PTh); use TWiki::Func interface for 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

PackageForm edit

Author Foswiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Version 1.27
Release 06 Aug 2023
Description Link ExternalSite:Page text to external sites based on aliases defined in a rules topic
Repository https://github.com/foswiki/distro
Copyright © 2001-2007, Andrea Sterbini, Peter Thoeny (TWIKI.NET), 2007-2023 Foswiki:System.ProjectContributor
License GPL (GNU General Public License)
Home http://foswiki.org/Extensions/InterwikiPlugin
Support http://foswiki.org/Support/InterwikiPlugin
Topic revision: r1 - 06 Aug 2023, ProjectContributor
This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding GSICS Wiki? Send feedback