Příručka:extension.json/Schéma
Soubor MediaWiki: extension.schema.v2.json | |
---|---|
Lokalita: | docs/ |
Zdrojový kód: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Třídy: | Vyhledat zdrojový kód • Vyhledat dokumentaci |
Tato stránka dokumentuje schéma používané extension.json . Není-li uvedeno jinak, jsou všechna pole volitelná (optional). V současné době je příručka neúplná.
Pro první iteraci tohoto schématu viz docs/extension.schema.v1.json (MW 1.25+), pro druhou viz docs/extension.schema.v2.json (MW 1.29+).
manifest_version
Verze MediaWiki: | ≥ 1.25 Gerrit change 212239 |
Toto pole je povinné.
Toto určuje verzi formátu souboru extension.json
, který se používá.
V budoucnu, pokud budou provedeny změny ve formátu souboru, bude toto číslo zvýšeno, aby nadále podporovala rozšíření používající starší formát.
V současné době jsou podporovány následující hodnoty:
1
: 1.25+2
: 1.29+
v2 poskytuje silnější funkce ověřování pro vývojáře a doporučuje se, pokud vaše rozšíření již vyžaduje MediaWiki 1.29+.
Nedoporučuje se narušovat kompatibilitu MediaWiki se staršími verzemi jen kvůli aktualizaci na novější manifest_version
.
V současné době jsou přidány nové funkce do v1 i v2, ale bylo navrženo zmrazit a pozvolna zavrhnout verzi 1 ve verzi MediaWiki 1.38 (diskuse o Phabricatoru).
Příklad:
{
"manifest_version": 2
}
extension.json
.name
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Toto pole je povinné.
Toto je kanonický název rozšíření.
Po nastavení by se nemělo měnit, protože se používá jako API pro jiná rozšíření ke zjištění toho, co je nainstalováno.
Pole name
nemusí odpovídat názvu adresáře rozšíření ani názvu jeho stránky ve jmenném prostoru rozšíření na MediaWiki.org.
{
"name": "FooBar"
}
namemsg
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Lokalizovaná verze názvu rozšíření. Klíč zprávy je obvykle pojmenován ve formátu <name>-extensionname nebo <name>-skinname.
{
"namemsg": "foobar-extensionname"
}
type
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Jedná se o typ rozšíření, pro řazení na Special:Version. Podporovány jsou následující typy:
api
– rozšíření API:antispam
– antispamové rozšířeníeditor
– rozšíření pro úpravu obsahu (od 1.31, git #8de95844)media
– ovládače médiíparserhook
– rozšíření, která upravují, přidávají nebo nahrazují funkce v analyzátoru MediaWikiskin
– rozšíření, která upravují vzhledyspecialpage
– rozšíření, která přidávají speciální stránkyvariable
– vytváří novou proměnnouother
– dělá něco jiného
Vlastní typy lze přidat pomocí háčku ExtensionTypes . Mezi známé patří:
semantic
— rozšíření Semantic MediaWikiwikibase
— rozšíření Wikibase
Pokud není nastaveno, rozšíření se nastaví jako výchozí do sekce "ostatní" (other), a pokud je nastaveno na neplatnou hodnotu, rozšíření se na Special:Version nezobrazí.
{
"type": "specialpage"
}
author
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Autoři rozšíření mohou používat wikitext.
Může to být buď jeden řetězec, nebo pole řetězců.
Navíc lze speciální řetězec ...
použít k přidání obecné přípony "další" pomocí zprávy version-poweredby-others
.
version
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Aktuální verze rozšíření. Měl by být ve formátu podporovaném Composer.
url
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Adresa URL "domovské stránky" nebo dokumentace rozšíření. Obvykle ukazuje na https://www.mediawiki.org/wiki/Extension:<extensionname>
.
description
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Popis rozšíření, může obsahovat wikitext.
descriptionmsg
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Klíč lokalizační zprávy pro popis rozšíření, obvykle ve formátu <extensionname>-desc. Toto přepíše popis.
license-name
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Identifikátor licence SPDX pro licenci, pod kterou je zdrojový kód licencován.
Pokud vytvoříte soubor s názvem COPYING
nebo LICENSE
(s volitelnou příponou .txt
) v kořenovém adresáři rozšíření s obsahem licence, bude také propojen a viditelný na Special:Version.
requires
Verze MediaWiki: | ≥ 1.26 Gerrit change 210856 |
Verze MediaWiki: | ≥ 1.29 Gerrit change 250060 |
Sekce vyžaduje vám umožňuje dokumentovat závislosti na verzích jádra MediaWiki (1.26+) a dalších rozšíření (1.29+).
{
"requires": {
"MediaWiki": ">= 1.27.0",
"extensions": {
"FooBar": "*",
"Baz": ">= 1.2.3"
}
}
}
Můžete použít libovolný specifikátor verze, který composer podporuje.
Pro MediaWiki je nejlepším postupem zadat >=
pro minimální podporovanou verzi, pokud nevíte, že budoucí verze je výslovně nefunkční.
Pro rozšíření, pokud nemají nastaven specifikátor verze nebo nepoužívají verzovací systém, použijte obyčejnou *
k označení jakékoli verze, která je přijatelná.
Pokud vaše rozšíření používá nepřetržitou integraci Wikimedie, musíte také přidat závislosti rozšíření na zuul/parameter_functions.py v projektu integration/config
.
platform
Verze MediaWiki: | ≥ 1.32 Gerrit change 458940 |
Verze MediaWiki: | ≥ 1.32 Gerrit change 462596 |
Můžete také vyjádřit závislost na nastavení platformy, aktuálně omezenou na verzi PHP a rozšíření PHP. Všimněte si, že se očekává, že většina rozšíření bude splňovat požadavky na verzi PHP pro verze jádra MediaWiki, které podporují, a specifikovat přísnější omezení verze PHP by se mělo provádět pouze ve výjimečných případech. Kontrola verzí rozšíření PHP není momentálně podporována.
{
"requires": {
"MediaWiki": ">= 1.32.0",
"platform": {
"php": ">= 7.1",
"ext-curl": "*"
}
}
}
V tomto příkladu rozšíření vyžaduje 1.32 (což má minimální požadavek PHP 7.0) a navíc vyjadřuje, že potřebuje vyšší závislost alespoň PHP 7.1, protože vyžaduje použití nějaké novější funkce PHP. Dále to vyžadovalo instalaci rozšíření curl PHP.
suggests
Verze MediaWiki: | ≥ 1.39 Gerrit change 591897 |
Umožňuje výpis navrhovaných, ale nevyžadovaných závislostí.
Formát je stejný jako requires
.
ResourceFileModulePaths
Verze MediaWiki: | ≥ 1.25 Gerrit change 188996 |
Určuje výchozí cesty, které se mají použít pro všechny moduly souborů ResourceLoader.
Povolené vlastnosti jsou:
localBasePath
remoteExtPath
- must not point to other extension foldersremoteSkinPath
Ty odpovídají stejným možnostem v každé definici modulu v ResourceModules
.
Pokud není v definici modulu zadána hodnota, použije se zde zadaná výchozí hodnota.
{
"ResourceFileModulePaths": {
"localBasePath": "resources",
"remoteExtPath": "FooBar/resources"
}
}
ResourceModules
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Moduly ResourceLoader k registraci.
Tato volba přímo koresponduje s globální proměnnou $wgResourceModules
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
Pokyny najdete v Vývoj s ResourceLoader a extension.json
.
ResourceModuleSkinStyles
Verze MediaWiki: | ≥ 1.25 Gerrit change 201661 |
Moduly ResourceLoader pro vlastní styly vzhledu.
Tato volba přímo koresponduje s globální proměnnou $wgResourceModuleSkinStyles
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ResourceLoaderSources
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Zdroje ResourceLoader k registraci.
Tato volba přímo koresponduje s globální proměnnou $wgResourceLoaderSources
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ResourceLoaderLESSVars
Verze MediaWiki: | 1.25 – 1.30 Gerrit change 166705 |
Asociativní pole spojující názvy proměnných s LESS fragmenty kódu představujícími jejich hodnoty.
Tato volba přímo koresponduje s globální proměnnou $wgResourceLoaderLESSVars
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
SkinLessImportPaths
Verze MediaWiki: | ≥ 1.36 Gerrit change 434211 |
Cesta k importnímu adresáři LESS specifickému pro vzhled, zakódovaná názvem vzhledu. Lze použít k definování proměnných LESS specifických pro vzhled.
QUnitTestModule
Verze MediaWiki: | ≥ 1.33 Gerrit change 485247 |
Modul souboru ResourceLoader, který se načte při spuštění jednotkových testů JavaScriptu. To se řídí stejnou syntaxí jako ResourceModules.
Interně, když je $wgEnableJavaScriptTest
true
, je tento modul automaticky zaregistrován pod jménem "test.ExtensionName
".
MessagePosterModule
Verze MediaWiki: | ≥ 1.35 Gerrit change 542655 |
Umožňuje rozšířením přidávat další soubory nebo závislosti do balíčku modulů mediawiki.messagePoster
.
To má stejnou syntaxi jako ResourceModules.
ConfigRegistry
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Registr továrních funkcí pro vytváření objektů Config.
Tato volba přímo koresponduje s globální proměnnou $wgConfigRegistry
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
SessionProviders
Verze MediaWiki: | ≥ 1.27 Gerrit change 288324 |
Určuje, jaké poskytovatele použít na SessionManager.
Tato volba přímo koresponduje s globální proměnnou $wgSessionProviders
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
AuthManagerAutoConfig
Verze MediaWiki: | ≥ 1.27 Gerrit change 195297 |
Automatická konfigurace AuthManager.
Tato volba přímo koresponduje s globální proměnnou $wgAuthManagerAutoConfig
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
K dispozici jsou následující vlastnosti:
preauth
– poskytovatelé předběžného ověření.primaryauth
– primární poskytovatelé autentizace.secondaryauth
– sekundární poskytovatelé autentizace.
CentralIdLookupProviders
Verze MediaWiki: | ≥ 1.27 Gerrit change 261909 |
Poskytovatelé centrálního vyhledávání ID.
Tato volba přímo koresponduje s globální proměnnou $wgCentralIdLookupProviders
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ChangeCredentialsBlacklist
Verze MediaWiki: | ≥ 1.28 Gerrit change 294859 |
Třídy AuthenticationRequest, které lze použít pouze interně pro změnu pověření.
Tato volba přímo koresponduje s globální proměnnou $wgChangeCredentialsBlacklist
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RemoveCredentialsBlacklist
Verze MediaWiki: | ≥ 1.28 Gerrit change 294859 |
Třídy AuthenticationRequest, které lze použít pouze interně k odstranění pověření.
Tato volba přímo koresponduje s globální proměnnou $wgRemoveCredentialsBlacklist
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
namespaces
Verze MediaWiki: | ≥ 1.25.3 Gerrit change 237973 |
Metoda pro přidání dalších jmenných prostorů .
K dispozici jsou následující vlastnosti:
Name | Type | Description | Default |
---|---|---|---|
id
|
celé číslo | Číselný identifikátor jmenného prostoru, jak se používá v databázi. Od MW 1.30 lze ID jmenného prostoru přepsat lokálně definováním příslušné konstanty v LocalSettings.php před načtením rozšíření. Kód rozšíření proto musí vždy používat konstantu pro ID jmenného prostoru a nikdy nepoužívejte ID jako literál v kódu PHP. Zvažte uvedení vašeho identifikačního čísla používaného ve výchozích jmenných prostorech rozšíření, abyste předešli konfliktům s jinými rozšířeními.
| |
constant
|
řetězec | Název konstanty, kterou kód rozšíření používá k odkazování na ID jmenného prostoru. | |
name
|
řetězec | Název jmenného prostoru, jak se používá v názvech. | |
gender
|
objekt pohlaví | Vlastnosti jsou buď "mužské" nebo "ženské". Viz podpora pohlaví. | |
subpages
|
boolean | Podívejte se na stránku Příručka:$wgNamespacesWithSubpages . | false
|
content
|
boolean | Podívejte se na stránku Příručka:$wgContentNamespaces . | false
|
defaultcontentmodel
|
řetězec | Podívejte se na stránku ContentHandler . | |
protection
|
pole nebo řetězec | k úpravám v tomto jmenném prostoru jsou vyžadována uživatelská práva. | |
capitallinkoverride
|
boolean | Nastavte $wgCapitalLinks na bázi jmenného prostoru. | |
conditional
|
boolean | zda je jmenný prostor podmíněn konfigurací a neměl by být registrován (vyžaduje samostatnou registraci pomocí háčku, například CanonicalNamespaces ). | false
|
movable
|
boolean | Zda je možné přesouvat stránky v tomto jmenném prostoru. (zavedeno od 1.35.2) | true
|
TrackingCategories
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Sledování tlačítek zpráv kategorií.
Tato volba přímo koresponduje s globální proměnnou $wgTrackingCategories
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
DefaultUserOptions
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Tato volba přímo koresponduje s globální proměnnou $wgDefaultUserOptions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
"DefaultUserOptions": {
"math": "png"
},
HiddenPrefs
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Předvolby uživatelé nemohou nastavit.
Tato volba přímo koresponduje s globální proměnnou $wgHiddenPrefs
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
GroupPermissions
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Výchozí oprávnění k udělení uživatelských skupin.
Tato volba přímo koresponduje s globální proměnnou $wgGroupPermissions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
PrivilegedGroups
Verze MediaWiki: | ≥ 1.41 Gerrit change 954742 |
Skupiny uživatelů, které by měly být považovány za privilegované.
Tato volba přímo koresponduje s globální proměnnou $wgPrivilegedGroups
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RevokePermissions
Verze MediaWiki: | ≥ 1.25 Gerrit change 166705 |
Výchozí oprávnění k odebrání ze skupin uživatelů.
Tato volba přímo koresponduje s globální proměnnou $wgRevokePermissions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
GrantPermissions
Mapa oprávnění udělených oprávněným spotřebitelům k jejich balíčkům, nazývaných 'granty'.
Tato volba přímo koresponduje s globální proměnnou $wgGrantPermissions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
GrantPermissionGroups
Mapa grantů k jejich seskupení uživatelského rozhraní.
Tato volba přímo koresponduje s globální proměnnou $wgGrantPermissionGroups
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ImplicitGroups
Implicitní skupiny.
Tato volba přímo koresponduje s globální proměnnou $wgImplicitGroups
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
GroupsAddToSelf
Skupiny, které si uživatel může přidat.
Tato volba přímo koresponduje s globální proměnnou $wgGroupsAddToSelf
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
GroupsRemoveFromSelf
Skupiny, které může uživatel ze sebe odebrat.
Tato volba přímo koresponduje s globální proměnnou $wgGroupsRemoveFromSelf
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
AddGroups
Skupiny, které může uživatel přidat k uživatelům.
Tato volba přímo koresponduje s globální proměnnou $wgAddGroups
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RemoveGroups
Skupiny, které může uživatel odstranit z uživatelů.
Tato volba přímo koresponduje s globální proměnnou $wgRemoveGroups
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
AvailableRights
Uživatelská práva přidaná rozšířením.
Tato volba přímo koresponduje s globální proměnnou $wgAvailableRights
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ContentHandlers
Mapování ID modelu na název třídy.
Tato volba přímo koresponduje s globální proměnnou $wgContentHandlers
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RateLimits
Jednoduché možnosti omezovače rychlosti pro brzdění úprav floods.
Tato volba přímo koresponduje s globální proměnnou $wgRateLimits
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RecentChangesFlags
Příznaky (symboly písmen) zobrazené v posledních změnách a seznamu sledovaných označující určité typy úprav.
Tato volba přímo koresponduje s globální proměnnou $wgRecentChangesFlags
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
MediaHandlers
Pluginy pro manipulaci s typy souborů médií. Každá položka v mapě pole mapuje typ MIME na název třídy PHP.
Tato volba přímo koresponduje s globální proměnnou $wgMediaHandlers
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ExtensionFunctions
Funkce pro volání po dokončení nastavení.
Tato volba přímo koresponduje s globální proměnnou $wgExtensionFunctions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
Všimněte si, že funkce rozšíření nelze použít k programové aktualizaci konfiguračních proměnných nebo k registraci háčků.
Pro tento účel by se místo toho mělo použít zpětné volání registrace.
ExtensionMessagesFiles
Cesty k souborům obsahujícím soubory internacionalizace PHP pro magická slova (včetně funkcí analyzátoru), aliasy speciálních stránek a nebo názvy jmenných prostorů .
Tato volba přímo koresponduje s globální proměnnou $wgExtensionMessagesFiles
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
MessagesDirs
Cesty adresáře obsahující data o internacionalizaci JSON.
Tato volba přímo koresponduje s globální proměnnou $wgMessagesDirs
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
Pokud používáte výchozí rozložení adresáře s lokalizovanými zprávami v adresáři i18n/
, můžete zadat:
"MessagesDirs": {
"ExtensionName": [
"i18n"
]
},
ExtensionEntryPointListFiles
Pole souborů se seznamem(y) vstupních bodů rozšíření, které mají být použity v maintenance/mergeMessageFileList.php
Tato volba přímo koresponduje s globální proměnnou $wgExtensionEntryPointListFiles
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
SpecialPages
SpecialPages implementované v tomto rozšíření (mapování názvu stránky na název třídy).
Tato volba přímo koresponduje s globální proměnnou $wgSpecialPages
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
AutoloadClasses
Pole mapující názvy tříd na názvy souborů pro automatické načítání.
Tato volba přímo koresponduje s globální proměnnou $wgAutoloadClasses
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
Příklad:
{
...
"AutoloadClasses": {
"MyClassName": "includes/FileContainingMyClassName.php",
"SomeNamespace\\SpecialHelloWorld": "specials/SpecialHelloWorld.php"
},
...
}
AutoloadNamespaces
Verze MediaWiki: | ≥ 1.31 Gerrit change 373626 |
Pole obsahující mapování jmenných prostorů na adresáře způsobem kompatibilním s PSR-4. Zde je příklad:
{
"AutoloadNamespaces": {
"MediaWiki\\Extension\\BetaFeatures\\": "includes/"
}
}
V tomto případě jsou všechny třídy PHP pod jmenným prostorem MediaWiki\Extension\BetaFeatures\
a pojmenování tříd se přímo mapuje na soubory umístěné v adresáři includes/
(vzhledem k souboru extension.json).
Všimněte si, že část jmenného prostoru musí končit \\
.
Rozšíření využívající tuto funkci by měla vyžadovat alespoň MediaWiki 1.31 v souboru extension.json
:
{
"requires": {
"MediaWiki": ">= 1.31.0"
},
}
Viz například změna Gerrit 468385.
TestAutoloadClasses a TestAutoloadNamespaces
Verze MediaWiki: | ≥ 1.35 Gerrit change 556181 |
Oba jsou stejné jako AutoloadClasses a AutoloadNamespaces, kromě toho, že se používají pouze při spouštění testů.
Viz například změna Gerrit 556240.
Hooks
Háčky, které toto rozšíření používá (mapování názvu háčku na zpětné volání).
Tato volba přímo koresponduje s globální proměnnou $wgHooks
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
{
"Hooks": {
"ParserFirstCallInit": "MassMessageHooks::onParserFirstCallInit"
}
}
Je možné zaregistrovat více zpětných volání pro stejnou událost háčku:
{
"Hooks": {
"ParserFirstCallInit": [
"MassMessageHooks::onParserFirstCallInitOne",
"MassMessageHooks::onParserFirstCallInitTwo"
]
}
}
HookHandlers
Verze MediaWiki: | ≥ 1.35 Gerrit change 596914 |
Specifikace ObjectFactory pro háčkové manipulátory nového stylu.
{
"Hooks": {
"BeforePageDisplay": "main"
},
"HookHandlers": {
"main": {
"class": "MediaWiki\\Extension\\MyExtension\\HookHandler",
"services": [ "UserNameUtils" ]
}
}
}
Rozdíl oproti předchozímu přístupu je v tom, že:
- Váš HookHandler musí importovat háčky s klíčovým slovem
use
. - Třída HookHandler je také musí
implement
ovat. - Funkce používající tyto háčky ve vaší třídě HookHandler nelze volat staticky, tj. jsou spíše dynamické než statické.
DeprecatedHooks
Verze MediaWiki: | ≥ 1.35 Gerrit change 596914 |
Zastaralé háčky (viz Zásady stabilního rozhraní).
Mapuje název zavěšení na pole pomocí deprecatedVersion
(verze MediaWiki) a component
(volitelné, obvykle se vynechává).
JobClasses
Typy úloh, které toto rozšíření implementuje (mapování typů úloh na název třídy).
Tato volba přímo koresponduje s globální proměnnou $wgJobClasses
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LogTypes
Seznam nových typů protokolů, které toto rozšíření používá.
Tato volba přímo koresponduje s globální proměnnou $wgLogTypes
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LogRestrictions
Omezuje přístup k logu těm, kteří mají určité právo.
Tato volba přímo koresponduje s globální proměnnou $wgLogRestrictions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
FilterLogTypes
Objekt.
Tato volba přímo koresponduje s globální proměnnou $wgFilterLogTypes
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ActionFilteredLogs
Seznam typů protokolů, které lze filtrovat podle akcí protokolu.
Tato volba přímo koresponduje s globální proměnnou $wgActionFilteredLogs
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LogNames
Uvádí řetězec klíče zprávy pro každý typ protokolu.
Tato volba přímo koresponduje s globální proměnnou $wgLogNames
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LogHeaders
Uvádí řetězec klíče zprávy pro popisný text, který se zobrazí v horní části každého typu protokolu.
Tato volba přímo koresponduje s globální proměnnou $wgLogHeaders
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LogActions
Uvádí řetězec klíče zprávy pro formátování jednotlivých událostí každého typu a akce, pokud jsou uvedeny v protokolech.
Tato volba přímo koresponduje s globální proměnnou $wgLogActions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LogActionsHandlers
Stejné jako $wgLogActions
, ale hodnoty jsou zpětná volání funkcí.
Tato volba přímo koresponduje s globální proměnnou $wgLogActionsHandlers
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
Actions
Pole povolených hodnot pro parametr "action" pro normální stránky.
Tato volba přímo koresponduje s globální proměnnou $wgActions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
APIModules
Rozšíření modulů API.
Tato volba přímo koresponduje s globální proměnnou $wgAPIModules
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
APIFormatModules
Rozšíření modulu formátu API.
Tato volba přímo koresponduje s globální proměnnou $wgAPIFormatModules
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
APIMetaModules
Rozšíření meta modulu API Query.
Tato volba přímo koresponduje s globální proměnnou $wgAPIMetaModules
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
APIPropModules
Rozšíření prop modulu API Query.
Tato volba přímo koresponduje s globální proměnnou $wgAPIPropModules
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
APIListModules
Rozšíření modulu seznamu dotazů API.
Tato volba přímo koresponduje s globální proměnnou $wgAPIListModules
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RestRoutes
Verze MediaWiki: | ≥ 1.35 Gerrit change 508972 |
Seznam specifikací trasy, které mají být přidány do REST API. Podívejte se na stránku API:REST API/Extensions.
ValidSkinNames
Seznam platných názvů vzhledů. Vzhledy mohou volitelně použít tuto proměnnou k tomu, aby MediaWiki sdělily, že jsou dostupné.
Tato volba přímo koresponduje s globální proměnnou $wgValidSkinNames
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
FeedClasses
Dostupné objekty kanálů.
Tato volba přímo koresponduje s globální proměnnou $wgFeedClasses
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
SkinOOUIThemes
Mapa názvů vzhledů k tématům OOUI k použití.
{
"SkinOOUIThemes": {
"yourskinname": "Apex"
}
}
OOUIThemePaths
Mapa vlastních názvů motivů OOUI na cesty, ze kterých je lze načíst.
{
"OOUIThemePaths": {
"YourTheme": {
"scripts": "resources/ooui/oojs-ui-yourtheme.js",
"styles": "resources/ooui/oojs-ui-{module}-yourtheme.css",
"images": "resources/ooui/{module}.json"
}
},
}
- scripts
- Cesta k souboru skriptu.
- styles
- Cesta k souborům stylů.
{module}
bude nahrazeno názvem modulu. - images
- Cesta k souborům definice obrázku.
{module}
bude nahrazeno názvem modulu. Pokud soubory neexistují, použijí se místo nich obrázky výchozího motivu.
PasswordPolicy
Zásady hesel.
Tato volba přímo koresponduje s globální proměnnou $wgPasswordPolicy
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
FileExtensions
Preferované přípony souborů pro nahrávání.
Tato volba přímo koresponduje s globální proměnnou $wgFileExtensions
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
RawHtmlMessages
Seznam zpráv, které mohou obsahovat raw HTML.
Tato volba přímo koresponduje s globální proměnnou $wgRawHtmlMessages
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
LateJSConfigVarNames
Názvy proměnných konfigurací JS (jak se používají v MakeGlobalVariablesScript háčku nebo ParserOutput::setJsConfigVar ), které lze nastavit z konce těla HTML namísto hlavy HTML, aby se zlepšila doba načítání stránky.
V JavaScriptu by se k těmto proměnným mělo přistupovat přes mw.hook( 'wikipage.content' )
.
DatabaseVirtualDomains
Názvy virtuálních domén, které se používají k získání připojení db.
Podívejte se na stránku $wgVirtualDomainsMapping
.
ReauthenticateTime
Časový rámec pro opětovné ověření.
Tato volba přímo koresponduje s globální proměnnou $wgReauthenticateTime
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ForeignResourcesDir
Verze MediaWiki: | ≥ 1.41 Gerrit change 911307 |
Adresář obsahující zahraniční zdroje rozšíření (a soubor foreign-resources.yaml
, který je definuje). Mělo by být uvedeno relativně ke kořenu rozšíření.
callback
Někdy rozšíření potřebují při registraci dělat nestandardní věci nebo jsou prostě velmi složité.
Pokud potřebujete spustit nějaký PHP kód, můžete do extension.json zadat klíč callback
.
Hodnota by měla být nastavena na platný volatelný PHP, například: FooBarHooks::onRegistration
.
ExtensionRegistry provede toto zpětné volání poté, co zpracuje soubor extension.json a nastaví všechna ostatní globální a konfigurační nastavení.
K tomu dojde po LocalSettings, takže jsou dostupné všechny konfigurace specifikované uživatelem, ale některé výchozí hodnoty nastavené MediaWiki možná ještě nebyly inicializovány.
{
"callback": "FooBarHooks::onRegistration"
}
Zpětné volání má dva parametry, pole obsahující informace o rozšíření (podmnožina extension.json) a instanci SettingsBuilder MW 1.40+.
Zpětné volání není normální funkce zavěšení, běží v časné inicializaci. Informace o tom, jaké věci mohou vyžadovat vlastní registraci, najdete na stránce Příručka:Registrace/Omezení rozšíření.
Registrační zpětná volání jsou preferovaným způsobem, jak rozšíření dynamicky nastavovat konfiguraci.
To by mělo být provedeno prostřednictvím objektu SettingsBuilder
předaného zpětnému volání pomocí metod getConfig()
a overrideConfigValue()
.
Registrační zpětná volání nemají přístup k objektům služeb přes MediaWikiServices
a nemohou využívat hlavní RequestContext
.
Žádný z nich nebyl inicializován v době provedení zpětného volání.
Rozšíření, která potřebují přistupovat ke kontextu požadavku nebo interagovat s objektem služby během inicializace, by místo toho měla zaregistrovat ExtensionFunction.
config
Verze MediaWiki: | ≥ 1.25 |
Sekce config je místo, kde můžete definovat nastavení konfigurace, které mohou správci systému změnit, aby nakonfigurovali rozšíření. Tato sekce by se měla používat pouze pro věci, které jsou nakonfigurovány v LocalSettings.php – pokud má být upravena jinými rozšířeními, měli byste použít attributy, nebo pokud se jedná pouze o metadata třídy, použijte soukromou statickou proměnnou nebo něco takového. Formát konfigurace se změnil v manifest_version 2.
Manifest version 1
Jednoduchý příklad:
{
"config": {
"FooBarUseExtraFeature": false
}
}
To je ekvivalentní zápisu $wgFooBarUseExtraFeature = false;
v PHP.
Všimněte si, že typický "wg" prefix není zahrnut, protože bude přidán ve výchozím nastavení.
Pokud vaše nastavení začíná jinou předponou, například $eg
, můžete použít magický klíč _prefix
:
{
"config": {
"_prefix": "eg",
"FooBarUseExtraFeature": false
}
}
To je nyní ekvivalentní zápisu $egFooBarUseExtraFeature = false;
v PHP.
Složitější příklad:
{
"config": {
"FooBarEnabledNamespaces": {
"0": true,
"2": true,
"4": true,
"_merge_strategy": "array_plus"
},
"FooBarCoolStuff": {
"sysop": {
"foo": true,
"bar": false
},
"_merge_strategy": "array_plus_2d"
}
}
}
První nastavení, $wgFooBarEnabledNamespaces
, má klíče, které jsou čísla, takže je PHP převede na celá čísla, i když jsou to řetězce v JSON.
Vzhledem k tomu, jak PHP zachází s celočíselnými klíči při slučování polí, musíme zde použít jiný typ sloučení, takže pomocí magického klíče nastavíme jinou "strategii sloučení".
Ve druhém příkladu máme vnořené pole, které vyžaduje jiný typ sloučení, protože chceme lidem umožnit, aby do svých LocalSettings.php zapisovali $wgFooBarCoolStuff['user']['foo'] = true;
.
Změny v manifestu verze 2
Verze MediaWiki: | ≥ 1.29 |
S MediaWiki 1.29 byla představena nová verze manifestu (2). V této verzi je konfigurační sekce vylepšena několika způsoby. Pro podporu těchto změn se trochu změnil podpis sady konfiguračních voleb a konfigurační hodnoty. Klíčem objektu config je stále název konfigurace; hodnota tohoto klíče je však objekt, který popisuje tuto možnost konfigurace, kde jedna z hodnot je hodnota. Informace o tom, jaké jsou konkrétní klíče a hodnoty pro volbu konfigurace, můžete najít na stránce dokumentace k registraci rozšíření. Jednoduchý příklad nového schématu, které je jednoduše jednou konfigurační možností a její hodnotou, by vypadal takto:
{
"config": {
"FooBarUseExtraFeature": {
"value": false
}
},
"manifest_version": 2
}
Složitější by vypadalo takto:
{
"config_prefix": "eg",
"config": {
"MyExtSetting": {
"value": true,
"path": false,
"description": "Popis konfigurace",
"descriptionmsg": "myextension-config-myextsetting",
"public": true
},
"FooBarCoolStuff": {
"value": {
"sysop": {
"foo": true,
"bar": false
}
},
"merge_strategy": "array_plus_2d"
}
},
"manifest_version": 2
}
path
Jak je ukázáno v příkladu výše, možnost konfigurace může mít definovaný klíč path
.
Je-li přítomen a nastaven na true
, bude hodnota nastavení interpretována jako místní cesta k rozšíření.
Rozšíření může například definovat svou konfiguraci jako
{
"config": {
"Setting": {
"value": "some_file.txt",
"path": true
}
},
"manifest_version": 2
}
Hodnota pro možnost konfigurace "Setting" bude převedena na $wgExtensionDirectory/FooBar/some_file.txt
.
strategie slučování
Strategie sloučení definuje, jak sloučit výchozí hodnotu nastavení konfigurace s globální hodnotou (hodnota globální proměnné $wgXXX
).
To má smysl pouze pro nastavení konfigurace s hodnotou pole.
K dispozici jsou následující strategie sloučení:
array_merge
– používá příkaz PHParray_merge
: Prvky pole s numerickými klíči budou interpretovány jako neasociativní položky seznamu a zřetězeny do pole (v případě potřeby budou klíče přečíslovány), prvky pole s nenumerickými klíči budou interpretovány jako položky hashmap a přepsány položky se stejným klíčem.array_plus
– používá PHP operátor+
, takže pole s výchozí hodnotou budou použita pouze v případě, že odpovídající pole není nastaveno v globální hodnotě. To je užitečné pro asociativní pole s celočíselnými klíči (jako jsou ID jmenného prostoru).array_plus_2d
– používáwfArrayPlus2d
ke správnému zpracování vnořených polí do hloubky 2 (např.$wgGroupPermissions
).array_merge_recursive
– zvládá pole ještě hlubší než 2 sarray_merge_recursive
. Vzhledem k neintuitivnímu chování této metody (příklad) se tato strategie nedoporučuje. Nastavení konfigurace, které je více než 2 úrovně hluboké, naznačuje, že se v jednom nastavení konfiguruje příliš mnoho věcí a rozdělení do více nastavení může být dobrý nápad.array_replace_recursive
– používáarray_replace_recursive
, v podstatě rekurzivní verziarray_plus
. Na rozdíl odarray_merge_recursive
to bude pracovat s poli bez pole tak, jak by se dalo očekávat.provide_default
(od MW 1.35.3) – žádné slučování. Výchozí hodnota se použije pouze v případě, že není nastavena žádná globální hodnota.
Pokud to není explicitně nastaveno, výchozí strategie sloučení je array_merge
.
Pokud alespoň jedna z globálních hodnot a výchozích hodnot není pole, strategie sloučení je ignorována a globální hodnota jednoduše přepíše výchozí.
config_prefix
Verze MediaWiki: | ≥ 1.28 |
Předpona, která se má umístit před konfigurační nastavení při exportu do $GLOBALS
.
Výchozí hodnota je "wg"
, takže konfigurační nastavení "Example"
odpovídá globálnímu PHP $wgExample
.
Upozorňujeme, že výběr jiné předpony konfigurace může ztížit nalezení nastavení rozšíření odpovídající danému globálnímu.
ParsoidModules
Verze MediaWiki: | ≥ 1.35 Gerrit change 597639 |
Pole Parsoid specifikátorů rozšiřujícího modulu. Rozšiřující modul Parsoid je třída implementující Wikimedia\Parsoid\Ext\ExtensionModule
Rozšiřující modul Parsoid lze specifikovat třemi způsoby:
- Přímý odkaz na třídu implementující třídu ExtensionModule (která je součástí Parsoid-PHP, nikoli jádra MediaWiki). Příklad viz rozšíření Kartograf.
- Ekvivalentní zastoupení ObjectFactory v JSON. Příklad viz rozšíření Cite.
- Specifikace modulu specifická pro Parsoid.
ParserTestFiles
Deprecated: Tato funkce je již zastaralá a neměla by se už používat. Nicméně je stále dostupná, aby byla zachována zpětná kompatibilita. |
Soubory testovací sady analyzátoru, které má spustit parserTests.php, když mu není předán žádný konkrétní název souboru.
Tato volba přímo koresponduje s globální proměnnou $wgParserTestFiles
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
ServiceWiringFiles
Pole názvů souborů servisních kabelových souborů, které mají být načteny výchozí instancí MediaWikiServices.
Tato volba přímo koresponduje s globální proměnnou $wgServiceWiringFiles
.
Informace o konfiguraci naleznete v příslušné dokumentaci.
attributes
Registrační informace pro další rozšíření. To umožňuje jednomu rozšíření registrovat věci s jinými rozšířeními. Hodnoty atributů musí být pole nebo objekty JSON a při načtení v PHP budou sloučeny dohromady.
V manifest_version 1 to byly klíče nejvyšší úrovně, které mohly být libovolně pojmenovány:
"EventLoggingSchemas": {
"MySchema": 123
}
V manifest_version 2 jsou nyní pod klíčem attributes
nejvyšší úrovně a pak jsou vnořeny pod názvem rozšíření, ke kterému atribut patří.
Úplný název atributu je zřetězením názvu rozšíření a názvu atributu (EventLoggingSchemas
v příkladu níže).
Každý klíč nastavený přímo pod attributes
musí odpovídat názvu rozšíření (libovolné klíče atributů nejvyšší úrovně nejsou podporovány).
Pokud rozšíření (v tomto příkladu EventLogging) není nainstalováno, atributy se do registru nenačtou.
"attributes": {
"EventLogging": {
"Schemas": {
"MySchema": 123
}
}
}
Pro přístup k hodnotě atributu v PHP můžete použít ExtensionRegistry:
$schemas = ExtensionRegistry::getInstance()->getAttribute( 'EventLoggingSchemas' );
load_composer_autoloader
Načtěte autoloader composeru pro toto rozšíření, pokud je k dispozici.
Toto by se mělo použít, pokud má rozšíření závislosti na knihovnách, které jsou specifikovány v composer.json
.
V zásadě je ekvivalentní následujícímu kódu:
if ( file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
require_once __DIR__ . '/vendor/autoload.php';
}