Bugzilla:FAQ: Difference between revisions
(→Email: Update this section and remove a lot of questions that are no longer relevant.) |
(→Database: None of these questions are really frequently asked, so I removed them all.) |
||
Line 173: | Line 173: | ||
Go to Administration > Parameters. In the "Email" section of the parameters, set <code>mail_delivery_method</code> to "Test". Then all emails will go to a file on the disk (<code>data/mailer.testfile</code> in the Bugzilla directory) instead of being sent out. | Go to Administration > Parameters. In the "Email" section of the parameters, set <code>mail_delivery_method</code> to "Test". Then all emails will go to a file on the disk (<code>data/mailer.testfile</code> in the Bugzilla directory) instead of being sent out. | ||
=Windows= | =Windows= |
Revision as of 12:58, 19 March 2010
General Questions
Can I try out Bugzilla somewhere?
If you want to take a test ride, there are test installations at http://landfill.bugzilla.org/, ready to play with directly from your browser.
What license is Bugzilla distributed under?
Bugzilla is covered by the Mozilla Public License. See details at http://www.mozilla.org/MPL/.
How do I get commercial support for Bugzilla?
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.
What major companies or projects are currently using Bugzilla for bug-tracking?
There are dozens of major companies with public Bugzilla sites to track bugs in their products. We have a fairly complete list available on our website at 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 <gerv@mozilla.org>.
Who maintains Bugzilla?
A core team, led by Dave Miller (justdave@bugzilla.org).
How does Bugzilla stack up against other bug-tracking databases?
Wikipedia maintains a "comparison of issue tracking systems".
We think that compared to other bug-tracking systems, 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 under long-term usage.
Which versions support MySQL, PostgreSQL and Oracle? What about Sybase/Msql/MSSQL?
- MySQL: All Bugzilla versions support MySQL.
- PostgreSQL: Bugzilla 2.22 and above contain complete, stable support for PostgreSQL.
- Oracle: Bugzilla 3.2 and above have experimental support for Oracle.
- MS-SQL: MS-SQL support is currently underway for Bugzilla 3.8.
Sybase support is no longer being worked on, and most likely will never happen, as Sybase lacks many features Bugzilla needs.
My perl is located at /usr/local/bin/perl and not /usr/bin/perl. Is there an easy to change that in all the files that have this hard-coded?
The easiest way to get around this is to create a link from one to the other:
ln -s /usr/local/bin/perl /usr/bin/perl
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:
perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl contrib/*pl
If your perl path is something else again, just follow the above examples and replace /usr/local/bin/perl with your own perl path.
Is there an easy way to change the Bugzilla cookie name?
No.
Can bugzilla run under mod_perl?
Yes. You need to run Bugzilla 3.0 or newer. Later versions of Bugzilla generally have even better performance under mod_perl.
Does Bugzilla work under SELinux?
On most modern versions of Fedora and RHEL, Bugzilla will work fine under SELinux as long as it is underneath the /var/www/html/
directory. You may have to run this command to make it work properly, though:
restorecon -Rv /var/www/html/
Managerial Questions
Is it possible to delete bug reports?
Yes. You have to turn on the 'allowbugdeletion' parameter, which is off by default. Note that you cannot delete bug reports one by one. You have to move them in a product or component, e.g. named "Trash", and then delete this product or component. The reason we make it hard is that you generally don't want to delete bug reports; they're supposed to be a permanent historical record.
Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine?
Bugzilla is web-based, and it sends emails.
Does Bugzilla allow us to define our own priorities, levels, and other values?
Yes. You can edit the values of hardcoded fields but not their label. Since Bugzilla 3.0, you can even edit the list of valid resolutions and since Bugzilla 3.2, the list of legal bug statuses and transitions among them.
Moreover, Bugzilla 3.0 and newer allow you to add custom fields to Bugzilla from the UI.
Does Bugzilla provide any reporting features, metrics, graphs, etc?
Yes. Look at http://landfill.bugzilla.org/bugzilla-tip/report.cgi for samples of what Bugzilla can do in reporting and graphing. Fuller documentation is provided in Section 6.11.
There are also various third-party tools that do reporting for Bugzilla.
Is there email notification? If so, what do you see when you get an email?
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.
Do users have to have any particular type of email application?
No. Bugzilla email is sent in plain text, the most compatible mail format on the planet.
Does Bugzilla allow data to be imported and exported? (Say, from/to Word or Excel.)
Bugzilla can output buglists as HTML (the default), CSV, XML, and Atom. A link for each of these formats can be found at the bottom of your search results. The CSV format can easily be imported into MS Excel or other spreadsheet applications.
Currently the only script included with Bugzilla that can import data is importxml.pl. It imports bugs as XML. If you want to see the XML format it expects, view a bug and select the "XML" link on the page (it's small, you might have to search for it).
Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?
Yes, Bugzilla is fully localizable, and many languages are already available. For more information including available translated templates, see http://www.bugzilla.org/download/#localizations.
Are there any backup features provided?
You should use the commands included with your database software to run the backups of your Bugzilla data. You can find strategies for dealing with backup considerations at http://www.mysql.com/doc/B/a/Backup.html for MySQL and at http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.
What skills do you need to install and maintain Bugzilla?
If Bugzilla is set up correctly from the start, continuing maintenance needs are minimal and can be done easily using the web interface.
For installation or upgrades, it helps to understand Perl, Apache, and MySQL. Also, the installer should have a solid grasp of the platform (Windows, OS X, Linux, etc.) that Bugzilla is being installed on.
How much time does it take to install and maintain Bugzilla?
It all depends on what you need out of Bugzilla, and how much you plan to customize it.
Someone with a lot of Bugzilla experience can get you up and running in a few hours, and your Bugzilla install can run untended for years. Less-experienced administrators sometimes need a few days to set up Bugzilla.
If you plan to customize the code or user interface of your Bugzilla, then the amount of maintenance time increases. First, there's the time to customize (which depends on how much customization you want to do). Then, after you've customized, any time you want to upgrade, you may have to do some work to bring your customizations forward into the new version.
Is there any licensing fee or other fees for using Bugzilla?
No. Bugzilla and all the supporting software it needs (Apache, Perl, MySQL, etc.) are free.
We don't like referring to problems as 'bugs'. Can we change that?
Yes! You can edit the file template/en/default/global/variables.none.tmpl
to change the word "bug" in all of Bugzilla.
Administrative Questions
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?
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.
Can users be on the system while a backup is in progress?
Yes. You should use the commands included with your database software to run the backups of your Bugzilla data. You can find strategies for dealing with backup considerations at http://www.mysql.com/doc/B/a/Backup.html for MySQL and at http://www.postgresql.org/docs/8.0/static/backup.html for PostgreSQL.
How do I make it so that bugs can have an UNCONFIRMED status?
Bugzilla 3.6 or later: For each product that you want to enable UNCONFIRMED
in, visit that product's admin page using editproducts.cgi (Administration > Products) and enable the UNCONFIRMED status using a checkbox there.
Before Bugzilla 3.6: To use the UNCONFIRMED status, you must have the 'usevotes' parameter set to "On". Then, using editproducts.cgi, you have to set the "Number of votes a bug in this product needs to automatically get out of the unconfirmed state" to 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 "Maximum votes per person" value at '0'.
How do I move a Bugzilla installation from one machine to another?
See Bugzilla:Move Installation.
How do I stop email entirely for one user?
The user can stop Bugzilla from sending any mail by clicking "Disable All Mail" on the Preferences > Email Preferences page, and then submitting the form.
Alternately, an administrator can disable all bugmails for a user from the Administration > Users page. This will override that user's personal preferences, and they will never be sent mail again.
I'm evaluating/testing Bugzilla, and don't want it to send email to anyone. How do I do it?
Go to Administration > Parameters. In the "Email" section of the parameters, set mail_delivery_method
to "Test". Then all emails will go to a file on the disk (data/mailer.testfile
in the Bugzilla directory) instead of being sent out.
Windows
What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
Remove Windows. Install Linux. Install Bugzilla. The boss will never know the difference. B^)
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 Section 2.4.1.
While doing so, don't forget to check out the very excellent guide to Installing Bugzilla on Microsoft Windows written by Byron Jones. Thanks, Byron!
Is there a "Bundle::Bugzilla" equivalent for Win32?
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.
CGI's are failing with a "something.cgi is not a valid Windows NT application" error. Why?
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 <path>\perl.exe %s %s as the executable.
Microsoft has some advice on this matter, as well:
- "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: c:\perl\bin\perl.exe %s %s"
I'm having trouble with the perl modules for NT not being able to talk to the database.
Your modules may be outdated or inaccurate. Try:
- Hitting http://www.activestate.com/ActivePerl
- Download ActivePerl
- Go to your prompt
- Type 'ppm'
- PPM> install DBI DBD-mysql GD
I reckon TimeDate and Data::Dumper come with the activeperl. You can check the ActiveState site for packages for installation through PPM. http://www.activestate.com/Packages/.
How do I set up Bugzilla to use the Windows SMTP service?
In order to send bugmail, Bugzilla needs access to an SMTP server. You could probably use your ISP SMTP server (and maybe ask him to set up a seperate account for Bugzilla), but it is also possible to use the SMTP service included in Windows XP Pro, as well as the various Server 2003 versions.
First, install the service. in Windows XP, this is done from Control Panel > Add or Remove Programs > Add/Remove Windows Components, select Internet Information Services, press the Details button, and check SMTP Service. For Windows Server 2003, there's a nice tutorial here, though I suspect you don't need the POP3 service configured if you only need Bugzilla to send mail, and not receive mail.
Bugzilla doesn't support mail authentication yet. This means you will have to allow anonymous relay on the service.
- Note: if your server is exposed to the internet, this could be a security problem. It will allow spammers to use your SMTP service to relay messages to other people without your knowledge, so this set up should be done only if the server is not accessible from the public internet.
In order to allow anonymous outbound messages, open the Computer Management console from Control Panel > Administrative Tools, open the Services and Applications branch on the left, Open the Internet Information Services branch, right-click on Default SMTP Virtual Server and select Properties. In the Access tab, press the Relay button, and select All except the list below, and leave the list empty. Uncheck Allow all computers which successfully authenticate to relay..., and press OK.
In order to limit the computers that can connect to the SMTP server to the one running Bugzilla, and so prevent the possibility of turning your machine into a spam bot, you should add the IP address of the Bugzilla server to the list (or the IP range of your LAN, if you want to allow others on your network to send mail from this server), via the Add... button.
If the server is not a member of a domain, outgoing messages will have the name of the server on the local network as the domain part of outgoing messages' "From" field. This will prevent the message from being delivered to most e-mail services. To correct this, open the Delivery tab and click the Advanced button. In the Masquerade domain field, enter the domain of your ISP, or whatever domain you use to receive email and click OK. While on the Delivery tab, you might want to shorten the time to the first delivery attempt, from 15 minutes to 1 (this parameter needs further investigation).
After masquerading your domain, you will also need to change the mailfrom field in Bugzilla's main configuration page (/editparams.cgi), in the Email section, to the full name, including the domain. E.g. bugzilla-deamon@example.com.
For Users
How do I change my user name (email address) in Bugzilla?
New in 2.16 - go to the Account section of the Preferences. You will be emailed at both addresses for confirmation.
The query page is very confusing. Isn't there a simpler way to query?
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.
As of 2.18, there is also a 'simpler' search available. At the top of the search page are two links; "Advanced Search" will take you to the familiar full-power/full-complexity search page. The "Find a Specific Bug" 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.
- 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.
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.
I'm confused by the behavior of the "Accept" button in the Show Bug form. Why doesn't it assign the bug to me when I accept it?
Till Bugzilla 3.0.x, all this button does is to change the bug status to ASSIGNED, but doesn't reassign the bug to the user doing the change. Since Bugzilla 3.2, both actions are unrelated and you can independently change the status to ASSIGNED and reassign the bug to you.
I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?
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.
How do I change a keyword in Bugzilla, once some bugs are using it?
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 sanitycheck.cgi to fix it.
Why can't I close bugs from the "Change Several Bugs at Once" page?
Simple answer; you can.
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 every 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 also fail. Since that isn't a good outcome, the page doesn't even present you with the option.
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.
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.
How do I search for public bugs?
Search for bugs without a group by using the negate checkbox in a advanced boolean search: "Not" + "Group" + "matches regular expression" + "."
Hacking on Bugzilla
What kind of style should I use for templatization?
Gerv and Myk suggest a 2-space indent, with embedded code sections on their own line, in line with outer tags. Like this:
<fred> [% IF foo %] <bar> [% FOREACH x = barney %] <tr> <td> [% x %] </td> <tr> [% END %] [% END %] </fred>
Myk also recommends you turn on PRE_CHOMP in the template initialization to prevent bloating of HTML with unnecessary whitespace.
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.
How can I change the default priority to a null value? For instance, have the default priority be "---" instead of "P2"?
This is well-documented in bug 49862. Ultimately, it's as easy as adding the "---" priority field to your localconfig file in the appropriate area, re-running checksetup.pl, and then changing the default priority in your browser using editparams.cgi.
What's the best way to submit patches? What guidelines should I follow?
- Enter a bug into bugzilla.mozilla.org for the "Bugzilla" product.
- Upload your patch as a unified diff (having used "diff -u" against the current sources checked out of CVS), or new source file by clicking "Create a new attachment" 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 "Patch" checkbox to indicate the text you are sending is a patch!
- Announce your patch and the associated URL (https://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in the newsgroup (mozilla.support.bugzilla on the news.mozilla.org news-server). 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.
- 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.
- Bask in the glory of the fact that you helped write the most successful open-source bug-tracking software on the planet :)
Troubleshooting
My parameters don't update when using editparams.cgi, what am I doing wrong?
Bugzilla's parameters are being stored in the data/params file. So in order to update parameters, the user that your web server runs Bugzilla's scripts as needs permission to
- create, alter and delete files in Bugzilla's data/ directory
- alter and delete the params file in Bugzilla's data/ directory
Known quirks and things to think about:
- On Linux, check your SELinux settings, which may override common file permission settings.
- It may be that your web server runs Bugzilla's script as a different user than you might think:
- Using Apache, it may be that you have some SuexecUserGroup setting in effect. Check Apache's documentation on mod_suexec.
- Using IIS, there appears to be some similar mechanics, too.
Old charts complain with "Unable to open the chart datafile ./data/mining/-All-"
Old charts are generated thanks to data being in data/mining/ (new charts store the data in the database directly). For both old and new charts to work, data must first be collected by the collectstats.pl script, which has to be run as root (or as the owner of data/mining/ in case you have a non-root installation). Data is only collected when collectstats.pl is run, so if you want to see stats on a daily basis, you have to run this script every day, e.g. by adding it to your cron jobs.
See http://www.bugzilla.org/docs/tip/html/extraconfig.html for details.
My problem isn't listed here
There are several additional common problems listed in the Troubleshooting section of the Bugzilla Guide.
If all else fails, check out places you can get support for Bugzilla.