faq.xml 63.4 KB
Newer Older
1
<!-- <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
2

3
<appendix id="faq">
4 5
  <title>The Bugzilla FAQ</title>

6 7 8 9
  <para>
    This FAQ includes questions not covered elsewhere in the Guide.
  </para>
  
10 11 12
  <qandaset>


13
    <qandadiv id="faq-general">
14 15 16
      <title>General Questions</title>

      <qandaentry>
17 18 19 20 21 22 23 24 25 26 27
        <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>
28 29 30
      </qandaentry>

      <qandaentry>
31 32 33 34 35 36 37
        <question id="faq-general-support">
          <para>
            How do I get commercial support for Bugzilla?
          </para>
        </question>
        <answer>
          <para>
38
            <ulink url="http://www.bugzilla.org/support/consulting.html"/>
39 40 41 42 43 44 45 46 47 48
            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>
49 50 51
      </qandaentry>

      <qandaentry>
52 53 54 55 56 57 58 59 60 61
        <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
62
            complete list available on our website at
63
            <ulink url="http://bugzilla.org/installation-list/"/>. If you
64 65
            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
66
            Gerv <email>gerv@mozilla.org</email>.
67 68
          </para>
        </answer>
69 70 71
      </qandaentry>

      <qandaentry>
72 73 74 75 76 77 78 79 80 81 82
        <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>
83 84 85
      </qandaentry>

      <qandaentry>
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
        <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>
111 112 113
      </qandaentry>

      <qandaentry>
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
        <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
133
            someone with the ability to CONFIRM the bug reviews it.
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
            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>
157 158 159
      </qandaentry>

      <qandaentry>
160 161 162 163 164 165 166 167
        <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>
168 169
            MySQL was originally chosen because it is free, easy to install,
            and was available for the hardware Netscape intended to run it on.
170
          </para>
171 172
          <para>
            There is currently work in progress to make Bugzilla work on
173 174 175 176 177 178 179 180 181 182 183 184 185
            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.
186 187
          </para>
          <para>
188 189 190 191 192 193 194 195
            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.)
196
          </para>
197 198 199 200 201 202
          <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>
203 204 205
      </qandaentry>

      <qandaentry>
206 207 208 209 210 211 212 213 214
        <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
215 216
            Terry first started writing the code for mozilla.org he needed a
            version of Perl and other tools that were completely under his
217 218
            control. This location was abandoned for the 2.18 release in favor
            of the more sensible <filename>/usr/bin/perl</filename>. If you
219
            installed an older version of Bugzilla and created the symlink we
220 221 222 223
            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>
224
        </answer>
225 226
      </qandaentry>

227 228 229
      <qandaentry>
        <question id="faq-general-perlpath">
          <para>
230 231 232
            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?
233 234 235 236
          </para>
        </question>
        <answer>
          <para>
237 238 239 240 241 242 243
            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:
244 245 246 247
          </para>
          <programlisting>
perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
          </programlisting>
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262
          <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>
263 264 265 266 267 268 269 270 271 272 273 274 275
          <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>
276 277 278 279 280 281 282 283 284 285 286 287 288
          <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>
289 290
        </answer>
      </qandaentry>
291 292

      <qandaentry>
293 294 295 296 297 298 299 300 301 302
        <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>
303 304
      </qandaentry>
      
305
      <qandaentry>
306 307 308 309 310 311 312 313 314 315 316 317 318 319
        <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>
320 321
      </qandaentry>
      
322 323
    </qandadiv>

324
    <qandadiv id="faq-phb">
325
      <title>Managerial Questions</title>
326 327

      <qandaentry>
328 329 330 331 332 333 334 335 336 337 338
        <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>
339 340 341
      </qandaentry>

      <qandaentry>
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360
        <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>
361 362 363
      </qandaentry>

      <qandaentry>
364 365 366 367 368 369 370 371 372
        <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"/>
373
            for samples of what Bugzilla can do in reporting and graphing.
374 375 376
            Fuller documentation is provided in <xref linkend="reporting"/>.
          </para>
          <para>
377 378 379 380 381 382
            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.
383 384
          </para>
        </answer>
385 386 387
      </qandaentry>

      <qandaentry>
388 389 390 391 392 393 394 395 396 397 398 399 400
        <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>
401 402 403
      </qandaentry>

      <qandaentry>
404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426
        <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>
427 428 429
      </qandaentry>

      <qandaentry>
430 431 432 433 434 435 436 437 438 439
        <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>
440 441 442
          <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
443
            format. This CSV format can easily be imported into MS Excel or
444
            other spreadsheet applications.
445 446 447
          </para>
          <para>
            To use the RDF format of the buglist it is necessary to append a
448
            <computeroutput>&amp;ctype=rdf</computeroutput> to the URL. RDF
449
            is meant to be machine readable and thus it is assumed that the
450
            URL would be generated programmatically so there is no user visible
451 452 453 454 455
            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
456 457 458
            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.
459 460 461 462 463 464 465
          </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>
466
        </answer>
467 468 469
      </qandaentry>

      <qandaentry>
470 471 472 473 474 475 476 477
        <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>
478
            Yes. For more information including available translated templates,
479
            see <ulink
480
            url="http://www.bugzilla.org/download.html#localizations"/>.
481 482 483
            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
484 485
            url="http://bugzilla.mozilla.org/show_bug.cgi?id=126266">bug 126226</ulink>
            for more information.
486 487
          </para>
        </answer>
488 489 490
      </qandaentry>

      <qandaentry>
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517
        <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>
518 519 520
      </qandaentry>

      <qandaentry>
521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543
        <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>
544 545 546
      </qandaentry>

      <qandaentry>
547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567
        <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>
568 569 570
      </qandaentry>

      <qandaentry>
571 572 573 574 575 576 577 578 579 580 581 582 583 584 585
        <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>
586 587
      </qandaentry>

588
      <qandaentry>
589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648
        <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">
649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704
          <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
705 706 707
                    to restore the database backups. You can't
                    <quote>downgrade</quote> the system cleanly under most
                    circumstances.
708 709 710 711 712
                  </para>
                </warning>
              </listitem>
            </orderedlist>
          </para>
713 714 715
          <para>
            See also the instructions in <xref linkend="upgrade-cvs"/>.
          </para>      
716 717 718
        </answer>
      </qandaentry>

719
      <qandaentry>
720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744
        <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>
745
      </qandaentry>
746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816

      <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>

817 818
    </qandadiv>

819
    <qandadiv id="faq-security">
820 821 822
      <title>Bugzilla Security</title>

      <qandaentry>
823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845
        <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>
846 847 848
      </qandaentry>

      <qandaentry>
849 850 851 852 853 854 855 856 857 858 859 860 861 862
        <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>
863 864 865
      </qandaentry>
    </qandadiv>

866
    <qandadiv id="faq-email">
867 868 869
      <title>Bugzilla Email</title>

      <qandaentry>
870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886
        <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>
887 888 889
      </qandaentry>

      <qandaentry>
890 891 892 893 894 895 896 897
        <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>
898
            To disable email, set the
899 900
            <option>mail_delivery_method</option> parameter to
            <literal>none</literal> (2.20 and later), or
901 902 903
            <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).
904
          </para>
905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939
          <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>
940
        </answer>
941 942 943
      </qandaentry>

      <qandaentry>
944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963
        <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 
964
            <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=185090">bug
965 966 967 968
            185090</ulink> for the discussion, and for more up-to-date patches
            if you just can't wait.
          </para>
        </answer>
969 970 971
      </qandaentry>

      <qandaentry>
972 973 974 975 976 977 978 979 980 981 982
        <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>
983 984 985
      </qandaentry>

      <qandaentry>
986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012
        <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>
1013 1014 1015
      </qandaentry>

      <qandaentry>
1016 1017 1018 1019 1020 1021 1022 1023 1024 1025
        <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
1026
            installation and clicking the <quote>Submit Request</quote>
1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040
            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>
1041 1042 1043
      </qandaentry>
    </qandadiv>

1044
    <qandadiv id="faq-db">
1045 1046 1047
      <title>Bugzilla Database</title>

      <qandaentry>
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071
        <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>
1072 1073 1074
      </qandaentry>

      <qandaentry>
1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091
        <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>
1092

1093 1094 1095 1096 1097 1098 1099 1100
          <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>
1101 1102 1103
      </qandaentry>

      <qandaentry>
1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118
        <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>.
1119 1120 1121 1122 1123 1124 1125 1126
          </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>
1127
        </answer>
1128 1129 1130
      </qandaentry>

      <qandaentry>
1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144
        <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>
1145
            MySQL has some synchronization features built-in to the
1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156
            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>
1157 1158 1159
      </qandaentry>
    </qandadiv>

1160
    <qandadiv id="faq-nt">
1161 1162 1163
      <title>Bugzilla and Win32</title>

      <qandaentry>
1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
        <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>
1190 1191 1192
      </qandaentry>

      <qandaentry>
1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204
        <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>
1205 1206 1207
      </qandaentry>

      <qandaentry>
1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239
        <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>
1240 1241
      </qandaentry>

1242
      <qandaentry>
1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278
        <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>
1279
            I reckon TimeDate comes with the activeperl.
1280 1281 1282 1283
            You can check the ActiveState site for packages for installation
            through PPM. <ulink url="http://www.activestate.com/Packages/"/>.
          </para>
        </answer>
1284 1285 1286 1287
      </qandaentry>

    </qandadiv>

1288
    <qandadiv id="faq-use">
1289 1290
      <title>Bugzilla Usage</title>

1291
      <qandaentry>
1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302
        <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>
1303 1304
      </qandaentry>

1305
      <qandaentry>
1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343
        <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>
1344 1345 1346
      </qandaentry>

      <qandaentry>
1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360
        <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>
1361
                <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=35195">Bug 35195</ulink>
1362 1363 1364 1365 1366 1367 1368 1369
                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>
1370
                <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=37613">Bug
1371 1372 1373 1374 1375 1376 1377 1378 1379 1380
                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>
1381 1382 1383
      </qandaentry>

      <qandaentry>
1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396
        <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>
1397 1398 1399
      </qandaentry>

      <qandaentry>
1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412
        <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>
1413 1414
      </qandaentry>

1415
      <qandaentry>
1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448
        <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
1449 1450
            while doing the bulk change) so it doesn't even give you the
            choice.
1451 1452
          </para>
        </answer>
1453 1454 1455
      </qandaentry>


1456 1457
    </qandadiv>

1458
    <qandadiv id="faq-hacking">
1459 1460
      <title>Bugzilla Hacking</title>

1461
      <qandaentry>
1462
        <question id="faq-hacking-templatestyle">
1463 1464 1465 1466 1467 1468 1469 1470 1471
          <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[
1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485
<fred>
[% IF foo %]
  <bar>
  [% FOREACH x = barney %]
    <tr>
      <td>
        [% x %]
      </td>
    <tr>
  [% END %]
[% END %]
</fred>
]]></programlisting>

1486 1487 1488
        <para> Myk also recommends you turn on PRE_CHOMP in the template
        initialization to prevent bloating of HTML with unnecessary whitespace.
        </para>
1489

1490 1491 1492 1493
        <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>
1494 1495
      </qandaentry>

1496
      <qandaentry>
1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508
        <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>
1509
            You can view bugs marked for &bz-nextver; release
1510 1511 1512 1513 1514 1515 1516 1517 1518
            <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>
1519 1520
      </qandaentry>

1521
      <qandaentry>
1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539
        <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>
1540 1541
      </qandaentry>

1542
      <qandaentry>
1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554
        <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
1555 1556
                  url="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla">Bugzilla</ulink></quote>
                  product.
1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575
                </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
1576
                  (mozilla.support.bugzilla). You'll get a
1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598
                  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>
1599 1600 1601 1602 1603 1604 1605
      </qandaentry>


    </qandadiv>

  </qandaset>

1606
</appendix>
1607 1608 1609 1610 1611 1612


<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
1613 1614
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
1615
sgml-exposed-tags:nil
1616 1617 1618
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
1619 1620
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
1621 1622 1623
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
1624
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
1625 1626
sgml-shorttag:t
sgml-tag-region-if-active:t
1627 1628
End:
-->