It appears that Moderators are unable to correct poll results.
This means an important forum poll can easily be compromised by one or more forum members using inappropriate accounts to vote. It’s frustrating to know with certainty that specific votes are invalid, but to be unable to remove them. As a result, the votes, totals, percentages and positions within the poll may all be displayed incorrectly for the remainder of the polls life.
- Use your own votes to correct if possible (can do this once).
- Apologuise within the poll thread and explain that the poll totals above are incorrect.
- Allow moderators / Admins to edit votes, but specify when that option has been set and/or used.
- Optionally track any poll changes by staff, under the poll for transparency.
That opens a BIG can of worms.
“Correct” poll results
Who decides what is correct? As @codinghorror said this is a swimming pool of worms.
Unless you’re implementing a fully auditable voting system, you’re always going to be able to be gamed.
What makes an account inappropriate? Sock puppets? Delete them. (Does that remove votes? Probably.)
If you’re trying to raise the bar to make ballot stuffing more difficult, perhaps restricting votes to trust levels (e.g. TL2) suits your needs.
Another option if you want full transparency is to have participants publicly vote.
Our votes were public, which is how I was able to identify the inappropriate votes.
And removing a member’s account doesn’t remove their vote from the poll.
If we can’t fix known issues within a poll, then it forces us to use an external polling site for larger forum-wide polls, which is a shame as it’s a less seamless experience & some members won’t bother to visit an external link to vote, or to watch progress after voting. I’d rather use Discourse.
Over the years, there’s been many times when polls require correction. eg: Vbulletin allowed us to correct voting when required.
This could go either way in my mind.
Editing a poll could be seen as being very similar to editing any other content on the site (which admins, mods, etc are allowed to do), and as long as there’s visible indication of the action taken ("$ADMIN removed the votes of $USER1, $USER2, and $USER3. Reason: Sockpuppets"), it’s not significantly more worm-y than any of the other permissible editing going on.
On the other hand, there’s nothing (AFAIK) about a poll that makes it absolutely essential that the results are completely accurate (if you’re wiring up some automatic action to take place based purely on the results of a poll, you’re gonna have a bad time). Thus, it would seem to be entirely reasonable for admins to create another post, announcing the revised results, with explanation of why they differ from the poll’s own numbers.
If the forum members really care about the results of a poll and/or are in a competition with each other within the poll, then they want the results shown to be as accurate as possible.
Otherwise some may think they’re about to win, when they’re not.
And there could potentially be prizes and/or recognition at stake.
Also, it’s not “professional” to be forced to correct the results lower in the thread & to apologise for the poll being wrong.
If I recall correctly, we don’t remove the votes.
Maybe we should run a poll to see if admins should be able to edit polls…
This will raise the stakes such that users will try harder to obfuscate the identities of the sock puppets, making your job more difficult. The REALLY enterprising ones will automate this task (e.g. spin up a digital ocean droplet for each account creation such that they’re all coming from different IPs).
I worry about this ending up in an arms race; solving behavioural problems with technology is Hard.
Is that the sole problem? Sock puppet accounts?
Maybe we just don’t see the utility of it as much, do you have a concrete example you should show us?
I think this makes sense.
Concerning the rejoinder(s)
I think that regardless of whether it was possible to change the results directly, there will always potentially be points at which the poll is incorrect. It would be more unprofessional to edit the results of a poll without posting an explanation. The more transparency the better as far as polling is concerned I reckon.
That said, as has been alluded to, there is a difference between being able to edit poll results directly and removing a user’s votes if the user is deleted. Also, having the correct count for posterity is useful, particularly if the poll is being used for sensitive things like an election (i.e. in the context of my elections plugin).
Given that I also have a need for having the ability to remove a user’s votes when deleting their account, so I’ve made a plugin that extends the polls plugin.
x-discourse-poll adds a total count of a user’s poll votes to the admin user view and a ‘delete all poll votes’ action.
‘Delete all poll votes’ is similar to the ‘delete all posts’ action in structure.
For the deletion of poll votes it uses a background job to
- remove all votes of the user;
- update the votes count for the relevant poll options; and
- update the the voter count for relevant polls.
I’ve tested it with all 3 vote types.
By default the action is restricted to admins. The plugin has a setting -
poll_allow_moderators_to_delete_votes - to allow mods to perform the action.
When the action is taken a staff action is logged with the details of all poll votes deleted.
The details contains a list with post_id, poll_id and option_id of each vote deleted.