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ésMit jelent a technikai korlát?
szerkesztésA 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ésA 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ésA 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ésEgy 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ésA beillesztett sablonok mérete
szerkesztésA 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ésA 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ésHa 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ésA 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ésA #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.