Why
It seems to me that there are 2 kinds of SecurePoll tasks for election administrators:
- Technical folks that will need to create and edit polls, who may not necessarily be a functionary/checkuser/NDA, and who you may not want looking at voter data, but still need to create and edit polls.
- Scrutineers who will be a functionary/checkuser/NDA/very trusted user, who is trusted to view checkuser-like data on each voter.
Following the setup instructions at https://www.mediawiki.org/wiki/Extension:SecurePoll#Installation, the current system blends technical folks (admins) and scrutineers (electionadmins), by only allowing the scrutineer type folks (electionadmins) to edit polls.
With T301180: Allow local wikis to set up elections starting to be implemented, it may make sense to clean up this division of roles. So that someone technical like me can set up and edit polls, and the scrutineers who have a completely different role can be completely separate.
What
- Create a new permission called securepoll-edit-poll. And the only thing they can do is edit polls to which they've been added during the poll creation process.
Possible follow-up work
- On the add and edit poll pages, split the "Admins" oo-ui-tagMultiselectWidget into two oo-ui-tagMultiselectWidgets: "Poll editors" and "Scrutineers". Change the permissions check for each appropriately. I'd recommend that "poll editors" must have the securepoll-edit-poll permission, and the scrutineers must have the securepoll-view-voter-pii permission. Only the "Poll editor" field would require at least one person at all times. Scrutineers could be left blank / added later by the user. Having the same person added to both fields should be allowed, assuming they have both appropriate permissions.
- Update instructions at https://www.mediawiki.org/wiki/Extension:SecurePoll#Installation to suggest adding $wgGroupPermissions['electionadmin']['securepoll-edit-poll'] = true;. So then any administrator can be added to the list of "Poll editors". They don't need to view PII, so this should be fine.
- On the appropriate wikis (votewiki, etc.), add a user group called scrutineer, that only has access to securepoll-view-voter-pii. Then change electionadmin to only have access to securepoll-create-poll and securepoll-edit-poll. Then clean up which users are in which groups. Some users may need to be added to both groups.
