Extension:DPLforum

From MediaWiki.org
Jump to: navigation, search
Language: English  • Deutsch
MediaWiki extensions manual
Crystal Clear action run.png
DPLforum

Release status: stable

Implementation TagParser function
Description DynamicPageList-based forum software
Author(s) Ross McClure
Latest version 3.3.3 (27 July 2011)
MediaWiki 1.7 and above
License GPL v2 or later
Download
Example undefined.net Uses Extension:CreateBox
Hooks used
CanonicalNamespaces

ParserFirstCallInit
User

Translate the DPLforum extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

DPLforum is adapted from DynamicPageList 1.12, it displays forum-style layouts.

New features in version 3.0 include author listings, compact display, and full multipage support. Version 3.1 introduces prefix matching, for better interoperability with CreateBox.

DPLforum also introduces a new namespace, Forum (and its talkspace); by default, the numeric index for this namespace is 110.

Installation

  1. Download a snapshot. Choose the version that matches your version of MediaWiki.
  2. Create a folder called DPLforum and put the files in this folder.
  3. Extract the new folder to your extensions directory folder.
  4. Add
    require_once( "$IP/extensions/DPLforum/DPLforum.php" );
    to LocalSettings.php.
  5. Installation can now be verified through Special:Version of your wiki.

Parameters

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

<table><forum>
 category=CategoryName
 parameter1=value
 parameter2=value
 </forum></table>

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. Pages that are Not in these categories will be displayed.
  • namespace={text}: Specifies the namespace in which to search. Only one namespace may be specified.
  • prefix={text}: Specifies a prefix to match in the title. Only pages whose titles begin with the specified prefix will be displayed. (New in version 3.1)
  • start={number}: Excludes the first {number} results from the listing.
  • count={number}: Lists no more than {count} results. Currently limited up to 50 results, but the results aren't limited to 50 if this parameter is not specified.
  • title={page}: If specified, this object becomes a forum-style link to the given page. Other parameters still apply.

Structural parameters

  • mode: Specifies the mode of output.
    • mode=table: Default. Displays each entry in a <tr> block. <table> tags are not included, so that each table may be given custom properties.
    • mode=list: Displays each entry in a <li> block. As above, tags such as <ol> or <ul> are omitted.
    • mode=none: Only separates entries with a <br /> tag.
    • mode=count: Returns only the number of entries that match the given parameters. (New in version 3.2)
  • compact: Allows for individual <td> 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 entry's date of creation.
  • addauthor=true: Displays the original author of each entry.
  • addlasteditor=true: Displays the last editor of each entry.
  • addlastedit=false: Hides each entry's last edit time; shown by default.

Output parameters

  • ordermethod: Specifies the order in which entries are listed.
    • ordermethod=lastedit: Default. Sorts entries by the last time they were edited.
    • ordermethod=created: Sorts entries by the time of their creation.
    • ordermethod=pageid: Sorts entries by their ID numbers; usually equivalent to created.
  • historylink: Provides a link to each entry'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 entry's title.
  • order=ascending: Reverses the sort order.
  • newdays={number}: Marks all links to entries modified less than {number} days ago with class='forum_new'; defaults to 7.
  • timestamp=false: Removes timestamp values from the page links. Timestamps ensure that newly-edited entries 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:

{{#forumlink:count|page|text}}
  • 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:

{{#forumlink:30|+1<10|Next page}}

A link to the previous page (assuming count=50):

{{#forumlink:50|-1>0|Previous page}}

In conjunction with ParserFunctions, a link to the next page, that won't be displayed when you reach the last page, would be (assuming count=50, only one category specified in category and notcategory is not used):

{{#forumlink:50|+1<{{#expr: ceil ({{PAGESINCATEGORY:{{PAGENAME}}|R}}/50) +1 }}|Next page}}

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

MediaWiki messages

DPLforum specifies six messages in the MediaWiki: namespace.

  • MediaWiki:Dplforum-by - The word "by", followed by $1 (which is the name of a user)
  • MediaWiki:Dplforum-desc - Show on Special:Version as the extension's description
  • MediaWiki:Dplforum-never - The word "Never".
  • MediaWiki:Dplforum-edited - "Last edited". Separates the title and edit when not in table mode.
  • MediaWiki:Dplforum-toofew - Error message displayed when no categories are given.
  • MediaWiki:Dplforum-toomany - Error message displayed when too many categories are given. This threshold is controlled by DPLForum::maxCategories.

Customization

Templates can be used to give a traditional forum appearance with user posts.

Code

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

For the archive see /code.

For legacy versions of DPLforum, see /old.

Wikis using this extension

See Extension:DPLforum - WikiApiary. It lists wikis using this extension.

The alphabetical links go directly to the main forum index. See Special:Version for each site to see what version of MediaWiki and DPLforum is being used. Special:Pages is usually linked from the sidebar of most wikis (in the toolbox). You can go to Special:Pages to find the link to "Version" which is Special:Version. Some links to forum template categories are also listed below.