Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
Jump to content

Extension:SiteMatrix

From mediawiki.org
(Redirected from API:Sitematrix)
Please expand this page. More information might be found on the talk page.
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 6 (Ranked 130th)
Public wikis using 897 (Ranked 272nd)
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

  • Download and move the extracted SiteMatrix folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteMatrix
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SiteMatrix' );
    
  • Yes Done – Navigate to Special:Version on 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 $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.



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 | or alternative): language, special
Default: special|language
smstate

Filter the Site Matrix by wiki state.

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

Which information about a language to return.

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

Which information about a site to return.

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

Maximum number of results.

Type: integer or max
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 queries can 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