Commit ffe3c6ad authored by gerv%gerv.net's avatar gerv%gerv.net

The first installment of Gerv's spanking of the Bugzilla Guide. This is a work-in-progress.

parent 2e7e04b3
...@@ -1373,12 +1373,14 @@ Group3, since he isn't in Group4. ...@@ -1373,12 +1373,14 @@ Group3, since he isn't in Group4.
make certain files world readable and/or writable. <emphasis>THIS IS make certain files world readable and/or writable. <emphasis>THIS IS
INSECURE!</emphasis>. This means that anyone who can get access to INSECURE!</emphasis>. This means that anyone who can get access to
your system can do whatever they want to your Bugzilla installation. your system can do whatever they want to your Bugzilla installation.
<note> </para>
<note>
<para>
This also means that if your webserver runs all cgi scripts as the This also means that if your webserver runs all cgi scripts as the
same user/group, anyone on the system who can run cgi scripts will same user/group, anyone on the system who can run cgi scripts will
be able to take control of your Bugzilla installation. be able to take control of your Bugzilla installation.
</note> </para>
</para> </note>
<para> <para>
On Apache, you can use .htaccess files to protect access On Apache, you can use .htaccess files to protect access
to these directories, as outlined in <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=57161">Bug 57161</ulink> for the localconfig file, and <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=65572"> Bug 65572</ulink> for adequate protection in your data/ and shadow/ directories. to these directories, as outlined in <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=57161">Bug 57161</ulink> for the localconfig file, and <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=65572"> Bug 65572</ulink> for adequate protection in your data/ and shadow/ directories.
......
<!-- <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> --> <!-- <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<section id="conventions"> <section id="conventions">
<title>Document Conventions</title> <title>Document Conventions</title>
<indexterm zone="conventions"> <indexterm zone="conventions">
<primary>conventions</primary> <primary>conventions</primary>
</indexterm> </indexterm>
<para>This document uses the following conventions:</para> <para>
This document uses the following conventions
</para>
<informaltable frame="none"> <informaltable frame="none">
<tgroup cols="2"> <tgroup cols="2">
<thead> <thead>
<row> <row>
<entry>Descriptions</entry> <entry>Descriptions</entry>
<entry>Appearance</entry> <entry>Appearance</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry>Warning</entry> <entry>Warnings</entry>
<entry><caution>
<entry>
<caution>
<para>Don't run with scissors!</para> <para>Don't run with scissors!</para>
</caution> </caution></entry>
</entry>
</row> </row>
<row> <row>
<entry>Hint</entry> <entry>Hint</entry>
<entry><tip>
<entry> <para>Warm jar lids under the hot tap to loosen them.</para>
<tip> </tip></entry>
<para>Would you like a breath mint?</para>
</tip>
</entry>
</row> </row>
<row> <row>
<entry>Note</entry> <entry>Notes</entry>
<entry><note>
<entry>
<note>
<para>Dear John...</para> <para>Dear John...</para>
</note> </note></entry>
</entry>
</row> </row>
<row> <row>
<entry>Information requiring special attention</entry> <entry>Information requiring special attention</entry>
<entry><warning>
<entry>
<warning>
<para>Read this or the cat gets it.</para> <para>Read this or the cat gets it.</para>
</warning> </warning></entry>
</entry>
</row> </row>
<row> <row>
<entry>File or directory name</entry> <entry>File Names</entry>
<entry><filename>file.extension</filename></entry>
<entry>
<filename>filename</filename>
</entry>
</row> </row>
<row> <row>
<entry>Command to be typed</entry> <entry>Directory Names</entry>
<entry><filename class="directory">directory</filename></entry>
<entry>
<command>command</command>
</entry>
</row> </row>
<row> <row>
<entry>Application name</entry> <entry>Commands to be typed</entry>
<entry><command>command</command></entry>
<entry>
<application>application</application>
</entry>
</row> </row>
<row> <row>
<entry> <entry>Applications Names</entry>
Normal user's prompt under bash shell</entry> <entry><application>application</application></entry>
</row>
<row>
<entry><foreignphrase>Prompt</foreignphrase> of users command under bash shell</entry>
<entry>bash$</entry> <entry>bash$</entry>
</row> </row>
<row> <row>
<entry> <entry><foreignphrase>Prompt</foreignphrase> of root users command under bash shell</entry>
Root user's prompt under bash shell</entry>
<entry>bash#</entry> <entry>bash#</entry>
</row> </row>
<row>
<entry><foreignphrase>Prompt</foreignphrase> of user command under tcsh shell</entry>
<entry>tcsh$</entry>
</row>
<row> <row>
<entry> <entry>Environment Variables</entry>
Normal user's prompt under tcsh shell</entry> <entry><envar>VARIABLE</envar></entry>
<entry>tcsh$</entry>
</row> </row>
<row> <row>
<entry>Environment variables</entry> <entry>Emphasized word</entry>
<entry><emphasis>word</emphasis></entry>
<entry>
<envar>VARIABLE</envar>
</entry>
</row> </row>
<row> <row>
<entry>Term found in the glossary</entry> <entry>Code Example</entry>
<entry><programlisting><sgmltag class="starttag">para</sgmltag>Beginning and end of paragraph<sgmltag class="endtag">para</sgmltag></programlisting></entry>
<entry>
<glossterm linkend="gloss-bugzilla">Bugzilla</glossterm>
</entry>
</row>
<row>
<entry>Code example</entry>
<entry>
<programlisting><sgmltag class="starttag">para</sgmltag>
Beginning and end of paragraph
<sgmltag class="endtag">para</sgmltag></programlisting>
</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
This documentation is maintained in DocBook 4.1.2 XML format.
Changes are best submitted as plain text or XML diffs, attached
to a bug filed in the &bzg-bugs; component.
</para>
</section> </section>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
...@@ -156,9 +109,8 @@ sgml-local-ecat-files:nil ...@@ -156,9 +109,8 @@ sgml-local-ecat-files:nil
sgml-minimize-attributes:nil sgml-minimize-attributes:nil
sgml-namecase-general:t sgml-namecase-general:t
sgml-omittag:t sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter") sgml-parent-document:("Bugzilla-Guide.sgml" "book" "chapter")
sgml-shorttag:t sgml-shorttag:t
sgml-tag-region-if-active:t sgml-tag-region-if-active:t
End: End:
--> -->
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> --> <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<chapter id="using"> <!-- TOC
<title>Using Bugzilla</title> Chapter: Using Bugzilla
Create an account
Logging in
Setting up preferences
Account Settings
Email Settings
Page Footer
Permissions
Life cycle of a bug
Creating a bug
Checking for duplicates
Overview of all bug fields
Setting bug permissions
The Query Interface
Standard Queries
Email Queries
Boolean Queries
Regexp Queries
The Query Results
Changing Columns
Changing sorting order
Mass changes
Miscellaneous usage hints
<section id="using-intro"> -->
<title>Introduction</title>
<para>This section contains information for end-users of Bugzilla.
There is a Bugzilla test installation, called
<ulink url="http://landfill.bugzilla.org/bugzilla-tip/">Landfill</ulink>,
which you are welcome to play with (if it's up.)
However, it does not necessarily
have all Bugzilla features enabled, and runs an up-to-the-minute version,
so some things may not quite work as this document describes.</para>
</section>
<section id="myaccount">
<title>Create a Bugzilla Account</title>
<para>If you want to use Bugzilla, first you need to create an account. <chapter id="using">
Consult with the administrator responsible for your installation of <title>Using Bugzilla</title>
Bugzilla for the URL you should use to access it. If you're <epigraph>
test-driving Bugzilla, use this URL: <para>
<ulink url="http://landfill.bugzilla.org/bugzilla-tip/"/>. What, Why, How, &amp; Where?
</para> </para>
</epigraph>
<orderedlist>
<listitem> <section id="whatis">
<para>Click the <title>What is Bugzilla?</title>
<quote>Open a new Bugzilla account</quote> <para>
Bugzilla is one example of a class of programs called "Defect
link, enter your email address and, optionally, your name in the Tracking Systems", or, more commonly, "Bug-Tracking Systems". Defect
spaces provided, then click Tracking Systems allow individual or groups of developers to keep
<quote>Create Account</quote> track of outstanding bugs in their product effectively. Bugzilla was
originally written by Terry Weissman in a programming language called
.</para> "TCL", to replace a crappy bug-tracking database used internally by
</listitem> Netscape Communications. Terry later ported Bugzilla to Perl from
TCL, and in Perl it remains to this day. Most commercial
<listitem> defect-tracking software vendors at the time charged enormous
<para>Within moments, you should receive an email to the address licensing fees, and Bugzilla quickly became a favorite of the
you provided, which contains your login name (generally the open-source crowd (with its genesis in the open-source browser
same as the email address), and a password. project, Mozilla). It is now the de-facto standard defect-tracking
This password is randomly generated, but can be system against which all others are measured.
changed to something more memorable.</para>
</listitem>
<listitem>
<para>Click the
<quote>Log In</quote>
link in the footer at the bottom of the page in your browser,
enter your email address and password into the spaces provided, and
click
<quote>Login</quote>.
</para>
</listitem>
</orderedlist>
<para>You are now logged in. Bugzilla uses cookies to remember you are
logged in so, unless you have cookies disabled or your IP address changes,
you should not have to log in again.</para>
</section>
<section id="bug_page">
<title>Anatomy of a Bug</title>
<para>The core of Bugzilla is the screen which displays a particular
bug. It's a good place to explain some Bugzilla concepts.
<ulink
url="http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=1">
Bug 1 on Landfill</ulink>
is a good example. Note that the labels for most fields are hyperlinks;
clicking them will take you to context-sensitive help on that
particular field. Fields marked * may not be present on every
installation of Bugzilla.</para>
<orderedlist>
<listitem>
<para>
<emphasis>Product and Component</emphasis>:
Bugs are divided up by Product and Component, with a Product
having one or more Components in it. For example,
bugzilla.mozilla.org's "Bugzilla" Product is composed of several
Components:
<simplelist>
<member>
<emphasis>Administration:</emphasis>
Administration of a Bugzilla installation.</member>
<member>
<emphasis>Bugzilla-General:</emphasis>
Anything that doesn't fit in the other components, or spans
multiple components.</member>
<member>
<emphasis>Creating/Changing Bugs:</emphasis>
Creating, changing, and viewing bugs.</member>
<member>
<emphasis>Documentation:</emphasis>
The Bugzilla documentation, including The Bugzilla Guide.</member>
<member>
<emphasis>Email:</emphasis>
Anything to do with email sent by Bugzilla.</member>
<member>
<emphasis>Installation:</emphasis>
The installation process of Bugzilla.</member>
<member>
<emphasis>Query/Buglist:</emphasis>
Anything to do with searching for bugs and viewing the
buglists.</member>
<member>
<emphasis>Reporting/Charting:</emphasis>
Getting reports from Bugzilla.</member>
<member>
<emphasis>User Accounts:</emphasis>
Anything about managing a user account from the user's perspective.
Saved queries, creating accounts, changing passwords, logging in,
etc.</member>
<member>
<emphasis>User Interface:</emphasis>
General issues having to do with the user interface cosmetics (not
functionality) including cosmetic issues, HTML templates,
etc.</member>
</simplelist>
</para>
</listitem>
<listitem>
<para>
<emphasis>Status and Resolution:</emphasis>
These define exactly what state the bug is in - from not even
being confirmed as a bug, through to being fixed and the fix
confirmed by Quality Assurance. The different possible values for
Status and Resolution on your installation should be documented in the
context-sensitive help for those items.</para>
</listitem>
<listitem>
<para>
<emphasis>Assigned To:</emphasis>
The person responsible for fixing the bug.</para>
</listitem>
<listitem>
<para>
<emphasis>*URL:</emphasis>
A URL associated with the bug, if any.</para>
</listitem>
<listitem>
<para>
<emphasis>Summary:</emphasis>
A one-sentence summary of the problem.</para>
</listitem>
<listitem>
<para>
<emphasis>*Status Whiteboard:</emphasis>
(a.k.a. Whiteboard) A free-form text area for adding short notes
and tags to a bug.</para>
</listitem>
<listitem>
<para>
<emphasis>*Keywords:</emphasis>
The administrator can define keywords which you can use to tag and
categorise bugs - e.g. The Mozilla Project has keywords like crash
and regression.</para>
</listitem>
<listitem>
<para>
<emphasis>Platform and OS:</emphasis>
These indicate the computing environment where the bug was
found.</para>
</listitem>
<listitem>
<para>
<emphasis>Version:</emphasis>
The "Version" field is usually used for versions of a product which
have been released, and is set to indicate which versions of a
Component have the particular problem the bug report is
about.</para>
</listitem>
<listitem>
<para>
<emphasis>Priority:</emphasis>
The bug assignee uses this field to prioritise his or her bugs.
It's a good idea not to change this on other people's bugs.</para>
</listitem>
<listitem>
<para>
<emphasis>Severity:</emphasis>
This indicates how severe the problem is - from blocker
("application unusable") to trivial ("minor cosmetic issue"). You
can also use this field to indicate whether a bug is an enhancement
request.</para>
</listitem>
<listitem>
<para>
<emphasis>*Target:</emphasis>
(a.k.a. Target Milestone) A future version by which the bug is to
be fixed. e.g. The Bugzilla Project's milestones for future
Bugzilla versions are 2.18, 2.20, 3.0, etc. Milestones are not
restricted to numbers, thought - you can use any text strings, such
as dates.</para>
</listitem>
<listitem>
<para>
<emphasis>Reporter:</emphasis>
The person who filed the bug.</para>
</listitem>
<listitem>
<para>
<emphasis>CC list:</emphasis>
A list of people who get mail when the bug changes.</para>
</listitem>
<listitem>
<para>
<emphasis>Attachments:</emphasis>
You can attach files (e.g. testcases or patches) to bugs. If there
are any attachments, they are listed in this section.</para>
</listitem>
<listitem>
<para>
<emphasis>*Dependencies:</emphasis>
If this bug cannot be fixed unless other bugs are fixed (depends
on), or this bug stops other bugs being fixed (blocks), their
numbers are recorded here.</para>
</listitem>
<listitem>
<para>
<emphasis>*Votes:</emphasis>
Whether this bug has any votes.</para>
</listitem>
<listitem>
<para>
<emphasis>Additional Comments:</emphasis>
You can add your two cents to the bug discussion here, if you have
something worthwhile to say.</para>
</listitem>
</orderedlist>
</section>
<section id="query">
<title>Searching for Bugs</title>
<para>The Bugzilla Search page is is the interface where you can find
any bug report, comment, or patch currently in the Bugzilla system. You
can play with it here:
<ulink url="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"/>.</para>
<para>The Search page has controls for selecting different possible
values for all of the fields in a bug, as described above. For some
fields, multiple values can be selected. In those cases, Bugzilla
returns bugs where the content of the field matches any one of the selected
values. If none is selected, then the field can take any value.</para>
<para>Once you've run a search, you can save it as a Saved Search, which
appears in the page footer.</para>
<para>Highly advanced querying is done using Boolean Charts. See the
Boolean Charts help link on the Search page for more information.</para>
</section>
<section id="list">
<title>Bug Lists</title>
<para>If you run a search, a list of matching bugs will be returned.
</para> </para>
<para>
<para>The format of the list is configurable. For example, it can be Bugzilla has matured immensely, and now boasts many advanced features. These include:
sorted by clicking the column headings. Other useful features can be <itemizedlist>
accessed using the links at the bottom of the list:
<simplelist>
<member>
<emphasis>Long Format:</emphasis>
this gives you a large page with a non-editable summary of the fields
of each bug.</member>
<member>
<emphasis>CSV:</emphasis>
get the buglist as comma-separated values, for import into e.g.
a spreadsheet.</member>
<member>
<emphasis>Change Columns:</emphasis>
change the bug attributes which appear in the list.</member>
<member>
<emphasis>Change several bugs at once:</emphasis>
If your account is sufficiently empowered, you can make the same
change to all the bugs in the list - for example, changing their
owner.</member>
<member>
<emphasis>Send mail to bug owners:</emphasis>
Sends mail to the owners of all bugs on the list.</member>
<member>
<emphasis>Edit Search:</emphasis>
If you didn't get exactly the results you were looking for, you can
return to the Query page through this link and make small revisions
to the query you just made so you get more accurate results.</member>
<member> <listitem><para>Powerful searching</para></listitem>
<emphasis>Remember Search As:</emphasis> <listitem><para>User-configurable email notifications of bug changes</para></listitem>
<listitem><para>Full change history</para></listitem>
You can give a search a name and remember it; a link will appear <listitem><para>Inter-bug dependency tracking and graphing</para></listitem>
in your page footer giving you quick access to run it again later. <listitem><para>Excellent attachment management</para></listitem>
</member> <listitem><para>Integrated, product-based, granular security schema</para></listitem>
</simplelist> <listitem><para>Fully security-audited, and runs under Perl's taint mode</para></listitem>
<listitem><para>A robust, stable RDBMS back-end</para></listitem>
<listitem><para>Web, XML, email and console interfaces</para></listitem>
<listitem><para>Completely customisable and/or localisable web user interface</para></listitem>
<listitem><para>Extensive configurability</para></listitem>
<listitem><para>Smooth upgrade pathway between versions</para></listitem>
</itemizedlist>
</para> </para>
</section> </section>
<section id="bugreports"> <section id="why">
<title>Filing Bugs</title> <title>Why Should We Use Bugzilla?</title>
<epigraph>
<para>Years of bug writing experience has been distilled for your
reading pleasure into the
<ulink
url="http://landfill.bugzilla.org/bugzilla-tip/bugwritinghelp.html">
Bug Writing Guidelines</ulink>.
While some of the advice is Mozilla-specific, the basic principles of
reporting Reproducible, Specific bugs, isolating the Product you are
using, the Version of the Product, the Component which failed, the
Hardware Platform, and Operating System you were using at the time of
the failure go a long way toward ensuring accurate, responsible fixes
for the bug that bit you.</para>
<para>The procedure for filing a test bug is as follows:</para>
<orderedlist>
<listitem>
<para>Go to
<ulink url="http://landfill.bugzilla.org/bugzilla-tip/">
Landfill</ulink>
in your browser and click
<ulink
url="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi">
Enter a new bug report</ulink>.
</para>
</listitem>
<listitem>
<para>Select a product - any one will do.</para>
</listitem>
<listitem>
<para>Fill in the fields. Bugzilla should have made reasonable
guesses, based upon your browser, for the "Platform" and "OS"
drop-down boxes. If they are wrong, change them.</para>
</listitem>
<listitem>
<para>Select "Commit" and send in your bug report.</para>
</listitem>
</orderedlist>
<para>Try to make sure that everything said in the summary is also
said in the first comment. Summaries are often updated and this will
ensure your original information is easily accessible.
</para>
<para> <para>
You do not need to put "any" or similar strings in the URL field. No, Who's on first...
If there is no specific URL associated with the bug, leave this
field blank.
</para>
<para>If you feel a bug you filed was incorrectly marked as a
DUPLICATE of another, please question it in your bug, not
the bug it was duped to. Feel free to CC the person who duped it
if they are not already CCed.
</para> </para>
</epigraph>
</section> <para>
For many years, defect-tracking software has remained
<section id="patchviewer"> principally the domain of large software development houses.
<title>Patch Viewer</title> Even then, most shops never bothered with bug-tracking software,
and instead simply relied on shared lists and email to monitor
<para>Viewing and reviewing patches in Bugzilla is often difficult due to the status of defects. This procedure is error-prone and tends
lack of context, improper format and the inherent readability issues that to cause those bugs judged least significant by developers to be
raw patches present. Patch Viewer is an enhancement to Bugzilla designed dropped or ignored.
to fix that by offering increased context, linking to sections, and </para>
integrating with Bonsai, LXR and CVS.</para> <para>
These days, many companies are finding that integrated
<para>Patch viewer allows you to:</para> defect-tracking systems reduce downtime, increase productivity,
and raise customer satisfaction with their systems. Along with
<simplelist> full disclosure, an open bug-tracker allows manufacturers to
<member>View patches in color, with side-by-side view rather than trying keep in touch with their clients and resellers, to communicate
to interpret the contents of the patch.</member> about problems effectively throughout the data management chain.
<member>See the difference between two patches.</member> Many corporations have also discovered that defect-tracking
<member>Get more context in a patch.</member> helps reduce costs by providing IT support accountability,
<member>Collapse and expand sections of a patch for easy telephone support knowledge bases, and a common, well-understood
reading.</member> system for accounting for unusual system or software issues.
<member>Link to a particular section of a patch for discussion or </para>
review</member> <para>
<member>Go to Bonsai or LXR to see more context, blame, and But why should <emphasis>you</emphasis> use Bugzilla?
cross-references for the part of the patch you are looking at</member> </para>
<member>Create a rawtext unified format diff out of any patch, no <para>
matter what format it came from</member> Bugzilla is very adaptable to various situations. Known uses
</simplelist> currently include IT support queues, Systems Administration
deployment management, chip design and development problem
<section id="patchviewer_view"> tracking (both pre-and-post fabrication), and software and
<title>Viewing Patches in Patch Viewer</title> hardware bug tracking for luminaries such as Redhat, Loki
<para>The main way to view a patch in patch viewer is to click on the software, Linux-Mandrake, and VA Systems. Combined with systems
"Diff" link next to a patch in the Attachments list on a bug. You may such as CVS, Bonsai, or Perforce SCM, Bugzilla provides a
also do this within the edit window by clicking the "View Attachment As powerful, easy-to-use solution to configuration management and
Diff" button in the Edit Attachment screen.</para> replication problems
</section> </para>
<para>
<section id="patchviewer_diff"> Bugzilla can dramatically increase the productivity and
<title>Seeing the Difference Between Two Patches</title> accountability of individual employees by providing a documented
<para>To see the difference between two patches, you must first view the workflow and positive feedback for good performance. How many
newer patch in Patch Viewer. Then select the older patch from the times do you wake up in the morning, remembering that you were
dropdown at the top of the page ("Differences between [dropdown] and supposed to do <emphasis>something</emphasis> today, but you
this patch") and click the "Diff" button. This will show you what just can't quite remember? Put it in Bugzilla, and you have a
is new or changed in the newer patch.</para> record of it from which you can extrapolate milestones, predict
</section> product versions for integration, and by using Bugzilla's e-mail
integration features be able to follow the discussion trail that
<section id="patchviewer_context"> led to critical decisions.
<title>Getting More Context in a Patch</title> </para>
<para>To get more context in a patch, you put a number in the textbox at <para>
the top of Patch Viewer ("Patch / File / [textbox]") and hit enter. Ultimately, Bugzilla puts the power in your hands to improve
This will give you that many lines of context before and after each your value to your employer or business while providing a usable
change. Alternatively, you can click on the "File" link there and it framework for your natural attention to detail and knowledge
will show each change in the full context of the file. This feature only store to flourish.
works against files that were diffed using "cvs diff".</para> </para>
</section>
<section id="patchviewer_collapse">
<title>Collapsing and Expanding Sections of a Patch</title>
<para>To view only a certain set of files in a patch (for example, if a
patch is absolutely huge and you want to only review part of it at a
time), you can click the "(+)" and "(-)" links next to each file (to
expand it or collapse it). If you want to collapse all files or expand
all files, you can click the "Collapse All" and "Expand All" links at the
top of the page.</para>
</section>
<section id="patchviewer_link">
<title>Linking to a Section of a Patch</title>
<para>To link to a section of a patch (for example, if you want to be
able to give someone a URL to show them which part you are talking
about) you simply click the "Link Here" link on the section header. The
resulting URL can be copied and used in discussion. (Copy Link
Location in Mozilla works as well.)</para>
</section>
<section id="patchviewer_bonsai_lxr">
<title>Going to Bonsai and LXR</title>
<para>To go to Bonsai to get blame for the lines you are interested in,
you can click the "Lines XX-YY" link on the section header you are
interested in. This works even if the patch is against an old
version of the file, since Bonsai stores all versions of the file.</para>
<para>To go to LXR, you click on the filename on the file header
(unfortunately, since LXR only does the most recent version, line
numbers are likely to rot).</para>
</section>
<section id="patchviewer_unified_diff">
<title>Creating a Unified Diff</title>
<para>If the patch is not in a format that you like, you can turn it
into a unified diff format by clicking the "Raw Unified" link at the top
of the page.</para>
</section>
</section> </section>
<section id="hintsandtips"> <section id="how">
<title>Hints and Tips</title> <title>How do I use Bugzilla?</title>
<epigraph>
<para>This section distills some Bugzilla tips and best practices <para>
that have been developed.</para> Hey! I'm Woody! Howdy, Howdy, Howdy!
<section>
<title>Autolinkification</title>
<para>Bugzilla comments are plain text - so typing &lt;U&gt; will
produce less-than, U, greater-than rather than underlined text.
However, Bugzilla will automatically make hyperlinks out of certain
sorts of text in comments. For example, the text
"http://www.bugzilla.org" will be turned into a link:
<ulink url="http://www.bugzilla.org"/>.
Other strings which get linkified in the obvious manner are:
<simplelist>
<member>bug 12345</member>
<member>comment 7</member>
<member>bug 23456, comment 53</member>
<member>attachment 4321</member>
<member>mailto:george@example.com</member>
<member>george@example.com</member>
<member>ftp://ftp.mozilla.org</member>
<member>Most other sorts of URL</member>
</simplelist>
</para> </para>
</epigraph>
<para>A corollary here is that if you type a bug number in a comment,
you should put the word "bug" before it, so it gets autolinkified <para>
for the convenience of others. This section contains information for end-users of Bugzilla.
If you are administering a Bugzilla installation, please consult the
Installing and Administering Bugzilla portions of this Guide.
</para>
<para>
There is a Bugzilla test installation, called
<ulink url="http://landfill.tequilarista.org/">
Landfill</ulink>, which you are welcome to play with.
However, it does not necessarily have all Bugzilla features
enabled, and often runs cutting-edge versions of Bugzilla for
testing, so some things may work slightly differently than
mentioned here.
</para>
<section id="myaccount">
<title>Create a Bugzilla Account</title>
<para>
If you want to use Bugzilla, first you
need to create an account. Consult with the administrator
responsible for your installation of Bugzilla for the URL you
should use to access it. If you're test-driving Bugzilla,
use this URL: <ulink
url="http://landfill.tequilarista.org/bugzilla-tip/"> http://landfill.tequilarista.org/bugzilla-tip/</ulink>
</para> </para>
</section> <orderedlist>
<listitem>
<section id="quicksearch"> <para>
<title>Quicksearch</title> Click the <quote>Open a new Bugzilla account</quote> link, enter your
email address and, optionally, your name in the spaces provided,
<para>Quicksearch is a single-text-box query tool which uses then click <quote>Create Account</quote>.
metacharacters to indicate what is to be searched. For example, typing </para>
"<filename>foo|bar</filename>" </listitem>
into Quicksearch would search for "foo" or "bar" in the <listitem>
summary and status whiteboard of a bug; adding <para>
"<filename>:BazProduct</filename>" would Within moments, you should receive an email to the address
search only in that product. you provided above, which contains your login name
(generally the same as the email address), and a password
you can use to access your account. This password is
randomly generated, and can be changed to something more memorable.
</para>
</listitem>
<listitem>
<para>
Click the <quote>Log In</quote> link in the yellow area at
the bottom of the page in your browser, enter your
email address and password into the spaces provided, and click
<quote>Login</quote>.
</para>
</listitem>
</orderedlist>
<para>
You are now logged in. Bugzilla uses cookies for authentication, so
(unless your IP address changes) you should not have to log in again.
</para> </para>
<para>You'll find the Quicksearch box on Bugzilla's
front page, along with a
<ulink url="../../quicksearch.html">Help</ulink>
link which details how to use it.</para>
</section> </section>
<section id="commenting"> <section id="bug_page">
<title>Comments</title> <title>Anatomy of a Bug</title>
<para>
<para>If you are changing the fields on a bug, only comment if The core of Bugzilla is the screen which displays a particular bug.
either you have something pertinent to say, or Bugzilla requires it. It's a good place to explain some Bugzilla concepts.
Otherwise, you may spam people unnecessarily with bug mail. <ulink url="http://landfill.tequilarista.org/bugzilla-tip/show_bug.cgi?id=1">Bug 1 on Landfill</ulink> is a good example. Note that the names of most fields
To take an example: a user can set up their account to filter out messages are hyperlinks; clicking them will take you to context-sensitive
where someone just adds themselves to the CC field of a bug help on that particular field.
(which happens a lot.) If you come along, add yourself to the CC field,
and add a comment saying "Adding self to CC", then that person
gets a pointless piece of mail they would otherwise have avoided.
</para> </para>
<orderedlist>
<listitem>
<para>
<emphasis>Product and Component</emphasis>:
Bugs are divided up by Product and Component, with a Product having one
or more Components in it. For example, bugzilla.mozilla.org's
"Bugzilla" Product is composed of several Components:
<simplelist>
<member><emphasis>Administration</emphasis>,
Administration of a bugzilla installation, including
<filename>editcomponents.cgi</filename>,
<filename>editgroups.cgi</filename>,
<filename>editkeywords.cgi</filename>,
<filename>editparams.cgi</filename>,
<filename>editproducts.cgi</filename>,
<filename>editusers.cgi</filename>,
<filename>editversions.cgi,</filename> and
<filename>sanitycheck.cgi</filename>.
</member>
<member><emphasis>Bugzilla-General</emphasis>,
Anything that doesn't fit in the other components, or spans
multiple components.
</member>
<member><emphasis>Creating/Changing Bugs</emphasis>,
Creating, changing, and viewing bugs.
<filename>enter_bug.cgi</filename>,
<filename>post_bug.cgi</filename>,
<filename>show_bug.cgi</filename> and
<filename>process_bug.cgi</filename>.
</member>
<member><emphasis>Documentation</emphasis>,
The bugzilla documentation, including anything in the
<filename>docs/</filename> directory and The Bugzilla Guide
</member>
<member><emphasis>Email</emphasis>,
Anything to do with email sent by Bugzilla.
<filename>processmail</filename>
</member>
<member><emphasis>Installation</emphasis>,
The installation process of Bugzilla. This includes
<filename>checksetup.pl</filename> and whatever else it evolves into.
</member>
<member><emphasis>Query/Buglist</emphasis>,
Anything to do with searching for bugs and viewing the buglists.
<filename>query.cgi</filename> and
<filename>buglist.cgi</filename>
</member>
<member><emphasis>Reporting/Charting</emphasis>,
Getting reports from Bugzilla.
<filename>reports.cgi</filename> and
<filename>duplicates.cgi</filename>
</member>
<member><emphasis>User Accounts</emphasis>,
Anything about managing a user account from the user's perspective.
<filename>userprefs.cgi</filename>, saved queries, creating accounts,
changing passwords, logging in, etc.
</member>
<member><emphasis>User Interface</emphasis>,
General issues having to do with the user interface cosmetics (not
functionality) including cosmetic issues, HTML templates, etc.
</member>
</simplelist>
</para>
</listitem>
<listitem>
<para>
<emphasis>Status and Resolution</emphasis>:
A bug passes through several Statuses in its lifetime, and ends up in the
RESOLVED status, with one of a set of Resolutions (e.g. FIXED, INVALID.)
The different possible
values for Status and Resolution on your installation will be documented
in the context-sensitive help for those items.
</para>
</listitem>
<listitem>
<para>
<emphasis>Assigned To</emphasis>:
The person responsible for fixing the bug.
</para>
</listitem>
<listitem>
<para>
<emphasis>URL</emphasis>:
A URL associated with the bug, if any.
</para>
</listitem>
<listitem>
<para>
<emphasis>Summary</emphasis>:
A one-sentence summary of the problem.
</para>
</listitem>
<listitem>
<para>
<emphasis>Status Whiteboard</emphasis>: (a.k.a. Whiteboard) A
free-form text area for adding short notes and tags to a bug.
</para>
</listitem>
<listitem>
<para>
<emphasis>Keywords</emphasis>:
The administrator can define keywords which you can use to tag and
categorise bugs - e.g. The Mozilla Project has keywords like crash
and regression.
</para>
</listitem>
<listitem>
<para>
<emphasis>Platform and OS</emphasis>:
These indicate the computing environment where the bug was found.
</para>
</listitem>
<listitem>
<para>
<emphasis>Version</emphasis>:
The "Version" field is usually used for versions of a product which have
been released, and is set to indicate which versions of a Component
have the particular problem the bug report is about.
</para>
</listitem>
<listitem>
<para>
<emphasis>Priority</emphasis>:
The bug assignee uses this field to prioritise his or her bugs. It's
a good idea not to change this on other people's bugs.
</para>
</listitem>
<listitem>
<para>
<emphasis>Severity</emphasis>:
This indicates how severe the problem is - from blocker ("application
unusable") to trivial ("minor cosmetic issue"). You can also use this
field to indicate whether a bug is an enhancement request.
</para>
</listitem>
<listitem>
<para>
<emphasis>Target</emphasis>:
(a.k.a. Target Milestone) A future version by which the bug is to be
fixed. e.g. The Bugzilla Project's milestones for future
Bugzilla versions are 2.18, 2.20, 3.0, etc. Milestones are
not restricted to numbers, thought - you can use any text strings,
such as dates.
</para>
</listitem>
<listitem>
<para>
<emphasis>Reporter</emphasis>:
The person who filed the bug.
</para>
</listitem>
<listitem>
<para>
<emphasis>CC list</emphasis>:
A list of people who get mail when the bug changes.
</para>
</listitem>
<listitem>
<para>
<emphasis>Attachments</emphasis>:
You can attach files (e.g. testcases or patches) to bugs. If there are
any attachments, they are listed in this section.
</para>
</listitem>
<listitem>
<para>
<emphasis>Dependencies</emphasis>:
If this bug cannot be fixed unless other bugs are fixed (depends on), or
this bug stops other bugs being fixed (blocks), their numbers are
recorded here.
</para>
</listitem>
<listitem>
<para>
<emphasis>Votes</emphasis>:
Whether this bug has any votes.
</para>
</listitem>
<listitem>
<para>
<emphasis>Additional Comments</emphasis>:
You can add your two cents to the bug discussion here, if you have
something worthwhile to say.
</para>
</listitem>
</orderedlist>
</section>
<section id="query">
<title>Searching for Bugs</title>
<para> <para>
Don't use sigs in comments. Signing your name ("Bill") is acceptable, The Bugzilla Search page is is the interface where you can
if you do it out of habit, but full mail/news-style find any bug report, comment, or patch currently in the
four line ASCII art creations are not. Bugzilla system. You can play with it here:
</para> <ulink url="http://landfill.tequilarista.org/bugzilla-tip/query.cgi">
landfill.tequilarista.org/bugzilla-tip/query.cgi</ulink>.
</para>
<para>
The Search page has controls for selecting different possible values
for all of the fields in a bug, as described above. Once you've defined
a search, you can either run it, or save it as a Remembered Query, which
can optionally appear in the footer of your pages.
</para>
<para>
Highly advanced querying is done using Boolean Charts, which have their
own <ulink url="http://landfill.tequilarista.org/bugzilla-tip/booleanchart.html">context-sensitive help</ulink>.
</para>
</section> </section>
<section id="attachments"> <section id="list">
<title>Attachments</title> <title>Bug Lists</title>
<para> <para>
Use attachments, rather than comments, for large chunks of ASCII data, If you run a search, a list of matching bugs will be returned.
such as trace, debugging output files, or log files. That way, it doesn't The default search is to return all open bugs on the system -
bloat the bug for everyone who wants to read it, and cause people to don't try running this search on a Bugzilla installation with
receive fat, useless mails. a lot of bugs!
</para> </para>
<para>
<para>Trim screenshots. There's no need to show the whole screen if The format of the list is configurable. For example, it can be
you are pointing out a single-pixel problem. sorted by clicking the column headings. Other useful features
can be accessed using the links at the bottom of the list:
<simplelist>
<member><emphasis>Long Format</emphasis>: this gives you a large page
with a non-editable summary of the fields of each bug.</member>
<member><emphasis>Change Columns</emphasis>: change the bug
attributes which appear in the list.</member>
<member><emphasis>Change several bugs at once</emphasis>: If
your account is sufficiently empowered, you can make the same
change to all the bugs in the list - for example, changing their
owner.</member>
<member><emphasis>Send mail to bug owners</emphasis>: Sends mail
to the owners of all bugs on the list.</member>
<member><emphasis>Edit this query</emphasis>: If you didn't
get exactly the results you were looking for, you can
return to the Query page through this link and make small
revisions to the query you just made so you get more
accurate results.</member>
</simplelist>
</para> </para>
<para>Don't attach simple test cases (e.g. one HTML file, one
CSS file and an image) as a ZIP file. Instead, upload them in
reverse order and edit the referring file so that they point to the
attached files. This way, the test case works immediately
out of the bug.
</para>
</section> </section>
</section>
<section id="bugreports">
<title>Filing Bugs</title>
<epigraph>
<para>And all this time, I thought we were taking bugs <emphasis>out</emphasis>...</para>
</epigraph>
<para>
Years of bug writing experience has been distilled for your reading
pleasure into the <ulink url="http://landfill.tequilarista.org/bugzilla-tip/bugwritinghelp.html">
Bug Writing Guidelines</ulink>.
While some of the advice is Mozilla-specific, the basic principles of reporting Reproducible, Specific bugs, isolating the Product you are using, the Version of the Product, the Component which failed, the Hardware Platform, and Operating System you were using at the time of the failure go a long way toward ensuring accurate, responsible fixes for the bug that bit you.
</para>
<para>
The procedure for filing a test bug is as follows:
</para>
<section id="userpreferences"> <orderedlist>
<title>User Preferences</title> <listitem>
<para>
Go to <ulink
url="http://landfill.tequilarista.org/bugzilla-tip/">Landfill</ulink>
in your browser and click
<ulink
url="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi"> Enter a new bug report</ulink>.
</para>
</listitem>
<listitem>
<para>
Select a product - any one will do.
</para>
</listitem>
<listitem>
<para>
Fill in the fields.
Bugzilla should have made reasonable guesses, based upon
your browser, for the "Platform" and "OS" drop-down
boxes. If they are wrong, change them.
</para>
</listitem>
<listitem>
<para>
Select "Commit" and send in your bug report.
</para>
</listitem>
</orderedlist>
</section>
<para>Once you have logged in, you can customise various aspects of </section>
Bugzilla via the "Edit prefs" link in the page footer.
The preferences are split into three tabs:</para>
<section id="init4me">
<title>Where can I find my user preferences?</title>
<epigraph>
<para>
Indiana, it feels like we walking on fortune cookies!
</para>
<para>
These ain't fortune cookies, kid...
</para>
</epigraph>
<para>
Customized User Preferences offer tremendous versatility to your
individual Bugzilla experience. Let's plunge into what you can
do! The first step is to click the "Edit prefs" link at the
footer of each page once you have logged in to <ulink
url="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1"> Landfill</ulink>.
</para>
<section id="accountsettings" xreflabel="Account Settings"> <section id="accountsettings" xreflabel="Account Settings">
<title>Account Settings</title> <title>Account Settings</title>
<para>
<para>On this tab, you can change your basic account information, On this page, you can change your basic Account Settings,
including your password, email address and real name. For security including your password and full name. For security reasons,
reasons, in order to change anything on this page you must type your in order to change anything on this page you must type your
<emphasis>current</emphasis> <emphasis>current</emphasis> password into the <quote>Old
password into the Password</quote> field. If you wish to change your
<quote>Password</quote> password, type the new password you want into the <quote>New
field at the top of the page. Password</quote> field and again into the <quote>Re-enter
If you attempt to change your email address, a confirmation new password</quote> field to ensure you typed your new
email is sent to both the old and new addresses, with a link to use to password correctly. Select the <quote>Submit</quote> button
confirm the change. This helps to prevent account hijacking.</para> and you are done.
</para>
</section> </section>
<section id="emailsettings" >
<section id="emailsettings">
<title>Email Settings</title> <title>Email Settings</title>
<section id="notification" xreflabel="">
<para>On this tab you can reduce or increase the amount of email sent <title>Email Notification</title>
you from Bugzilla, opting in our out depending on your relationship to <para>
the bug and the change that was made to it. Here you can reduce or increase the amount of email sent you
</para> from Bugzilla. Although this is referred to as
<quote>Advanced Email Filtering Options</quote>, they are,
<para> in fact, the standard email filter set. All of them are
You can also do further filtering on the client side by self-explanatory, but you can use the filters in interesting
using the X-Bugzilla-Reason mail header which Bugzilla ways. For instance, some people (notably Quality Assurance
adds to all bugmail. This tells you what relationship you have to the personnel) often only care to receive updates regarding a
bug in question, bug when the bug changes state, so they can track bugs on
and can be any of Owner, Reporter, QAcontact, CClist, Voter and their flow charts and know when it is time to pull the bug
WatchingComponent.</para> onto a quality assurance platform for inspection. Other
people set up email gateways to
<para>By entering user email names, delineated by commas, into the <xref linkend="bonsai" /> or <xref linkend="tinderbox" />, and
"Users to watch" text entry box you can receive a copy of all the restrict which types of Bugzilla information are fed to
bugmail of other users (security settings permitting.) This powerful these systems..
functionality enables seamless transitions as developers change </para>
projects or users go on holiday.</para> </section>
<section id="newemailtech">
<title>New Email Technology</title>
<note>
<para>
This option may not be available in all Bugzilla
installations, depending upon the preferences of the
systems administrator responsible for the setup of your
Bugzilla. However, if you really want this functionality,
ask her to "enable newemailtech in Params" and "make it
the default for all new users", referring her to the
Administration section of this Guide.
</para>
</note>
<para>
Disregard the warnings about "experimental and bleeding
edge"; the code to handle email in a cleaner manner than
that historically used for Bugzilla is quite robust and
well-tested now.
</para>
<para>
I recommend you enable the option, "Click here to sign up
(and risk any bugs)". Your email-box will thank you for it.
The fundamental shift in "newemailtech" is away from
standard UNIX "diff" output, which is quite ugly, to a
prettier, better laid-out email.
</para>
</section>
<section id="watchsettings">
<title>"Watching" Users</title>
<note>
<para>
This option may not be available in all Bugzilla
installations, depending upon the preferences of the
systems administrator responsible for the setup of your
Bugzilla. However, if you really want this functionality,
ask her to "enable watchers in Params".
</para>
</note>
<para>
By entering user email names into the "Users to watch" text
entry box, delineated by commas, you can watch bugs of other
users. This powerful functionality enables seamless
transitions as developers change projects, managers wish to
get in touch with the issues faced by their direct reports,
or users go on vacation. If any of these three situations
apply to you, you will undoubtedly find this feature quite
convenient.
</para>
</section>
</section>
<section id="footersettings">
<title>Page Footer</title>
<note> <note>
<para>The ability to watch other users may not be available in all <para>
Bugzilla installations. If you can't see it, ask your By default, this page is quite barren. However, go explore
administrator.</para> the Query Page some more; you will find that you can store
numerous queries on the server, so if you regularly run a
particular query it is just a drop-down menu away. On this
page of Preferences, if you have many stored queries you can
elect to have them always one-click away!
</para>
</note> </note>
<para>
If you have many stored queries on the server, here you will
find individual drop-downs for each stored query. Each
drop-down gives you the option of that query appearing on the
footer of every page in Bugzilla! This gives you powerful
one-click access to any complex searches you may set up, and
is an excellent way to impress your boss...
</para>
<tip>
<para>By default, the "My Bugs" link appears at the bottom of
each page. However, this query gives you both the bugs you
have reported, as well as those you are assigned. One of
the most common uses for this page is to remove the "My
Bugs" link, replacing it with two other queries, commonly
called "My Bug Reports" and "My Bugs" (but only referencing
bugs assigned to you). This allows you to distinguish those
bugs you have reported from those you are assigned. I
commonly set up complex Boolean queries in the Query page
and link them to my footer in this page. When they are
significantly complex, a one-click reference can save hours
of work.</para>
</tip>
</section> </section>
<section id="permissionsettings"> <section id="permissionsettings">
<title>Permissions</title> <title>Permissions</title>
<para>
<para>This is a purely informative page which outlines your current This is a purely informative page which outlines your current
permissions on this installation of Bugzilla - what product groups you permissions on this installation of Bugzilla. If you have
are in, and whether you can edit bugs or perform various administration permissions to grant certain permissions to other users, the
functions.</para> "other users" link appears on this page as well as the footer.
For more information regarding user administration, please
consult the Administration section of this Guide.
</para>
</section> </section>
</section> </section>
<section id="reporting">
<title>Reports</title> <section id="usingbz-conc">
<para><emphasis>To be written</emphasis></para> <title>Using Bugzilla-Conclusion</title>
<para>
Thank you for reading through this portion of the Bugzilla
Guide. I anticipate it may not yet meet the needs of all
readers. If you have additional comments or corrections to
make, please submit your contributions to the <ulink
url="mailto://mozilla-webtools@mozilla.org">mozilla-webtools</ulink> mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
</para>
</section> </section>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
...@@ -670,9 +703,8 @@ sgml-local-ecat-files:nil ...@@ -670,9 +703,8 @@ sgml-local-ecat-files:nil
sgml-minimize-attributes:nil sgml-minimize-attributes:nil
sgml-namecase-general:t sgml-namecase-general:t
sgml-omittag:t sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter") sgml-parent-document:("Bugzilla-Guide.sgml" "book" "chapter")
sgml-shorttag:t sgml-shorttag:t
sgml-tag-region-if-active:t sgml-tag-region-if-active:t
End: End:
--> -->
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment