Extension:BucketVoting

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
Bucket Voting

Release status: stable

Implementation Tag
Description Allows a voting system where the user can distribute an allocated number of votes freely amongst a set of candidates.
Author(s) Robin Sheat (eythiantalk)
Latest version 1.0 (30 March 2010)
License GPL
Download Download
README
CHANGELOG
Parameters

$wgBucketVoting_admingroup

Tags
<vote-start>, <vote-end>, <vote-number>, <vote>, <vote-admin-summary>
Hooks used
LoadExtensionSchemaUpdates

ParserFirstCallInit

Translate the BucketVoting extension if possible

Check usage and version matrix; code metrics

The bucket voting extension to mediawiki allows people to distribute a number of votes between a number of options, so they can vote based on how important things are to them. This is known as cumulative voting.

The person creating the poll decides how many votes each user will get, which determines how fine-grained the vote allocation can be. Whatever values the users put in will be scaled so they add up to this value (or close to it.)

Hooking it up to Mediawiki[edit | edit source]

  1. Put the extension and its files into extensions/BucketVoting within your mediawiki directory.
  2. In your LocalSettings.php, add:

    require_once("$IP/extensions/BucketVoting/BucketVoting.php");
    $wgBucketVoting_admingroup="sysop";

  3. Optionally, change the value of $wgBucketVoting_admingroup to be another group that you want to be able to see the results of polls. sysop means that only admins will see them.
  4. Run the update.php script in order to create or update the tables used by the extension.

Creating Polls[edit | edit source]

Each poll that people can vote on lives on a single page. Special tags are placed that cause the voting components to be displayed.

Tag Reference[edit | edit source]

These tags are:

vote-start 
this sets up the poll for voting, including any options that it should have. Options that it takes are:
numvotes 
the number of votes that the users will be given to spread out amongst the options (default 10)
locked 
(true/false) whether users can vote in the poll or not
vote 
puts a voting field on the page for the user to enter the value they'd like. It has one option:
key 
the key uniquely identifies this vote
vote-number 
this inserts the number of votes (as set by numvotes) into the text, so you can tell the users about it
vote-end 
ends the voting form and puts in a submit button.
text 
the text to put on the submit button
vote-admin-summary 
adds a form that only the admin can see that contains summaries of all the votes on this page, and lets the admin remove all votes from any of the items.

Examples[edit | edit source]

The following is a sample page, showing how the tags go together:

Voting Page
<vote-start numvotes="100" />

You have <vote-number /> votes to spread among the items below:
* Number of votes for the first thing: <vote key="first" />
* Number of votes for the second thing: <vote key="second" />
* Number of votes for the third thing: <vote key="third" />
<vote-end />
<vote-admin-summary />

Once the voting is over, you may want to leave the page as-is, but prevent people from changing their votes. To do this, make your start tag:

<vote-start numvotes="100" locked="true" />

Other Things[edit | edit source]

  • The key value is what links the vote and the value in the admin screen. Changing this is like creating a new vote.
  • The votes that the user assigns are scaled to fit in the range of 0-numvotes.
  • Locked vote values are styled with with CSS class lockedvotes.

Development[edit | edit source]

If you want to access the Git repository that this comes from:

git clone http://git.catalyst.net.nz/BucketVoting.git

or browse it at http://git.catalyst.net.nz/gw?p=BucketVoting.git;a=summary

Credit[edit | edit source]

This was implemented by Catalyst IT Ltd. on behalf of Land Information New Zealand.