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.
Current workaround
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.
Suggestions:
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.
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.
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.
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 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.