User Details
- User Since
- Mar 4 2024, 10:20 AM (123 w, 3 d)
- Availability
- Available
- LDAP User
- Unknown
- MediaWiki User
- Driedmueller [ Global Accounts ]
Nov 8 2024
Just found out its a bug in VisualEditorPlus. Sorry for the inconvenience. Ticket can be closed.
Nov 7 2024
Aug 14 2024
Yes, i think so.
"wiki" is coming from CentralAuth. Its the wiki ID (database name).
"domain" is coming from $wgServer config. Its the base URL of the server, including protocol but without the trailing slash and without the subdirectory if any (e.g., https://www.mediawiki.org).
Jul 1 2024
I updated the existing phpunit test for tallying.
I added a comparison between the new declaredWinners array and elected winners end result array to the existing test. They have to be equal. This tests the added functionality.
However, there is no test case which could reproduce that an election outcome has been wrong without storing declared winners between rounds and would now be correct.
Im not able to create such a test case.
This bug seems to occur only on elections with thousands of votes.
Implementation is finished and ready for review: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/1049558
Jun 25 2024
Jun 19 2024
Hello!
Great that we have seperated tickets for the tasks now, thanks for that.
Jun 4 2024
Rebase done.
May 28 2024
Thanks for your answers!
May 22 2024
Ok great, then
Apr 29 2024
Apr 25 2024
Implementation is nearly finished.
This is what it looks like currently:
Apr 11 2024
I would propose not to create the independent cli/tallyBLT.php for now in a first step, rather enhance existing cli/tally.php in such way
- that there is additionally the option to use .blt as input (besides a election name or the dump from cli/dump.php)
- and additionally the option to get the result as "Opavote's Online Elections (JSON)"
Note: The other output options right now are
- HTML, which does throw an error on my machine, but i did not yet look into it (PHP Fatal error: OOUI\Exception: OOUI\Theme::singleton was called with no singleton theme set. in /app/wikimedia/vendor/oojs/oojs-ui/php/Theme.php:31)
- and default: Text, which is actually HTML
Mar 26 2024
Mar 20 2024
Im able now to reproduce the issue with both ballots and could debug the process.
The algorithm and calculations thats going on there is rather complex, so that we can not provide a solution involving mathematical magic, but we suggest to implement the first solution, like OpenSTV: persist the winners from round to round.
Ok, cool!
So then, we would implement a "most active wiki" input field on the vote page and populate it with the wikis where the user has more than X% of their edits.
I would suggest introducing a config variable to define X, e.g. with value of 10 for the wikis with more than 10% edits from the user.
The users choice is not stored, for now.
We can get the necessary data from CentralAuthUser::queryAttached method. e.g.
$centralUser = CentralAuthUser::getInstanceByName( $user->getName() ); $attached = $centralUser->queryAttached();
One technical question:
Where does the logging of the users "homewiki" actually occur in the code? We were not able to find it.
Like the data to create statistics that can be seen in recent UCoC ratification vote. Where does that come from?
In VotePage::logVote there is this snippet which inserts logging data into the database:
$dbw->insert( 'securepoll_votes', [ 'vote_election' => $this->election->getId(), 'vote_voter' => $this->voter->getId(), 'vote_voter_name' => $this->voter->getName(), 'vote_voter_domain' => $this->voter->getDomain(), 'vote_record' => $encrypted, 'vote_ip' => IPUtils::toHex( $request->getIP() ), 'vote_xff' => $xff, 'vote_ua' => $_SERVER['HTTP_USER_AGENT'], 'vote_timestamp' => $now, 'vote_current' => 1, 'vote_token_match' => $tokenMatch ? 1 : 0, 'vote_struck' => 0, 'vote_cookie_dup' => 0, ], __METHOD__ );
By looking at this, i could guess that 'vote_voter_domain' => $this->voter->getDomain() contains the info, maybe. In this case the corresponding data to create homewiki statistics is stored in the db field vote_voter_domain.
If you could point us to that, that would be really helpful :)
Mar 12 2024
Do you mean you were able to reproduce the bug?
Mar 11 2024
I tried again with dcbad8c and ba9476b58d2d (with patch given) and get the same results.
Mar 5 2024
I had a look into this topic and i would like to ask some questions / do proposals.
Mar 4 2024
I tried to reproduce the bug, but was not successful yet.
I checked out the state of the STVTallier algorithm from Aug 19, 2021 (https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/712409) to make sure the bug has not been fixed meanwhile.
I tried it with the two given ballot files (20_6_5000_1301235635.blt, 20_7_5000_425367464.blt).
For this i used the cli commands to reproduce the case:
php generateTestElection.php --ballots=/app/wikimedia/20_7_5000_425367464.blt --admins=WikiSysop --election=stv --name=TestTally php tally.php --name=TestTally
The result seems fine for me. All declared winners got carried over to later rounds.
Is there may be another (and more simple) example ballot, with which the bug could be reproduced?
