Release status: stable
|Description||Allows for elections, polls and surveys|
|Latest version||2.0.0 (continuous updates)|
|Compatibility policy||Master maintains backwards compatibility.|
|License||GNU General Public License 2.0 or later|
|Translate the SecurePoll extension if it is available at translatewiki.net|
|Issues||Open tasks · Report a bug|
The SecurePoll extension is a special page extension for elections, polls and surveys. It is used for Wikimedia Foundation Board elections and arbitration committee elections, and was used for the Wikimedia license transition vote among other things.
- Download and place the file(s) in a directory called
- Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'SecurePoll' );
- 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.
You will also need to assign the new "
securepoll-create-poll" user right to some user group.
To assign this right to administrators, add the following to your
$wgGroupPermissions['sysop']['securepoll-create-poll'] = true;
This allows all admins to create a poll, but it does not allow all admins to administer a particular poll (including editing a poll, viewing user data, etc.).
Individual admins for a particular poll are defined when creating or editing a poll.
Only members of the "
electionadmin" group may administer a poll.
To create this group, add the following to your
$wgGroupPermissions['electionadmin'] = ;
Then assign a particular user to the
electionadmin group via Special:UserRights.
Note that election admins can see voter data, so only trusted users should be assigned to this group.
If they are removed from the group, they will no longer be able to administer any elections.
Create a new poll
There are two ways to create a new poll: manually create an XML file and import it, or use the poll creation interface at Special:SecurePoll.
To create a poll manually, it is required to:
- write an XML file
- import it using the
import.phpcommand-line interface command
In the test folder you can find four example files:
To import a poll, run the following from the cli folder:
extensions/SecurePoll/cli$ php import.php ../test/3way-test.xml
Via the web interface
A user with the
securepoll-create-poll right can create a new poll via the link at the bottom of Special:SecurePoll.
To create a new poll, fill in the mandatory fields in the create form. Special care may be needed with the following fields:
- When adding poll admins, only members of the
electionadmingroup are allowed. If
$wgSecurePollUseLoggingis set to
true, it will be logged whenever an admin is added to or removed from a poll. The logs can be viewed at Special:SecurePollLog.
- To create an encrypted poll, select the radio for the encryption method. If you choose GnuPG, generate a (public) encryption key and a (private) decryption key. Enter the encryption key into the create form, and keep the private key safe somewhere offline (you will need it for tallying, once the election has finished). A detailed example can be found here.
Now visit Special:SecurePoll and you will see your poll.
Edit an existing poll
To edit a poll, you must be an admin of the particular poll. From Special:SecurePoll, click on the Edit link for the poll you want to edit.
Before an election has begun, anything about the election can be edited. After an election has begun, some fields can no longer be edited.
Edit who can vote in a poll
To edit who can vote in a poll, you must be an admin of the particular poll. From Special:SecurePoll, click on the Voter Eligibility link for the poll.
Translate a poll
To translate a poll, you must be an admin of the particular poll. From Special:SecurePoll, click on the Translate link for the poll you want to translate.
See a list of voters
Anyone can see a list of voters, unless transparency features were disabled when the poll was created.
Admins of a particular poll can see a list of voters, along with private information that may help to identify duplicate voters (e.g. IP addresses, user agent information, shared cookies).
$wgSecurePollUseLogging is set to
true, it will be logged whenever an admin views private data.
The logs can be viewed at Special:SecurePollLog.
Admins may strike any votes that they believe to be duplicates.
Tally a poll
To tally a poll, you must be an admin of the particular poll. From Special:SecurePoll, click on the Tally link for the poll you want to tally.
If the poll has been tallied before, the results will be shown on the page. If not, or if you want to re-tally, there is a form for starting a new tally.
- If the poll is unencrypted, click on the tally button.
- If the poll is encrypted, you may need to enter more information. For example, if you used GnuPG, enter the (private) decryption key and click on the tally button. If an encrypted poll has many votes, it may take a long time to tally. You may need to check back later for the results.
|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.|