Manuel:Table des sites
↑ 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.
<span id="Managing_the_sites
_table">
Gérer la table sites
La table sites
est fournie sans données à l'intérieur lors d'une nouvelle installation de MediaWiki.
<span id="Importing_sites
_table_from_another_wiki">
Importer la table sites
des autres wikis
Il y a deux façons de remplir la table 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;
}
$siteStore = MediaWikiServices::getInstance()->getSiteStore();
$siteStore->clear(); // This will remove all previous entries from the table. Remove this call if you want to keep them.
$siteStore->saveSites( $sites );
<span id="Reloading_the_cached_sites
_table">
Recharger la table sites
en cache
MediaWiki met en cache la table sites
dans le cache du serveur local (CACHE_ACCEL
) s'il est disponible (ACPu ou WinCache installé).
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.
Sinon les modifications de la table sites
ne deviendront effectives une fois que le cache aura expiré.
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 | | | +-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+