Rozšíření:DynamicPageList3
DynamicPageList3 Stav rozšíření: stabilní |
|
---|---|
Implementace | Značka , Funkce analyzátoru |
Popis | Vytváří seznamy jiných článků na základě jejich kategorie, jmenného prostoru, názvu, odkazů nebo použití šablony a zahrnování obsah nebo argumentů volání šablon těchto článků do vaší stránky. |
Autoři | Universal Omega, Alexia E. Smith, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki |
Nejnovější verze | 3.5.2 (2023-01-14) |
MediaWiki | 1.39.0+ |
Změny v databázi | Ano |
Composer | universal-omega/dynamic-page-list3 |
Licence | GNU General Public License 3.0 nebo novější |
Stáhnout | |
Příklad | DPL:Manual - Gamepedia Help Wiki |
|
|
|
|
Přeložte rozšíření DynamicPageList3 | |
Rozšíření DynamicPageList3 je nástroj pro vytváření zpráv pro MediaWiki, který uvádí členy kategorií a průniky s různými formáty a podrobnostmi. Úplnou dokumentaci naleznete v příručce.
Při vyvolání se základní sadou parametrů výběru DPL zobrazí seznam stránek v jedné nebo více kategoriích. Výběr může být také založen na faktorech, jako je autor, jmenný prostor, datum, vzor názvu, použití šablon nebo odkazy na jiné články. Výstup má různé formy, z nichž některé obsahují prvky vybraných článků.
Toto rozšíření je vyvoláno funkcí analyzátoru {{#dpl: .... }}
nebo tagem analyzátoru <DPL>
.
Implementaci určitých funkcí kompatibilních s Wikimedií lze vyvolat pomocí <DynamicPageList>
.
Složité vyhledávání může mít za následek výpočetně nákladné databázové dotazy. Ve výchozím nastavení je však veškerý výstup ukládán do mezipaměti po dobu jedné hodiny, aby se snížila potřeba opakovat dotaz při každém načtení stránky. Příručka DPL:Parametry: Další parametry obsahuje informace o parametrech, které lze použít k deaktivaci mezipaměti a k umožnění okamžitých aktualizací.
- Příručka a kompletní dokumentace
- Dokumentace na Gamepedia Help Wiki
- Zdrojový kód
- Zdrojový kód na GitHubu
- Chyby a požadavky na funkce na GitHubu
- [1]
- Licence
- DynamicPageList3 je vydán pod GNU General Public License, verze 3.
Instalace
- Ke stažení soubor/y a vložte je do adresáře pojmenovaného
DynamicPageList3
ve vaší složceextensions/
. - Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'DynamicPageList3' );
- V případě potřeby nakonfigurujte podle požadavků.
- Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Konfigurace
Toto jsou konfigurační nastavení DPL3 spolu s jejich výchozími hodnotami.
Chcete-li je změnit, ujistěte se, že jsou definovány před přidáním rozšíření na wiki.
$dplSettings
na $wgDplSettings
. To mělo usnadnit kompatibilitu se změnou registrace rozšíření MediaWiki 1.25.Nastavení | Výchozí | Popis |
---|---|---|
$wgDplSettings['allowedNamespaces']
|
null
|
Ve výchozím nastavení jsou při inicializaci DPL3 použity všechny existující jmenné prostory. Upravte toto nastavení pomocí pole konstant jmenného prostoru, abyste omezili DPL3 na práci pouze v těchto jmenných prostorech. |
$wgDplSettings['allowUnlimitedCategories']
|
false
|
Nastavte toto na true, chcete-li ignorovat 'maxCategoryCount' a povolit neomezený počet kategorií. Vezměte, prosím, na vědomí, že velké množství kategorií v dotazu může zpomalit nebo selhat servery.
|
$wgDplSettings['allowUnlimitedResults']
|
false
|
Chcete-li ignorovat 'maxResultCount' a umožnit neomezené výsledky, nastavte toto na true. Upozorňujeme, že velké sady výsledků mohou způsobit pomalé nebo neúspěšné načítání stránek.
|
$wgDplSettings['alwaysCacheResults']
|
false
|
Set this to true to ignore 'allowcachedresults' and always enable the parser cache.
|
$wgDplSettings['categoryStyleListCutoff']
|
6 | Maximální počet položek v seznamu kategorií před oříznutím. |
$wgDplSettings['functionalRichness']
|
3 | Nastavte úroveň parametrů dostupných koncovým uživatelům. |
$wgDplSettings['maxCategoryCount']
|
4 | Maximální počet kategorií, které lze v dotazech povolit. |
$wgDplSettings['minCategoryCount']
|
0 | Minimální počet kategorií povolených v dotazech. |
$wgDplSettings['maxResultCount']
|
500 | Maximální počet výsledků, které se mají vrátit z dotazu. |
$wgDplSettings['recursiveTagParse']
|
false
|
Proveďte rekurzivní analýzu značek na analyzátorových značkách <dpl> a převádějte značky a funkce, jako jsou kouzelná slova jako {{PAGENAME}} . Je to podobné volání funkce analyzátoru {{#dpl}} , ale nemusí ve všech případech fungovat úplně stejně.
|
$wgDplSettings['runFromProtectedPagesOnly']
|
false
|
Nastavte toto na true , abyste umožnili DPL3 spouštět pouze z chráněných stránek. To se doporučuje, pokud mají správci wiki problémy s uživateli se zlými úmysly vytvářejícími výpočetně náročné dotazy.
|
$wgDplSettings['handleSectionTag']
|
false
|
Nastavte toto na true , aby DPL3 zpracovával <section> tagy mimo tagy analyzátoru DPL.
|
$wgDplSettings['maxQueryTime']
|
10000 | Maximum allowed time for database queries in milliseconds. |
$wgDplSettings['queryCacheTime']
|
0 | Configure query cache time. The query cache cannot be purged. Suggested value between 30 to 600. |
DPL3 automaticky respektuje globální proměnnou $wgNonincludableNamespaces .
Zabrání tomu, aby se obsah uvedených jmenných prostorů objevil ve výstupu DPL3.
$wgDplSettings['maxResultCount']
je LIMIT na samotný SQL dotaz. Některé parametry dotazu DPL, jako je includematch
, jsou však aplikovány po SQL dotazu, takže výsledky zde mohou být snadno zavádějící.
Funkční bohatství
DynamicPageList3 má mnoho funkcí, které se odemykají na základě maximální úrovně funkčnosti.
Některé mohou způsobit vysoké zatížení procesoru nebo databáze a měly by být používány střídmě.
$wgDplSettings['functionalRichness'] = 0
- ekvivalent DynamicPageList (průsečík) Wikimedie$wgDplSettings['functionalRichness'] = 1
- přidává další parametry formátování$wgDplSettings['functionalRichness'] = 2
- přidává funkce ekvivalentní výkonu pro šablony a odkazy na stránky$wgDplSettings['functionalRichness'] = 3
- umožňuje vzácnější funkce vkládání stránek a dotazy na regulární výrazy$wgDplSettings['functionalRichness'] = 4
- umožňuje exotické a potenciálně nebezpečné operace dávkové aktualizace a mazání. Nedoporučuje se pro veřejné weby. Zahrnuje parametry ladění pro testování a vývoj.
Použití
Rozšířená funkčnost DPL
Rozšířené DPL se vyvolá pomocí funkce analyzátoru {{#dpl: .... }}
nebo tagu rozšíření analyzátoru <DPL>...</DPL>
.
Zpětná kompatibilita
Funkčnost kompatibilní s rozšířením DPL Wikimedia lze vyvolat na <DynamicPageList>...</DynamicPageList>
.
Další informace lze nalézt na příručce o kompatibilitě.
Filozofie použití a přehled
Za předpokladu, že existují články napsané o "zemích", tyto články budou mít obvykle tři společné věci:
- Budou patřit do společné kategorie
- Budou mít podobnou strukturu kapitol, tj. budou obsahovat odstavce s názvem 'Religion' (náboženství) nebo 'History' (historie).
- Budou používat šablonu, která se používá k prezentaci vysoce strukturovaných krátkých datových položek ('Capital' (kapitál), 'Inhabitants' (obyvatelé), ..) vhodným způsobem (např. jako wikitable)
Vytvoření zprávy podle zemí
Pokud by bylo potřeba sestavit zprávu o tom, které země vyznávají určité náboženství, lze to snadno provést pomocí parametrů category
a linksto
.
{{#dpl: category=countries |linksto=Pastafarianism }}
S DPL by bylo možné:
- Vygenerujte seznam všech těchto článků (nebo náhodný vzorek)
- Zobrazí metadata článků (oblíbenost, datum poslední aktualizace, ..)
- Zobrazí jednu nebo více kapitol článků (přeloží obsah)
- Zobrazí hodnoty parametrů, které jsou předány společné šabloně
- Vhodně řadí články
- Prezentujte výsledek v setříditelné tabulce (např.)
- Generování výstupu s více sloupci
Jaké kroky jsou nutné?
Najděte články, které chcete uvést:
- Vybírejte podle logické kombinace (A, NEBO, NE) kategorií
- Zadejte rozsah počtu kategorií, do kterých musí být článek zařazen
- Vybírejte pomocí logické kombinace (AND,OR,NOT) jmenných prostorů
- Definujte vzor, který se musí shodovat s názvem článku
- Pojmenujte stránku, na kterou článek musí nebo nesmí odkazovat
- Pojmenujte šablonu, kterou článek musí nebo nesmí používat
- Pojmenujte textový vzor, který se musí vyskytovat v externích odkazech ze stránky
- Vyloučit nebo zahrnout přesměrování
- Omezte vyhledávání na stabilní stránky nebo stránky kvality ("označené revize")
- Pro výběr použijte další kritéria, jako je autor, datum poslední změny atd.
- Definujte regulární výrazy tak, aby odpovídaly obsahu stránek, které chcete zahrnout
Řaďte výsledkovou listinu článků podle
- Název článku
- Velikost článku
- Datum poslední změny
- Poslední uživatel, který provedl úpravu
Definujte atributy, které chcete vidět
- Název článku
- Jmenný prostor článku
- Velikost článku
- Datum poslední změny
- Datum posledního přístupu
- Poslední uživatel, který provedl úpravu
Definujte obsah, který chcete zobrazit
- Celý článek
- Obsah určitých sekcí (označených nadpisy)
- Textové části (definované speciálními značkami v článku)
- Hodnoty volání šablon
- K zobrazení výstupu použijte vlastní šablonu
Definujte výstupní formát
- Zadejte záhlaví a zápatí pro výchozí výstup
- Použít uspořádaný seznam, neuspořádaný seznam
- Použijte tabulky
- Formátujte pole tabulky jednotlivě použitím šablon na jejich obsah
- Použijte seznam ve stylu kategorie
Truncate title or contents to a certain maximum length
- Přidejte odkaz na článek nebo na jednu či více jeho částí
Úvahy
Výkon
Spouštění kódu a přístup k databázi DPL3 je obvykle rychlý pro typické vyhledávání kategorií a článků.
Použití volných shodných parametrů LIKE a REGEXP a/nebo vyžádání velkých datových sad však může mít za následek dlouhé doby přístupu k databázi.
Je také třeba vzít v úvahu čas analyzátoru.
Pokud například dotaz na výsledky obrázků přidáte do šablony, která je zobrazí, povede to k transformaci médií analyzátoru pro každý z nich.
To může rychle spotřebovat 2 MB RAM na transformaci média.
Version 3.4.0 introduces two new configuration options, $wgDplSettings['maxQueryTime']
, which allows configuration the max execution length for queries, in milliseconds, and $wgDplSettings['queryCacheTime']
, which allows configuration of query cache. It also adds support for PoolCounter to limit query concurrency.
Související odkazy
Další čtení
DPL3 umí mnohem více, než zde můžeme vysvětlit.
Kompletní příručka je k dispozici s úplnou dokumentací parametrů.
- Příručka:Správa dat v MediaWiki – přehled a srovnání.
Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček. |
- Stable extensions/cs
- Tag extensions/cs
- Parser function extensions/cs
- Extensions supporting Composer/cs
- GPL licensed extensions/cs
- Extensions in GitHub version control/cs
- ParserFirstCallInit extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- ParserAfterTidy extensions/cs
- All extensions/cs
- Extensions included in BlueSpice/cs
- Extensions included in Fandom/cs
- Extensions included in Miraheze/cs
- Extensions included in MyWikis/cs
- Extensions included in wiki.gg/cs
- Extensions included in WikiForge/cs
- Category extensions/cs
- List extensions/cs
- Namespace extensions/cs
- Special page extensions/cs
- Table extensions/cs
- Page content extensions/cs
- Tag cloud extensions/cs
- Category intersection extensions/cs