Page MenuHomePhabricator

Consolidate secure poll documentation [8H]
Closed, ResolvedPublic

Description

Currently, there is a bunch of SecurePoll documentation all over the place:
https://www.mediawiki.org/wiki/Extension:SecurePoll
https://www.mediawiki.org/wiki/Anti-Harassment_Tools/SecurePoll_Improvements/Understanding_the_STV_result
https://www.mediawiki.org/wiki/Anti-Harassment_Tools/SecurePoll_Improvements
https://wikitech.wikimedia.org/wiki/SecurePoll

We should create a consolidated documentation section on Extension:SecurePoll page and link to all relevant docs from there - outlining what they contain.

Event Timeline

ARamirez_WMF renamed this task from Add Wikitech documentation to secure poll to Add 'how to run a board election' documentation to our secure poll documentation.Sep 3 2021, 5:57 PM
ARamirez_WMF updated the task description. (Show Details)
ARamirez_WMF renamed this task from Add 'how to run a board election' documentation to our secure poll documentation to Consolidate secure poll documentation [8H].Sep 23 2021, 8:39 PM
phuedx added a subscriber: wikitrent.
phuedx subscribed.

☝️ I noticed that this had been in Ready… for over a month. Is this ready?

@phuedx yes, I'm working on it now. I was looking up how to properly create things on a Translate wiki page, as it's more complicated than just putting in some text and hyperlinks. I haven't moved it to In Progress until my other ticket passes CR

@Niharika @ARamirez_WMF Can you guys take a look at the wording I used and let me know what you would like to say differently? Otherwise this should be good, right?

Hi @wikitrent, thank you for putting this together!

I have a question, when I worked with Securepoll, I have added a bunch more variables in my local settings to make things work. From my experience, I had a lot of trouble getting things done because I didn't know about those variables and someone eventually shared those with me to unblock my work. I would be in favor of adding those values in the documentation, I do believe there are important for anyone who is working on this extension.
What do you all think @Tchanders, @Niharika ?

These are the values:
$wgGroupPermissions['electionadmin'] = [];
$wgGroupPermissions['user']['securepoll-create-poll'] = true;
$wgGroupPermissions['sysop']['securepoll-create-poll'] = true;
$wgGroupPermissions['electionadmin']['securepoll-create-poll'] = true;
$wgSecurePollSingleTransferableVoteEnabled = true;
$wgSecurePollUseLogging = true;
$wgSecurePollShowErrorDetail = true;
$wgSecurePollUseNamespace = true;

Tally a poll
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.

Should we link to what GnuPG keys are and/or how to get one?

I'm happy to add all of these things and will defer to @Tchanders decision on including them.

Thanks for looking at this @AGueyte!

TL;DR I'm happy to move this task on as is - but I'd also welcome anyone to make improvements if you feel they're needed!

My thoughts:

$wgGroupPermissions['electionadmin'] = [];
$wgGroupPermissions['user']['securepoll-create-poll'] = true;
$wgGroupPermissions['sysop']['securepoll-create-poll'] = true;
$wgGroupPermissions['electionadmin']['securepoll-create-poll'] = true;
$wgSecurePollSingleTransferableVoteEnabled = true;
$wgSecurePollUseLogging = true;
$wgSecurePollShowErrorDetail = true;
$wgSecurePollUseNamespace = true;

I think of these, only the following are needed to make the extension work:

$wgGroupPermissions['electionadmin'] = [];
$wgGroupPermissions['sysop']['securepoll-create-poll'] = true; // Only needs assigning to one group (though doesn't need to be sysop)
$wgSecurePollSingleTransferableVoteEnabled = true;

These are already documented in the page, and I personally think they read clearly, but do you think they can be improved?

The other configs are useful to know about, depending how you want your SecurePoll instance to be set up, but there are also other useful configs that we didn't happen to need while we were working on this project (see extension.json for an exhaustive list). Some projects document all their configs or have a separate developer-setup guide, but I think this is probably beyond the scope of this task, since these configs predated our work. (Anyone should feel free to just update the docs anyway just to be helpful, but I don't think it's necessary for this task!)

Should we link to what GnuPG keys are and/or how to get one?

There is actually a link to this page buried within the "Usage" section... Do you think we should surface it more obviously?