Extension:SiteMatrix

From Linux Web Expert

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
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Translate the SiteMatrix extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The SiteMatrix extension 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

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/SiteMatrix</tvar>|Download]] and move the extracted <tvar name=name>SiteMatrix</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteMatrix
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'SiteMatrix' );
    
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

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 $wgSiteMatrixSites to list the different wikis in your own wikifarm. To add a new site, follow the template in extension.json as 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 as Special:SiteMatrix: a set of language groups plus special wikis.



Module "sitematrix" not found.

More examples

Show site matrix (only parts are shown here)

<translate> Result</translate>
{
    "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


Lua error in mw.lua at line 177: invalid frame ID.