Wikipédia:Technikai korlátok
Ezen az oldalon egy technikai leírást olvashatsz a Wikipédia szerkesztéséről. Tartsd szem előtt, hogy nem minden ajánlott, ami technikailag megvalósítható! |
A MediaWiki tartalmaz néhány olyan technikai korlátot, amelyek egy-egy lap összetettségének, illetve az egyes oldalakon felhasznált adatok (paraméterek) mennyiségének – általában a sablonok használatának – határt szabnak. Ezekkel a technikai korlátokkal akkor szembesülhetünk, amikor egyes tartalmakat különböző technikai sablonok segítségével kívánunk előállítani.
Technikai háttér
[szerkesztés]Mit jelent a technikai korlát?
[szerkesztés]A Wikipédia lapjainak előállítása során bizonyos sablon- és elemzőfüggvény-hívások száma, illetve sablonparaméterek mérete nem haladhat meg egy meghatározott értéket. Ezek az értékek korlátot szabnak a lapok összetettségének, bonyolultságának.
Miért van szükség korlátokra?
[szerkesztés]A nagyon hosszú és összetett lapok értelmezése a szoftver számára időigényes folyamat lehet, ami kellemetlenséget jelent a felhasználó (olvasó) számára. A technikai korlátok biztosítják, hogy az oldalak elfogadható időn belül megjelenjenek.
Előfordulhatnak a szerver elleni úgynevezett DDoS típusú támadások. A technikai korlátok lehetővé teszik az ilyen jellegű támadások kivédését, megelőzését.
Mikor ütközünk korlátokba?
[szerkesztés]A technikai korlátokkal általában azokon az oldalakon találkozhatunk, amelyek egyes sablonokat (például táblázatépítő sablonokat) viszonylag sokszor használnak. Függetlenül attól, hogy egy-egy sablon egy oldalon milyen terjedelmű tartalmat hoz létre, minden egyes sablonhasználattal egyre közelebb kerülünk valamelyik technikai korláthoz. Általában néhány tucat sablon használatával még a korláton belül maradnak a lapok, viszont egyes összetettebb, bonyolultabb (például több segédsablont is felhasználó) sablon többszöri használata esetén a vártnál hamarabb ütközhetünk technikai korlátba.
Hogyan kérdezhetőek le a korlátok?
[szerkesztés]Egy adott laphoz tartozó technikai korlátokat és a számlálók aktuális értékeit a laphoz tartozó HTML-kód tartalmazza egy megjegyzésben. Például a Wikipédia oldal forrása 2012. augusztus 26-án az alábbi kommentben tartalmazza a számlálók értékeit:
<!-- NewPP limit report Preprocessor node count: 2281/1000000 Post-expand include size: 41368/2048000 bytes Template argument size: 18686/2048000 bytes Highest expansion depth: 10/40 Expensive parser function count: 0/500 -->
ahol:
- Preprocessor node count:
- Post-expand include size: a beillesztett sablonok mérete
- Template argument size: a sablonok paramétereinek mérete
- Highest expansion depth: a sablonok legnagyobb kibontási mélysége
- Expensive parser function count: a költséges elemzőfüggvény-hívások száma
A korlátok
[szerkesztés]A beillesztett sablonok mérete
[szerkesztés]A beillesztett sablonok mérete nem haladhatja meg a 2 048 000 bájtot.
A túl nagy méretű beillesztett sablont tartalmazó lapok automatikusan bekerülnek a Lapok, melyeken a beillesztett sablon mérete meghaladja a megengedett méretet kategóriába.
Sablonok paramétereinek mérete
[szerkesztés]A sablonok paramétereinek mérete nem haladhatja meg a 2 048 000 bájtot.
A sablonparaméterek méretének számlálója az oldalon használt sablonok (és a sablonok által felhasznált valamennyi segédsablon) által felhasznált paraméterek teljes méretét számolja.
A sablonok legnagyobb kibontási mélysége
[szerkesztés]Ha egy lap tartalmazza az A sablont, az A sablon felhasználja a B sablont, a B sablon pedig a C sablont, akkor a lap három szint mélységben tartalmaz sablonokat. A legnagyobb kibontási mélység nem haladhatja meg a 40 darabot.
A túl sok ilyen szintet tartalmazó lapok automatikusan bekerülnek a Lapok, melyeken a sablonok kibontása meghaladja a megengedett szintet kategóriába.
Költséges elemzőfüggvény-hívások száma
[szerkesztés]A költséges elemzőfüggvény- és változóhívások száma nem haladhatja meg az 500 darabot. Költséges elemzőfüggvénynek, illetve költséges változónak számít:
- #ifexist: olyan feltételes utasítás, amely egy adott oldal létezését, illetve hiányát vizsgálja. Amennyiben az #ifexist függvények száma átlépi a fenti technikai korlátot, a további függvényhívásoknál a megadott lapot minden esetben vizsgálat nélkül hiányzó lapként fogja kezelni a függvény.
- PAGESINCATEGORY
- PAGESIZE
A túl sok költséges elemzőfüggvény- és változóhívást tartalmazó lapok automatikusan bekerülnek a Túl sok költséges elemzőfüggvény-hívást tartalmazó lapok kategóriába.
A #time argumentumainak mérete
[szerkesztés]A #time elemzőfüggvények második argumentumainak összmérete nem haladhatja meg a 6000 karaktert. Az ezen felüli függvényhívások helyén ez a hibaüzenet jelenik meg: Hiba: a #time túl sokszor lett meghívva.
Egy adott kifejezés (például 2010-03-03 + 2 days
) ismételt felhasználása már nem számít bele a fenti technikai korlátba.
Sajnos az így felhasznált karakterek száma nem kérdezhető le.
Jegyzetek
[szerkesztés]- Ez a lap a Wikipedia:Template limits oldal felhasználásával készült.