Extension:CommunityRequests
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 yourextensions/
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.
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:
Key Description page The page title including namespace of the template. descriptionParam The 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. audienceParam The 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
. Theid
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:
Key Description id Unique numerical ID for this project. domain The domain name of the project. label The message key for the project name. logo The full URL to a ~200px square SVG logo. $wgCommunityRequestsStatuses
- The available statuses for wishes and focus areas. An array of objects of the form:
Key Description id Unique numerical ID for the status. label The message key for the status. default Setting this indicates the status should be the default when creating new wishes and focus areas.
![]() | This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |