blob: 816508839ab6535157d62b7d5f837adf3723b095 [file] [log] [blame]
<!-- <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<appendix id="faq">
<title>The Bugzilla FAQ</title>
<para>
This FAQ includes questions not covered elsewhere in the Guide.
</para>
<qandaset>
<qandadiv id="faq-general">
<title>General Questions</title>
<qandaentry>
<question id="faq-general-license">
<para>
What license is Bugzilla distributed under?
</para>
</question>
<answer>
<para>
Bugzilla is covered by the Mozilla Public License.
See details at <ulink url="http://www.mozilla.org/MPL/"/>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-support">
<para>
How do I get commercial support for Bugzilla?
</para>
</question>
<answer>
<para>
<ulink url="http://www.bugzilla.org/support/consulting.html"/>
is a list of companies and individuals who have asked us to
list them as consultants for Bugzilla.
</para>
<para>
There are several experienced
Bugzilla hackers on the mailing list/newsgroup who are willing
to make themselves available for generous compensation.
Try sending a message to the mailing list asking for a volunteer.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-companies">
<para>
What major companies or projects are currently using Bugzilla
for bug-tracking?
</para>
</question>
<answer>
<para>
There are <emphasis>dozens</emphasis> of major companies with public
Bugzilla sites to track bugs in their products. We have a fairly
complete list available on our website at
<ulink url="http://bugzilla.org/installation-list/"/>. If you
have an installation of Bugzilla and would like to be added to the
list, whether it's a public install or not, simply e-mail
Gerv <email>gerv@mozilla.org</email>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-maintainers">
<para>
Who maintains Bugzilla?
</para>
</question>
<answer>
<para>
A <ulink url="http://www.bugzilla.org/developers/profiles.html">core
team</ulink>, led by Dave Miller (justdave@bugzilla.org).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-compare">
<para>
How does Bugzilla stack up against other bug-tracking databases?
</para>
</question>
<answer>
<para>
We can't find any head-to-head comparisons of Bugzilla against
other defect-tracking software. If you know of one, please get
in touch. In the experience of Matthew Barnson (the original
author of this FAQ), though, Bugzilla offers superior
performance on commodity hardware, better price (free!), more
developer-friendly features (such as stored queries, email
integration, and platform independence), improved scalability,
greater flexibility, and superior ease-of-use when compared
to commercial bug-tracking software.
</para>
<para>
If you happen to be a vendor for commercial bug-tracking
software, and would like to submit a list of advantages your
product has over Bugzilla, simply send it to
<email>documentation@bugzilla.org</email> and we'd be happy to
include the comparison in our documentation.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-bzmissing">
<para>
Why doesn't Bugzilla offer this or that feature or compatibility
with this other tracking software?
</para>
</question>
<answer>
<para>
It may be that the support has not been built yet, or that you
have not yet found it. While Bugzilla makes strides in usability,
customizability, scalability, and user interface with each release,
that doesn't mean it can't still use improvement!
</para>
<para>
The best way to make an enhancement request is to <ulink
url="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla">file
a bug at bugzilla.mozilla.org</ulink> and set the Severity
to 'enhancement'. Your 'request for enhancement' (RFE) will
start out in the UNCONFIRMED state, and will stay there until
someone with the ability to COMFIRM the bug reviews it.
If that person feels it to be a good request that fits in with
Bugzilla's overall direction, the status will be changed to
NEW; if not, they will probably explain why and set the bug
to RESOLVED/WONTFIX. If someone else has made the same (or
almost the same) request before, your request will be marked
RESOLVED/DUPLICATE, and a pointer to the previous RFE will be
added.
</para>
<para>
Even if your RFE gets approved, that doesn't mean it's going
to make it right into the next release; there are a limited
number of developers, and a whole lot of RFEs... some of
which are <emphasis>quite</emphasis> complex. If you're a
code-hacking sort of person, you can help the project along
by making a patch yourself that supports the functionality
you require. If you have never contributed anything to
Bugzilla before, please be sure to read the
<ulink url="http://www.bugzilla.org/docs/developer.html">Developers' Guide</ulink>
and
<ulink url="http://www.bugzilla.org/docs/contributor.html">Contributors' Guide</ulink>
before going ahead.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-mysql">
<para>
Why MySQL? I'm interested in seeing Bugzilla run on
PostgreSQL/Sybase/Oracle/Msql/MSSQL.
</para>
</question>
<answer>
<para>
MySQL was originally chosen because it is free, easy to install,
and was available for the hardware Netscape intended to run it on.
</para>
<para>
There is currently work in progress to make Bugzilla work on
PostgreSQL; track the progress of this initiative in <ulink
url="http://bugzilla.mozilla.org/show_bug.cgi?id=98304">bug 98304</ulink>.
</para>
<para>
Sybase support is no longer being worked on. Even if it eventually
happens, it's VERY unlikely to work without the end-user-company
having to stick a few developers on making several manual changes.
Sybase is just NOT very standards-compliant (despite all the hype),
and it turned out that way too much had to be changed to make it
work -- like moving half of the application logic into stored
procedures to get any kind of decent performance out of it.
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=173130">Bug
173130</ulink> is the relevant bug.
</para>
<para>
Red Hat once ran a version of Bugzilla that worked on Oracle,
but that was long, long ago; that version (Bugzilla 2.8) is
now obsolete, insecure, and totally unsupported. Red Hat's
current Bugzilla (based on Bugzilla 2.17.1) uses PostgreSQL,
and work is being done to merge those changes into the main
distribution. (See above.) At this time we know of no recent
ports of Bugzilla to Oracle. (In our honest opinion, Bugzilla
doesn't need what Oracle offers.)
</para>
<para>
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=237862">Bug
237862</ulink> is a good bug to read through if you'd like to see
what progress is being made on general database compatibility.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-bonsaitools">
<para>
What is <filename>/usr/bonsaitools/bin/perl</filename>?
</para>
</question>
<answer>
<para>
Bugzilla used to have the path to perl on the shebang line set
to <filename>/usr/bonsaitools/bin/perl</filename> because when
Terry first started writing the code for mozilla.org he needed a
version of Perl and other tools that were completely under his
control. This location was abandoned for the 2.18 release in favor
of the more sensible <filename>/usr/bin/perl</filename>. If you
installed an older verion of Bugzilla and created the symlink we
suggested, you can remove it now (provided that you don't have
anything else, such as Bonsai, using it and you don't intend to
reinstall an older version of Bugzilla).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-perlpath">
<para>
My perl is located at <filename>/usr/local/bin/perl</filename>
and not <filename>/usr/bin/perl</filename>. Is there an easy
to change that in all the files that have this hard-coded?
</para>
</question>
<answer>
<para>
The easiest way to get around this is to create a link from
one to the other:
<command>ln -s /usr/local/bin/perl /usr/bin/perl</command>.
If that's not an option for you, the following bit of perl
magic will change all the shebang lines (that is to say,
the line at the top of each file that starts with '#!'
and contains the path) to something else:
</para>
<programlisting>
perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
</programlisting>
<para>
Sadly, this command-line won't work on Windows unless you
also have Cygwin. However, MySQL comes with a binary called
<command>replace</command> which can do the job:
</para>
<programlisting>
C:\mysql\bin\replace "#!/usr/bin/perl" "#!C:\perl\bin\perl" -- *.cgi *.pl
</programlisting>
<note>
<para>
If your perl path is something else again, just follow the
above examples and replace
<filename>/usr/local/bin/perl</filename> with your own perl path.
</para>
</note>
<para>
Once you've modified all your files, you'll also need to modify the
<filename>t/002goodperl.t</filename> test, as it tests that all
shebang lines are equal to <filename>/usr/bin/perl</filename>.
(For more information on the test suite, please check out the
appropriate section in the <ulink
url="http://www.bugzilla.org/docs/developer.html#testsuite">Developers'
Guide</ulink>.) Having done this, run the test itself:
<programlisting>
perl runtests.pl 2 --verbose
</programlisting>
to ensure that you've modified all the relevant files.
</para>
<para>
If using Apache on Windows, you can avoid the whole problem
by setting the <ulink
url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">
ScriptInterpreterSource</ulink> directive to 'Registry'.
(If using Apache 2 or higher, set it to 'Registry-Strict'.)
ScriptInterperterSource requires a registry entry
<quote>HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command</quote> to
associate .cgi files with your perl executable. If one does
not already exist, create it with a default value of
<quote>&lt;full path to perl&gt; -T</quote>, e.g.
<quote>C:\Perl\bin\perl.exe -T</quote>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-general-cookie">
<para>
Is there an easy way to change the Bugzilla cookie name?
</para>
</question>
<answer>
<para>
At present, no.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-mod-perl">
<para>
Does bugzilla run under <filename>mod_perl</filename>?
</para>
</question>
<answer>
<para>
At present, no. Work is slowly taking place to remove global
variables, use $cgi, and use DBI. These are all necessary for
mod_perl (as well as being good for other reasons). Visit
<ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=87406">
bug 87406</ulink> to view the discussion and progress.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-phb">
<title>Managerial Questions</title>
<qandaentry>
<question id="faq-phb-client">
<para>
Is Bugzilla web-based, or do you have to have specific software or
a specific operating system on your machine?
</para>
</question>
<answer>
<para>
It is web and e-mail based.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-priorities">
<para>
Does Bugzilla allow us to define our own priorities and levels?
Do we have complete freedom to change the labels of fields and
format of them, and the choice of acceptable values?
</para>
</question>
<answer>
<para>
Yes. However, modifying some fields, notably those related to bug
progression states, also require adjusting the program logic to
compensate for the change.
</para>
<para>
There is no GUI for adding fields to Bugzilla at this
time. You can follow development of this feature in
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=91037">bug 91037</ulink>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-reporting">
<para>
Does Bugzilla provide any reporting features, metrics, graphs,
etc? You know, the type of stuff that management likes to see. :)
</para>
</question>
<answer>
<para>
Yes. Look at <ulink url="http://bugzilla.mozilla.org/report.cgi"/>
for samples of what Bugzilla can do in reporting and graphing.
Fuller documentation is provided in <xref linkend="reporting"/>.
</para>
<para>
If you can not get the reports you want from the included reporting
scripts, it is possible to hook up a professional reporting package
such as Crystal Reports using ODBC. If you choose to do this,
beware that giving direct access to the database does contain some
security implications. Even if you give read-only access to the
bugs database it will bypass the secure bugs features of Bugzilla.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-email">
<para>
Is there email notification? If so, what do you see
when you get an email?
</para>
</question>
<answer>
<para>
Email notification is user-configurable. By default, the bug id
and summary of the bug report accompany each email notification,
along with a list of the changes made.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-emailapp">
<para>
Do users have to have any particular
type of email application?
</para>
</question>
<answer>
<para>
Bugzilla email is sent in plain text, the most compatible
mail format on the planet.
<note>
<para>
If you decide to use the bugzilla_email integration features
to allow Bugzilla to record responses to mail with the
associated bug, you may need to caution your users to set
their mailer to <quote>respond to messages in the format in
which they were sent</quote>. For security reasons Bugzilla
ignores HTML tags in comments, and if a user sends HTML-based
email into Bugzilla the resulting comment looks downright awful.
</para>
</note>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-data">
<para>
Does Bugzilla allow data to be imported and exported? If I had
outsiders write up a bug report using a MS Word bug template,
could that template be imported into <quote>matching</quote>
fields? If I wanted to take the results of a query and export
that data to MS Excel, could I do that?
</para>
</question>
<answer>
<para>
Bugzilla can output buglists as HTML (the default), CSV or RDF.
The link for CSV can be found at the bottom of the buglist in HTML
format. This CSV format can easily be imported into MS Excel or
other spreadsheet applications.
</para>
<para>
To use the RDF format of the buglist it is necessary to append a
<computeroutput>&amp;ctype=rdf</computeroutput> to the URL. RDF
is meant to be machine readable and thus it is assumed that the
URL would be generated programmatically so there is no user visible
link to this format.
</para>
<para>
Currently the only script included with Bugzilla that can import
data is <filename>importxml.pl</filename> which is intended to be
used for importing the data generated by the XML ctype of
<filename>show_bug.cgi</filename> in association with bug moving.
Any other use is left as an exercise for the user.
</para>
<para>
There are also scripts included in the <filename>contrib/</filename>
directory for using e-mail to import information into Bugzilla,
but these scripts are not currently supported and included for
educational purposes.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-l10n">
<para>
Has anyone converted Bugzilla to another language to be
used in other countries? Is it localizable?
</para>
</question>
<answer>
<para>
Yes. For more information including available translated templates,
see <ulink
url="http://www.bugzilla.org/download.html#localizations"/>.
Some admin interfaces have been templatized (for easy localization)
but many of them are still available in English only. Also, there
may be issues with the charset not being declared. See <ulink
url="http://bugzilla.mozilla.org/show_bug.cgi?id=126266">bug 126226</ulink>
for more information.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-reports">
<para>
Can a user create and save reports?
Can they do this in Word format? Excel format?
</para>
</question>
<answer>
<para>
Yes. No. Yes (using the CSV format).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-backup">
<para>
Are there any backup features provided?
</para>
</question>
<answer>
<para>
MySQL, the database back-end for Bugzilla, allows hot-backup
of data. You can find strategies for dealing with backup
considerations at <ulink
url="http://www.mysql.com/doc/B/a/Backup.html"/>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-maintenance">
<para>
What type of human resources are needed to be on staff to install
and maintain Bugzilla? Specifically, what type of skills does the
person need to have? I need to find out what types of individuals
would we need to hire and how much would that cost if we were to
go with Bugzilla vs. buying an <quote>out-of-the-box</quote>
solution.
</para>
</question>
<answer>
<para>
If Bugzilla is set up correctly from the start, continuing
maintenance needs are minimal and can be done easily using
the web interface.
</para>
<para>
Commercial Bug-tracking software typically costs somewhere
upwards of $20,000 or more for 5-10 floating licenses. Bugzilla
consultation is available from skilled members of the newsgroup.
Simple questions are answered there and then.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-installtime">
<para>
What time frame are we looking at if we decide to hire people
to install and maintain the Bugzilla? Is this something that
takes hours or days to install and a couple of hours per week
to maintain and customize, or is this a multi-week install process,
plus a full time job for 1 person, 2 people, etc?
</para>
</question>
<answer>
<para>
It all depends on your level of commitment. Someone with much
Bugzilla experience can get you up and running in less than a day,
and your Bugzilla install can run untended for years. If your
Bugzilla strategy is critical to your business workflow, hire
somebody to who has reasonable Perl skills, and a familiarity
with the operating system on which Bugzilla will be running,
and have them handle your process management, bug-tracking
maintenance, and local customization.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-cost">
<para>
Is there any licensing fee or other fees for using Bugzilla? Any
out-of-pocket cost other than the bodies needed as identified above?
</para>
</question>
<answer>
<para>
No. Bugzilla, Perl, the Template Toolkit, and all other support
software needed to make Bugzilla work can be downloaded for free.
MySQL -- the database used by Bugzilla -- is also open-source, but
they ask that if you find their product valuable, you purchase a
support contract from them that suits your needs.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-phb-renameBugs">
<para>
We don't like referring to problems as 'bugs'. Can we change that?
</para>
</question>
<answer>
<para>
Yes! As of Bugzilla 2.18, it is a simple matter to change the
word 'bug' into whatever word/phrase is used by your organization.
See the documentation on Customization for more details,
specifically <xref linkend="template-specific"/>.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-admin">
<title>Administrative Questions</title>
<qandaentry>
<question id="faq-admin-midair">
<para>
Does Bugzilla provide record locking when there is simultaneous
access to the same bug? Does the second person get a notice
that the bug is in use or how are they notified?
</para>
</question>
<answer>
<para>
Bugzilla does not lock records. It provides mid-air collision
detection -- which means that it warns a user when a commit is
about to conflict with commits recently made by another user,
and offers the second user a choice of options to deal with
the conflict.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-admin-livebackup">
<para>
Can users be on the system while a backup is in progress?
</para>
</question>
<answer>
<para>
Yes, but commits to the database must wait until the tables
are unlocked. Bugzilla databases are typically very small,
and backups routinely take less than a minute. If your database
is larger, you may want to look into alternate backup
techniques, such as database replication, or backing up from
a read-only mirror. (Read up on these in the MySQL docs
on the MySQL site.)
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-admin-cvsupdate">
<para>
How can I update the code and the database using CVS?
</para>
</question>
<answer>
<para>
<orderedlist>
<listitem>
<para>
Make a backup of both your Bugzilla directory and the
database. For the Bugzilla directory this is as easy as
doing <command>cp -rp bugzilla bugzilla.bak</command>.
For the database, there's a number of options - see the
MySQL docs and pick the one that fits you best (the easiest
is to just make a physical copy of the database on the disk,
but you have to have the database server shut down to do
that without risking dataloss).
</para>
</listitem>
<listitem>
<para>
Make the Bugzilla directory your current directory.
</para>
</listitem>
<listitem>
<para>
Use <command>cvs -q update -AdP</command> if you want to
update to the tip or
<command>cvs -q update -dP -rTAGNAME</command>
if you want a specific version (in that case you'll have to
replace TAGNAME with a CVS tag name such as BUGZILLA-2_16_5).
</para>
<para>
If you've made no local changes, this should be very clean.
If you have made local changes, then watch the cvs output
for C results. If you get any lines that start with a C
it means there were conflicts between your local changes
and what's in CVS. You'll need to fix those manually before
continuing.
</para>
</listitem>
<listitem>
<para>
After resolving any conflicts that the cvs update operation
generated, running <command>./checksetup.pl</command> will
take care of updating the database for you as well as any
other changes required for the new version to operate.
</para>
<warning>
<para>
Once you run checksetup.pl, the only way to go back is
to restore the database backups. You can't
<quote>downgrade</quote> the system cleanly under most
circumstances.
</para>
</warning>
</listitem>
</orderedlist>
</para>
<para>
See also the instructions in <xref linkend="upgrade-cvs"/>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-admin-enable-unconfirmed">
<para>
How do I make it so that bugs can have an UNCONFIRMED status?
</para>
</question>
<answer>
<para>
To use the UNCONFIRMED status, you must have the 'usevotes'
parameter set to <quote>On</quote>. You must then visit the
<filename>editproducts.cgi</filename> page and set the <quote>
Number of votes a bug in this product needs to automatically
get out of the UNCONFIRMED state</quote> to be a non-zero number.
(You will have to do this for each product that wants to use
the UNCONFIRMED state.) If you do not actually want users to be
able to vote for bugs entered against this product, leave the
<quote>Maximum votes per person</quote> value at '0'.
</para>
<para>
There is work being done to decouple the UNCONFIRMED state from
the 'usevotes' parameter for future versions of Bugzilla.
Follow the discussion and progress at <ulink
url="https://bugzilla.mozilla.org/show_bug.cgi?id=162060">bug
162060</ulink>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-admin-moving">
<para>
How do I move a Bugzilla installation from one machine to another?
</para>
</question>
<answer>
<para>
Use mysqldump to make a backup of the bugs database. For a
typical Bugzilla setup, such a command might look like this:
<programlisting>
/usr/bin/mysqldump -u(username) -p(password) --database bugs > bugzilla-backup.txt
</programlisting>
See the <ulink url="http://dev.mysql.com/doc/mysql/en/mysqldump.html">
mysqldump documentation</ulink> for more information on using
the tool, including how to restore your copy onto the destination
machine.
</para>
<warning>
<para>
Depending on the size of your database, and the power of your
machine, the mysqldump command could be running long enough
that the password would be visible to someone using the
<command>ps</command> command. If you are on a multi-user
machine, and this is a concern to you, create an entry in
the file <filename>~/.my.cnf</filename> that looks like this:
<programlisting>
[mysqldump]
user=bugs
password=mypassword
</programlisting>
and then leave the 'user' and 'password' params out of the
command line.
</para>
</warning>
<para>
On your new machine, follow the instructions found in <xref
linkend="installing-bugzilla"/> as far as setting up the physical
environment of the new machine with perl, webserver, modules, etc.
Having done that, you can either: copy your entire Bugzilla
directory from the old machine to a new one (if you want to keep
your existing code and modifications), or download a newer version
(if you are planning to upgrade at the same time). Even if you are
upgrading to clean code, you will still want to bring over the
<filename>localconfig</filename> file, and the
<filename class="directory">data</filename> directory from the
old machine, as they contain configuration information that you
probably won't want to re-create.
</para>
<note>
<para>
If the location or port number of your SQL server changed
as part of the move, you'll need to update the appropriate
variables in localconfig before taking the next step.
</para>
</note>
<para>
Once you have your code in place, and your database has
been restored from the backup you made in step 1, run
<command>checksetup.pl</command>. This will upgrade your
database (if necessary), rebuild your templates, etc.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-security">
<title>Bugzilla Security</title>
<qandaentry>
<question id="faq-security-mysql">
<para>
How do I completely disable MySQL security if it's giving
me problems? (I've followed the instructions in the installation
section of this guide...)
</para>
</question>
<!-- Should we really even answer this question? -->
<answer>
<para>
Run MySQL like this: <command>mysqld --skip-grant-tables</command>.
Please remember that <emphasis>this makes MySQL as secure as
taping a $100 to the floor of a football stadium bathroom for
safekeeping.</emphasis>
</para>
<warning>
<para>
This can't be stressed enough. Doing this is a bad idea.
Please consult <xref linkend="security-mysql"/> of this guide
and the MySQL documentation for better solutions.
</para>
</warning>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-security-knownproblems">
<para>
Are there any security problems with Bugzilla?
</para>
</question>
<answer>
<para>
The Bugzilla code has undergone a reasonably complete security
audit, and user-facing CGIs run under Perl's taint mode. However,
it is recommended that you closely examine permissions on your
Bugzilla installation, and follow the recommended security
guidelines found in The Bugzilla Guide.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-email">
<title>Bugzilla Email</title>
<qandaentry>
<question id="faq-email-nomail">
<para>
I have a user who doesn't want to receive any more email
from Bugzilla. How do I stop it entirely for this user?
</para>
</question>
<answer>
<para>
The user can stop Bugzilla from sending any mail by unchecking
all boxes on the 'Edit prefs' -> 'Email settings' page.
(As of 2.18,this is made easier by the addition of a 'Disable
All Mail' button.) Alternately, you can add their email address
to the <filename>data/nomail</filename> file (one email address
per line). This will override their personal preferences, and
they will never be sent mail again.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-email-testing">
<para>
I'm evaluating/testing Bugzilla, and don't want it to send email
to anyone but me. How do I do it?
</para>
</question>
<answer>
<para>
To disable email, set the
<option>mail_delivery_method</option> parameter to
<literal>none</literal> (2.20 and later), or
<programlisting>$enableSendMail</programlisting> parameter to '0'
in either <filename>BugMail.pm</filename> (2.18 and later) or
<filename>processmail</filename> (up to 2.16.x).
</para>
<note>
<para>
Up to 2.16.x, changing
<programlisting>$enableSendMail</programlisting>
will only affect bugmail; email related to password changes,
email address changes, bug imports, flag changes, etc. will
still be sent out. As of the final release of 2.18, however,
the above step will disable <emphasis>all</emphasis> mail
sent from Bugzilla for any purpose.
</para>
</note>
<para>
To have bugmail (and only bugmail) redirected to you instead of
its intended recipients, leave
<programlisting>$enableSendMail</programlisting> alone;
instead, edit the <quote>newchangedmail</quote> parameter
as follows:
</para>
<itemizedlist>
<listitem>
<para>
Replace <quote>To:</quote> with <quote>X-Real-To:</quote>
</para>
</listitem>
<listitem>
<para>
Replace <quote>Cc:</quote> with <quote>X-Real-CC:</quote>
</para>
</listitem>
<listitem>
<para>
Add a <quote>To: %lt;your_email_address&gt;</quote>
</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-email-whine">
<para>
I want whineatnews.pl to whine at something other than new and
reopened bugs. How do I do it?
</para>
</question>
<answer>
<para>
For older versions of Bugzilla, you may be able to apply
Klaas Freitag's patch for <quote>whineatassigned</quote>,
which can be found in
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=6679">bug
6679</ulink>. Note that this patch was made in 2000, so it may take
some work to apply cleanly to any releases of Bugzilla newer than
that, but you can use it as a starting point.
</para>
<para>
An updated (and much-expanded) version of this functionality is
due to be released as part of Bugzilla 2.20; see
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=185090">bug
185090</ulink> for the discussion, and for more up-to-date patches
if you just can't wait.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-email-mailif">
<para>
How do I set up the email interface to submit/change bugs via email?
</para>
</question>
<answer>
<para>
You can find an updated README.mailif file in the contrib/ directory
of your Bugzilla distribution that walks you through the setup.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-email-sendmailnow">
<para>
Email takes FOREVER to reach me from Bugzilla -- it's
extremely slow. What gives?
</para>
</question>
<answer>
<para>
If you are using <application>sendmail</application>, try
enabling <option>sendmailnow</option> in
<filename>editparams.cgi</filename>. For earlier versions of
<application>sendmail</application>, one could achieve
significant performance improvement in the UI (at the cost of
delaying the sending of mail) by setting this parameter to
<literal>off</literal>. Sites with
<application>sendmail</application> version 8.12 (or higher)
should leave this <literal>on</literal>, as they will not see
any performance benefit.
</para>
<para>
If you are using an alternate
<glossterm linkend="gloss-mta">MTA</glossterm>, make sure the
options given in <filename>Bugzilla/BugMail.pm</filename>
and any other place where <application>sendmail</application>
is called are correct for your MTA.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-email-nonreceived">
<para>
How come email from Bugzilla changes never reaches me?
</para>
</question>
<answer>
<para>
Double-check that you have not turned off email in your user
preferences. Confirm that Bugzilla is able to send email by
visiting the <quote>Log In</quote> link of your Bugzilla
installation and clicking the <quote>Submit Request</quote>
button after entering your email address.
</para>
<para>
If you never receive mail from Bugzilla, chances are you do
not have sendmail in "/usr/lib/sendmail". Ensure sendmail
lives in, or is symlinked to, "/usr/lib/sendmail".
</para>
<para>
If you are using an MTA other than
<application>sendmail</application> the
<option>sendmailnow</option> param must be set to
<literal>on</literal> or no mail will be sent.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-db">
<title>Bugzilla Database</title>
<qandaentry>
<question id="faq-db-corrupted">
<para>
I think my database might be corrupted, or contain
invalid entries. What do I do?
</para>
</question>
<answer>
<para>
Run the <quote>sanity check</quote> utility
(<filename>sanitycheck.cgi</filename>) from your web browser
to see! If it finishes without errors, you're
<emphasis>probably</emphasis> OK. If it doesn't come back
OK (i.e. any red letters), there are certain things
Bugzilla can recover from and certain things it can't. If
it can't auto-recover, I hope you're familiar with
mysqladmin commands or have installed another way to
manage your database. Sanity Check, although it is a good
basic check on your database integrity, by no means is a
substitute for competent database administration and
avoiding deletion of data. It is not exhaustive, and was
created to do a basic check for the most common problems
in Bugzilla databases.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-db-manualedit">
<para>
I want to manually edit some entries in my database. How?
</para>
</question>
<answer>
<para>
There is no facility in Bugzilla itself to do this. It's also
generally not a smart thing to do if you don't know exactly what
you're doing. If you understand SQL, though, you can use the
<command>mysql</command> command line utility to manually insert,
delete and modify table information. There are also more intuitive
GUI clients available. Personal favorites of the Bugzilla team
are <ulink url="http://www.phpmyadmin.net/">phpMyAdmin</ulink>
and <ulink url="http://www.mysql.com/products/mysqlcc/">MySQL
Control Center</ulink>.
</para>
<para>
Remember, backups are your friend. Everyone makes mistakes, and
it's nice to have a safety net in case you mess something up.
Consider using <command>mysqldump</command> to make a duplicate
of your database before altering it manually.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-db-permissions">
<para>
I think I've set up MySQL permissions correctly, but Bugzilla still
can't connect.
</para>
</question>
<answer>
<para>
Try running MySQL from its binary:
<command>mysqld --skip-grant-tables</command>.
This will allow you to completely rule out grant tables as the
cause of your frustration. If this Bugzilla is able to connect
at this point then you need to check that you have granted proper
permission to the user password combo defined in
<filename>localconfig</filename>.
</para>
<warning>
<para>
Running MySQL with this command line option is very insecure and
should only be done when not connected to the external network
as a troubleshooting step.
</para>
</warning>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-db-synchronize">
<para>
How do I synchronize bug information among multiple
different Bugzilla databases?
</para>
</question>
<answer>
<para>
Well, you can synchronize or you can move bugs.
Synchronization will only work one way -- you can create
a read-only copy of the database at one site, and have it
regularly updated at intervals from the main database.
</para>
<para>
MySQL has some synchronization features built-in to the
latest releases. It would be great if someone looked into
the possibilities there and provided a report to the
newsgroup on how to effectively synchronize two Bugzilla
installations.
</para>
<para>
If you simply need to transfer bugs from one Bugzilla to another,
checkout the <quote>move.pl</quote> script in the Bugzilla
distribution.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-nt">
<title>Bugzilla and Win32</title>
<qandaentry>
<question id="faq-nt-easiest">
<para>
What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
</para>
</question>
<answer>
<para>
Remove Windows. Install Linux. Install Bugzilla.
The boss will never know the difference. B^)
</para>
<para>
Seriously though, making Bugzilla work easily with Windows
was one of the major goals of the 2.18 milestone. If the
necessary components are in place (perl, a webserver, an MTA, etc.)
then installation of Bugzilla on a Windows box should be no more
difficult than on any other platform. As with any installation,
we recommend that you carefully and completely follow the
installation instructions in <xref linkend="os-win32"/>.
</para>
<para>
While doing so, don't forget to check out the very excellent guide
to <ulink url="http://www.bugzilla.org/docs/win32install.html">
Installing Bugzilla on Microsoft Windows</ulink> written by
Byron Jones. Thanks, Byron!
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-nt-bundle">
<para>
Is there a "Bundle::Bugzilla" equivalent for Win32?
</para>
</question>
<answer>
<para>
Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
installation on UNIX systems. If someone can volunteer to
create a suitable PPM bundle for Win32, it would be appreciated.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-nt-mappings">
<para>
CGI's are failing with a <quote>something.cgi is not a valid
Windows NT application</quote> error. Why?
</para>
</question>
<answer>
<para>
Depending on what Web server you are using, you will have to
configure the Web server to treat *.cgi files as CGI scripts.
In IIS, you do this by adding *.cgi to the App Mappings with
the &lt;path&gt;\perl.exe %s %s as the executable.
</para>
<para>
Microsoft has some advice on this matter, as well:
<blockquote>
<para>
<quote>Set application mappings. In the ISM, map the extension
for the script file(s) to the executable for the script
interpreter. For example, you might map the extension .py to
Python.exe, the executable for the Python script interpreter.
Note For the ActiveState Perl script interpreter, the extension
'.pl' is associated with PerlIS.dll by default. If you want
to change the association of .pl to perl.exe, you need to
change the application mapping. In the mapping, you must add
two percent (%) characters to the end of the pathname for
perl.exe, as shown in this example:
<command>c:\perl\bin\perl.exe %s %s</command></quote>
</para>
</blockquote>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-nt-dbi">
<para>
I'm having trouble with the perl modules for NT not being
able to talk to the database.
</para>
</question>
<answer>
<para>
Your modules may be outdated or inaccurate. Try:
<orderedlist>
<listitem>
<para>
Hitting http://www.activestate.com/ActivePerl
</para>
</listitem>
<listitem>
<para>
Download ActivePerl
</para>
</listitem>
<listitem>
<para>
Go to your prompt
</para>
</listitem>
<listitem>
<para>
Type 'ppm'
</para>
</listitem>
<listitem>
<para>
<prompt>PPM></prompt> <command>install DBI DBD-mysql GD</command>
</para>
</listitem>
</orderedlist>
I reckon TimeDate and Data::Dumper come with the activeperl.
You can check the ActiveState site for packages for installation
through PPM. <ulink url="http://www.activestate.com/Packages/"/>.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-use">
<title>Bugzilla Usage</title>
<qandaentry>
<question id="faq-use-changeaddress">
<para>
How do I change my user name (email address) in Bugzilla?
</para>
</question>
<answer>
<para>
New in 2.16 - go to the Account section of the Preferences. You
will be emailed at both addresses for confirmation.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-use-query">
<para>
The query page is very confusing.
Isn't there a simpler way to query?
</para>
</question>
<answer>
<para>
The interface was simplified by a UI designer for 2.16. Further
suggestions for improvement are welcome, but we won't sacrifice
power for simplicity.
</para>
<para>
As of 2.18, there is also a 'simpler' search available. At the top
of the search page are two links; <quote>Advanced Search</quote>
will take you to the familiar full-power/full-complexity search
page. The <quote>Find a Specific Bug</quote> link will take you
to a much-simplified page where you can pick a product and
status (open,closed, or both), then enter words that appear in
the bug you want to find. This search will scour the 'Summary'
and 'Comment' fields, and return a list of bugs sorted so that
the bugs with the most hits/matches are nearer to the top.
</para>
<note>
<para>
Matches in the Summary will 'trump' matches in comments,
and bugs with summary-matches will be placed higher in
the buglist -- even if a lower-ranked bug has more matches
in the comments section.
</para>
</note>
<para>
Bugzilla uses a cookie to remember which version of the page
you visited last, and brings that page up when you next do a
search. The default page for new users (or after an upgrade)
is the 'simple' search.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-use-accept">
<para>
I'm confused by the behavior of the <quote>Accept</quote>
button in the Show Bug form. Why doesn't it assign the bug
to me when I accept it?
</para>
</question>
<answer>
<para>
The current behavior is acceptable to bugzilla.mozilla.org and
most users. If you want to change this behavior, though, you
have your choice of patches:
<simplelist>
<member>
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=35195">Bug 35195</ulink>
seeks to add an <quote>...and accept the bug</quote> checkbox
to the UI. It has two patches attached to it:
<ulink url="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8029">attachment 8029</ulink>
was originally created for Bugzilla 2.12, while
<ulink url="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=91372">attachment 91372</ulink>
is an updated version for Bugzilla 2.16
</member>
<member>
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=37613">Bug
37613</ulink> also provides two patches (against Bugzilla
2.12): one to add a 'Take Bug' option, and the other to
automatically reassign the bug on 'Accept'.
</member>
</simplelist>
These patches are all somewhat dated now, and cannot be applied
directly, but they are simple enough to provide a guide on how
Bugzilla can be customized and updated to suit your needs.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-use-attachment">
<para>
I can't upload anything into the database via the
<quote>Create Attachment</quote> link. What am I doing wrong?
</para>
</question>
<answer>
<para>
The most likely cause is a very old browser or a browser that is
incompatible with file upload via POST. Download the latest version
of your favourite browser to handle uploads correctly.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-use-keyword">
<para>
How do I change a keyword in Bugzilla, once some bugs are using it?
</para>
</question>
<answer>
<para>
In the Bugzilla administrator UI, edit the keyword and
it will let you replace the old keyword name with a new one.
This will cause a problem with the keyword cache; run
<command>sanitycheck.cgi</command> to fix it.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-use-close">
<para>
Why can't I close bugs from the <quote>Change Several Bugs
at Once</quote> page?
</para>
</question>
<answer>
<para>
Simple answer; you can.
</para>
<para>
The logic behind the page checks every bug in the list to
determine legal state changes, and then only shows you controls
to do things that could apply to <emphasis>every</emphasis> bug
on the list. The reason for this is that if you try to do something
illegal to a bug, the whole process will grind to a halt, and all
changes after the failed one will <emphasis>also</emphasis> fail.
Since that isn't a good outcome, the page doesn't even present
you with the option.
</para>
<para>
In practical terms, that means that in order to mark
multiple bugs as CLOSED, then every bug on the page has to be
either RESOLVED or VERIFIED already; if this is not the case,
then the option to close the bugs will not appear on the page.
</para>
<para>
The rationale is that if you pick one of the bugs that's not
VERIFIED and try to CLOSE it, the bug change will fail
miserably (thus killing any changes in the list after it
while doing the bulk change) so it doesn't even give you the
choice.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-hacking">
<title>Bugzilla Hacking</title>
<qandaentry>
<question id="faq-hacking-templatestyle">
<para>
What kind of style should I use for templatization?
</para>
</question>
<answer>
<para>
Gerv and Myk suggest a 2-space indent, with embedded code sections on
their own line, in line with outer tags. Like this:</para>
<programlisting><![CDATA[
<fred>
[% IF foo %]
<bar>
[% FOREACH x = barney %]
<tr>
<td>
[% x %]
</td>
<tr>
[% END %]
[% END %]
</fred>
]]></programlisting>
<para> Myk also recommends you turn on PRE_CHOMP in the template
initialization to prevent bloating of HTML with unnecessary whitespace.
</para>
<para>Please note that many have differing opinions on this subject,
and the existing templates in Bugzilla espouse both this and a 4-space
style. Either is acceptable; the above is preferred.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-hacking-bugzillabugs">
<para>
What bugs are in Bugzilla right now?
</para>
</question>
<answer>
<para>
Try <ulink url="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Bugzilla">
this link</ulink> to view current bugs or requests for
enhancement for Bugzilla.
</para>
<para>
You can view bugs marked for &bz-nextver; release
<ulink url="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&amp;target_milestone=Bugzilla+&amp;bz-nextver;">here</ulink>.
This list includes bugs for the &bz-nextver; release that have already
been fixed and checked into CVS. Please consult the
<ulink url="http://www.bugzilla.org/">
Bugzilla Project Page</ulink> for details on how to
check current sources out of CVS so you can have these
bug fixes early!
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-hacking-priority">
<para>
How can I change the default priority to a null value?
For instance, have the default priority be <quote>---</quote>
instead of <quote>P2</quote>?
</para>
</question>
<answer>
<para>
This is well-documented in <ulink
url="http://bugzilla.mozilla.org/show_bug.cgi?id=49862">bug
49862</ulink>. Ultimately, it's as easy as adding the
<quote>---</quote> priority field to your localconfig file
in the appropriate area, re-running checksetup.pl, and then
changing the default priority in your browser using
<command>editparams.cgi</command>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="faq-hacking-patches">
<para>
What's the best way to submit patches? What guidelines
should I follow?
</para>
</question>
<answer>
<blockquote>
<orderedlist>
<listitem>
<para>
Enter a bug into bugzilla.mozilla.org for the <quote><ulink
url="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla">Bugzilla</ulink></quote>
product.
</para>
</listitem>
<listitem>
<para>
Upload your patch as a unified diff (having used <quote>diff
-u</quote> against the <emphasis>current sources</emphasis>
checked out of CVS), or new source file by clicking
<quote>Create a new attachment</quote> link on the bug
page you've just created, and include any descriptions of
database changes you may make, into the bug ID you submitted
in step #1. Be sure and click the <quote>Patch</quote> checkbox
to indicate the text you are sending is a patch!
</para>
</listitem>
<listitem>
<para>
Announce your patch and the associated URL
(http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX)
for discussion in the newsgroup
(netscape.public.mozilla.webtools). You'll get a
really good, fairly immediate reaction to the
implications of your patch, which will also give us
an idea how well-received the change would be.
</para>
</listitem>
<listitem>
<para>
If it passes muster with minimal modification, the
person to whom the bug is assigned in Bugzilla is
responsible for seeing the patch is checked into CVS.
</para>
</listitem>
<listitem>
<para>
Bask in the glory of the fact that you helped write
the most successful open-source bug-tracking software
on the planet :)
</para>
</listitem>
</orderedlist>
</blockquote>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
sgml-exposed-tags:nil
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
sgml-shorttag:t
sgml-tag-region-if-active:t
End:
-->