Manuel:Extension.json/Schéma
Fichier MediaWiki : extension.schema.v2.json | |
---|---|
Emplacement : | docs/ |
Code source : | master • 1.42.3 • 1.41.4 • 1.39.10 |
Classes : | Accès au code • Accès à la documentation |
Cette page documente le schéma utilisé par extension.json . Tous les champs sont optionnels sauf contre-indication. Il est actuellement incomplet.
Pour la première version de ce schéma voir docs/extension.schema.v1.json (MW 1.25+), pour la seconde version voir docs/extension.schema.v2.json (MW 1.29+).
manifest_version
Version de MediaWiki : | ≥ 1.25 Gerrit change 212239 |
Ce champ est obligatoire.
Ceci spécifie la version du format de fichier extension.json qui sera utilisé. A l'avenir, si des modifications viennent à changer le format du fichier, ce nombre sera incrémenté pour continuer à prendre en charge les extensions qui utilisent l'ancien format.
Actuellement les valeurs suivantes sont acceptées :
1
: 1.25+2
: 1.29+
v2 fournit des fonctionnalités de validation plus fortes pour le développeur, et elle est recommandée si votre extension nécessite déjà MediaWiki 1.29+. Il est recommandé de supprimer la compatibilité avec les anciennes versions, simplement pour forcer la mise à jour vers un nouveau manifest_version.
Actuellement de nouvelles fonctionnalités sont ajoutées dans v1 et v2, mais il a été demandé de geler v1 et de le rendre obsolète dans la version MediaWiki 1.38 (discussion sur Phabricator).
Exemple :
{
"manifest_version": 2
}
name
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Ce champ est obligatoire.
Il s'agit du nom canonique de l'extension.
Il ne doit pas être modifié une fois qu'il a été défini parce qu'il est utilisé comme API pour que les autres extensions puissent détecter qu'elle a été installée.
Le champ name
ne doit pas forcément correspondre au nom du répertoire d'une extension ni au nom de sa page dans l'espace de noms Extension de MediaWiki.org.
{
"name": "FooBar"
}
namemsg
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Version traduite du nom de l'extension. Typiquement la clé du message est nommée selon le format <name>-nomDeLextension ou <name>-nomDeLhabillage.
{
"namemsg": "foobar-extensionname"
}
type
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Type de l'extension, sert à trier sur Special:Version. Les types suivants sont acceptés :
api
– extensions de l'APIantispam
– extensions anti-pourrieleditor
– extensions qui modifient le contenu (depuis la 1.31, git #8de95844)media
– gestionnaires de médiasparserhook
– extensions qui modifient, ajoutent ou remplacent des fonctionnalités de l'analyseur syntaxique de MediaWiki.skin
– extensions qui modifient les habillagesspecialpage
– extensions qui ajoutent des pages spécialesvariable
– crée une nouvelle variableother
– fait autre chose
Vous pouvez ajouter des types personnalisés en utilisant l'accroche ExtensionTypes . Les valeurs connues comprennent :
semantic
— extensions Semantic MediaWikiwikibase
— extensions Wikibase
Si non initialisé, l'extension est affectée à la section other, et si la valeur assignée est non valide l'extension n'apparaîtra pas dans Special:Version.
{
"type": "specialpage"
}
author
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Auteurs de l'extension, peut contenir du texte wiki.
Ceci peut être soit une chaîne unique, soit un tableau de chaînes.
En plus, la chaîne spéciale ...
peut être utilisée pour ajouter un suffixe générique « autres » en utilisant le message version-poweredby-others
.
version
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Version actuelle de l'extension. Doit être dans un format pris en charge par Composer.
url
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
URL de la page d'accueil de l'extension ou la documentation. Pointe typiquement vers https://www.mediawiki.org/wiki/Extension:<extensionname>
.
description
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Description de l'extension, peut contenir du wikicode.
descriptionmsg
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Clé du message traduit correspondant à la description de l'extension, typiquement dans le format <extensionname>-desc. Ceci prévaut sur description.
license-name
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Identifiant de la licence SPDX (Software Package Data Exchange) du code source.
Si vous créez un fichier COPYING
ou LICENSE
(avec une extension facultative .txt
) dans le répertoire racine de l'extension avec le contenu de la licence, il sera aussi lié et visible de Special:Version.
requires
Version de MediaWiki : | ≥ 1.26 Gerrit change 210856 |
Version de MediaWiki : | ≥ 1.29 Gerrit change 250060 |
La section requires vous permet de documenter les dépendances sur les versions du noyau MediaWiki (1.26+) et des autres extensions (1.29+).
{
"requires": {
"MediaWiki": ">= 1.27.0",
"extensions": {
"FooBar": "*",
"Baz": ">= 1.2.3"
}
}
}
Vous pouvez utiliser tout format de version accepté par Composer.
Pour MediaWiki, la meilleure méthode est de spécifier >=
pour la version minimale prise en charge, sauf si vous connaissez d'avance la version où cela ne sera plus vrai.
Pour les extensions, si elles ne disposent pas d'un indicateur de version initialisé, ou si elles n'utilisent pas de système de gestion des versions, mettre une étoile *
pour indiquer que toutes les versions sont acceptées.
Si votre extension utilise l'intégration continue de Wikimedia , vous devez aussi ajouter ses dépendances à zuul/parameter_functions.py dans le projet integration/config
.
platform
Version de MediaWiki : | ≥ 1.32 Gerrit change 458940 |
Version de MediaWiki : | ≥ 1.32 Gerrit change 462596 |
Vous pouvez aussi exprimer la dépendance entre les paramètres d'une plateforme, elle est actuellement limitée aux versions et aux extensions PHP. Notez que la plupart des extensions sont supposées suivre les contraintes de version PHP pour les versions du noyau MediaWiki qu'elles supportent, et que vous ne pouvez spécifier de contrainte plus restrictive sur la version PHP que dans les cas exceptionnels. La vérification de la version des extensions PHP n'est pas encore prise en charge.
{
"requires": {
"MediaWiki": ">= 1.32.0",
"platform": {
"php": ">= 7.1",
"ext-curl": "*"
}
}
}
Dans cet exemple, l'extension nécessite la version 1.32 (qui demande PHP 7.0+), et ajoute clairement que la dépendance doit être faite avec une version PHP 7.1+ car elle nécessite certaines fonctionnalités plus récentes de PHP. De plus il faut que l'extension PHP curl soit installée.
suggests
Version de MediaWiki : | ≥ 1.39 Gerrit change 591897 |
Permet d'afficher la liste des dépendances suggérées mais pas celles qui sont nécessaires.
Le format est identique à requires
.
ResourceFileModulePaths
Version de MediaWiki : | ≥ 1.25 Gerrit change 188996 |
Chemins par défaut à utiliser pour tous les modules des fichiers ResourceLoader.
Les propriétés autorisées sont :
localBasePath
remoteExtPath
- must not point to other extension foldersremoteSkinPath
Il s'agit des mêmes options pour chacune des définitions de module de ResourceModules
.
Si une valeur n'est pas spécifiée dans la définition du module, c'est la valeur par défaut indiquée ici qui est utilisée.
{
"ResourceFileModulePaths": {
"localBasePath": "resources",
"remoteExtPath": "FooBar/resources"
}
}
ResourceModules
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Modules du ResourceLoader à enregistrer.
Cette option correspond directement à la variable globale $wgResourceModules
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
Pour les détails, voir Développer avec ResourceLoader et Extension.json.
ResourceModuleSkinStyles
Version de MediaWiki : | ≥ 1.25 Gerrit change 201661 |
Modules du ResourceLoader pour les styles des habillages personnalisés.
Cette option correspond directement à la variable globale $wgResourceModuleSkinStyles
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ResourceLoaderSources
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Sources du ResourceLoader à enregistrer.
Cette option correspond directement à la variable globale $wgResourceLoaderSources
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ResourceLoaderLESSVars
Versions de MediaWiki : | 1.25 – 1.30 Gerrit change 166705 |
Tableau associatif qui lie les noms de variables à des portions de code LESS représentant leurs valeurs.
Cette option correspond directement à la variable globale $wgResourceLoaderLESSVars
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
SkinLessImportPaths
Version de MediaWiki : | ≥ 1.36 Gerrit change 434211 |
Chemin du répertoire d'import LESS propre à l'habillage, la clé étant le nom de cet habillage. Peut être utilisé pour définir les variables LESS propres à l'habillage.
QUnitTestModule
Version de MediaWiki : | ≥ 1.33 Gerrit change 485247 |
Module de fichier ResourceLoader à charger lors de l'exécution des tests unitaires JavaScript. A la même syntaxe que ResourceModules.
En interne, quand $wgEnableJavaScriptTest
vaut true
, ce module est automatiquement enregistré sous le nom test.ExtensionName
.
MessagePosterModule
Version de MediaWiki : | ≥ 1.35 Gerrit change 542655 |
Permet aux extensions d'ajouter des fichiers supplémentaires ou des dépendances au paquet du module mediawiki.messagePoster
.
A la même syntaxe que ResourceModules.
ConfigRegistry
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Registre des fonctions d'usine pour créer les objets Config.
Cette option correspond directement à la variable globale $wgConfigRegistry
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
SessionProviders
Version de MediaWiki : | ≥ 1.27 Gerrit change 288324 |
Indique les fournisseurs à utiliser pour SessionManager.
Cette option correspond directement à la variable globale $wgSessionProviders
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
AuthManagerAutoConfig
Version de MediaWiki : | ≥ 1.27 Gerrit change 195297 |
Configuration automatique pour AuthManager.
Cette option correspond directement à la variable globale $wgAuthManagerAutoConfig
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
Les propriétés suivantes sont disponibles :
preauth
– Fournisseurs de pré-authentification.primaryauth
– Fournisseurs d'authentification primaire.secondaryauth
– Fournisseurs d'authentification secondaire.
CentralIdLookupProviders
Version de MediaWiki : | ≥ 1.27 Gerrit change 261909 |
Fournisseurs de recherche Central ID.
Cette option correspond directement à la variable globale $wgCentralIdLookupProviders
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ChangeCredentialsBlacklist
Version de MediaWiki : | ≥ 1.28 Gerrit change 294859 |
Classes AuthenticationRequest à usage exclusivement interne pour la modification des données de connexion.
Cette option correspond directement à la variable globale $wgChangeCredentialsBlacklist
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RemoveCredentialsBlacklist
Version de MediaWiki : | ≥ 1.28 Gerrit change 294859 |
Classes AuthenticationRequest à usage exclusivement interne pour la suppression des données de connexion.
Cette option correspond directement à la variable globale $wgRemoveCredentialsBlacklist
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
namespaces
Version de MediaWiki : | ≥ 1.25.3 Gerrit change 237973 |
Méthode pour ajouter des espaces de noms supplémentaires .
Les propriétés suivantes sont disponibles :
Name | Type | Description | Default |
---|---|---|---|
id
|
Nombre entier. | Identifiant numérique de l'espace de noms, tel qu'il est utilisé dans la base de données. Depuis MediaWiki 1.30, les IDs des espaces de noms peuvent être remplacés localement, en définissant la constante respective dans LocalSettings.php avant de charger l'extension. C'est pourquoi le code des extensions doit toujours utiliser la constante de l'ID de l'espace de noms et jamais l'ID en tant que littéral dans le code PHP. Faites en sorte que le numéro utilisé pour votre ID figure dans l'espace de noms par défaut des extensions pour éviter les conflits avec les autres extensions. | |
constant
|
Chaîne de caractères. | Nom de la constante utilisée par le code de l'extension quand il référence l'ID de l'espace de noms. | |
name
|
Chaîne de caractères. Nom de l'espace de noms, tel qu'utilisé dans les titres. | The name of the namespace, as used in titles. | |
gender
|
Objet Gender. | Les propriétés sont soit male soit female . Voir la prise en charge du gendre.
| |
subpages
|
Booléen. | Voir Manuel:$wgNamespaceWithSubpages . | false
|
content
|
Booléen. | Voir Manuel:$wgContentNamespaces . | false
|
defaultcontentmodel
|
Chaîne de caractères. | Voir ContentHandler . | |
protection
|
Tableau ou chaîne de caractères. | Droits utilisateur nécessaires pour modifier cet espace de noms. | |
capitallinkoverride
|
Booléen. | Fixer $wgCapitalLinks avec une valeur qui est fonction de l'espace de noms. | |
conditional
|
Booléen. | Indique si l'espace de noms est conditionnel dans la configuration et ne doit pas être enregistré (nécessite un enregistrement séparé via une accroche telle que CanonicalNamespaces ). | false
|
movable
|
Booléen. | Indique s'il est possible de renommer des pages dans cet espace de noms. (introduit dans 1.35.2) | true
|
TrackingCategories
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Clés des messages des catégories suivies.
Cette option correspond directement à la variable globale $wgTrackingCategories
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
DefaultUserOptions
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Cette option correspond directement à la variable globale $wgDefaultUserOptions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
"DefaultUserOptions": {
"math": "png"
},
HiddenPrefs
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Préférences que les utilisateurs ne peuvent initialiser.
Cette option correspond directement à la variable globale $wgHiddenPrefs
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
GroupPermissions
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Droits par défaut à donner aux groupes d'utilisateurs.
Cette option correspond directement à la variable globale $wgGroupPermissions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
PrivilegedGroups
Version de MediaWiki : | ≥ 1.41 Gerrit change 954742 |
Groupes utilisateur devant être considérés comme privilégiés.
Cette option correspond directement à la variable globale $wgPrivilegedGroups
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RevokePermissions
Version de MediaWiki : | ≥ 1.25 Gerrit change 166705 |
Droits par défaut à supprimer dans les groupes d'utilisateurs.
Cette option correspond directement à la variable globale $wgRevokePermissions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
GrantPermissions
Correspondance des droits attribués aux utilisateurs autorisés sur leur distribution (appelés grants).
Cette option correspond directement à la variable globale $wgGrantPermissions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
GrantPermissionGroups
Correspondance des grants (droits) et des groupes d'interfaces utilisateur.
Cette option correspond directement à la variable globale $wgGrantPermissionGroups
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ImplicitGroups
Groupes implicites.
Cette option correspond directement à la variable globale $wgImplicitGroups
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
GroupsAddToSelf
Groupes auxquels l'utilisateur peut s'ajouter lui-même.
Cette option correspond directement à la variable globale $wgGroupsAddToSelf
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
GroupsRemoveFromSelf
Groupes desquels l'utilisateur peut se retirer lui-même.
Cette option correspond directement à la variable globale $wgGroupsRemoveFromSelf
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
AddGroups
Groupes que l'utilisateur peut ajouter à d'autres utilisateurs.
Cette option correspond directement à la variable globale $wgAddGroups
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RemoveGroups
Groupes qu'un utilisateur peut enlever à d'autres utilisateurs.
Cette option correspond directement à la variable globale $wgRemoveGroups
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
AvailableRights
Droits utilisateur ajoutés par l'extension.
Cette option correspond directement à la variable globale $wgAvailableRights
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ContentHandlers
Correspondance entre l'ID du modèle et le nom de la classe.
Cette option correspond directement à la variable globale $wgContentHandlers
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RateLimits
Options simples de limitation du seuil pour interrompre le flux des modifications.
Cette option correspond directement à la variable globale $wgRateLimits
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RecentChangesFlags
Marques (symboles littéraux) affichées dans les changements récents et les listes de suivi pour indiquer certains types de modifications.
Cette option correspond directement à la variable globale $wgRecentChangesFlags
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
MediaHandlers
Greffons pour la gestion du type de fichier de média. Chaque entrée de la cartographie du tableau donne la correspondance entre un type de MIME et le nom d'une classe PHP.
Cette option correspond directement à la variable globale $wgMediaHandlers
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ExtensionFunctions
Fonction à appeler après que la configuration est terminée.
Cette option correspond directement à la variable globale $wgExtensionFunctions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
Notez que les fonctions de l'extension ne peuvent pas être utilisées pour mettre à jour par programme les paramètres de configuration ou les accroches des registres.
Dans ce but, remplacer par un appel à une fonction de rappel enregistrée.
ExtensionMessagesFiles
Chemins des fichiers contenant la traduction internationale de PHP pour les mots magiques (comprenant les fonctions d'analyse syntaxique), les alias des pages spéciales , et (ou) les noms des espaces de noms .
Cette option correspond directement à la variable globale $wgExtensionMessagesFiles
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
MessagesDirs
Chemins des répertoires contenant les données JSON des traductions internationales.
Cette option correspond directement à la variable globale $wgMessagesDirs
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
Si vous utilisez la structure par défaut des répertoires avec les messages traduits dans le répertoire i18n/
, vous pouvez écrire :
"MessagesDirs": {
"ExtensionName": [
"i18n"
]
},
ExtensionEntryPointListFiles
Tableau des fichiers avec la ou les listes des points d'accès de l'extension à utiliser dans maintenance/mergeMessageFileList.php
Cette option correspond directement à la variable globale $wgExtensionEntryPointListFiles
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
SpecialPages
Pages spéciales implémentées dans cette extension (correspondance entre le nom de page et le nom de classe).
Cette option correspond directement à la variable globale $wgSpecialPages
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
AutoloadClasses
Tableau associant les noms des classes aux noms des fichiers, pour l'auto chargement.
Cette option correspond directement à la variable globale $wgAutoloadClasses
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
Exemple :
{
...
"AutoloadClasses": {
"MyClassName": "includes/FileContainingMyClassName.php",
"SomeNamespace\\SpecialHelloWorld": "specials/SpecialHelloWorld.php"
},
...
}
AutoloadNamespaces
Version de MediaWiki : | ≥ 1.31 Gerrit change 373626 |
Tableau définissant la correspondance entre les espaces de noms et les répertoires sous une forme compatible PSR-4. Voici un exemple :
{
"AutoloadNamespaces": {
"MediaWiki\\Extension\\BetaFeatures\\": "includes/"
}
}
Dans ce cas, toutes les classes PHP appartiennent à l'espace de noms MediaWiki\Extension\BetaFeatures\
, et le nom de la classe correspond directement au fichier se trouvant dans le répertoire includes/
(relativement au fichier extension.json).
Notez que la portion de l'espace de noms doit se terminer par \\
.
Les extensions qui utilisent cette fonctionnalité doivent mentionner MediaWiki 1.31 (au moins) dans le fichier extension.json
:
{
"requires": {
"MediaWiki": ">= 1.31.0"
},
}
Pour l'exemple, voir la modification 468385 de Gerrit.
TestAutoloadClasses et TestAutoloadNamespaces
Version de MediaWiki : | ≥ 1.35 Gerrit change 556181 |
Les deux sont similaires à AutoloadClasses et AutoloadNamespaces, sauf qu'ils ne sont utilisés que lors des tests.
Pour l'exemple, voir la modification Gerrit 556240.
Hooks
Accroches utilisées par cette extension (association du nom de l'accroche et de la fonction de rappel).
Cette option correspond directement à la variable globale $wgHooks
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
{
"Hooks": {
"ParserFirstCallInit": "MassMessageHooks::onParserFirstCallInit"
}
}
Il est possible d'enregistrer plusieurs fonctions de rappel pour le même événement d'accroche :
{
"Hooks": {
"ParserFirstCallInit": [
"MassMessageHooks::onParserFirstCallInitOne",
"MassMessageHooks::onParserFirstCallInitTwo"
]
}
}
HookHandlers
Version de MediaWiki : | ≥ 1.35 Gerrit change 596914 |
Spécifications de ObjectFactory pour les gestionnaires d'accroches nouveau style.
{
"Hooks": {
"BeforePageDisplay": "main"
},
"HookHandlers": {
"main": {
"class": "MediaWiki\\Extension\\MyExtension\\HookHandler",
"services": [ "UserNameUtils" ]
}
}
}
La différence avec l'approche précédente est que :
- Votre gestionnaire d'accroches HookHandler doit importer les accroches avec le mot clé
use
. - La classe HookHandler doit aussi utiliser
implement
dessus. - Les fonctions utilisant ces accroches dans votre classe HookHandler ne peuvent pas être appelées statiquement, c'est-à-dire qu'elles sont dynamiques plutôt que statiques.
DeprecatedHooks
Version de MediaWiki : | ≥ 1.35 Gerrit change 596914 |
Accroches obsolètes (voir les Règles des interfaces stables).
Déclare la correspondance entre le nom de l'accroche et un tableau avec la version obsolète de MediaWiki deprecatedVersion
et le composant component
(optionnel, habituellement omis).
JobClasses
Types de tâche que cette extension implémente (correspondance entre le type de tâche et le nom de la classe).
Cette option correspond directement à la variable globale $wgJobClasses
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LogTypes
Liste des nouveaux types de journaux utilisés par cette extension.
Cette option correspond directement à la variable globale $wgLogTypes
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LogRestrictions
Restreint l'accès aux journaux à ceux qui ont un droit donné.
Cette option correspond directement à la variable globale $wgLogRestrictions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
FilterLogTypes
Un objet.
Cette option correspond directement à la variable globale $wgFilterLogTypes
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ActionFilteredLogs
Liste des types de journaux pouvant être filtrés par les actions de journalisation.
Cette option correspond directement à la variable globale $wgActionFilteredLogs
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LogNames
Liste la chaîne de caractères de la clé du message pour chaque type de journal.
Cette option correspond directement à la variable globale $wgLogNames
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LogHeaders
Liste la chaîne de caractères de la clé du message pour le texte de description à afficher en haut de chaque type de journal.
Cette option correspond directement à la variable globale $wgLogHeaders
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LogActions
Liste la chaîne de caractères de la clé du message pour formater les événements individuels de chaque type et d'action listés dans les journaux.
Cette option correspond directement à la variable globale $wgLogActions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LogActionsHandlers
Même chose que $wgLogActions
, mais les valeurs sont des fonctions de rappel.
Cette option correspond directement à la variable globale $wgLogActionsHandlers
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
Actions
Tableau de valeurs autorisées du paramètre action pour les pages usuelles.
Cette option correspond directement à la variable globale $wgActions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
APIModules
Extensions du module API.
Cette option correspond directement à la variable globale $wgAPIModules
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
APIFormatModules
Extensions du module API format
Cette option correspond directement à la variable globale $wgAPIFormatModules
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
APIMetaModules
Extensions du module API Query meta
Cette option correspond directement à la variable globale $wgAPIMetaModules
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
APIPropModules
Extensions du module API Query prop.
Cette option correspond directement à la variable globale $wgAPIPropModules
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
APIListModules
Extensions du module API Query list.
Cette option correspond directement à la variable globale $wgAPIListModules
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RestRoutes
Version de MediaWiki : | ≥ 1.35 Gerrit change 508972 |
Liste de spécifications de routes à ajouter à l'API REST. Voir API:REST API/Extensions.
ValidSkinNames
Liste d'habillages valides. Les habillages peuvent utiliser cette variable optionnellement pour dire à MediaWiki qu'ils sont disponibles.
Cette option correspond directement à la variable globale $wgValidSkinNames
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
FeedClasses
Objets de flux disponibles.
Cette option correspond directement à la variable globale $wgFeedClasses
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
SkinOOUIThemes
Correspondance des noms d'habillages et des thèmes OOUI à utiliser.
{
"SkinOOUIThemes": {
"yourskinname": "Apex"
}
}
OOUIThemePaths
Correspondance entre les noms des thèmes personnalisés OOUI et les chemins correspondants permettant de les charger.
{
"OOUIThemePaths": {
"YourTheme": {
"scripts": "resources/ooui/oojs-ui-yourtheme.js",
"styles": "resources/ooui/oojs-ui-{module}-yourtheme.css",
"images": "resources/ooui/{module}.json"
}
},
}
- scripts
- Chemin vers le fichier de script.
- styles
- Chemin vers les fichiers de style.
{module}
sera remplacé par le nom du module. - images
- Chemin des fichiers de définition des images.
{module}
sera remplacé par le nom du module. Si les fichiers n'existent pas, les images du thème par défaut seront utilisées à la place.
PasswordPolicy
Règles du mot de passe.
Cette option correspond directement à la variable globale $wgPasswordPolicy
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
FileExtensions
Extensions de fichier préférées pour le téléversement.
Cette option correspond directement à la variable globale $wgFileExtensions
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
RawHtmlMessages
Liste des messages pouvant contenir du HTML brut.
Cette option correspond directement à la variable globale $wgRawHtmlMessages
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
LateJSConfigVarNames
Noms des variables de configuration JavaScript (comme utilisées dans l'accroche MakeGlobalVariablesScript ou dans ParserOutput::setJsConfigVar ) qui peuvent être initialisées à la fin du body HTML au lieu du head HTML, afin d'améliorer le temps de chargement de la page.
En JavaScript, ces variables doivent être accessibles via mw.hook( 'wikipage.content' )
.
DatabaseVirtualDomains
Noms des domaines virtuels utilisés pour obtenir une connexion à la base de données.
Voir $wgVirtualDomainsMapping
.
ReauthenticateTime
Chronologie pour le réauthentification.
Cette option correspond directement à la variable globale $wgReauthenticateTime
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ForeignResourcesDir
Version de MediaWiki : | ≥ 1.41 Gerrit change 911307 |
Répertoire contenant les ressources externes de l'extension (et le fichier foreign-resources.yaml
qui les définit). Exprimé relativement à la racine de l'extension.
callback
Quelques fois les extensions ont besoin de réaliser des opérations non standards pendant l'enregistrement, ou sont simplement très complexes.
Vous pouvez indiquer une clé callback
dans votre extension.json si vous avez besoin d'exécuter du code PHP.
La valeur doit être initialisée sur quelque chose que l'on peut appeler comme par exemple FooBarHooks::onRegistration
.
ExtensionRegistry va exécuter ce rappel après qu'il ait traité le fichier extension.json et avoir fixé toutes les variables globales et les paramères de configuration.
Ceci se produit après LocalSettings, où toutes les paramètres de configuration spécifiées utilisateur sont disponibles, mais certaines valeurs par défaut de MediaWiki peuvent ne pas être encore initialisées.
{
"callback": "FooBarHooks::onRegistration"
}
Deux paramètres sont fournis à la fonction de rappel, un tableau contenant les informations à propos de l'extension (un sous-ensemble de extension.json) et une instance de SettingsBuilder MW 1.40+.
La procédure de rappel n'est pas une fonction d'accroche normale, elle s'exécute dans les initialisations précédentes. Voir les limites de l'enregistrement des extensions pour avoir une idée sur ce qui peut nécessiter un enregistrement.
Les rappels d'enregistrement sont le moyen préféré pour que les extensions s'initialisent dynamiquement.
Cela doit être fait par l'objet SettingsBuilder
passé à la procédure de rappel, en utilisant les méthodes getConfig()
et overrideConfigValue()
.
Les procédures de rappels pour l'enregistrement n'ont pas accès aux objets de service via MediaWikiServices
, et ne peuvent pas utiliser le RequestContext
principal.
Aucun n'a été initialisé au moment de l'exécution du rappel.
Les extensions qui doivent accéder au contexte de la requête ou qui doivent interagir avec un objet de service pendant l'initialisation doivent enregistrer à la place, une Fonction étendue.
config
Version de MediaWiki : | ≥ 1.25 |
La section config est l'endroit où vous pouvez définir les paramètres de configuration modifiables par les administrateurs système pour configurer l'extension. Cette section ne doit être utilisée que pour les éléments configurés dans LocalSettings.php - si elle doit être modifiée par d'autres extensions, vous devez utiliser les attributs, ou si ce ne sont que des métadonnées de classe, utilisez une variable statique privée ou un équivalent. Le format de config a été modifié dans manifest_version 2.
Manifest version 1
Exemple simple :
{
"config": {
"FooBarUseExtraFeature": false
}
}
C'est équivalent à écrire $wgFooBarUseExtraFeature = false;
en PHP.
Notez que le préfixe wg typique n'est pas inclus, car il sera ajouté par défaut.
Si vos paramètres commencent avec un préfixe différent tel que $eg
, vous pouvez utiliser la clé magique _prefix
:
{
"config": {
"_prefix": "eg",
"FooBarUseExtraFeature": false
}
}
Maintenant c'est équivalent à écrire $egFooBarUseExtraFeature = false;
en PHP.
Exemple plus complexe :
{
"config": {
"FooBarEnabledNamespaces": {
"0": true,
"2": true,
"4": true,
"_merge_strategy": "array_plus"
},
"FooBarCoolStuff": {
"sysop": {
"foo": true,
"bar": false
},
"_merge_strategy": "array_plus_2d"
}
}
}
Le premier paramètre $wgFooBarEnabledNamespaces
, a des clés qui sont des nombres, donc PHP va les transformer en entiers, même si ce sont des chaînes de caractères en JSON.
Dû à la manière dont PHP traite les clés entières quand il fusionne les tableaux, nous devons utiliser un type différent de fusion ici; nous définissons un ensemble différent merge strategy en utilisant la clé magique.
Dans le deuxième exemple, nous avons un tableau imbriqué qui nécessite un type différent de fusion, car nous voulons autoriser les utilisateurs à continuer à écrire $wgFooBarCoolStuff['user']['foo'] = true;
dans leur LocalSettings.php.
Modifications dans Manifest version 2
Version de MediaWiki : | ≥ 1.29 |
Avec MediaWiki 1.29, un nouveau manifest_version (2) a été introduit. Dans cette version, la section config est amériorée de diverses manières. Pour prendre en charge ces modifications, la signature d'un ensemble d'options de configuration avec leur valeurs a un peu changé. La clé de l'objet config est encore le nom du paramètre; néanmoins la valeur de cette clé est un objet, décrivant cette option de configuration, où l'une des valeurs est sa valeur. Sur la page de documentation de l'enregistrement des extensions vous trouverez les informations concernant les clés spécifiques (avec les valeurs) des options de configuration. Un exemple facile dans le nouveau schéma, qui est simplement une option de configuration avec sa valeur, ressemblerait à :
{
"config": {
"FooBarUseExtraFeature": {
"value": false
}
},
"manifest_version": 2
}
Un exemple plus complexe serait :
{
"config_prefix": "eg",
"config": {
"MyExtSetting": {
"value": true,
"path": false,
"description": "Description de la configuration",
"descriptionmsg": "myextension-config-myextsetting",
"public": true
},
"FooBarCoolStuff": {
"value": {
"sysop": {
"foo": true,
"bar": false
}
},
"merge_strategy": "array_plus_2d"
}
},
"manifest_version": 2
}
path
Comme montré dans l'exemple ci-dessus, vous pouvez définir une option de configuration ayant la clé path
.
Lorsqu'il vaut true
, la valeur du paramètre sera interprétée comme étant le chemin local de l'extension.
Par exemple une extension peut définir ses paramètres par :
{
"config": {
"Setting": {
"value": "some_file.txt",
"path": true
}
},
"manifest_version": 2
}
La valeur de l'option de configuration Setting sera résolue avec $wgExtensionDirectory/FooBar/some_file.txt
.
Stratégie de fusion
La stratégie de fusion définit la manière de fusionner la valeur par défaut du paramètre de configuration avec la valeur globale (valeur de la variable globale $wgXXX
).
Cela n'a de sens que si les paramètres de configuration sont des tableaux de valeurs.
Les stratégies de fusion suivantes sont disponibles :
array_merge
– Utilise la commande PHParray_merge
: les éléments de tableaux avec des clés numériques seront interprétés comme des éléments de liste non associatifs et seront concaténés au tableau (en renumérotant les clés si nécessaire), les éléments de tableaux avec des clés non numériques seront interprétés comme les éléments d'un tableau associatif et réécrits avec la même clé.array_plus
– Utilise l'opérateur PHP+
, donc les champs de la valeur par défaut ne seront utilisés que si le champ correspondant de la valeur globale n'est pas initialisé. C'est intéressant pour les tableaux associatifs dont les clés sont des entiers (comme les IDs des espaces de noms).array_plus_2d
– UtilisewfArrayPlus2d
pour gérer proprement les tableaux imbriqués jusqu'à une profondeur de 2 (par exemple$wgGroupPermissions
).array_merge_recursive
– Gère les tableaux, même de profondeur supérieur supérieure à 2 avecarray_merge_recursive
. Etant donné le comportement de cette méthode qui est loin d'être intuitif (exemple), cette stratégie n'est pas recommandée. Un paramètre de configuration d'une profondeur supérieure à 2 obligerait à configurer trop d'éléments dans un passage, et le découper en plusieurs initialisations élémentaires serait une bonne idée.array_replace_recursive
– Utilisearray_replace_recursive
, principalement la version récursive dearray_plus
. A la différence dearray_merge_recursive
, ceci gère comme on le souhaite les champs qui ne sont pas des tableaux.provide_default
(depuis la MW 1.35.3) – sans fusion; la valeur par défaut ne sera utilisée que si la valeur globale n'est pas fixée.
Lorsqu'elle n'est pas définie explicitement, la stratégie de fusion par défaut est array_merge
.
Lorsqu'au moins une des valeurs globales ainsi que la valeur par défaut ne sont pas des tableaux, la stratégie de fusion est ignorée et la valeur globale va simplement remplacer la valeur par défaut.
config_prefix
Version de MediaWiki : | ≥ 1.28 |
Prefixe à insérer devant les paramètres de configuration lors de l'export vers $GLOBALS
.
La valeur par défaut est "wg"
, et une valeur de paramètre "Example"
correspond à une variable globale PHP $wgExample
.
Notez que si vous choisissez un préfixe de paramètre différent il pourra être plus difficile de retrouver le paramètre de l'extension correspondant à la variable globale concernée.
ParsoidModules
Version de MediaWiki : | ≥ 1.35 Gerrit change 597639 |
Tableau de spécifieurs de modules de l'extension Parsoid . Un module d'extension Parsoid est une classe qui implémente Wikimedia\Parsoid\Ext\ExtensionModule
Il existe trois manières de spécifier un module d'extension de Parsoid :
- Référence directe à la classe implémentant la classe ExtensionModule (qui fait partie de Parsoid-PHP et non du noyau MediaWiki). Pour un exemple, voir l'extension Kartographer.
- Une représentation équivalente à ObjectFactory en JSON. Par exemple, voir l'extension Cite.
- Une spécification de module spécifique à Parsoid.
ParserTestFiles
Obsolète : cette fonctionnalité est obsolète et ne doit plus être utilisée. Elle reste néanmoins disponible pour des raisons de compatibilité avec l'existant. |
Ensemble des fichiers de test de l'analyseur à exécuter par parserTests.php quand aucun nom de fichier spécifique lui est fourni.
Cette option correspond directement à la variable globale $wgParserTestFiles
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
ServiceWiringFiles
Tableau contenant les noms des fichiers associés aux services, à charger par l'instance par défaut de MediaWikiServices.
Cette option correspond directement à la variable globale $wgServiceWiringFiles
.
Veuillez lire la documentation correspondante sur la manière de la configurer.
attributes
Informations d'enregistrement pour les autres extensions. Cela permet à une extension d'enregistrer des éléments en rapport avec d'autres extensions. Les valeurs des attributs doivent être des tableaux JSON ou des objets, et ils seront fusionnés quand ils seront récupérés dans PHP.
Dans manifest_version 1 il s'agissait des clés de premier niveau que vous pouviez nommer arbitrairement :
"EventLoggingSchemas": {
"MySchema": 123
}
Dans manifest_version 2, elles figurent sous la clé attributes
de premier niveau, et sont imbriquées sous le nom de l'extension à laquelle l'attribut appartient.
Le nom complet de l'attribut est la concaténation du nom de l'extension et du nom de l'attribut (EventLoggingSchemas
dans l'exemple ci-dessous).
Chaque clé déclarée directement sous attributes
doit correspondre au nom de l'extension (les clés des attributs de haut niveau arbitraires ne sont pas prises en charge).
Si cette extension (EventLogging dans notre cas) n'est pas installée, les attributs ne seront pas chargés dans le registre.
"attributes": {
"EventLogging": {
"Schemas": {
"MySchema": 123
}
}
}
Pour accéder à la valeur d'un attribut en PHP, vous pouvez utiliser ExtensionRegistry :
$schemas = ExtensionRegistry::getInstance()->getAttribute( 'EventLoggingSchemas' );
load_composer_autoloader
Charger le chargeur automatique de composer pour cette extension, s'il en existe un.
Ceci doit être utilisé si l'extension a des dépendances sur les bibliothèques spécifiées dans composer.json
.
Ce qui équivaut en gros au code suivant :
if ( file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
require_once __DIR__ . '/vendor/autoload.php';
}