한국   대만   중국   일본 
Extension:SiteMatrix - MediaWiki Jump to content

Extension : SiteMatrix

From mediawiki.org
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 7 (Ranked 125 th )
Public wikis using 897 (Ranked 272 nd )
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"
:
 "Qafar 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