How Voting Works: Difference between revisions
From MusicBrainz Wiki
Jump to navigationJump to search
((Imported from MoinMoin)) |
(Fixed 1st 2 sections: terminology, no more grace period,& algorithm order error. (Imported from MoinMoin)) |
||
Line 6: | Line 6: | ||
==Preface== |
==Preface== |
||
* Edits are |
* Edits are kept open for either 4 or 14 days, depending on the [[Data Quality|DataQuality]] setting for the artist or release. |
||
* Edits with as many <code><nowiki>Yes</nowiki></code> as <code><nowiki>No</nowiki></code> votes are generally considered failed and not applied by the <code><nowiki>ModBot</nowiki></code>. |
* Edits with as many <code><nowiki>Yes</nowiki></code> as <code><nowiki>No</nowiki></code> votes are generally considered failed and not applied by the <code><nowiki>ModBot</nowiki></code>. |
||
Line 12: | Line 12: | ||
Every hour, the server runs the following algorithm, applying it to each open edit in turn. In the text below, '''EXIT''' means that the fate of the edit in question has been determined, the <code><nowiki>ModBot</nowiki></code> turns its attention to the next open edit. <small>by [[User:DaveEvans|DaveEvans]] </small> |
Every hour, the server runs the following algorithm, applying it to each open edit in turn. In the text below, '''EXIT''' means that the fate of the edit in question has been determined, the <code><nowiki>ModBot</nowiki></code> turns its attention to the next open edit. <small>by [[User:DaveEvans|DaveEvans]] </small> |
||
# If the editor has |
# If the editor has cancelled the edit, it will be deleted. '''EXIT'''. |
||
# There is then some logic to do with dependencies between edits, there are 3 possible outcomes of the dependency checks |
# There is then some logic to do with dependencies between edits, there are 3 possible outcomes of the dependency checks |
||
#* <code><nowiki>ModBot</nowiki></code> determines that the edit fails due to ''Failed Prerequisite'' '''EXIT''' |
#* <code><nowiki>ModBot</nowiki></code> determines that the edit fails due to ''Failed Prerequisite'' '''EXIT''' |
||
Line 18: | Line 18: | ||
#* The outcome of the check does not require any action, and the <code><nowiki>ModBot</nowiki></code> continues to process the edit... |
#* The outcome of the check does not require any action, and the <code><nowiki>ModBot</nowiki></code> continues to process the edit... |
||
⚫ | |||
⚫ | |||
⚫ | |||
<ul><li style="list-style-type:none">''(Fact of lost vote is given because won votes are applied in the step before, and the exit conditon being reached)'' |
|||
</ul> |
|||
## By now the <code><nowiki>ModBot</nowiki></code> knows that the edit in question has expired (more than 7 days old) and nobody has voted on it. |
|||
## If the edits' '''grace period''' has expired (older than 14 days), then the edit is ''Applied'' (since no-one was apparently interested either way). '''EXIT'''. |
|||
## By now the <code><nowiki>ModBot</nowiki></code> knows that it is dealing with an edit between 7 and 14 days old, and with no votes so far. |
|||
## Each edit is associated with one artist. If that artist has no subscribers (excluding the original editor), then the edit is ''Applied''. '''EXIT'''. |
|||
## Otherwise, it continues... |
|||
# By now it is either dealing with an edit less than 7 days old, or one 7-14 days old with no votes. |
|||
# If there are at least 3 <code><nowiki>Yes</nowiki></code> votes and 0 <code><nowiki>No</nowiki></code> votes, the vote is deemed to be unanimous, and the edit is applied, and is ''Applied''. '''EXIT'''. |
# If there are at least 3 <code><nowiki>Yes</nowiki></code> votes and 0 <code><nowiki>No</nowiki></code> votes, the vote is deemed to be unanimous, and the edit is applied, and is ''Applied''. '''EXIT'''. |
||
# If there are at least 3 <code><nowiki>No</nowiki></code> votes and 0 <code><nowiki>Yes</nowiki></code> votes, the vote is deemed to be unanimous, and the edit is failed due to <code><nowiki>Failed Vote</nowiki></code>. '''EXIT'''. |
# If there are at least 3 <code><nowiki>No</nowiki></code> votes and 0 <code><nowiki>Yes</nowiki></code> votes, the vote is deemed to be unanimous, and the edit is failed due to <code><nowiki>Failed Vote</nowiki></code>. '''EXIT'''. |
||
⚫ | |||
# Otherwise, the edit stays open for now. |
|||
⚫ | |||
## If there are MORE <code><nowiki>No</nowiki></code> votes than <code><nowiki>Yes</nowiki></code> votes, then the edit is failed due to ''Failed Vote''. '''EXIT'''. |
|||
⚫ | ## If the edit has at least two <code><nowiki>Yes</nowiki></code> or <code><nowiki>No</nowiki></code> votes, and the same number of <code><nowiki>Yes</nowiki></code> and <code><nowiki>No</nowiki></code> votes (<code><nowiki>Abstain</nowiki></code> are ignored), then the edit is failed due to ''Failed Vote''. '''EXIT'''. |
||
## If there are no <code><nowiki>Yes</nowiki></code> or <code><nowiki>No</nowiki></code> votes, the edit is ''Applied''. |
|||
# Otherwise, the edit stays open for now. Note that the number of required votes for the above conditions is different if the artist or release is set to either '''High''' or '''Low''' Data Quality. These numbers assume that the artist or release is set to the '''Normal''' Data Quality setting. |
|||
==Algorithm for Expired Edits== |
==Algorithm for Expired Edits== |
Revision as of 06:46, 25 June 2007
How Votes on Edits are processed
- Status: This page is work in progress and NeedsEditing and NeedsIntertwingling quite badly. I just gathered some information that went over the MailingList, so that it would not be lost. It partially duplicates Information which is on the FAQ. That stuff should probably get moved here --DonRedman
Preface
- Edits are kept open for either 4 or 14 days, depending on the DataQuality setting for the artist or release.
- Edits with as many
Yes
asNo
votes are generally considered failed and not applied by theModBot
.
Algorithm for closing edits
Every hour, the server runs the following algorithm, applying it to each open edit in turn. In the text below, EXIT means that the fate of the edit in question has been determined, the ModBot
turns its attention to the next open edit. by DaveEvans
- If the editor has cancelled the edit, it will be deleted. EXIT.
- There is then some logic to do with dependencies between edits, there are 3 possible outcomes of the dependency checks
ModBot
determines that the edit fails due to Failed Prerequisite EXITModBot
determines that the edit stays "Open" EXIT- The outcome of the check does not require any action, and the
ModBot
continues to process the edit...
- If there are at least 3
Yes
votes and 0No
votes, the vote is deemed to be unanimous, and the edit is applied, and is Applied. EXIT. - If there are at least 3
No
votes and 0Yes
votes, the vote is deemed to be unanimous, and the edit is failed due toFailed Vote
. EXIT. - If the edit has expired (older than 14 days (4 days if at Low Quality)), then:
- If there are MORE
Yes
votes thanNo
votes, then the edit is Applied. EXIT. - If there are MORE
No
votes thanYes
votes, then the edit is failed due to Failed Vote. EXIT. - If the edit has at least two
Yes
orNo
votes, and the same number ofYes
andNo
votes (Abstain
are ignored), then the edit is failed due to Failed Vote. EXIT. - If there are no
Yes
orNo
votes, the edit is Applied.
- If there are MORE
- Otherwise, the edit stays open for now. Note that the number of required votes for the above conditions is different if the artist or release is set to either High or Low Data Quality. These numbers assume that the artist or release is set to the Normal Data Quality setting.
Algorithm for Expired Edits
The algorithm for expired edits is the following (translated from ModBot.pm to pseudo code) by MatthiasFriedrich on the mailing list
IF someone voted yes or no; THEN IF yes_votes > no_votes; THEN apply() # and '''EXIT''' ELSE fail() # and '''EXIT''' FI FI # At this point, we only have expired mods that nobody voted on # yet. Abstains are not counted IF grace period has expired; THEN # grace period is another week apply() # and '''EXIT''' ELSE # grace period has not expired yet IF the mod submitter is the only subscriber; THEN apply() # and '''EXIT''' FI FI
Original version: -