for providing insight into the key differences between Red Hat's
customized Bugzilla, and being largely responsible for the "Red
Hat Bugzilla" appendix
</para>
...
...
@@ -191,42 +152,16 @@
questions and arguments on irc.mozilla.org in #mozwebtools
</para>
<para>
Last but not least, all the members of the <ulink
url="news://news.mozilla.org/netscape/public/mozilla/webtools"> netscape.public.mozilla.webtools</ulink> newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened.
Last but not least, all the members of the
<ulinkurl="news://news.mozilla.org/netscape/public/mozilla/webtools"> netscape.public.mozilla.webtools</ulink> newsgroup. Without your discussions, insight, suggestions, and patches, this could never have happened.
</para>
</section>
<sectionid="contributors">
<title>Contributors</title>
<para>
Thanks go to these people for significant contributions to this
documentation (in no particular order):
Thanks also go to the following people for significant contributions
to this documentation (in no particular order):
</para>
<para>
Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen, Ron
Teitelbaum, Jacob Steenhagen, Joe Robins
</para>
</section>
<sectionid="feedback">
<title>Feedback</title>
<para>
I welcome feedback on this document. Without your submissions
and input, this Guide cannot continue to exist. Please mail
additions, comments, criticisms, etc. to
<email>barnboy@trilobyte.net</email>. Please send flames to
<email>devnull@localhost</email>
</para>
</section>
<sectionid="translations">
<title>Translations</title>
<para>
The Bugzilla Guide needs translators! Please volunteer your
translation into the language of your choice. If you will
translate this Guide, please notify the members of the
mozilla-webtools mailing list at
<email>mozilla-webtools@mozilla.org</email>, and arrange with
Matt Barnson to check it into CVS.
Zach Liption, Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen,
Ron Teitelbaum, Jacob Steenhagen, Joe Robins, Gervase Markham.
Ensure you are running at least MysQL version 3.22.32 or
newer. Earlier versions had notable security holes and
poorly secured default configuration choices.
Some CGIs have the ability to use more than one template. For
example, buglist.cgi can output bug lists as RDF or two
different forms of HTML (complex and simple). (Try this out
by appending <filename>&format=simple</filename> to a buglist.cgi
URL on your Bugzilla installation.) This
mechanism, called template 'formats', is extensible.
</para>
</listitem>
<listitem>
<para><emphasis>There is no substitute for understanding the
tools on your system!</emphasis> Read <ulinkurl="http://www.mysql.com/documentation/mysql/bychapter/manual_Privilege_system.html"> The MySQL Privilege System</ulink> until you can recite it from memory!</para>
<para>
At the very least, ensure you password the "mysql -u root"
account and the "bugs" account, establish grant table
rights (consult the Keystone guide in Appendix C: The
Bugzilla Database for some easy-to-use details) that do
not allow CREATE, DROP, RELOAD, SHUTDOWN, and PROCESS for
user "bugs". I wrote up the Keystone advice back when I
knew far less about security than I do now : )
To see if a CGI supports multiple output formats, grep the
CGI for "ValidateOutputFormat". If it's not present, adding
multiple format support isn't too hard - see how it's done in
other CGIs.
</para>
</listitem>
<listitem>
<para>
Lock down /etc/inetd.conf. Heck, disable inet entirely on
this box. It should only listen to port 25 for Sendmail
and port 80 for Apache.
To make a new format template for a CGI which supports this,
open a current template for
that CGI and take note of the INTERFACE comment (if present.) This
comment defines what variables are passed into this template. If
there isn't one, I'm afraid you'll have to read the template and
the code to find out what information you get.
</para>
</listitem>
<listitem>
<para>
Do not run Apache as <quote>nobody</quote>. This will
require very lax permissions in your Bugzilla directories.
Run it, instead, as a user with a name, set via your
httpd.conf file.
<note>
Write your template in whatever markup or text style is appropriate.
</para>
<para>
<quote>nobody</quote> is a real user on UNIX systems.
Having a process run as user id <quote>nobody</quote>
is absolutely no protection against system crackers
versus using any other user account. As a general
security measure, I recommend you create unique user
ID's for each daemon running on your system and, if
possible, use "chroot" to jail that process away from
the rest of your system.
You now need to decide what content type you want your template
served as. Open up the <filename>localconfig</filename> file and find the
<filename>$contenttypes</filename>
variable. If your content type is not there, add it. Remember
the three- or four-letter tag assigned to you content type.
This tag will be part of the template filename.
</para>
</note>
<para>
Save the template as <filename><stubname>-<formatname>.<contenttypetag>.tmpl</filename>.
directories, as well as the $BUGZILLA_HOME/localconfig and
$BUGZILLA_HOME/globals.pl files. The localconfig file
stores your "bugs" user password, which would be terrible
to have in the hands of a criminal, while the "globals.pl"
stores some default information regarding your
installation which could aid a system cracker. In
addition, some files under $BUGZILLA_HOME/data/ store
sensitive information, and $BUGZILLA_HOME/shadow/ stores
bug information for faster retrieval. If you fail to
secure these directories and this file, you will expose
bug information to those who may not be allowed to see it.
There are a few templates you may be particularly interested in
customising for your installation.
</para>
<note>
<para>
Bugzilla provides default .htaccess files to protect the
most common Apache installations. However, you should
verify these are adequate according to the site-wide
security policy of your web server, and ensure that the
.htaccess files are allowed to "override" default
permissions set in your Apache configuration files.
Covering Apache security is beyond the scope of this
Guide; please consult the Apache documentation for
details.
<command>index.html.tmpl</command>:
This is the Bugzilla front page.
</para>
<para>
If you are using a web server that does not support the
.htaccess control method, <emphasis>you are at
risk!</emphasis> After installing, check to see if
you can view the file "localconfig" in your web browser
(e.g.: <ulinkurl="http://bugzilla.mozilla.org/localconfig"> http://bugzilla.mozilla.org/localconfig</ulink>). If you can read the contents of this file, your web server has not secured your bugzilla directory properly and you must fix this problem before deploying Bugzilla. If, however, it gives you a "Forbidden" error, then it probably respects the .htaccess conventions and you are good to go.
<command>global/header.html.tmpl</command>:
This defines the header that goes on all Bugzilla pages.
The header includes the banner, which is what appears to users
and is probably what you want to edit instead. However the
header also includes the HTML HEAD section, so you could for
example add a stylesheet or META tag by editing the header.
</para>
</note>
<para>
On Apache, you can use .htaccess files to protect access
to these directories, as outlined in <ulinkurl="http://bugzilla.mozilla.org/show_bug.cgi?id=57161">Bug 57161</ulink> for the localconfig file, and <ulinkurl="http://bugzilla.mozilla.org/show_bug.cgi?id=65572"> Bug 65572</ulink> for adequate protection in your data/ and shadow/ directories.
<command>global/banner.html.tmpl</command>:
This contains the "banner", the part of the header that appears
at the top of all Bugzilla pages. The default banner is reasonably
barren, so you'll probably want to customise this to give your
installation a distinctive look and feel. It is recommended you
preserve the Bugzilla version number in some form so the version
you are running can be determined, and users know what docs to read.
</para>
<para>
Note the instructions which follow are Apache-specific.
If you use IIS, Netscape, or other non-Apache web servers,
please consult your system documentation for how to secure
these files from being transmitted to curious users.
<command>global/footer.html.tmpl</command>:
This defines the footer that goes on all Bugzilla pages. Editing
this is another way to quickly get a distinctive look and feel for
your Bugzilla installation.
</para>
<para>
Place the following text into a file named ".htaccess",
readable by your web server, in your $BUGZILLA_HOME/data
<entry><foreignphrase>Prompt</foreignphrase> of users command under bash shell</entry>
<entry>
<foreignphrase>Prompt</foreignphrase>
of users command under bash shell</entry>
<entry>bash$</entry>
</row>
<row>
<entry><foreignphrase>Prompt</foreignphrase> of root users command under bash shell</entry>
<entry>
<foreignphrase>Prompt</foreignphrase>
of root users command under bash shell</entry>
<entry>bash#</entry>
</row>
<row>
<entry><foreignphrase>Prompt</foreignphrase> of user command under tcsh shell</entry>
<entry>
<foreignphrase>Prompt</foreignphrase>
of user command under tcsh shell</entry>
<entry>tcsh$</entry>
</row>
<row>
<entry>Environment Variables</entry>
<entry><envar>VARIABLE</envar></entry>
<entry>
<envar>VARIABLE</envar>
</entry>
</row>
<row>
<entry>Emphasized word</entry>
<entry><emphasis>word</emphasis></entry>
<entry>
<emphasis>word</emphasis>
</entry>
</row>
<row>
<entry>Code Example</entry>
<entry><programlisting><sgmltagclass="starttag">para</sgmltag>Beginning and end of paragraph<sgmltagclass="endtag">para</sgmltag></programlisting></entry>
http://homepages.kcbbs.gen.nz/~tonyg/</ulink>, under the
<quote>cvszilla</quote> link.
http://homepages.kcbbs.gen.nz/~tonyg/</ulink>.
</para>
</section>
<sectionid="scm"xreflabel="Perforce SCM (Fast Software Configuration Management System, a powerful commercial alternative to CVS">
<sectionid="scm"
xreflabel="Perforce SCM (Fast Software Configuration Management System, a powerful commercial alternative to CVS">
<title>Perforce SCM</title>
<para>
You can find the project page for Bugzilla and Teamtrack
Perforce integration (p4dti) at: <ulink
url="http://www.ravenbrook.com/project/p4dti/"> http://www.ravenbrook.com/project/p4dti</ulink> . <quote>p4dti</quote> is now an officially supported product from Perforce, and you can find the "Perforce Public Depot" p4dti page at <ulinkurl="http://public.perforce.com/public/perforce/p4dti/index.html"> http://public.perforce.com/public/perforce/p4dti/index.html</ulink>.
</para>
<para>
Integration of Perforce with Bugzilla, once patches are applied,
is seamless. Perforce replication information will appear below
the comments of each bug. Be certain you have a matching set of
patches for the Bugzilla version you are installing. p4dti is
designed to support multiple defect trackers, and maintains its
own documentation for it. Please consult the pages linked above
for further information.
</para>
</section>
<sectionid="tinderbox"xreflabel="Tinderbox, the Mozilla automated build management system">
<title>Tinderbox/Tinderbox2</title>
<para>We need Tinderbox integration information.</para>
</section>
<para>You can find the project page for Bugzilla and Teamtrack Perforce
<para>Apache's <filename>mod_rewrite</filename> module lets you do some truly amazing things with URL rewriting. Here are a couple of examples of what you can do.</para>
<title>Apache
<filename>mod_rewrite</filename>
magic</title>
<para>Apache's
<filename>mod_rewrite</filename>
module lets you do some truly amazing things with URL rewriting. Here are
Quicksearch is a new, experimental feature of the 2.12 release.
It consist of two Javascript files, "quicksearch.js" and
"localconfig.js", and two documentation files,
"quicksearch.html" and "quicksearchhack.html"
</para>
<para>
The index.html page has been updated to include the QuickSearch
text box.
</para>
<para>
To take full advantage of the query power, the Bugzilla
maintainer must edit "localconfig.js" according to the value
sets used in the local installation.
</para>
<para>
Currently, keywords must be hard-coded in localconfig.js. If
they are not, keywords are not automatically recognized. This
means, if localconfig.js is left unconfigured, that searching
for a bug with the "foo" keyword will only find bugs with "foo"
in the summary, status whiteboard, product or component name,
but not those with the keyword "foo".
</para>
<para>
Workarounds for Bugzilla users:
<simplelist>
<member>search for '!foo' (this will find only bugs with the
keyword "foo"</member>
<member>search 'foo,!foo' (equivalent to 'foo OR
keyword:foo')</member>
</simplelist>
</para>
<para>
When this tool is ported from client-side JavaScript to
server-side Perl, the requirement for hard-coding keywords can
be fixed. <ulink
url="http://bugzilla.mozilla.org/show_bug.cgi?id=70907">This bug</ulink> has details.
</para>
</section>
<sectionid="bzhacking">
<title>Hacking Bugzilla</title>
<para>
What follows are some general guidelines for changing Bugzilla, and adhering to good coding practice while doing so. We've had some checkins in the past which ruined Bugzilla installations because of disregard for these conventions. Sorry for the lack of formatting; I got this info into the Guide on the day of 2.14 release and haven't formatted it yet.
<para>There are a suite of Unix utilities for querying Bugzilla from the
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>
a robust, stable RDBMS back-end
<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>
extensive configurability
</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>
a very well-understood and well-thought-out natural bug resolution protocol
</para>
<emphasis>Assigned To:</emphasis>
The person responsible for fixing the bug.</para>
</listitem>
<listitem>
<para>
email, XML, console, and HTTP APIs
</para>
<emphasis>*URL:</emphasis>
A URL associated with the bug, if any.</para>
</listitem>
<listitem>
<para>
available integration with automated software
configuration management systems, including Perforce and
CVS (through the Bugzilla email interface and
checkin/checkout scripts)
</para>
<emphasis>Summary:</emphasis>
A one-sentence summary of the problem.</para>
</listitem>
<listitem>
<para>
too many more features to list
</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>
</itemizedlist>
</para>
<para>
Despite its current robustness and popularity, Bugzilla faces
some near-term challenges, such as reliance on a single
database, a lack of abstraction of the user interface and
program logic, verbose email bug notifications, a powerful but
daunting query interface, little reporting configurability,
problems with extremely large queries, some unsupportable bug
resolution options, little internationalization (although non-US
character sets are accepted for comments), and dependence on
some nonstandard libraries.
</para>
<para>
Some recent headway has been made on the query front, however.
If you are using the latest version of Bugzilla, you should see
a <quote>simple search</quote> form on the default front page of
your Bugzilla install. Type in two or three search terms and
you should pull up some relevant information. This is also
available as "queryhelp.cgi".
</para>
<para>
Despite these small problems, Bugzilla is very hard to beat. It
is under <emphasis>very</emphasis> active development to address
the current issues, and continually gains new features.
</para>
</section>
<sectionid="why">
<title>Why Should We Use Bugzilla?</title>
<epigraph>
<para>
No, Who's on first...
</para>
</epigraph>
<para>
For many years, defect-tracking software has remained
principally the domain of large software development houses.
Even then, most shops never bothered with bug-tracking software,
and instead simply relied on shared lists and email to monitor
the status of defects. This procedure is error-prone and tends
to cause those bugs judged least significant by developers to be
dropped or ignored.
</para>
<para>
These days, many companies are finding that integrated
defect-tracking systems reduce downtime, increase productivity,
and raise customer satisfaction with their systems. Along with
full disclosure, an open bug-tracker allows manufacturers to
keep in touch with their clients and resellers, to communicate
about problems effectively throughout the data management chain.
Many corporations have also discovered that defect-tracking
helps reduce costs by providing IT support accountability,
telephone support knowledge bases, and a common, well-understood
system for accounting for unusual system or software issues.
</para>
<para>
But why should <emphasis>you</emphasis> use Bugzilla?
</para>
<para>
Bugzilla is very adaptable to various situations. Known uses
currently include IT support queues, Systems Administration
deployment management, chip design and development problem
tracking (both pre-and-post fabrication), and software and
hardware bug tracking for luminaries such as Redhat, Loki
software, Linux-Mandrake, and VA Systems. Combined with systems
such as CVS, Bonsai, or Perforce SCM, Bugzilla provides a
powerful, easy-to-use solution to configuration management and
replication problems
</para>
<para>
Bugzilla can dramatically increase the productivity and
accountability of individual employees by providing a documented
workflow and positive feedback for good performance. How many
times do you wake up in the morning, remembering that you were
supposed to do <emphasis>something</emphasis> today, but you
just can't quite remember? Put it in Bugzilla, and you have a
record of it from which you can extrapolate milestones, predict
product versions for integration, and by using Bugzilla's e-mail
integration features be able to follow the discussion trail that
led to critical decisions.
</para>
<para>
Ultimately, Bugzilla puts the power in your hands to improve
your value to your employer or business while providing a usable
framework for your natural attention to detail and knowledge
store to flourish.
</para>
</section>
<sectionid="how">
<title>How do I use Bugzilla?</title>
<epigraph>
<para>
Hey! I'm Woody! Howdy, Howdy, Howdy!
</para>
</epigraph>
<para>
Bugzilla is a large, complex system. Describing how to use it
requires some time. If you are only interested in installing or
administering a Bugzilla installation, please consult the
Installing and Administering Bugzilla portions of this Guide.
This section is principally aimed towards developing end-user
mastery of Bugzilla, so you may fully enjoy the benefits
afforded by using this reliable open-source bug-tracking
software.
</para>
<para>
Throughout this portion of the Guide, we will refer to user
account options available at the Bugzilla test installation,
<ulinkurl="http://landfill.tequilarista.org/">
landfill.tequilarista.org</ulink>.
<note>
<listitem>
<para>
Some people have run into difficulties completing this
tutorial. If you run into problems, please check the
updated online documentation available at <ulink
url="http://www.trilobyte.net/barnsons/">http://www.trilobyte.net/barnsons</ulink>. If you're still stumped, please subscribe to the newsgroup and provide details of exactly what's stumping you! If enough people complain, I'll have to fix it in the next version of this Guide. You can subscribe to the newsgroup at <ulinkurl="news://news.mozilla.org/netscape.public.mozilla.webtools"> news://news.mozilla.org/netscape.public.mozilla.webtools</ulink>
</para>
</note> Although Landfill serves as a great introduction to
Bugzilla, it does not offer all the options you would have as a
user on your own installation of Bugzilla, nor can it do more
than serve as a general introduction to Bugzilla. Additionally,
Landfill often runs cutting-edge versions of Bugzilla for
testing, so some things may work slightly differently than
mentioned here.
</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>
<sectionid="myaccount">
<title>Create a Bugzilla Account</title>
<para>
First things first! 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 the end-user
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>
<sectionid="bug-writing">
<title>Writing a Great Bug Report</title>
<para>
Before we plunge into writing your first bug report, I
encourage you to read some bug-writing guidelines. If you
are reading this document as part of a Bugzilla CVS checkout
or un-tarred Bugzilla distribution, you should be able to
read them by clicking <ulink
url="../../bugwritinghelp.html">here</ulink>. If you are reading this online, check out the Mozilla.org bug-writing guidelines at <ulinkurl="http://www.mozilla.org/quality/bug-writing-guidelines.html">http://www.mozilla.org/quality/bug-writing-guidelines.html</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>
While you are at it, why not learn how to find previously
reported bugs? Mozilla.org has published a great tutorial
Other strings which get linkified in the obvious manner are:
<simplelist>
<member>bug 12345</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>
</listitem>
<listitem>
<para>
Hey! It said it couldn't take the change in a big red
box! That's right, you must specify a Comment in order
to make this change. Select the "Back" button in your
browser, add a Comment, then try Resolving the bug with
INVALID status again. This time it should work.
<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
for the convenience of others.
</para>
</listitem>
</orderedlist>
<para>
You have now learned the basics of Bugzilla navigation,
entering a bug, and bug maintenance. I encourage you to
explore these features, and see what you can do with them!
We'll spend no more time on individual Bugs or Queries from
this point on, so you are on your own there.
</section>
<sectionid="quicksearch">
<title>Quicksearch</title>
<para>Quicksearch is a single-text-box query tool which uses
metacharacters to indicate what is to be searched. For example, typing
"<filename>foo|bar</filename>"
into Quicksearch would search for "foo" or "bar" in the
summary and status whiteboard of a bug; adding
"<filename>:BazProduct</filename>" would
search only in that product.
</para>
<para>
But I'll give a few last hints!
<para>You'll find the Quicksearch box on Bugzilla's
front page, along with a
<ulinkurl="../../quicksearch.html">Help</ulink>
link which details how to use it.</para>
</section>
<sectionid="commenting">
<title>Comments</title>
<para>If you are changing the fields on a bug, only comment if
either you have something pertinent to say, or Bugzilla requires it.
Otherwise, you may spam people unnecessarily with bug mail.
To take an example: a user can set up their account to filter out messages
where someone just adds themselves to the CC field of a bug
(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>
There is a <ulink
url="http://bugzilla.mozilla.org/help.html">CLUE</ulink> on the Query page that will teach you more how to use the form.
Don't use sigs in comments. Signing your name ("Bill") is acceptable,
particularly if you do it out of habit, but full mail/news-style
four line ASCII art creations are not.
</para>
</section>
<sectionid="attachments">
<title>Attachments</title>
<para>
If you click the hyperlink on the <ulink
url="http://bugzilla.mozilla.org/describecomponents.cgi">Component</ulink> box of the Query page, you will be presented a form that will describe what all the components are.
Use attachments, rather than comments, for large chunks of ASCII data,
such as trace, debugging output files, or log files. That way, it doesn't
bloat the bug for everyone who wants to read it, and cause people to
receive fat, useless mails.
</para>
<para>
Possibly the most powerful feature of the Query page is the
<ulink
url="http://bugzilla.mozilla.org/booleanchart.html">Boolean Chart</ulink> section. It's a bit confusing to use the first time, but can provide unparalleled flexibility in your queries, allowing you to build extremely powerful requests.
<para>Trim screenshots. There's no need to show the whole screen if
you are pointing out a single-pixel problem.
</para>
<para>
Finally, you can build some nifty <ulink
url="http://bugzilla.mozilla.org/reports.cgi">Reports</ulink> using the "Bug Reports" link near the bottom of the query page, and also available via the "Reports" link at the footer of each page.
<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>
<title>Filing Bugs</title>
<sectionid="init4me">
<title>Where can I find my user preferences?</title>
<epigraph>
<para>
Indiana, it feels like we walking on fortune cookies!
<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>
These ain't fortune cookies, kid...
You do not need to put "any" or similar strings in the URL field.
If there is no specific URL associated with the bug, leave this
field blank.
</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
On this page, you can change your basic Account Settings,
including your password and full name. For security reasons,
in order to change anything on this page you must type your
<emphasis>current</emphasis> password into the <quote>Old
Password</quote> field. If you wish to change your
password, type the new password you want into the <quote>New
Password</quote> field and again into the <quote>Re-enter
new password</quote> field to ensure you typed your new
password correctly. Select the <quote>Submit</quote> button
and you are done.
</para>
<para>On this tab, you can change your basic account information,
including your password, email address and real name. For security
reasons, in order to change anything on this page you must type your
<emphasis>current</emphasis>
password into the
<quote>Password</quote>
field at the top of the page.
If you attempt to change your email address, a confirmation
email is sent to both the old and new addresses, with a link to use to
confirm the change. This helps to prevent account hijacking.</para>
</section>
<sectionid="emailsettings">
<sectionid="emailsettings">
<title>Email Settings</title>
<sectionid="notification"xreflabel="">
<title>Email Notification</title>
<para>
Here you can reduce or increase the amount of email sent you
from Bugzilla. Although this is referred to as
<quote>Advanced Email Filtering Options</quote>, they are,
in fact, the standard email filter set. All of them are
self-explanatory, but you can use the filters in interesting
ways. For instance, some people (notably Quality Assurance
personnel) often only care to receive updates regarding a
bug when the bug changes state, so they can track bugs on
their flow charts and know when it is time to pull the bug
onto a quality assurance platform for inspection. Other
people set up email gateways to
<xreflinkend="bonsai"/> or <xreflinkend="tinderbox"/>, and
restrict which types of Bugzilla information are fed to
these systems..
</para>
</section>
<sectionid="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>
<sectionid="watchsettings">
<title>"Watching" Users</title>
<para>On this tab you can reduce or increase the amount of email sent
you from Bugzilla, opting in our out depending on your relationship to
the bug and the change that was made to it. (Note that you can also do
client-side filtering using the X-Bugzilla-Reason header which Bugzilla
adds to all bugmail.)</para>
<para>By entering user email names, delineated by commas, into the
"Users to watch" text entry box you can receive a copy of all the
bugmail of other users (security settings permitting.) This powerful
functionality enables seamless transitions as developers change
projects or users go on holiday.</para>
<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>
<para>The ability to watch other users may not be available in all
Bugzilla installations. If you can't see it, ask your
administrator.</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>
<sectionid="footersettings">
<title>Page Footer</title>
<note>
<para>
By default, this page is quite barren. However, go explore
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>
<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>
<para>On the Search page, you can store queries in Bugzilla, so if you
regularly run a particular query it is just a drop-down menu away.
Once you have a stored query, you can come
here to request that it also be displayed in your page footer.</para>
</section>
<sectionid="permissionsettings">
<title>Permissions</title>
<para>
This is a purely informative page which outlines your current
permissions on this installation of Bugzilla. If you have
permissions to grant certain permissions to other users, the
"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>
<sectionid="usingbz-conc">
<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>
<para>This is a purely informative page which outlines your current
permissions on this installation of Bugzilla - what product groups you
are in, and whether you can edit bugs or perform various administration