blob: 90ec2d045087388a7dffba436dfa5605c5a0025c [file] [log] [blame]
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Gervase Markham <gerv@gerv.net>
#%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS "global/field-descs.none.tmpl" %]
[% INCLUDE global/header.html.tmpl title = "A $terms.Bug's Life Cycle" %]
<p>
The <b>status</b> and <b>resolution</b> fields define and track the life
cycle of [% terms.abug %].
</p>
<a name="status"></a>
<a name="resolution"></a>
<table border="1" cellpadding="4">
<tr align="center" valign="top">
<td width="50%">
<h1>STATUS</h1>
</td>
<td>
<h1>RESOLUTION</h1>
</td>
</tr>
<tr valign="top">
<td>The <b>status</b> field indicates the general health of a
[% terms.bug %]. Only certain status transitions are allowed.</td>
<td>The <b>resolution</b> field indicates what happened to this
[%+ terms.bug %].</td>
</tr>
<tr valign="top">
<td>
<dl>
<dt>
<b>[% get_status("UNCONFIRMED") FILTER html %]</b>
</dt>
<dd>
This [% terms.bug %] has recently been added to the database.
Nobody has validated that this [% terms.bug %] is true. Users
who have the "canconfirm" permission set may confirm
this [% terms.bug %], changing its state to [% get_status("NEW") FILTER html %]. Or, it may be
directly resolved and marked [% get_status("RESOLVED") FILTER html %].
</dd>
<dt>
<b>[% get_status("NEW") FILTER html %]</b>
</dt>
<dd>
This [% terms.bug %] has recently been added to the assignee's
list of [% terms.bugs %] and must be processed. [% terms.Bugs %] in
this state may be accepted, and become <b>[% get_status("ASSIGNED") FILTER html %]</b>, passed
on to someone else, and remain <b>[% get_status("NEW") FILTER html %]</b>, or resolved and marked
<b>[% get_status("RESOLVED") FILTER html %]</b>.
</dd>
<dt>
<b>[% get_status("ASSIGNED") FILTER html %]</b>
</dt>
<dd>
This [% terms.bug %] is not yet resolved, but is assigned to the
proper person. From here [% terms.bugs %] can be given to another
person and become <b>[% get_status("NEW") FILTER html %]</b>, or
resolved and become <b>[% get_status("RESOLVED") FILTER html %]</b>.
</dd>
<dt>
<b>[% get_status("REOPENED") FILTER html %]</b>
</dt>
<dd>
This [% terms.bug %] was once resolved, but the resolution was
deemed incorrect. For example, a <b>[% get_resolution("WORKSFORME") FILTER html %]</b> [% terms.bug %] is
<b>[% get_status("REOPENED") FILTER html %]</b> when more information shows up and
the [% terms.bug %] is now reproducible. From here [% terms.bugs %] are
either marked <b>[% get_status("ASSIGNED") FILTER html %]</b> or
<b>[% get_status("RESOLVED") FILTER html %]</b>.
</dd>
</dl>
</td>
<td>
<dl>
<dd>
No resolution yet. All [% terms.bugs %] which are in one of
these "open" states have the resolution set to blank. All
other [% terms.bugs %] will be marked with one of the following
resolutions.
</dd>
</dl>
</td>
</tr>
<tr valign="top">
<td>
<dl>
<dt>
<b>[% get_status("RESOLVED") FILTER html %]</b>
</dt>
<dd>
A resolution has been taken, and it is awaiting verification by
QA. From here [% terms.bugs %] are either re-opened and become
<b>[% get_status("REOPENED") FILTER html %]</b>, are marked
<b>[% get_status("VERIFIED") FILTER html %]</b>, or are closed for
good and marked <b>[% get_status("CLOSED") FILTER html %]</b>.
</dd>
<dt>
<b>[% get_status("VERIFIED") FILTER html %]</b>
</dt>
<dd>
QA has looked at the [% terms.bug %] and the resolution and
agrees that the appropriate resolution has been taken. [% terms.Bugs %] remain
in this state until the product they were reported
against actually ships, at which point they become
<b>[% get_status("CLOSED") FILTER html %]</b>.
</dd>
<dt>
<b>[% get_status("CLOSED") FILTER html %]</b>
</dt>
<dd>
The [% terms.bug %] is considered dead, the resolution is correct.
Any zombie [% terms.bugs %] who choose to walk the earth again must
do so by becoming <b>[% get_status("REOPENED") FILTER html %]</b>.
</dd>
</dl>
</td>
<td>
<dl>
<dt>
<b>[% get_resolution("FIXED") FILTER html %]</b>
</dt>
<dd>
A fix for this [% terms.bug %] is checked into the tree and
tested.
</dd>
<dt>
<b>[% get_resolution("INVALID") FILTER html %]</b>
</dt>
<dd>
The problem described is not [% terms.abug %].
</dd>
<dt>
<b>[% get_resolution("WONTFIX") FILTER html %]</b>
</dt>
<dd>
The problem described is [% terms.abug %] which will never be
fixed.
</dd>
<dt>
<b>[% get_resolution("DUPLICATE") FILTER html %]</b>
</dt>
<dd>
The problem is a duplicate of an existing [% terms.bug %].
Marking [% terms.abug %] duplicate requires the [% terms.bug %]#
of the duplicating [% terms.bug %] and will at least put
that [% terms.bug %] number in the description field.
</dd>
<dt>
<b>[% get_resolution("WORKSFORME") FILTER html %]</b>
</dt>
<dd>
All attempts at reproducing this [% terms.bug %] were futile,
and reading the code produces no clues as to why the described
behavior would occur. If more information appears later,
the [% terms.bug %] can be reopened.
</dd>
<dt>
<b>[% get_resolution("MOVED") FILTER html %]</b>
</dt>
<dd>
The problem was specific to a related product
whose [% terms.bugs %] are tracked in
another [% terms.bug %] database.
The [% terms.bug %] has been moved to that database.
</dd>
</dl>
</td>
</tr>
</table>
<h2><a name="importance">Importance</h2>
The importance of [% terms.abug %] is described as the combination of
its <a href="#priority">priority</a> and <a href="#bug_severity">severity</a>,
as described below.
<h2><a name="priority">Priority</a></h2>
This field describes the importance and order in which [% terms.abug %]
should be fixed. This field is utilized by the
programmers/engineers to prioritize their work to be done. The
available priorities range from <b>P1</b> (most important) to
<b>P5</b> (least important).
<h2><a name="bug_severity">Severity</a></h2>
This field describes the impact of [% terms.abug %].
<table>
<tr>
<th>Blocker</th>
<td>Blocks development and/or testing work</td>
</tr>
<tr>
<th>Critical</th>
<td>crashes, loss of data, severe memory leak</td>
</tr>
<tr>
<th>Major</th>
<td>major loss of function</td>
</tr>
<tr>
<th>Normal</th>
<td>regular issue, some loss of functionality under specific circumstances</td>
</tr>
<tr>
<th>Minor</th>
<td>minor loss of function, or other problem where easy
workaround is present</td>
</tr>
<tr>
<th>Trivial</th>
<td>cosmetic problem like misspelled words or misaligned
text</td>
</tr>
<tr>
<th>Enhancement</th>
<td>Request for enhancement</td>
</table>
<h2><a name="rep_platform">Platform</a></h2>
This is the hardware platform against which the [% terms.bug %] was
reported. Legal platforms include:
<ul>
<li>All (happens on all platforms; cross-platform [% terms.bug %])</li>
<li>Macintosh</li>
<li>PC</li>
</ul>
<b>Note:</b> When searching, selecting the option "All" does not
select [% terms.bugs %]
assigned against any platform. It merely selects [% terms.bugs %] that are
marked as occurring on all platforms, i.e. are designated "All".
<h2><a name="op_sys">Operating System</a></h2>
This is the operating system against which the [% terms.bug %] was
reported. Legal operating systems include:
<ul>
<li>All (happens on all operating systems; cross-platform
[% terms.bug %])</li>
<li>Windows</li>
<li>Mac OS</li>
<li>Linux</li>
</ul>
Sometimes the operating system implies the platform, but not
always. For example, Linux can run on PC and Macintosh and
others.
<h2><a name="assigned_to">Assigned To</a></h2>
<p>
This is the person in charge of resolving the [% terms.bug %]. Every time
this field changes, the status changes to <b>[% get_status("NEW") FILTER html %]</b> to make it
easy to see which new [% terms.bugs %] have appeared on a person's list.</p>
<p>
The default status for queries is set to [% get_status("NEW") FILTER html %],
[%+ get_status("ASSIGNED") FILTER html %] and [% get_status("REOPENED") FILTER html %].
When searching for [% terms.bugs %] that have been resolved or
verified, remember to set the status field appropriately.
</p>
[% INCLUDE global/footer.html.tmpl %]