Jump to content

Extension:SiteMatrix

From mediawiki.org
(Redirected fromAPI:Sitematrix)
This extension is made for Wikimedia wikis. It does work for other wikis, but note that the extension contains Wikimedia-specific text.
MediaWiki extensions manual
SiteMatrix
Release status:stable
Implementation Special page,API
Description adds a special page with a matrix of all Wikimedia sites
Author(s) Tim Starling,Brooke Vibber,Victor Vasiliev, Alexandre Emsenhuber
Latest version 1.4.0 (2016-07-22)
MediaWiki >= 1.42
License GNU General Public License 2.0 or later
Download
Example Special:SiteMatrix
  • $wgSiteMatrixSites
  • $wgSiteMatrixFishbowlSites
  • $wgSiteMatrixFile
  • $wgSiteMatrixClosedSites
  • $wgSiteMatrixPrivateSites
Quarterly downloads 8 (Ranked 127th)
Public wikis using 897 (Ranked 272nd)
Translate the SiteMatrix extensionif it is available at translatewiki.net
Issues Open tasks·Report a bug

TheSiteMatrixextension adds a special page with a matrix of all sites of the Wikimedia Foundation. First a table of all normal language wikis, with blue links for existing wikis and red links for non-existing wikis. Below a list of other special projects (like Meta, Commons, Wikimania,...), mostly the sites like*.wikimedia.org.It also adds a NUMBEROFWIKIS parserfunction which shows the total number of wikis[1].

Installation

  • Downloadand move the extractedSiteMatrixfolder to yourextensions/directory.
    Developers and code contributors should install the extensionfrom Gitinstead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteMatrix
  • Add the following code at the bottom of yourLocalSettings.phpfile:
    wfLoadExtension('SiteMatrix');
    
  • YesDone– Navigate toSpecial:Versionon your wiki to verify that the extension is successfully installed.

Configuration

There are some variables that you need to change:

  • $wgSiteMatrixFile- The path to a list of language codes recognised by MediaWiki (example).
  • $wgSiteMatrixPrivateSites- The path to a list of wiki databases that are private(optional)
  • $wgSiteMatrixFishbowlSites- The path to a list of wiki databases that are public, but only logged in users can edit.(optional)
  • $wgSiteMatrixClosedSites- The path of a list of wiki databases that "closed"(optional)

You would also need to customise$wgSiteMatrixSitesto list the different wikis in your own wikifarm. To add a new site, follow the template inextension.jsonas a guide (but be sure to convert the syntax to PHP). As this has been removed for better compatibility, use the code below as a reference:

"wiki": {
"name": "Wikipedia",
"host": "www.wikipedia.org",
"prefix": "w"
},
"wiktionary": {
"name": "Wiktionary",
"host": "www.wiktionary.org",
"prefix": "wikt"
}

Additional requirements

To ensure that the extension works correctly to your needs, there are a few dependencies to this extension:

  • $wgLocalDatabases- To tell the extension all the wiki databases that exist in your wikifarm.
  • $wgConf- To feed the extension with the correct links to the different wikis in your wikifarm.

API

This extension adds an API module that provides the same information asSpecial:SiteMatrix:a set of language groups plus special wikis.



action=sitematrix (sm)

(main|sitematrix)

Get Wikimedia sites list.

The code (technically dbname/wikiid) is either the language code + project code for content projects or the subdomain + main domain for all the others.

Specific parameters:
Other general parameters are available.
smtype

Filter the Site Matrix by type:

special
One off and multilingual Wikimedia projects.
language
Wikimedia projects under this language code.
Values (separate with|oralternative): language, special
Default: special|language
smstate

Filter the Site Matrix by wiki state.

Values (separate with|oralternative): all, closed, fishbowl, nonglobal, private
Default: all
smlangprop

Which information about a language to return.

Values (separate with|oralternative): code, dir, localname, name, site
Default: code|name|site|dir|localname
smsiteprop

Which information about a site to return.

Values (separate with|oralternative): code, dbname, lang, sitename, url
Default: url|dbname|code|sitename
smlimit

Maximum number of results.

Type: integer ormax
The value must be between 1 and 5,000.
Default: 5000
smcontinue

When more results are available, use this to continue. More detailed information on how to continue queriescan be found on mediawiki.org.

Example:
Show the site matrix
api.php?action=sitematrix[open in sandbox]

More examples

Show site matrix (only parts are shown here)
Result
{
"sitematrix":{
"count":892,
"0":{
"code":"aa",
"name":"Qafár af",
"site":[
{
"url":"https://aa.wikipedia.org",
"dbname":"aawiki",
"code":"wiki",
"sitename":"Wikipedia",
"closed":""
},
{
"url":"https://aa.wiktionary.org",
"dbname":"aawiktionary",
"code":"wiktionary",
"sitename":"Wiktionary",
"closed":""
},
{
"url":"https://aa.wikibooks.org",
"dbname":"aawikibooks",
"code":"wikibooks",
"sitename":"Wikibooks",
"closed":""
}
],
"localname":"Afar"
},
"1":{
"code":"ab",
"name":"Аҧсшәа",
"site":[
{
"url":"https://ab.wikipedia.org",
"dbname":"abwiki",
"code":"wiki",
"sitename":"Авикипедиа"
},
{
"url":"https://ab.wiktionary.org",
"dbname":"abwiktionary",
"code":"wiktionary",
"sitename":"Wiktionary",
"closed":""
}
],
"localname":"Abkhazian"
},
...CUT...
"290":{
"code":"zu",
"name":"isiZulu",
"site":[
{
"url":"https://zu.wikipedia.org",
"dbname":"zuwiki",
"code":"wiki",
"sitename":"Wikipedia"
},
{
"url":"https://zu.wiktionary.org",
"dbname":"zuwiktionary",
"code":"wiktionary",
"sitename":"Wiktionary"
},
{
"url":"https://zu.wikibooks.org",
"dbname":"zuwikibooks",
"code":"wikibooks",
"sitename":"Wikibooks",
"closed":""
}
],
"localname":"Zulu"
},
"specials":[
{
"url":"https://advisory.wikimedia.org",
"dbname":"advisorywiki",
"code":"advisory",
"sitename":"Advisory Board",
"closed":""
},
{
"url":"https://ar.wikimedia.org",
"dbname":"arwikimedia",
"code":"arwikimedia",
"sitename":"Wikimedia Argentina"
},
{
"url":"https://arbcom-de.wikipedia.org",
"dbname":"arbcom_dewiki",
"code":"arbcom-de",
"sitename":"Arbitration Committee",
"private":""
},
...CUT...
{
"url":"https://login.wikimedia.org",
"dbname":"loginwiki",
"code":"login",
"sitename":"Wikimedia Login Wiki"
},
{
"url":"https://www.mediawiki.org",
"dbname":"mediawikiwiki",
"code":"mediawiki",
"sitename":"MediaWiki"
},
{
"url":"https://meta.wikimedia.org",
"dbname":"metawiki",
"code":"meta",
"sitename":"Meta"
},
...CUT...
{
"url":"https://zero.wikimedia.org",
"dbname":"zerowiki",
"code":"zero",
"sitename":"Wikipedia",
"private":""
}
]
}
}

See also