<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Voting</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="The Bugzilla Guide - 2.20.1 
    Release"
HREF="index.html"><LINK
REL="UP"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="PREVIOUS"
TITLE="Flags"
HREF="flags-overview.html"><LINK
REL="NEXT"
TITLE="Quips"
HREF="quips.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide - 2.20.1 
    Release</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="flags-overview.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Administering Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="quips.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="voting"
>3.8. Voting</A
></H1
><P
>Voting allows users to be given a pot of votes which they can allocate
    to bugs, to indicate that they'd like them fixed. 
    This allows developers to gauge
    user need for a particular enhancement or bugfix. By allowing bugs with
    a certain number of votes to automatically move from "UNCONFIRMED" to
    "NEW", users of the bug system can help high-priority bugs garner
    attention so they don't sit for a long time awaiting triage.</P
><P
>To modify Voting settings:</P
><P
></P
><OL
TYPE="1"
><LI
><P
>Navigate to the "Edit product" screen for the Product you
        wish to modify</P
></LI
><LI
><P
><EM
>Maximum Votes per person</EM
>:
        Setting this field to "0" disables voting.</P
></LI
><LI
><P
><EM
>Maximum Votes a person can put on a single
         bug</EM
>: 
         It should probably be some number lower than the
        "Maximum votes per person". Don't set this field to "0" if
        "Maximum votes per person" is non-zero; that doesn't make
        any sense.</P
></LI
><LI
><P
><EM
>Number of votes a bug in this product needs to
        automatically get out of the UNCONFIRMED state</EM
>: 
        Setting this field to "0" disables the automatic move of
        bugs from UNCONFIRMED to NEW. 
        </P
></LI
><LI
><P
>Once you have adjusted the values to your preference, click
        "Update".</P
></LI
></OL
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="flags-overview.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="quips.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Flags</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="administration.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Quips</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>