Page MenuHomePhabricator

Use SecurePoll for enwiki's admin election (Fri Oct 25, 2024 - Thu Oct 31, 2024)
Closed, ResolvedPublic

Assigned To
Authored By
Novem_Linguae
Jul 31 2024, 5:52 AM
Referenced Files
F57640823: image.png
Fri, Oct 25, 12:08 AM
F57640807: image.png
Thu, Oct 24, 11:52 PM
F57640781: UserListSecurePoll
Thu, Oct 24, 11:42 PM
F57640706: image.png
Thu, Oct 24, 10:56 PM
F57630659: UserListSecurePoll
Oct 21 2024, 2:44 PM
F57611373: image.png
Oct 13 2024, 5:01 PM
Tokens
"Party Time" token, awarded by HouseBlaster.

Description

Background
An enwiki RFC recently achieved consensus for one trial "admin election" using SecurePoll software. This will be enwiki's first time hosting an admin election on SecurePoll software. @Novem_Linguae is currently the primary person planning out election details. Novem Linguae has communicated with Tom Paine in Trust & Safety ticket 76312 and received an entry in the SecurePoll calendar for this. T&S help with facilitating this one-time election would be greatly appreciated.

Tom Paine in Trust & Safety ticket 76312 on Jun 25, 2024, 05:01 PDT:

Oct 25 - Thu Oct 31 seems okay to me. I actually grabbed a slot for this in the Securepoll calendar right after you followed up but forgot to update you. Please feel free to open a ticket on phabricator ticket to coordinate better

Documentation

SecurePoll todo list

  • eligible voter list file: [add link here around Sep 25]
  • admin election candidates: [add names here around Oct 15]
  • create SecurePoll election for enwiki to run Fri Oct 25 - Thu Oct 31

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Hello friends. Just giving this ticket a bump since the election is coming up in about a month. We will start working on the eligible voter list now and will post that shortly. Thank you.

Hey @Nahid. I thought of a couple questions when you get a minute.

  • How many days in advance do you need the eligible voter list and candidate names in order to set everything up for a first day of election on Fri Oct 25?
  • Do you need anything else from me besides the eligible voter list and candidate names?

Thanks a lot. Looking forward to your feedback.

Sorry for replying late. I somehow missed it.

  • At least two days would give us some window but this can be added anytime.
  • I think the list is the only thing that we need before starting the election, and I guess we can discuss how you want the ballot to be set up closer to the election.

Reassigning the task to Joe as I will be out until 27th of October.

Adding myself to the ticket as I will be supplying the voter rolls.

Howdy folks. What's the best poll type if we want to list around 10-20 candidates and put support/neutral/oppose radio buttons next to each of them, then get a count at the end of supports/neutrals/opposes for each candidate? The pass criteria is going to be 70% support / (support + oppose) so whatever gives us the data we need to figure that out :)

@Novem_Linguae you want to use the same mechanism as the 2023 enwiki arbcom election correct? If so that was:

  • ballot: "radio-range"
  • tally: "histogram-range"

@Novem_Linguae you want to use the same mechanism as the 2023 enwiki arbcom election correct? If so that was:

  • ballot: "radio-range"
  • tally: "histogram-range"

Thanks! So at Special:SecurePoll/create, under poll type, I should select "range voting (histogram range)"?

Where do I pick ballot radio-range? I don't see the option.

Are there notes somewhere that can be linked to about how exactly the arbcom election SecurePolls are set up?

Normally the WMF resource does this task on votewiki, as they also need to deal with the encryption stuff

@Novem_Linguae you want to use the same mechanism as the 2023 enwiki arbcom election correct? If so that was:

  • ballot: "radio-range"
  • tally: "histogram-range"

Thanks! So at Special:SecurePoll/create, under poll type, I should select "range voting (histogram range)"?

Where do I pick ballot radio-range? I don't see the option.

Are there notes somewhere that can be linked to about how exactly the arbcom election SecurePolls are set up?

Hmm you don't yet have access to votewiki so I don't know where you are attempting to set this up :)

I can do it for you and provide you the rights to make changes to the election.

Just poking around SecurePoll in my localhost. I'm happy to leave WMF T&S to creating the actual election in a week or two. But so I can be a better software engineer for Extension:SecurePoll, I'm trying to get my head wrapped around the different election types and how I would hypothetically configure this one.

Just poking around SecurePoll in my localhost. I'm happy to leave WMF T&S to creating the actual election in a week or two. But so I can be a better software engineer for Extension:SecurePoll, I'm trying to get my head wrapped around the different election types and how I would hypothetically configure this one.

I can help with that. I've assisted with setting up the ArbCom elections on SecurePoll. :-)

I can help with that. I've assisted with setting up the ArbCom elections on SecurePoll. :-)

Thanks! I might contact you on your user talk or somewhere else with that since this ticket has 19 watchers.

Looks like zhwiki's election is scheduled to collide with ours. T377014. WMF T&S, got any comment on that? I of course would prefer not to move enwiki's election dates since we've been in the calendar for months. But if we do have to change the dates, let's figure it out right away so proper announcements can be made.

Just poking around SecurePoll in my localhost. I'm happy to leave WMF T&S to creating the actual election in a week or two. But so I can be a better software engineer for Extension:SecurePoll, I'm trying to get my head wrapped around the different election types and how I would hypothetically configure this one.

Gotcha! Sorry, just wanted to make sure we were doing stuff in the right place. I've created the basic poll on SecurePoll. @Novem_Linguae , can I just confirm that you're the one responsible for the setup etc? If so I can add you to the election there.

T&S can also do the encryption for this if you'd like, similar to how the ArbCom elections work with us as a third-party holder of the decryption key.

Looks like zhwiki's election is scheduled to collide with ours. T377014. WMF T&S, got any comment on that? I of course would prefer not to move enwiki's election dates since we've been in the calendar for months. But if we do have to change the dates, let's figure it out right away so proper announcements can be made.

We can hold both at the same time. The only issue would be if zhwiki wanted to change the site language to zh, which is something that can't be configured per-election. If that's not necessary for them there's no issue. cc @Stang for their awareness.

Gotcha! Sorry, just wanted to make sure we were doing stuff in the right place. I've created the basic poll on SecurePoll. @Novem_Linguae , can I just confirm that you're the one responsible for the setup etc? If so I can add you to the election there.

T&S can also do the encryption for this if you'd like, similar to how the ArbCom elections work with us as a third-party holder of the decryption key.

Sure. Whatever is normal. Does that mean I need to go in and add all the candidates and upload the voter list and all that? I'd also be happy to provide that info in this ticket and then WMF T&S does the SecurePoll setup if that is the more "normal" way to do it.

Yeah, I think it'd be a good idea for WMF T&S to handle the encryption key part. Encryption by a trusted third party might be overkill (I don't think WMF sysadmins are going to go peeking at/changing the results in SQL), but if it increases voter confidence in the process, sure why not.

Yes, generally WMF will set up the election and will load the candidate names when provided. Then an election admin can add the electoral roll (voter whitelist), or the roll can be given to them to do.

FYI: SP doesn't support the feature being asked about "add a column sorter for options" - a feature request would be needed for that:

image.png (357×360 px, 15 KB)

When a voter first loads the vote page, if we configure each candidate to have the options support, abstain, and oppose, how will defaults work? Does WMF T&S have a way to set no radio button selected as the default? Do they have to set "abstain" be the default?

You will get 3 columns, values -1,0,1; labeled however you want them. One of them must be specified as the default. Unless otherwise specified in your rules, it should be the abstain/neutral one. (So if all someone does is open and submit the ballot, it is all abstains).

One of them must be specified as the default.

This is actually untrue, you can just leave no value as the default and it will force users to select an option for each candidate. See T326412

Just to clarify, here is what we need now:

  • Voter list (I assume this will be gathered and provided by @Cyberpower678 )
  • Text for the election - this is documented in the section confusingly titled "Translations" here: https://wikitech.wikimedia.org/wiki/SecurePoll#Translations
    • The key thing here would be if there's any "intro" text, i.e. the stuff that a voter will see at the top of the ballot, and if you want any changes to the regular "jump text" etc.
  • OpenSSL key pairs (T&S will generate those but this hasn't happened just yet. That's a five-minute job though)
  • Whether or not you want a default option to be set. There are pros and cons to this, since I think a voter will need to select "neutral" for every candidate manually if they don't want to support or oppose. I haven't tested what actually happens in the instance where a voter selects no option though; I can do some work on that as well.

I have set the candidates to appear with wikilinks to their nomination pages; if you don't want that and would prefer a plaintext candidate name I can remove those.

Links to the candidate pages sound fine to me. Thanks for checking.

Thanks for the setup you've already done at https://vote.wikimedia.org/wiki/SecurePoll:1691 and https://vote.wikimedia.org/wiki/SecurePoll:1691/msg/en. Some recommended adjustments:

  • I only see 14 of the 36 candidates listed. When you get a chance, can you please add the additional candidates? Here's the complete list. The call for candidates closed yesterday so I anticipate no further changes. Source: https://en.wikipedia.org/wiki/Wikipedia:Administrator_elections/October_2024/Call_for_candidates
    • Queen of Hearts
    • EggRoll97
    • SheriffIsInTown
    • Rsjaffe
    • Leonidlednev
    • Zippybonzo
    • Joseywales1961
    • MarcGarver
    • Iwaqarhashmi
    • NoobThreePointOh
    • ThadeusOfNazereth
    • SilverLocust
    • Ahecht
    • Hawkeye7
    • Sable232
    • Mdewman6
    • Starship.paint
    • Frost
    • The Squirrel Conspiracy
    • AntiDionysius
    • Dr vulpes
    • Valenciano
    • Sohom Datta
    • SWinxy
    • FOARP
    • LindsayH
    • Velella
    • Robert McClenon
    • SD0001
    • DoubleGrazing
    • Pbritti
    • Knightoftheswords281
    • Pharaoh of the Wizards
    • Bastun
    • Peaceray
    • Spy-cicle
  • Can we change column0 "Neutral" to "Abstain"?
  • Can we have "Abstain" ticked by default for everyone? I think it may already be (default-score "0"), but double checking would be great.
  • Can we make sure the candidates are scrambled? I think it may already be (shuffle-options "1"), but double checking would be great.
  • The scrutineers will be stewards Johannes89, EPIC, and Yahya. Should they be added as election admins?
  • Yes, Cyberpower678 will provide the voter rolls. I pinged him about this onwiki earlier today, so hopefully that process will get started soon.
  • Will take a look at https://wikitech.wikimedia.org/wiki/SecurePoll#Translations and post suggestions in a day or two if that's OK :)

Thanks a lot. Looking forward to your feedback.

Links to the candidate pages sound fine to me. Thanks for checking.

Thanks for the setup you've already done at https://vote.wikimedia.org/wiki/SecurePoll:1691 and https://vote.wikimedia.org/wiki/SecurePoll:1691/msg/en. Some recommended adjustments:

All done.

  • Yes, Cyberpower678 will provide the voter rolls. I pinged him about this onwiki earlier today, so hopefully that process will get started soon.

Cool!

No rush.

Note that Joseywales1961 withdrew.

Note that Joseywales1961 withdrew.

Couple of things here:

  • Withdrawn candidates in general: do you want to just strike them and keep on ballot, remove them if they withdraw before the election?
  • Is there a POC I can add on vote wiki who’s on the ANPDP noticeboard?

I think we can remove withdrawn candidates completely if that sounds OK.

I am not under NDA yet. Am happy to sign, or we can pick someone else (maybe Xaosflux or Cyberpower678).

Agree that removing candidates that have withdrawn prior to voting beginning is appropriate. C678 may be best for handling the whitelist that he is generating.

Hey Joe,

How are you? I hope you had a great weekend. Before I forget, below are the "translations" we can program into SecurePoll.

  • messages: intro -
[[:w:en:Wikipedia:Administrator elections|Election main page]] • [[:w:en:Wikipedia talk:Administrator elections|Report problems or issues]]

'''''Instructions'''''
*'''Use the radio buttons.''' Please use the radio buttons below to indicate your preference for each candidate with "Support", "Oppose", or “Abstain”. An “Abstain” vote does not affect the outcome in any way.
*'''Vote in a single sitting.''' Voting must be done in a single sitting. 
*'''You may change your vote by starting over.''' After your vote has been accepted, you may change your vote any time before the close of voting. To do so, reuse the voting interface and a fresh default ballot page will be displayed. You will need to complete the process again from scratch. For this reason, consider keeping a private record of your vote. Your new ballot page will override the old one.
  • messages: jump-text - This poll is set up for the 2024 English Wikipedia Administrator Election. Please click the button below to be sent to the secure voting server. Please note that when you vote certain information including your IP address and user agent will be collected to allow scrutineers to ensure the integrity of the vote. That information will be deleted 90 days after the election concludes and will only be visible to scrutineers and staff election advisors
  • messages: return-text - 2024 English Wikipedia Administrator Election
  • messages: unqualified-error - Your account does not meet the requirements to vote in this election. If you believe you are receiving this message in error, please post on the [[:w:en:Wikipedia talk:Administrator elections|election talk page]].
  • questions: messages: text - 2024 English Wikipedia Administrator Election candidates

I believe @Cyberpower678 is working on the voter rolls and will post those here as soon as he has them.

Just to confirm, the vote link will end up being https://vote.wikimedia.org/wiki/Special:SecurePoll/vote/1691 ?

Thanks a lot. Looking forward to your feedback.

Hey Joe,

How are you? I hope you had a great weekend. Before I forget, below are the "translations" we can program into SecurePoll.

  • messages: intro -
[[:w:en:Wikipedia:Administrator elections|Election main page]] • [[:w:en:Wikipedia talk:Administrator elections|Report problems or issues]]

'''''Instructions'''''
*'''Use the radio buttons.''' Please use the radio buttons below to indicate your preference for each candidate with "Support", "Oppose", or “Abstain”. An “Abstain” vote does not affect the outcome in any way.
*'''Vote in a single sitting.''' Voting must be done in a single sitting. 
*'''You may change your vote by starting over.''' After your vote has been accepted, you may change your vote any time before the close of voting. To do so, reuse the voting interface and a fresh default ballot page will be displayed. You will need to complete the process again from scratch. For this reason, consider keeping a private record of your vote. Your new ballot page will override the old one.
  • messages: jump-text - This poll is set up for the 2024 English Wikipedia Administrator Election. Please click the button below to be sent to the secure voting server. Please note that when you vote certain information including your IP address and user agent will be collected to allow scrutineers to ensure the integrity of the vote. That information will be deleted 90 days after the election concludes and will only be visible to scrutineers and staff election advisors
  • messages: return-text - 2024 English Wikipedia Administrator Election
  • messages: unqualified-error - Your account does not meet the requirements to vote in this election. If you believe you are receiving this message in error, please post on the [[:w:en:Wikipedia talk:Administrator elections|election talk page]].
  • questions: messages: text - 2024 English Wikipedia Administrator Election candidates

I believe @Cyberpower678 is working on the voter rolls and will post those here as soon as he has them.

Just to confirm, the vote link will end up being https://vote.wikimedia.org/wiki/Special:SecurePoll/vote/1691 ?

Thanks a lot. Looking forward to your feedback.

Actually, no, the link will be https://en.wikipedia.org/wiki/Special:SecurePoll/vote/812. Not confusing at all right? ;-)

Here's the attached voter roll.

  • Can we make sure the candidates are scrambled? I think it may already be (shuffle-options "1"), but double checking would be great.

Just want to note that with such a large candidate list, shuffling might be annoying for voters who only intend to vote on some of the users and want to leave the rest on neutral. That's at least what some people said about the U4C election. There is unfortunately no sorting option, if I want to see the candidate list in alphabetical order instead of shuffled.

Just want to note that with such a large candidate list, shuffling might be annoying for voters who only intend to vote on some of the users and want to leave the rest on neutral. That's at least what some people said about the U4C election. There is unfortunately no sorting option, if I want to see the candidate list in alphabetical order instead of shuffled.

I personally agree with you and I would prefer alphabetical order, but it's not my decision, it's a talk page consensus. Please feel free to weigh in at https://en.wikipedia.org/wiki/Wikipedia_talk:Administrator_elections#Should_candidates_be_shuffled%3F

SheriffIsInTown dropped out tonight. So as a recap of what's still pending...

  1. Programming in the 5 messages mentioned a couple posts above
  1. Programming in the voter eligibility list that Cyberpower678 provided above
  1. Removing SheriffIsInTown as a candidate

After that we should be all up to date. 3 days until launch.

SheriffIsInTown dropped out tonight. So as a recap of what's still pending...

  1. Programming in the 5 messages mentioned a couple posts above
  1. Programming in the voter eligibility list that Cyberpower678 provided above
  1. Removing SheriffIsInTown as a candidate

After that we should be all up to date. 3 days until launch.

All three of these are now done.

Just want to note that with such a large candidate list, shuffling might be annoying for voters who only intend to vote on some of the users and want to leave the rest on neutral. That's at least what some people said about the U4C election. There is unfortunately no sorting option, if I want to see the candidate list in alphabetical order instead of shuffled.

I personally agree with you and I would prefer alphabetical order, but it's not my decision, it's a talk page consensus. Please feel free to weigh in at https://en.wikipedia.org/wiki/Wikipedia_talk:Administrator_elections#Should_candidates_be_shuffled%3F

Just for the record they are presently shuffled, so will be randomised each time the ballot is loaded. We can change this but it is quite tedious to do so (we would need to manually cut and paste the candidates into a different order; you can't drag them around), so if consensus heads that way I'd appreciate a heads up.

Iwaqarhashmi withdrew today. We should delete from the ballot when we get a chance.

Iwaqarhashmi withdrew today. We should delete from the ballot when we get a chance.

Done.

@jrbs . Thanks for all your work so far.

I get "This election has not yet started. It is scheduled to start on 25 October 2024 at 00:00." when I go to https://en.wikipedia.org/wiki/Special:SecurePoll/vote/812

I think you somehow got omitted from the voter roll - your name isn't at https://vote.wikimedia.org/wiki/SecurePoll:1691/list/need-list either.

I'll email @Cyberpower678. I hope this doesn't mean that the voter roll script forgot a block of voters.

On the bright side it is pretty trivial to add voters to the election after it has started. I'll await Cyberpower's response before manually adding you in case there was a larger issue with the generation

I get "This election has not yet started. It is scheduled to start on 25 October 2024 at 00:00." when I go to https://en.wikipedia.org/wiki/Special:SecurePoll/vote/812

I think you somehow got omitted from the voter roll - your name isn't at https://vote.wikimedia.org/wiki/SecurePoll:1691/list/need-list either.

I’m getting the message that the vote hasn’t started yet. Gotta check the list. You should be on it. Are you signed in to the correct account t?

Can confirm SQL is marking you as eligible. Checking filters...

I don't see anything in the program that should be excluding you. None of the set filters in the script applies to you.

And yet it still is. This script has not been altered over the years. I see no reason why it's excluding you.

I informally polled like 10 people on Discord just now, and none of them are having the same problem. So phew. Hopefully only affects a small number of people.

I've created https://en.wikipedia.org/wiki/Wikipedia_talk:Administrator_elections#%22Sorry%2C_you_are_not_in_the_predetermined_list_of_users_authorized_to_vote_in_this_election%22 to serve as a list of people this affects. If more people add themselves to this list, maybe we can keep an eye on it and see if a pattern emerges.

Oh whoops. I'm excluding users in the category "Users_who_do_not_wish_to_receive_ACE_messages"

You appear to be in that category.

List is regenerating right now. Should be able to get in under the wire.

Groovy. Now that we have root cause figured out, the rest is easy :)

(Gentle reminder that 22 people are receiving an email every time someone comments here ;) )

(Gentle reminder that 22 people are receiving an email every time someone comments here ;) )

Even when I edit them?

Update lists{F57640781}

Awesome! Updated the list with this.

(Gentle reminder that 22 people are receiving an email every time someone comments here ;) )

Even when I edit them?

No, but just in general we should be careful not to accidentally flood people's inboxes.

Looks good! Thanks for the quick response everyone.

image.png (756×2 px, 193 KB)

I did a test vote. Looks good.

I did a check and the candidate list looks correct.

There's a bunch of unrendered HTML on the "summary of your vote" page. But to fix that we'd have to un-hyperlink all the candidates. I guess just leave as is.

Is "Choose your most active wiki" supposed to be in there? I wasn't expecting that, the question doesn't seem needed, and if there's a way to remove it I'd be OK with that.

image.png (161×1 px, 11 KB)

Someone should probably file a separate task for the vote summary not rendering links.

I voted, and I can reproduce it too

There's a bunch of unrendered HTML on the "summary of your vote" page. But to fix that we'd have to un-hyperlink all the candidates. I guess just leave as is.

That is pretty annoying, for sure. I'll file another task but probably not something we can fix while this is ongoing

Is "Choose your most active wiki" supposed to be in there? I wasn't expecting that, the question doesn't seem needed, and if there's a way to remove it I'd be OK with that.

image.png (161×1 px, 11 KB)

There is T373950 for that.

According to https://meta.wikimedia.org/w/index.php?title=Steward_requests/Miscellaneous&diff=prev&oldid=27702672, the stewards are done with scrutineering. Next steps are for WMF T&S to decrypt the votes, and then for someone to post the official results at https://en.wikipedia.org/wiki/Wikipedia:Administrator_elections/October_2024/Results. Then if we are copying ACE, we will have each of the 3 stewards sign the results page to "certify" the results.

I can post the preliminary results there and the Stewards can certify them, that's probably the ideal way to resolve this

I believe the passing percentage is 70%?

You posted the results logged out.

You posted the results logged out.

Belated oops. :) I blame T372702