Extension:DPLforum

DPLforum is a heavily-adapted derivation of DynamicPageList 1.12, geared toward displaying forum-style layouts.

New features in version 3.0 include author listings, compact display, and full multipage support. This version has also been designed to better take advantage of CreateBox's functionality, allowing superfluous prefixes to be omitted from the page list.

Parameters
DPLforum expects parameters in the form of a linebreak-separated list of assignments, as shown here.

Content parameters

 * category={page}: Adds a category to the set of categories. Only pages that belong to each of these categories will be displayed.
 * notcategory={page}: Adds a category to the set of exclusions. Only pages that belong to none of these categories will be displayed.
 * namespace={text}: Specifies the namespace in which to search. Only one namespace may be specified.
 * start={number}: Excludes the first {number} results from the listing.
 * count={number}: Lists no more than {count} pages.
 * title={page}: If specified, this object becomes a forum-style link to the given page. Other parameters still apply.

Structural parameters
tag.
 * mode: Specifies the mode of output.
 * mode=table: Default. Displays each page in a  block.  tags are not included, so that each table may be given custom properties.
 * mode=list: Displays each page in a  block. As above, tags such as  or  are omitted.
 * mode=none: Only separates each page with a


 * compact: Allows for individual  tags to be combined together where appropriate.
 * compact=author: Combines the Title and Author cells.
 * compact=editor: Combines the Edit and Editor cells.
 * compact=all: Combines both.


 * addcreationdate=true: Displays each page's date of creation.
 * addauthor=true: Displays the original author of each page.
 * addlasteditor=true: Displays the last editor of each page.
 * addlastedit=false: Hides each page's last edit time. (This is shown by default.)

Output parameters

 * ordermethod: Specifies the order in which pages are listed.
 * ordermethod=lastedit: Default. Sorts pages by the last time they were edited.
 * ordermethod=created: Sorts pages by the time of their creation.
 * ordermethod=pageid: Sorts pages by their ID numbers. Usually equivalent to created.


 * historylink: Provides a link to each page's history.
 * historylink=embed: Transforms the Edit field into a history link.
 * historylink=append: Appends the history link onto the Edit field.


 * omit={text}: Omits the given text from the beginning of each page title.
 * order=ascending: Reverses the page order.
 * newdays={number}: Marks all page links modified less than {number} days ago. Defaults to 7.
 * timestamp=false: Removes timestamp values from the page links. Timestamps ensure that edited pages don't appear as "visited" links.
 * cache=true: Saves the results of this object to the parser cache. This is false by default unless DPLForum::requireCache is set to true.

Multipage support with #forumlink
The #forumlink parser function creates links to the present page which offset the forum listings by a certain amount. This allows each forum to contain any number of additional "pages". The syntax is as follows:


 * count represents the number of topics per page.
 * page specifies the page number, either as an absolute value or a relative offset.
 * text sets the link text. If this is left blank, the page number is used instead.

Relative offsets and page conditions
When specifying the page, if the number is preceded by + or -, then it is assumed to be a relative offset from the present position. Relative links which would link to pages less than 1 are not displayed.

You may also optionally specify a condition after the page number, which the page must meet in order to be displayed. For example, to specify a link to the next page when that page is less than 10, use:

Conditions may use the <, <=, >, and >= operators.

MediaWiki messages
DPLforum specifies five messages in the MediaWiki: namespace.


 * MediaWiki:Forum_by - The word "by".
 * MediaWiki:Forum_never - The word "Never".
 * MediaWiki:Forum_edited - "Last edited". Separates the title and edit when not in table mode.
 * MediaWiki:Forum_toofew - Error message displayed when no categories are given.
 * MediaWiki:Forum_toomany - Error message displayed when too many categories are given. This threshold is controlled by DPLForum::maxCategories.

Code
DPLforum 3.0 has been tested on MediaWiki 1.9, and should run on versions 1.7 and above.

For legacy versions of DPLforum, see DPLforum.