Encyclopedia SpongeBobia
Encyclopedia SpongeBobia
Tag: sourceedit
Tag: sourceedit
Line 184: Line 184:
 
==Voting stage==
 
==Voting stage==
 
{{DiscussionBoxBegin}}
 
{{DiscussionBoxBegin}}
===Introduction===
+
==='''Introduction'''===
During the [[ESB:Discussions/Improvement of voting system|concern stage]] I have been improving both voting systems bit by bit, so I do not have anything to change now. However, since I cannot guarantee you have seen that latest version of both voting systems, please reconsider both of them before voting on any one of it. After maximally 10 days, we will choose the system that has greater suppport.
+
During the [[ESB:Discussions/Improvement of voting system|concern stage]] of this discussion, I have been improving both voting systems bit by bit, so I do not have anything to change now. However, since I cannot guarantee you have seen that latest version of both voting systems, please reconsider both of them before voting on any one of it. After maximally 10 days, we will choose the system that has greater suppport.
   
 
===Voting systems===
 
===Voting systems===

Revision as of 13:17, 12 December 2015

This page is a summary of the new discussion system of ESB.

Introduction

We have established policies and our own format of discussing important (or rather trivial) things at ESB over the past couple of years. We all have noticed there has been some flaws in the system. While many discussions have passed and the result has worked great, other proposals have passed that didn't have too much thought put into them.

AW10 has come up with having a "two stage" discussion format, which involves the following test discussions:

  • 1. Concern Stage - non-voting stage which allows people to give their feedback on a certain topic, so that we can collect as much information and ideas as possible before putting them into a proposal to vote on.
  • 2. Voting Stage - the voting stage is just like we have had before, but is expected to be much smoother and less controversial since all matters involving discussions were thought out and presented in the "Concern Stage."

You will also notice that AW10 has developed several templates that make the system more organized and user friendly.

So, here are the pros to the two-stage discussion format with the new system of templates:

  • Allows for more community input
  • Prevents hasty decisions
  • More organized format
  • More user friendly format

Installation

Templates needed

You need to have all of these templates created:

Template:DiscussionInstructionsSection|Concerns
Template:DiscussionInstructionsSection|Voting

Template:DiscussionConcernHeading
Template:DiscussionConcernImporter

Template:CreateNewConcernButton
Template:CreateNewVoteButton
Template:CreateNewScoreVoteButton

Template:CreateNewVoteButton/import
Template:CreateNewScoreVoteButton/import

Template:CreateNewConcernButton/Concern<1-20>
Template:CreateNewConcernButton/comment

Template:CreateNewVoteButton/support
Template:CreateNewVoteButton/oppose
Template:CreateNewVoteButton/neutral

Template:CreateNewScoreVoteButton/support<1-10>
Template:CreateNewScoreVoteButton/oppose<1-10>
Template:CreateNewScoreVoteButton/neutral0

Template:ConcernButton
Template:VoteButton
Template:ScoreVoteButton

Template:Support
Template:Neutral
Template:Oppose

Template:SupportVote
Template:NeutralVote
Template:OpposeVote

Template:DiscussionBoxBegin
Template:DiscussionBoxEnd

Template:DiscussionBoxIndentBegin
Template:DiscussionBoxIndentEnd

Template:Isnumeric
Template:RoundHalfUp

Template:Clear

CSS code needed

You need to have this CSS applyed to your wiki:

/* DiscussionButtons */
 
.voteScoreSelect {
    text-align: center;
    font-size: 12pt;
}
 
.voteScoreSelect a {
    font-size: 15px;
    color: #FFF !important;
    padding: 3px;
    text-decoration: none;
    display: inline-block;
    border: 1px solid #000;
    border-radius: 5px;
    text-align: center;
    width: 17px;
    background: #005F9C;
    font-weight: bold;
}
 
.voteButtons a, .concernButtonSmall a {
    font-size: 14px;
    color: #FFF !important;
    padding: 0 4px;
    text-decoration: none;
    display: inline-block;
    border: 1px solid #000;
    border-radius: 5px;
    text-align: center;
    background: #005F9C;
    font-weight: bold;
}
 
.concernButtonBig a {
    font-size: 16px;
    color: #FFF !important;
    padding: 2px 5px;
    text-decoration: none;
    display: inline-block;
    border: 1px solid #000;
    border-radius: 5px;
    text-align: center;
    background: #005F9C;
    font-weight: bold;
}
 
.voteScoreSelect a:hover, .voteButtons a:hover, .concernButtonSmall a:hover, .concernButtonBig a:hover {
    background: #008BE3;
}

JavaScript code needed

You need to have this JavaScript code applyed to your wiki:

if ( document.getElementById("ScoreVoteCountContainer") !== null ) {
    
    //collecting all votes
    
    var SupportVoteScores = document.getElementsByClassName("SupportVoteNum");
    var NeutralVoteScores = document.getElementsByClassName("NeutralVoteNum");
    var OpposeVoteScores = document.getElementsByClassName("OpposeVoteNum");
    
    var votesCount = SupportVoteScores.length + NeutralVoteScores.length + OpposeVoteScores.length;
    
    var votesNumSum = 0;
    
    //processing support votes
    
    for (var i = 0; i < SupportVoteScores.length; i++) {
    	if (SupportVoteScores[i].innerHTML === "NaN") {
    		votesCount--;
    	} else {
    		votesNumSum += parseInt(SupportVoteScores[i].innerHTML);
    	}
    }
    
    //prcessing oppose votes
    
    for (var i = 0; i < OpposeVoteScores.length; i++) {
    	if (OpposeVoteScores[i].innerHTML === "NaN") {
    		votesCount--;
    	} else {
    		votesNumSum -= parseInt(OpposeVoteScores[i].innerHTML);
    	}
    }
    
    //defining vote status
    
    var currentVoteScore = Math.round( (votesNumSum / votesCount) * 100 ) / 100;
    
    var currentVoteStatus = "";
    
    if ( currentVoteScore >= 1.00 ) {
    	currentVoteStatus = '<span style="font-size:15px; font-weight:normal;"><img src="http://vignette2.wikia.nocookie.net/spongebob/images/a/ab/Support.png/revision/latest/scale-to-width-down/15?cb=20140913200712" alt="Support" height="15" width="15"> Community supports proposal with score "' + currentVoteScore.toFixed(2) + '".</span>';
    } else {
    	currentVoteStatus = '<span style="font-size:15px; font-weight:normal;"><img src="http://vignette4.wikia.nocookie.net/spongebob/images/b/bc/Oppose.png/revision/latest/scale-to-width-down/15?cb=20140913200954" alt="Oppose" width="15" height="15"> Community opposes proposal with score "' + currentVoteScore.toFixed(2) + '".</span>';
    }
    
    //writing vote status to page
    
    document.getElementById("ScoreVoteCount").innerHTML = currentVoteStatus;
    
}

Voting stage

Introduction

During the concern stage of this discussion, I have been improving both voting systems bit by bit, so I do not have anything to change now. However, since I cannot guarantee you have seen that latest version of both voting systems, please reconsider both of them before voting on any one of it. After maximally 10 days, we will choose the system that has greater suppport.

Voting systems

Conventional Voting System (test page)
  • [How are we voting on a proposal?] with Support, Nuetral, Oppose, Comment
  • [How long voting stage will last?] 4 days with use of highlighted thread
  • [How the score will be counted?] score = [ count(Support) / count(Support + Oppose) ] * 100
  • [Min score for passing proposal?] score >= 70% (we count the score manually)
Non-Conventional Voting System (test page)
  • [How are we voting on a proposal?] with Support[1 to 10], Nuetral[0], Oppose[1 to 10]
  • [How long voting stage will last?] 6 days with use of highlighted thread
  • [How the score will be counted?] score = [ valueSum(Support) - valueSum(Oppose) ] / count(Support + Neutral + Oppose)
  • [Min score for passing proposal?] score >= 1.00 (JavaScript counts the score)

Conclusion

So, in "Conventional Voting System" we are looking at percentage of support votes in count of all support and oppose votes, excluding neutrals. In "Non-Conventional Voting System" we are taking into account neutral votes, but by cleverly done math, we are preventing them from drastically influence the score. You need to tons of neutrals to drastically lover the score of non-conventional voting system.