Manuel:Table des sites

This page is a translated version of the page Manual:Sites table and the translation is 88% complete.
Manuel:Contenu Schéma de base de données MédiaWiki table sites
Version de MediaWiki :
1.21

La table sites, introduite en MediaWiki 1.21 en mai 2013, contient tous les sites connus du wiki.

Champs

site_id

Version de MediaWiki :
1.21

Id numérique du site. C'est une clé primaire auto-incrémentée.

site_global_key

Version de MediaWiki :
1.21

identifiant global du site, tel que enwiktionary

site_type

Version de MediaWiki :
1.21

type de site, comme mediawiki

site_group

Version de MediaWiki :
1.21

groupe du site, comme wikipedia

site_source

Version de MediaWiki :
1.21

Source des données de site, comme local, wikidata, mon-depot-magique

site_language

Version de MediaWiki :
1.21

code de la langue primaire du site.

site_protocol

Version de MediaWiki :
1.21

Protocole du site, comme 'http://', 'irc://', '//'.

Ce champ est un index pour la recherche construit à partir des données spécifiques au type dans site_data.

site_domain

Version de MediaWiki :
1.21

Domaine du site dans l'ordre inverse, comme gro.ikiwaidem.www..

Ce champ est un index pour la recherche construit à partir de données spécifiques au type dans site_data.

site_data

Version de MediaWiki :
1.21

données de site dépendant du type

site_forward

Version de MediaWiki :
1.21

If site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.

site_config

Version de MediaWiki :
1.21

configuration de site dépendant du type. Par exemple si la transclusion de modèle doit être autorisée si c'est un MediaWiki.

Gérer la table des sites

La table des sites est fournie sans données à l'intérieur lors d'une nouvelle installation de MediaWiki.

Importer la table des sites des autres wikis

Il y a deux façons de remplir la table des sites en utilisant un autre wiki comme source. Si vous avez accès au serveur de l'autre wiki, vous pouvez exécuter le script de maintenance exportSites.php et importer les données en utilisant le script de maintenance importSites.php de votre installation MediaWiki.

If you don't have access to the other wiki's server but the other MediaWiki installation has the SiteMatrix extension installed, you can use a maintenance script from the Wikibase extension (populateSitesTable.php) to import all sites from the other wiki.

Ajouter un nouveau site

Vous pouvez utiliser le script de maintenance addSite.php pour ajouter un nouveau site dans votre table des sites MediaWiki.

Additionally, the above mentioned importSites.php maintenance script can be used to add an arbitrary group of wikis from custom made XML file in the following format:

<sites version="1.0" xmlns="https://www.mediawiki.org/xml/sitelist-1.0/">
	<site type="mediawiki">
		<globalid>wikisite1</globalid>
		<group>mywikigroup</group>
		<path type="file_path">https://www.wikisite1.org/$1</path>
		<path type="page_path">https://www.wikisite1.org/index.php/$1</path>
	</site>
	<site type="mediawiki">
		<globalid>wikisite2</globalid>
		<group>mywikigroup</group>
		<path type="file_path">https://www.wikisite2.org/w/$1</path>
		<path type="page_path">https://www.wikisite2.org/wiki/$1</path>
	</site>
</sites>

Chaque élément ‎<site> représente un site.

file_path and page_path can be inferred from Special:Version page of the intended wiki.

Insérer une famille de wikis (en utilisant Script)

Parfois, vous devez ajouter vos wikis dans cette table. Vous pouvez utiliser ce code :

$sites = [];
foreach ( [ 'en', 'fr' ] as $langCode ) {
     $site = new MediaWikiSite();
     $site->setGlobalId( $langCode . 'mywiki' );
     $site->setGroup( 'mywiki' );
     $site->setLanguageCode( $langCode );
     $site->addInterwikiId( $langCode );
     $site->addNavigationId( $langCode );
     $site->setPath( MediaWikiSite::PATH_PAGE, "http://$langCode.mywiki.org/wiki/$1" );
     $site->setPath( MediaWikiSite::PATH_FILE, "http://$langCode.mywiki.org/w/$1" );           
     $sites[] = $site;
}
          
$sitesTable = SiteSQLStore::newInstance();
$sitesTable->clear(); // This will remove all previous entries from the table. Remove this call if you want to keep them.
$sitesTable->saveSites( $sites );

Reloading the cached sites table

MediaWiki caches the sites table in the local-server cache (CACHE_ACCEL) if it is available (ACPu or WinCache installed). After making changes to the sites table using any of the above methods, you should reload or restart any long-running MediaWiki PHP processes: your web server, continuous job runners (if any), etc. Otherwise, changes to the sites table will only become effective after the cache expires.

Résumé du schéma

1.35
Gerrit change 597664
Version de MediaWiki :
1.35
Gerrit change 622214

DESCRIBE sites;

+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| site_id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| site_global_key | varbinary(64)    | NO   | UNI | NULL    |                |
| site_type       | varbinary(32)    | NO   | MUL | NULL    |                |
| site_group      | varbinary(32)    | NO   | MUL | NULL    |                |
| site_source     | varbinary(32)    | NO   | MUL | NULL    |                |
| site_language   | varbinary(35)    | NO   | MUL | NULL    |                |
| site_protocol   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_domain     | varbinary(255)   | NO   | MUL | NULL    |                |
| site_data       | blob             | NO   |     | NULL    |                |
| site_forward    | tinyint(1)       | NO   | MUL | NULL    |                |
| site_config     | blob             | NO   |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+
Versions de MediaWiki :
1.21 – 1.34

DESCRIBE sites;

+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| site_id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| site_global_key | varbinary(32)    | NO   | UNI | NULL    |                |
| site_type       | varbinary(32)    | NO   | MUL | NULL    |                |
| site_group      | varbinary(32)    | NO   | MUL | NULL    |                |
| site_source     | varbinary(32)    | NO   | MUL | NULL    |                |
| site_language   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_protocol   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_domain     | varbinary(255)   | NO   | MUL | NULL    |                |
| site_data       | blob             | NO   |     | NULL    |                |
| site_forward    | tinyint(1)       | NO   | MUL | NULL    |                |
| site_config     | blob             | NO   |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+

Les index

Version de MediaWiki :
1.42

SHOW INDEX IN sites;

+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name        | Seq_in_index | Column_name     | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| sites |          0 | PRIMARY         |            1 | site_id         | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| sites |          0 | site_global_key |            1 | site_global_key | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+