InterWiki
14906
208465125
2008-04-27T04:54:37Z
Vina-iwbot
727408
robot Adding: [[zh:跨维基]]
{{selfref|For interwiki related to the Wikimedia projects, see [[Wikipedia:Interwikimedia links]].}}
'''InterWiki''' is a facility for creating [[link]]s to the many [[WikiWikiWebby|wiki wiki web]]s on the [[World Wide Web]]. Users avoid pasting in entire [[Uniform Resource Locator|URL]]s (as they would for regular web pages) and instead use a [[shorthand]] similar to links within the same wiki (intrawiki links).
{{Wiktionary}}
Unlike [[domain name]]s on the Internet, there is no globally defined list of InterWiki prefixes, so owners of a wiki must define a mapping appropriate to their needs. Users generally have to create separate accounts for each wiki they intend to use (unless they intend to edit anonymously). Variations in text formatting and layout can also hinder a seamless transition from one wiki to the next.
By making wiki links simpler to type for the members of a particular community, these features help bring the different wikis closer together. Furthering that goal, InterWiki "bus tours" (similar to [[webring]]s) have been created to explain the purposes and highlights of different wikis. Such examples on [[Wikipedia]] include {{srlink|Wikipedia:TourBusStop}} and {{srlink|Wikipedia:WikiNode}}.
==Notations==
InterWiki notations vary, depending largely on what kind of ''link pattern'' a wiki uses. The two most common link patterns in wikis are [[CamelCase]] and free links (arbitrary phrases surrounded by some set [[delimiter]], such as <nowiki>[[double square brackets]]</nowiki>). [[CURIE]] syntax uses a single set of square brackets.
Accordingly, InterWiki links on a CamelCase-based wiki frequently take the form of "Code:PageName", where ''Code'' is the defined InterMap prefix for another wiki. Thus, a link "WikiPedia:InterWiki" could be rendered in [[HTML]] as a link to an article on [[Wikipedia]] for example {{srlink|Wikipedia:Interlanguage links}}. Linking from a CamelCase-wiki to a page that contains spaces in its title typically requires substitution of the spaces with underscores (e.g. WikiPedia:Main_Page).
InterWiki links on wikis based on free links, such as Wikipedia, typically follow the same principle, but using the delimiters that would be used for internal links. These links can then be parsed and escaped as they would be if they were internal, allowing easier typing of spaces but potentially causing problems with other special characters. <!-- The next sentence is a huge [[WP:ASR]] violation, but I couldn't think of a way to improve it; the problem is that it won't look like that at all on mirrors. --> For example, on Wikipedia, <code><nowiki>[[MeatBall:AssumeGoodFaith]]</nowiki></code> appears as [[MeatBall:AssumeGoodFaith]], and <code><nowiki>[[:de:InterWiki]]</nowiki></code> (former syntax: <code><nowiki>[[DeWikipedia:InterWiki]]</nowiki></code>) appears as [[:de:InterWiki]].
The [[MediaWiki]] software has an additional feature which uses similar notation to create automatic interlanguage links - for instance, the link <code><nowiki>[[de:InterWiki]]</nowiki></code> (with no leading colon) automatically creates a reference labelled "Other languages: [[:de:InterWiki|Deutsch]] | ..." at the top and bottom of, or in a sidebar next to, the article display. Various other [[wiki software]] systems have features for "semi-internal" links of this kind, such as support for [[namespace]]s or multiple sub-communities.
==Implementation==
Internally, a wiki that uses InterWiki links needs to have an "InterMap" that defines the mapping from wiki-code links to full URLs. For example, <code><nowiki>[[MeatBall:InterWiki]]</nowiki></code> might appear as [[MeatBall:InterWiki]], but link to <code>http://usemod.com/cgi-bin/mb.pl?InterWiki</code>.
Since most wiki systems use URLs for individual pages where the page's title appears at the end of an otherwise unchanging address, the simplest way of defining such mappings is by substituting the InterWiki prefix for the unchanging part of the URL. So in the example above, the <code>MeatBall:</code> has simply been replaced by <code><nowiki>http://usemod.com/cgi-bin/mb.pl?</nowiki></code> in creating the target of the [[HTML]] rendered link.
Care must be taken, however, in the handling of special characters - both those that violate local link pattern rules, and those that must be represented specially in crafting a URL for the target system. So a CamelCase-based wiki must make special provision for recognising that non-[[alphanumeric]] characters can be part of an InterWiki link, and even a free link based system may disallow local links containing characters such as '[[+]]' or '[["]]' for technical reasons. Similarly, characters such as '[[?]]' and '[[&]]' are treated specially within URLs and may need to be converted into some other representation, as might unusual characters when linking between sites using different [[character encoding]]s.
However, rather than creating a new list from scratch for every wiki, it is often useful to obtain a copy of that from another site. Sites such as [[MeatballWiki]] [http://www.usemod.com/cgi-bin/mb.pl?InterMap] and the [[UseModWiki]] site contain comprehensive lists which are often used for this purpose - the former being publicly editable in the same way as any other wiki page, and the latter being verified as usable but potentially out of date.
MeatballWiki uses a mechanism called [[FileReplacement]] to directly use the openly editable InterWiki map for its own pages. Changes to that map do not take effect immediately, but the InterMap configuration file is re-generated if the wiki page remains unedited for a defined period of time. This delay is intended to assure proper review of all changes to the map while not preventing open editing.
==Shorthand for non-wiki sites==
Most InterMap implementations simply substitute the InterWiki prefix with a full URL prefix, so many non-wiki websites can also be referred to using the system. A reference to a definition on the [[Free On-line Dictionary of Computing]], for instance, could take the form <code><nowiki>[[Foldoc:foo]]</nowiki></code> which would tell the system to append "foo" to "<tt><nowiki>http://www.foldoc.org/foldoc/foldoc.cgi</nowiki>?</tt>", and display the link as [[Foldoc:foo]]. This makes it very easy to link to commonly referenced resources from within a wiki page, without the need to even know the form of the URL in question.
The InterWiki concept can equally be applied to links ''from'' non-wiki websites. [[Advogato]], for instance, offers a syntax for creating shorthand links based on a MeatBall-derived InterMap.
== See also ==
*[[CURIE]], emerging W3C standard
*[[Wikipedia:InterWikimedia links]]
*[[Wikipedia:Wikimedia sister projects]]
*[[Help:Interlanguage links]]
Wiktionary:
*[[wiktionary:interwiki]]
Wikimedia Meta-Wiki:
*[[meta:Help:Interwiki linking]]
Wikimedia Commons:
*[[commons:Template talk:Siblinglinks]]
*[[commons:Category:CommonsRoot]]
==External links==
* [http://www.usemod.com/cgi-bin/mb.pl?InterMap Discussion of the InterWiki concept] at [[MeatballWiki]]
* [http://www.usemod.com/cgi-bin/mb.pl?FileReplacement Discussion of the FileReplacement concept]
{{Wiki topics}}
<!-- Interwikis found using http://vs.aka-online.de/globalwpsearch/ -->
[[Category:Wikis]]
[[ar:إنترويكي]]
[[da:Interwiki]]
[[et:InterWiki]]
[[fr:InterWiki]]
[[gl:InterWiki]]
[[ko:인터위키]]
[[ja:インターウィキ]]
[[pt:InterWiki]]
[[tr:InterWiki]]
[[zh:跨维基]]