Extension:DynamicPageList3/cs

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  nebo tagem analyzátoru. Implementaci určitých funkcí kompatibilních s Wikimedií lze vyvolat pomocí.

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:Parameters: Other Parameters 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


 * Bugs and Feature Requests at GitHub


 * Licensing
 * DynamicPageList3 is released under GNU General Public License, version 3.

Konfigurace
These are DPL3's configuration settings along with their default values.

To change them make sure they are defined before including the extension on the wiki.

The global variable is automatically respected by DPL3.

It will prevent the contents of the listed namespaces from appearing in DPL3's output.

Functional Richness
DynamicPageList3 has many features which are unlocked based on the maximum functional richness level.

There are some that can cause high CPU or database load and should be used sparingly.
 * - equivalent to Wikimedia's (Intersection)
 * - adds additional formatting parameters
 * - adds performance equivalent features for templates and pagelinks
 * - allows more-expensive page inclusion features and regular expression queries
 * - permits exotic and potentially dangerous batch update and delete operations; not recommended for public websites. Includes debugging parameters for testing and development.

Extended DPL Functionality
Extended DPL is invoked by using the parser function, or the parser extension tag .
 *  See Manual - General Usage and Invocation Syntax and DPL:Parameters: Criteria for Page Selection 

Backwards Compatibility
Functionality compatible with Wikimedia's DPL extension can be invoked with .

Further information can be found on the Compatibility manual page.

Usage Philosophy and Overview
With the assumption there are some articles written about countries those articles will typically have three things in common:
 * They will belong to a common category
 * They will have a similar chapter structure, i.e. they will contain paragraphs named 'Religion' or 'History'
 * They will use a template which is used to present highly structured short data items ('Capital', 'Inhabitants', ..) in a nice way (e.g. as a wikitable)

Generate a report based on countries
If there was a need to assemble a report of what countries practice a certain religion this could be easily done with the  and   parameters.

With DPL one could:


 * Generate a list of all those articles (or a random sample)
 * Show metadata of the articles (popularity, date of last update, ..)
 * Show one or more chapters of the articles ('transclude' content)
 * Show parameter values which are passed to the common template
 * Order articles appropriately
 * Present the result in a sortable table (e.g.)
 * Generate multiple column output

Which steps are necessary?
 Find the articles you want to list: 


 * Select by a logical combination (AND,OR,NOT) of categories
 * Specify a range for the number of categories the article must be assigned to
 * Select by a logical combination (AND,OR,NOT) of namespaces
 * Define a pattern which must match the article's name
 * Name a page to which the article must or must not link
 * Name a template which the article must or must not use
 * Name a text pattern which must occur within external links from a page
 * Exclude or include redirections
 * Restrict your search to stable pages or quality pages ("flagged revisions")
 * Use other criteria for selection like author, date of last change etc.
 * Define regular expressions to match the contents of pages you want to include

 Order the result list of articles according to 


 * Article name
 * Article size
 * Date of last change
 * Last user to make an edit

 Define attributes you want to see 


 * Article name
 * Article namespace
 * Article size
 * Date of last change
 * Date of last access
 * Last user to make an edit

 Define contents you want to show 


 * Whole article
 * Contents of certain sections (identified by headings)
 * Text portions (defined by special marker tags in the article)
 * Values of template calls
 * Use a custom template to show output

 Define the output format 


 * Specify header and footer for the default output
 * Use ordered list, unordered list
 * Use tables
 * Format table fields individually by applying templates to their content
 * Use category style listing
 * Add a link to the article or to one or more of its sections
 * Add a link to the article or to one or more of its sections

Performance
DPL3's code execution and database access is typically fast for typical category and article look ups.

However, using loose LIKE and REGEXP match parameters and/or requesting large data sets can result in long database access times.

Parser time should also be kept in consideration.

For example, having the query of image results go into a template that displays them will result in a parser media transform for each one.

This can quickly eat up 2MBs of RAM per media transform.

Version 3.4.0 introduces two new configuration options,, which allows configuration the max execution length for queries, in milliseconds, and , which allows configuration of query cache. It also adds support for PoolCounter to limit query concurrency.