Extension:CommunityRequests

The information here reflects planned changes under development (May 2025)
Category:Extensions without an imageCategory:GPL licensed extensions
MediaWiki extensions manual
CommunityRequests
Release status: unstableCategory:Unstable extensions
Implementation Special page Category:Special page extensions, Page action Category:Page action extensions
Description An on-wiki system for managing a wiki community's requests for technical development.
Author(s) WMF Community Tech team
Compatibility policy Main branch maintains backward compatibility.Category:Extensions with master compatibility policy
MediaWiki >= 1.44
Database changes Yes
License GNU General Public License 2.0 or later
Download Category:Extensions in Wikimedia version control
README
Help Help:Extension:CommunityRequests
  • $wgCommunityRequestsStatuses
  • $wgCommunityRequestsWishCategory
  • $wgCommunityRequestsEnable
  • $wgCommunityRequestsWishTemplate
  • $wgCommunityRequestsWishPagePrefix
  • $wgCommunityRequestsWishTypes
  • $wgCommunityRequestsHomepage
  • $wgCommunityRequestsProjects
Quarterly downloads 0
Translate the CommunityRequests extension if it is available at translatewiki.net
Issues Open tasks · Report a bug
Category:All extensions

The CommunityRequests extension is a system for managing a wiki community's requests and suggestions for technical development. It aims to provide a flexible and user-friendly platform for community-empowered project management.

For user help please see Help:Extension:CommunityRequests.

Background

CommunityRequests was built to power the Wikimedia Foundation's Community Wishlist, where community members create and vote on proposals for improvements to the platform. As such, all user-facing messaging and the code itself uses the name "Community Wishlist". Proposals can be grouped together by Wishlist organizers into focus areas. Both wishes and focus areas can be voted on, if configured.

The Foundation's Wishlist spawned from an older bot and template-powered system known as the annual Community Wishlist Survey. For this reason, CommunityRequests largely uses the wiki as the storage medium, with a system of parser tags embedded in templates such that we can store structured data, while allowing the flexibility of the community to manage the templates and other presentation.

Out-of-the-box, this extension assumes you want something similar to the Community Wishlist, but it can be configured to suit various use cases.

Installation

  • Download and move the extracted CommunityRequests folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CommunityRequests
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'CommunityRequests' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration

The following can be set in your LocalSettings.php file.

$wgCommunityRequestsEnable
The main feature flag for this extension, that must be set to true in order for anything other than system messages to function.
$wgCommunityRequestsHomepage
The wiki page title (including the namespace) of the homepage for Community Requests.
$wgCommunityRequestsWishCategory
The category to put all wishes in.
$wgCommunityRequestsWishPagePath
Path for the page title of wishes. This should include a trailing slash if wishes are to be on subpages, and $wgNamespacesWithSubpages will need to be configured accordingly.
$wgCommunityRequestsWishIdPrefix
The prefix to use for the subpage title of wishes. The ID will be appended to this such that the subpage titles for wishes are numeric and sequential, such as "W1", "W2", and so on.
$wgCommunityRequestsWishTemplate
Configuration for the template that displays and stores wishes. It takes three keys, all are required:
KeyDescription
pageThe page title including namespace of the template.
descriptionParamThe name of the parameter that accepts the main description of the wish. This data is only stored as wikitext, and not in CommunityRequests database tables.
audienceParamThe name of the "Affected users" parameter. This also is only stored as wikitext.
$wgCommunityRequestsWishTypes
The available types of wishes. The label properties are message keys to be suffixed with -label and -description. The id value must be an integer that is forever associated with the meaning of the label. Statuses can freely be renamed, but new ones or ones with a significant meaning should get a new ID.
$wgCommunityRequestsProjects
For use by wiki farms. An array of objects of the form:
KeyDescription
idUnique numerical ID for this project.
domainThe domain name of the project.
labelThe message key for the project name.
logoThe full URL to a ~200px square SVG logo.
$wgCommunityRequestsStatuses
The available statuses for wishes and focus areas. An array of objects of the form:
KeyDescription
idUnique numerical ID for the status.
labelThe message key for the status.
defaultSetting this indicates the status should be the default when creating new wishes and focus areas.


Category:Extensions used on Wikimedia#CommunityRequests
Category:All extensions Category:Extensions in Wikimedia version control Category:Extensions used on Wikimedia Category:Extensions with master compatibility policy Category:Extensions without an image Category:GPL licensed extensions Category:GetDoubleUnderscoreIDs extensions Category:LinksUpdateComplete extensions Category:LoadExtensionSchemaUpdates extensions Category:LoginFormValidErrorMessages extensions Category:PageDeleteComplete extensions Category:Page action extensions Category:ParserFirstCallInit extensions Category:Special page extensions Category:Unstable extensions