Extension:DynamicPageList (Wikimedia)

DynamicPageList is a Mediawiki 1.5+ extension developed for Wikinews. It is currently installed on all language Wikinews projects (see n:Wikinews:DynamicPageList) and Meta, and can be installed on any wiki. It allows wiki users to create a list of pages that are listed in a set of categories. See m:Help:DPL for general information.

This extension was previously known as DynamicPageList/old and later Intersection. You may also be interested in the third-party DynamicPageList, which is more actively-developed.

Installation
The dynamic page list is in Wikimedia SVN. To install it, get the extension files for your version of MediaWiki, and place them in the  directory. Then add  to your LocalSettings.php file.

Use
DynamicPage list can be used with XML-like syntax in the wiki edit view. The parameters control the pages to list, order, and display mode. See the following sections for information on each parameter. For example, the following are the oldest five pages on this wiki that were recently moved to MediaWiki.org.

The information below may be outdated, see n:Wikinews:DynamicPageList for an up-to-date usage documentation.

 category            = Pages recently transferred from Meta count               = 5 order               = ascending addfirstcategorydate = true 

category
category lists categories to intersect. DynamicPageList will list pages that are found in every category listed. A minimum and maximum number of entries to list is set in the extension's source code. You may use magic words like August in the category name.

The syntax is

 category = Demo category = Demo 1 

notcategory
notcategory restricts the list of pages to those not in a particular category. You can use magic words like August in the category name.

 category   = Demo notcategory = Demo 1 

namespace
namespace restricts the list of pages specified above to those in a particular namespace, specified by name or number (see the List of default namespaces). Any invalid name is equivalent to the main article namespace.

 category = Demo namespace = Help 

redirects
redirects determines whether or not to include redirect pages. The value can be exclude (default, don't list redirects), include (list redirects), or ''only (don't list pages that aren't redirects).

 category = Demo redirects = only 

count
count restricts the number of results that are shown. By default, the pages added to the category most recently are shown (see order). Note that the extension will not list more results than the maximum defined in the extension source code.

 category = Demo count   = 2 

shownamespace
shownamespace displays the namespace in the page names. The value can be true (default, display in name: Help:Contents) or false (don't display in name: Contents).

 category     = Demo shownamespace = false 

addfirstcategorydate
addfirstcategorydate shows the date each article was added to category. The value can be true (display date) or false (default, don't display date). If many categories are specified, it uses the first category. The linked page names are prepended with the date formatted according to your local MediaWiki date display preferences.

 category            = Demo addfirstcategorydate = true 

mode
mode determines the format of the list. The value can be unordered (bulleted list), ordered (numbered list), or none (plain text with line breaks).

unordered:  category = Demo mode    = unordered </DynamicPageList>

ordered:  category = Demo mode    = ordered </DynamicPageList>

plain text:  category = Demo mode    = none </DynamicPageList>

suppresserrors
suppresserrors hides errors. The value can be true (hide errors) or false (default, show errors).

true:  category      = Dem suppresserrors = true </DynamicPageList>

false:  category      = Dem suppresserrors = false </DynamicPageList>

ordermethod
ordermethod determines the order and date to display. The value can be categoryadd (default, sort by date pages were categorised) or lastedit (sort by date pages were last edited).

 category            = Demo addfirstcategorydate = true ordermethod         = lastedit </DynamicPageList>

order
order decides the sort direction. The value can be descending (default, most recent to oldest) or ascending (oldest to most recent).

 category = Demo order    = ascending </DynamicPageList>

Derived extensions

 * Derived extensions: DPLforum outputs in forum style. Extension:DynamicPageList (third-party) is a modified version with more features, but also more resource-expensive. Neither of the latter is used on Wikimedia's sites.
 * Version 1.8.4 of DynamicPageList (third-party) is fully downward compatible with the extension described here. So the way is open for a re-unification of the different development paths.