Help:DynamicPageList

DPL, also known as the Dynamic Page List extension, is a powerful MediaWiki extension that allows for the creation of lists of pages using various criteria, such as membership in a category or inclusion of a specific template. These lists are considered dynamic because they automatically update as users add categories to pages.

For instance, if you wanted to find out all the episodes of The West Wing that were written by Aaron Sorkin and that guest-starred Hal Holbrook, DPL could tell you in a flash. Or if you needed to answer the question, "Are there any civilian half-human Vulcans in Star Trek?" DPL could help find those people who were in Category:Vulcans and Category:Half-humans but not Category:Starfleet officers.

Because of its great power, DPL increases server load and can result in significantly slower page loads for wikis that use it. And because DPL has numerous parameters and applications, we can't reasonably hope to explain it on a single help page. Therefore, Fandom strongly encourages you to pay special attention to a couple of sections of this article: "Using DPL effectively" and "More about DPL".

UCP
With the migration to the UCP, the version of DynamicPageList is changing from DynamicPageList (third-party) to DynamicPageList3.

Benefits of DPL

 * Creates dynamic listings of pages based on various parameters, such as page titles, namespaces, membership in a category, template inclusion, and more. For example, you can create a page that lists all pages in two categories but not in a third.
 * Can include page information such as date of the last edit, the username of last editor, and more.
 * Can display data in tables, bulleted or numbered lists, in category page style, or inline.
 * Allows creation of lists with custom styles and formatting inserted in-between items.

How to include DPL on a page
DPL queries start with the  tag and close with the   tag. Within these tags, users may put a wide variety of parameters to customize and tailor the query to their needs. You can also use parser function version  if you need to have parser functions in the DPL parameters expanded before the query is made. You need to use the "source" editor mode to create DPL queries, see Help:Source edit mode for information on how to access "source" mode in your preferred editor.

Here is a very basic DPL query example:

 category = Characters 

This query above will output a list of all the pages that are in the category Characters.

This can be further customized:

 category   = Characters notcategory = Season 1 Characters namespace  = Character mode       = ordered 

This query will display all pages that are in the Character namespace and have the category Characters if the page also did not have the category Season 1 Characters. This list will also be printed as an ordered list (  ) as opposed to the default unordered list (  ).

Using DPL effectively
DPL can cause heavy server loads, slowing the entire site down. The following are tips on how to get around the problem.

First, consider whether your DPL usage is necessary. If it's only used because it's "cool", you might be able to provide something equally cool to your users in the same space, such as a poll, calendar, embedded RSS feed, embedded video, and more.

Secondly, if you decide DPL is the best tool for the job, let DPL cache results! Simply add this line to your DPL query:

allowcachedresults = true

Use other tools for common DPL uses

 * Creating simple category lists
 * For creating simple category lists you might use the


 * Random content
 * Use RandomSelection.


 * Lists of users
 * Use Special:Listusers for this.


 * Wiki-style forums
 * See Help:Wiki-style forums for the  syntax.


 * Advanced uses
 * For more advanced uses, please check that a more specialized extension is not available before using DPL. For example, instead of creating a calendar with DPL use one of the calendar extensions available. If you are unsure or don't see an extension you need, contact us and we'll be happy to help.

Things to avoid
Do not use DPL for:
 * Functions using "randomcount"; they can't be cached
 * Templates that are used site-wide; it creates hidden DPL calls all over the wiki
 * Large queries; don't display 500 results when 20 will do the job
 * More than one or two queries per page

Sometimes you need to purge
If you see strange output from DPL, try putting ?action=purge (or &action=purge, if ? is already used) at the end of your URL and reload the URL. This can fix problems where DPL backend code was updated, but the server cache was not refreshed.

Galleries
DPL can be used to make self maintaining galleries:

 namespace         = File category          = CategoryNameHere format            = allowcachedresults = true 

If you are using the parser function, you must use this fix to output into galleries.

Pending work
DPL can be used to make lists of things that need to be edited:

 category          = Stubs format            = ,#%PAGE%\n,, allowcachedresults = true 

DPL can be used to make a list of images that need to be categorized:

 namespace = File notcategory = Season 1 notcategory = Season 2 notcategory = Season 3 notcategory = Season 4 format = allowcachedresults = true </DPL>

More about DPL

 * The DPL 3 Manual, for the version on UCP.
 * The DPL Manual, which includes a comprehensive list of all DPL parameters (legacy version)
 * The archived DPL Manual
 * MediaWiki.org's page about the extension itself
 * Memory Alpha's entirely original help page, which includes a number of Fandom-relevant examples of DPL usage.

Further help and feedback
be:Даведка:DynamicPageList de:Hilfe:DynamicPageList es:Ayuda:Lista de páginas dinámica fr:Aide:DynamicPageList ja:ヘルプ:ダイナミック・ページ・リスト ko:도움말:고급 문서 목록 pl:Pomoc:DynamicPageList pt:Ajuda:DynamicPageList ru:Справка:DynamicPageList tr:Yardım:DynamicPageList uk:Довідка:DynamicPageList zh:Help:動態頁面列表