aboutsummaryrefslogtreecommitdiffstats
path: root/docs/html/Bugzilla-Guide.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/Bugzilla-Guide.html')
-rw-r--r--docs/html/Bugzilla-Guide.html2466
1 files changed, 1868 insertions, 598 deletions
diff --git a/docs/html/Bugzilla-Guide.html b/docs/html/Bugzilla-Guide.html
index fc7f40771..6517baa09 100644
--- a/docs/html/Bugzilla-Guide.html
+++ b/docs/html/Bugzilla-Guide.html
@@ -56,7 +56,7 @@ CLASS="AFFILIATION"
CLASS="ADDRESS"
><P
CLASS="ADDRESS"
->barnboy@NOSPAM.trilobyte.net</P
+>barnboy@trilobyte.net</P
></DIV
></DIV
><SPAN
@@ -70,7 +70,7 @@ CLASS="AFFILIATION"
CLASS="ADDRESS"
><P
CLASS="ADDRESS"
->zach@NOSPAM.zachlipton.com</P
+>zach AT zachlipton DOT com</P
></DIV
></DIV
><BR></SPAN
@@ -406,12 +406,12 @@ HREF="#STEPBYSTEP"
><DL
><DT
>3.2.1. <A
-HREF="#AEN486"
+HREF="#AEN509"
>Introduction</A
></DT
><DT
>3.2.2. <A
-HREF="#AEN492"
+HREF="#AEN515"
>Installing the Prerequisites</A
></DT
><DT
@@ -426,57 +426,57 @@ HREF="#INSTALL-PERL"
></DT
><DT
>3.2.5. <A
-HREF="#AEN579"
+HREF="#AEN602"
>DBI Perl Module</A
></DT
><DT
>3.2.6. <A
-HREF="#AEN617"
+HREF="#AEN640"
>Data::Dumper Perl Module</A
></DT
><DT
>3.2.7. <A
-HREF="#AEN622"
+HREF="#AEN645"
>MySQL related Perl Module Collection</A
></DT
><DT
>3.2.8. <A
-HREF="#AEN631"
+HREF="#AEN654"
>TimeDate Perl Module Collection</A
></DT
><DT
>3.2.9. <A
-HREF="#AEN635"
+HREF="#AEN658"
>GD Perl Module (1.8.3)</A
></DT
><DT
>3.2.10. <A
-HREF="#AEN644"
+HREF="#AEN667"
>Chart::Base Perl Module (0.99c)</A
></DT
><DT
>3.2.11. <A
-HREF="#AEN648"
+HREF="#AEN671"
>DB_File Perl Module</A
></DT
><DT
>3.2.12. <A
-HREF="#AEN651"
+HREF="#AEN674"
>HTTP Server</A
></DT
><DT
>3.2.13. <A
-HREF="#AEN669"
+HREF="#AEN692"
>Installing the Bugzilla Files</A
></DT
><DT
>3.2.14. <A
-HREF="#AEN696"
+HREF="#AEN721"
>Setting Up the MySQL Database</A
></DT
><DT
>3.2.15. <A
-HREF="#AEN743"
+HREF="#AEN768"
>Tweaking <TT
CLASS="FILENAME"
>localconfig</TT
@@ -484,22 +484,22 @@ CLASS="FILENAME"
></DT
><DT
>3.2.16. <A
-HREF="#AEN781"
+HREF="#AEN806"
>Setting Up Maintainers Manually (Optional)</A
></DT
><DT
>3.2.17. <A
-HREF="#AEN792"
+HREF="#AEN817"
>The Whining Cron (Optional)</A
></DT
><DT
>3.2.18. <A
-HREF="#AEN802"
+HREF="#AEN827"
>Bug Graphs (Optional)</A
></DT
><DT
>3.2.19. <A
-HREF="#AEN814"
+HREF="#AEN839"
>Securing MySQL</A
></DT
></DL
@@ -523,12 +523,12 @@ HREF="#GENINSTALL"
><DL
><DT
>3.5.1. <A
-HREF="#AEN916"
+HREF="#AEN941"
>Modifying Your Running System</A
></DT
><DT
>3.5.2. <A
-HREF="#AEN923"
+HREF="#AEN948"
>Upgrading From Previous Versions</A
></DT
><DT
@@ -554,7 +554,7 @@ HREF="#CONTENT_TYPE"
></DT
><DT
>3.5.6. <A
-HREF="#AEN964"
+HREF="#UNIXHISTORY"
>UNIX Installation Instructions History</A
></DT
></DL
@@ -576,6 +576,11 @@ HREF="#WININSTALL"
HREF="#ADDLWINTIPS"
>Additional Windows Tips</A
></DT
+><DT
+>3.6.3. <A
+HREF="#BZLDAP"
+>Bugzilla LDAP Integration</A
+></DT
></DL
></DD
></DL
@@ -717,6 +722,45 @@ HREF="#FUTURE"
>The Future of Bugzilla</A
></DT
><DT
+>7. <A
+HREF="#VARIANTS"
+>Bugzilla Variants and Competitors</A
+></DT
+><DD
+><DL
+><DT
+>7.1. <A
+HREF="#RHBUGZILLA"
+>Red Hat Bugzilla</A
+></DT
+><DT
+>7.2. <A
+HREF="#VARIANT_FENRIS"
+>Loki Bugzilla (Fenris)</A
+></DT
+><DT
+>7.3. <A
+HREF="#VARIANT_ISSUEZILLA"
+>Issuezilla</A
+></DT
+><DT
+>7.4. <A
+HREF="#VARIANT_SCARAB"
+>Scarab</A
+></DT
+><DT
+>7.5. <A
+HREF="#VARIANT_PERFORCE"
+>Perforce SCM</A
+></DT
+><DT
+>7.6. <A
+HREF="#VARIANT_SOURCEFORGE"
+>SourceForge</A
+></DT
+></DL
+></DD
+><DT
>A. <A
HREF="#FAQ"
>The Bugzilla FAQ</A
@@ -747,14 +791,14 @@ HREF="#DBDOC"
><DL
><DT
>C.2.1. <A
-HREF="#AEN2217"
+HREF="#AEN2331"
>Bugzilla Database Basics</A
></DT
><DD
><DL
><DT
>C.2.1.1. <A
-HREF="#AEN2246"
+HREF="#AEN2360"
>Bugzilla Database Tables</A
></DT
></DL
@@ -769,45 +813,6 @@ HREF="#GRANTTABLES"
></DL
></DD
><DT
->7. <A
-HREF="#VARIANTS"
->Bugzilla Variants and Competitors</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#RHBUGZILLA"
->Red Hat Bugzilla</A
-></DT
-><DT
->7.2. <A
-HREF="#VARIANT_FENRIS"
->Loki Bugzilla (Fenris)</A
-></DT
-><DT
->7.3. <A
-HREF="#VARIANT_ISSUEZILLA"
->Issuezilla</A
-></DT
-><DT
->7.4. <A
-HREF="#VARIANT_SCARAB"
->Scarab</A
-></DT
-><DT
->7.5. <A
-HREF="#VARIANT_PERFORCE"
->Perforce SCM</A
-></DT
-><DT
->7.6. <A
-HREF="#VARIANT_SOURCEFORGE"
->SourceForge</A
-></DT
-></DL
-></DD
-><DT
>D. <A
HREF="#PATCHES"
>Useful Patches and Utilities for Bugzilla</A
@@ -837,6 +842,11 @@ HREF="#CMDLINE"
HREF="#QUICKSEARCH"
>The Quicksearch Utility</A
></DT
+><DT
+>D.5. <A
+HREF="#BZHACKING"
+>Hacking Bugzilla</A
+></DT
></DL
></DD
><DT
@@ -931,67 +941,72 @@ HREF="#AEN307"
><DT
>2-2. <A
HREF="#AEN317"
->Mozilla Webtools Components</A
+>Mozilla's Bugzilla Components</A
></DT
><DT
>3-1. <A
-HREF="#AEN685"
+HREF="#AEN708"
>Setting up bonsaitools symlink</A
></DT
><DT
>3-2. <A
-HREF="#AEN774"
+HREF="#AEN799"
>Running checksetup.pl as the web user</A
></DT
><DT
>3-3. <A
-HREF="#AEN1012"
+HREF="#AEN1038"
>Installing ActivePerl ppd Modules on Microsoft Windows</A
></DT
><DT
>3-4. <A
-HREF="#AEN1180"
+HREF="#AEN1224"
>Removing encrypt() for Windows NT Bugzilla version
2.12 or earlier</A
></DT
><DT
>4-1. <A
-HREF="#AEN1413"
+HREF="#AEN1461"
>Creating some Components</A
></DT
><DT
>4-2. <A
-HREF="#AEN1442"
+HREF="#AEN1490"
>Common Use of Versions</A
></DT
><DT
>4-3. <A
-HREF="#AEN1446"
+HREF="#AEN1494"
>A Different Use of Versions</A
></DT
><DT
>4-4. <A
-HREF="#AEN1474"
+HREF="#AEN1522"
>Using SortKey with Target Milestone</A
></DT
><DT
>4-5. <A
-HREF="#AEN1510"
+HREF="#AEN1558"
>When to Use Group Security</A
></DT
><DT
>4-6. <A
-HREF="#AEN1527"
+HREF="#AEN1575"
>Creating a New Group</A
></DT
><DT
+>4-7. <A
+HREF="#AEN1592"
+>Bugzilla Groups</A
+></DT
+><DT
>D-1. <A
-HREF="#AEN2360"
+HREF="#AEN2439"
>Using Setperl to set your perl path</A
></DT
><DT
>1. <A
-HREF="#AEN2602"
+HREF="#AEN2685"
>A Sample Product</A
></DT
></DL
@@ -1069,8 +1084,8 @@ TARGET="_top"
<TT
CLASS="EMAIL"
>&#60;<A
-HREF="mailto:barnboy@NOSPAM.trilobyte.net"
->barnboy@NOSPAM.trilobyte.net</A
+HREF="mailto:barnboy@trilobyte.net"
+>barnboy@trilobyte.net</A
>&#62;</TT
> to correct them.
</P
@@ -1132,8 +1147,7 @@ WIDTH="10%"
><P
> If you have any questions regarding this document, its
copyright, or publishing this document in non-electronic form,
- please contact Matthew P. Barnson. Remove "NOSPAM" from email address
- to send.
+ please contact Matthew P. Barnson.
</P
></DIV
><DIV
@@ -1269,8 +1283,8 @@ HREF="mailto://terry@mozilla.org"
TARGET="_top"
>Terry Weissman</A
>
- for initially converting Bugzilla from BugSplat! and writing the
- README upon which this documentation is largely based.
+ for initially writing Bugzilla and creating the
+ README upon which the UNIX installation documentation is largely based.
</P
><P
> <A
@@ -1321,7 +1335,8 @@ NAME="CONTRIBUTORS"
documentation (in no particular order):
</P
><P
-> Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen, Ron Teitelbaum
+> Andrew Pearson, Spencer Smith, Eric Hanson, Kevin Brannen, Ron
+ Teitelbaum, Jacob Steenhagen, Joe Robins
</P
></DIV
><DIV
@@ -2308,13 +2323,13 @@ CLASS="QUOTE"
>scrollbox</EM
>. Using the down arrow on
the scrollbox, scroll down until you can see an entry
- called "Webtools". Select this entry.
+ called "Bugzilla". Select this entry.
</P
></LI
><LI
><P
> Did you notice that some of the boxes to the right changed
- when you selected "Webtools"? Every Program (or Product)
+ when you selected "Bugzilla"? Every Program (or Product)
has different Versions, Components, and Target Milestones
associated with it. A "Version" is the number of a
software program.
@@ -2389,7 +2404,7 @@ NAME="AEN317"
></A
><P
><B
->Example 2-2. Mozilla Webtools Components</B
+>Example 2-2. Mozilla's Bugzilla Components</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
@@ -2399,7 +2414,7 @@ NAME="AEN319"
><P
></P
><P
-> Mozilla's "Webtools" Product is composed of several pieces (Components):
+> Mozilla's "Bugzilla" Product is composed of several pieces (Components):
<P
></P
><TABLE
@@ -2408,60 +2423,166 @@ BORDER="0"
><TR
><TD
><EM
->Bonsai</EM
+>Administration</EM
+>,
+ Administration of a bugzilla installation, including
+ <TT
+CLASS="FILENAME"
+>editcomponents.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>editgroups.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>editkeywords.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>editparams.cgi</TT
>,
- a tool to show recent changes to Mozilla</TD
+ <TT
+CLASS="FILENAME"
+>editproducts.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>editusers.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>editversions.cgi,</TT
+> and
+ <TT
+CLASS="FILENAME"
+>sanitycheck.cgi</TT
+>.
+ </TD
></TR
><TR
><TD
><EM
->Bugzilla</EM
+>Bugzilla-General</EM
>,
- a defect-tracking tool</TD
+ Anything that doesn't fit in the other components, or spans
+ multiple components.
+ </TD
></TR
><TR
><TD
><EM
->Build</EM
+>Creating/Changing Bugs</EM
>,
- a tool to automatically compile source code
- into machine-readable form</TD
+ Creating, changing, and viewing bugs.
+ <TT
+CLASS="FILENAME"
+>enter_bug.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>post_bug.cgi</TT
+>,
+ <TT
+CLASS="FILENAME"
+>show_bug.cgi</TT
+> and
+ <TT
+CLASS="FILENAME"
+>process_bug.cgi</TT
+>.
+ </TD
></TR
><TR
><TD
><EM
->Despot</EM
+>Documentation</EM
>,
- a program that controls access to the other Webtools</TD
+ The bugzilla documentation, including anything in the
+ <TT
+CLASS="FILENAME"
+>docs/</TT
+> directory and The Bugzilla Guide
+ (This document :)
+ </TD
+></TR
+><TR
+><TD
+><EM
+>Email</EM
+>,
+ Anything to do with email sent by Bugzilla.
+ <TT
+CLASS="FILENAME"
+>processmail</TT
+>
+ </TD
+></TR
+><TR
+><TD
+><EM
+>Installation</EM
+>,
+ The installation process of Bugzilla. This includes
+ <TT
+CLASS="FILENAME"
+>checksetup.pl</TT
+> and whatever else it evolves into.
+ </TD
></TR
><TR
><TD
><EM
->LXR</EM
+>Query/Buglist</EM
>,
- a utility that automatically marks up text files
- to make them more readable</TD
+ Anything to do with searching for bugs and viewing the buglists.
+ <TT
+CLASS="FILENAME"
+>query.cgi</TT
+> and
+ <TT
+CLASS="FILENAME"
+>buglist.cgi</TT
+>
+ </TD
></TR
><TR
><TD
><EM
->MozBot</EM
+>Reporting/Charting</EM
>,
- a "robot" that announces changes to Mozilla in Chat</TD
+ Getting reports from Bugzilla.
+ <TT
+CLASS="FILENAME"
+>reports.cgi</TT
+> and
+ <TT
+CLASS="FILENAME"
+>duplicates.cgi</TT
+>
+ </TD
></TR
><TR
><TD
><EM
->TestManager</EM
+>User Accounts</EM
>,
- a tool to help find bugs in Mozilla</TD
+ Anything about managing a user account from the user's perspective.
+ <TT
+CLASS="FILENAME"
+>userprefs.cgi</TT
+>, saved queries, creating accounts,
+ changing passwords, logging in, etc.
+ </TD
></TR
><TR
><TD
><EM
->Tinderbox</EM
+>User Interface</EM
>,
- which displays reports from Build</TD
+ General issues having to do with the user interface cosmetics (not
+ functionality) including cosmetic issues, HTML templates, etc.
+ </TD
></TR
></TBODY
></TABLE
@@ -2470,11 +2591,6 @@ BORDER="0"
>
</P
><P
-> A different person is responsible for each of these Components.
- Tara Hernandez keeps
- the "Bugzilla" component up-to-date.
- </P
-><P
></P
></DIV
></DIV
@@ -3373,7 +3489,7 @@ CLASS="SECTION"
><H2
CLASS="SECTION"
><A
-NAME="AEN486"
+NAME="AEN509"
>3.2.1. Introduction</A
></H2
><P
@@ -3404,7 +3520,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN492"
+NAME="AEN515"
>3.2.2. Installing the Prerequisites</A
></H2
><DIV
@@ -3908,7 +4024,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN579"
+NAME="AEN602"
>3.2.5. DBI Perl Module</A
></H2
><P
@@ -3937,7 +4053,7 @@ HREF="#DOWNLOADLINKS"
<DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN586"
+NAME="AEN609"
></A
><P
></P
@@ -3991,7 +4107,7 @@ VALIGN="TOP"
<DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN593"
+NAME="AEN616"
></A
><P
></P
@@ -4084,7 +4200,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN617"
+NAME="AEN640"
>3.2.6. Data::Dumper Perl Module</A
></H2
><P
@@ -4109,7 +4225,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN622"
+NAME="AEN645"
>3.2.7. MySQL related Perl Module Collection</A
></H2
><P
@@ -4155,7 +4271,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN631"
+NAME="AEN654"
>3.2.8. TimeDate Perl Module Collection</A
></H2
><P
@@ -4177,7 +4293,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN635"
+NAME="AEN658"
>3.2.9. GD Perl Module (1.8.3)</A
></H2
><P
@@ -4243,7 +4359,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN644"
+NAME="AEN667"
>3.2.10. Chart::Base Perl Module (0.99c)</A
></H2
><P
@@ -4264,7 +4380,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN648"
+NAME="AEN671"
>3.2.11. DB_File Perl Module</A
></H2
><P
@@ -4280,7 +4396,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN651"
+NAME="AEN674"
>3.2.12. HTTP Server</A
></H2
><P
@@ -4451,7 +4567,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN669"
+NAME="AEN692"
>3.2.13. Installing the Bugzilla Files</A
></H2
><P
@@ -4542,7 +4658,7 @@ HREF="#PATCHES"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN685"
+NAME="AEN708"
></A
><P
><B
@@ -4585,6 +4701,29 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
></TABLE
>
</P
+><P
+> Alternately, you can simply run this perl one-liner to
+ change your path to perl in all the files in your Bugzilla
+ installation:
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="PROGRAMLISTING"
+>perl -pi -e 's@#!/usr/bonsaitools/bin/perl@/usr/bin/perl@' *cgi *pl Bug.pm
+ </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+ Change the second path to perl to match your installation.
+ </P
></DIV
>
<DIV
@@ -4630,7 +4769,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN696"
+NAME="AEN721"
>3.2.14. Setting Up the MySQL Database</A
></H2
><P
@@ -4868,7 +5007,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN743"
+NAME="AEN768"
>3.2.15. Tweaking <TT
CLASS="FILENAME"
>localconfig</TT
@@ -4994,7 +5133,7 @@ CLASS="QUOTE"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN774"
+NAME="AEN799"
></A
><P
><B
@@ -5074,7 +5213,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN781"
+NAME="AEN806"
>3.2.16. Setting Up Maintainers Manually (Optional)</A
></H2
><P
@@ -5124,7 +5263,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN792"
+NAME="AEN817"
>3.2.17. The Whining Cron (Optional)</A
></H2
><P
@@ -5210,7 +5349,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN802"
+NAME="AEN827"
>3.2.18. Bug Graphs (Optional)</A
></H2
><P
@@ -5267,7 +5406,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN814"
+NAME="AEN839"
>3.2.19. Securing MySQL</A
></H2
><P
@@ -5740,7 +5879,7 @@ CLASS="SECTION"
><H2
CLASS="SECTION"
><A
-NAME="AEN916"
+NAME="AEN941"
>3.5.1. Modifying Your Running System</A
></H2
><P
@@ -5773,7 +5912,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN923"
+NAME="AEN948"
>3.5.2. Upgrading From Previous Versions</A
></H2
><P
@@ -5985,7 +6124,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN964"
+NAME="UNIXHISTORY"
>3.5.6. UNIX Installation Instructions History</A
></H2
><P
@@ -5997,9 +6136,11 @@ NAME="AEN964"
> The February 25, 1999 re-write of this page was done by Ry4an
Brase &#60;ry4an@ry4an.org&#62;, with some edits by Terry
Weissman, Bryce Nesbitt, Martin Pool, &#38; Dan Mosedale (But
- don't send bug reports to them; report them using bugzilla, at
- http://bugzilla.mozilla.org/enter_bug.cgi , project Webtools,
- component Bugzilla).
+ don't send bug reports to them; report them using bugzilla, at <A
+HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
+TARGET="_top"
+>http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla</A
+> ).
</P
><P
> This document was heavily modified again Wednesday, March 07
@@ -6255,7 +6396,7 @@ CLASS="COMMAND"
><DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1012"
+NAME="AEN1038"
></A
><P
><B
@@ -7084,7 +7225,9 @@ TARGET="_top"
></LI
><LI
><P
-> Modify the invocation of all system() calls in all perl scripts in your Bugzilla directory. For instance, change this line in processmail:
+> Modify the invocation of all system() calls in all perl
+ scripts in your Bugzilla directory. For instance, change
+ this line in processmail:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
@@ -7095,14 +7238,14 @@ WIDTH="100%"
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
->system ("./processmail.pl",@ARGLIST);
+>
+system ("./processmail.pl",@ARGLIST);
</PRE
></FONT
></TD
></TR
></TABLE
->
-to
+> to
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
@@ -7113,7 +7256,8 @@ WIDTH="100%"
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
->system ("perl processmail.pl",@ARGLIST);
+>
+system ("perl processmail.pl",@ARGLIST);
</PRE
></FONT
></TD
@@ -7122,6 +7266,94 @@ CLASS="PROGRAMLISTING"
>
</P
></LI
+><LI
+><P
+> Add <TT
+CLASS="FUNCTION"
+>binmode()</TT
+> calls so attachments
+ will work (<A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=62000"
+TARGET="_top"
+>bug 62000</A
+>).
+ </P
+><P
+> Because Microsoft Windows based systems handle binary
+ files different than Unix based systems, you need to add
+ the following lines to
+ <TT
+CLASS="FILENAME"
+>createattachment.cgi</TT
+> and
+ <TT
+CLASS="FILENAME"
+>showattachment.cgi</TT
+> before the
+ <TT
+CLASS="FUNCTION"
+>require 'CGI.pl';</TT
+> line.</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="PROGRAMLISTING"
+>binmode(STDIN);
+binmode(STDOUT);</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+ </P
+><DIV
+CLASS="NOTE"
+><P
+></P
+><TABLE
+CLASS="NOTE"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+> According to <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=62000"
+TARGET="_top"
+>bug 62000</A
+>, the perl documentation says that you should always use <TT
+CLASS="FUNCTION"
+>binmode()</TT
+> when dealing with binary files, but never when dealing with text files. That seems to suggest that rather than aribtrarily putting <TT
+CLASS="FUNCTION"
+>binmode()</TT
+> at the begining of the attachment files, there should be logic to determine if <TT
+CLASS="FUNCTION"
+>binmode()</TT
+> is needed or not.
+ </P
+></TD
+></TR
+></TABLE
+></DIV
+></LI
></OL
></DIV
><DIV
@@ -7149,7 +7381,9 @@ VALIGN="TOP"
relationships to Properties -&#62; Home directory (tab) -&#62;
Application Settings (section) -&#62; Configuration (button),
such as:
- <TABLE
+ </P
+><P
+> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
@@ -7208,7 +7442,7 @@ VALIGN="TOP"
><P
> From Andrew Pearson:
<A
-NAME="AEN1169"
+NAME="AEN1212"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -7226,7 +7460,23 @@ TARGET="_top"
registry at the following location:
</P
><P
-> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
+> <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="PROGRAMLISTING"
+>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
+ </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
</P
><P
> The keys should be called ".pl" and ".cgi", and both
@@ -7273,11 +7523,12 @@ VALIGN="TOP"
<EM
>not necessary</EM
> for Bugzilla 2.13 and
- later.
+ later, which includes the current release, Bugzilla
+ 2.14.
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1180"
+NAME="AEN1224"
></A
><P
><B
@@ -7285,7 +7536,7 @@ NAME="AEN1180"
2.12 or earlier</B
></P
><P
-> Replace this:
+> Replace this:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
@@ -7296,16 +7547,16 @@ WIDTH="100%"
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
->
-SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
-my $enteredcryptpwd = FetchOneColumn();
+>
+SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SQLQuote(substr($realcryptpwd, 0, 2)) . ")");
+my $enteredcryptpwd = FetchOneColumn();
</PRE
></FONT
></TD
></TR
></TABLE
->
- with this:
+>
+with this:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
@@ -7316,14 +7567,14 @@ WIDTH="100%"
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
->
-my $enteredcryptpwd = $enteredpwd
+>
+my $enteredcryptpwd = $enteredpwd
</PRE
></FONT
></TD
></TR
></TABLE
->
+>
in cgi.pl.
</P
></DIV
@@ -7334,6 +7585,87 @@ my $enteredcryptpwd = $enteredpwd
></TABLE
></DIV
></DIV
+><DIV
+CLASS="SECTION"
+><HR><H2
+CLASS="SECTION"
+><A
+NAME="BZLDAP"
+>3.6.3. Bugzilla LDAP Integration</A
+></H2
+><P
+> What follows is some late-breaking information on using the
+ LDAP authentication options with Bugzilla. The author has not
+ tested these (nor even formatted this section!) so please
+ contribute feedback to the newsgroup.
+ </P
+><P
+CLASS="LITERALLAYOUT"
+>Mozilla::LDAP&nbsp;module<br>
+<br>
+The&nbsp;Mozilla::LDAP&nbsp;module&nbsp;allows&nbsp;you&nbsp;to&nbsp;use&nbsp;LDAP&nbsp;for&nbsp;authentication&nbsp;to<br>
+the&nbsp;Bugzilla&nbsp;system.&nbsp;&nbsp;This&nbsp;module&nbsp;is&nbsp;not&nbsp;required&nbsp;if&nbsp;you&nbsp;are&nbsp;not&nbsp;using<br>
+LDAP.<br>
+<br>
+Mozilla::LDAP&nbsp;(aka&nbsp;PerLDAP)&nbsp;is&nbsp;available&nbsp;for&nbsp;download&nbsp;from<br>
+http://www.mozilla.org/directory.<br>
+<br>
+NOTE:&nbsp;The&nbsp;Mozilla::LDAP&nbsp;module&nbsp;requires&nbsp;Netscape's&nbsp;Directory&nbsp;SDK.<br>
+Follow&nbsp;the&nbsp;link&nbsp;for&nbsp;"Directory&nbsp;SDK&nbsp;for&nbsp;C"&nbsp;on&nbsp;that&nbsp;same&nbsp;page&nbsp;to<br>
+download&nbsp;the&nbsp;SDK&nbsp;first.&nbsp;&nbsp;After&nbsp;you&nbsp;have&nbsp;installed&nbsp;this&nbsp;SDK,&nbsp;then<br>
+install&nbsp;the&nbsp;PerLDAP&nbsp;module.<br>
+----------------------------------------------------------------------<br>
+<br>
+Post-Installation&nbsp;Checklist<br>
+----------------------------------------------------------------------<br>
+Set&nbsp;useLDAP&nbsp;to&nbsp;"On"&nbsp;**only**&nbsp;if&nbsp;you&nbsp;will&nbsp;be&nbsp;using&nbsp;an&nbsp;LDAP&nbsp;directory<br>
+for&nbsp;authentication.&nbsp;&nbsp;Be&nbsp;very&nbsp;careful&nbsp;when&nbsp;setting&nbsp;up&nbsp;this&nbsp;parameter;<br>
+if&nbsp;you&nbsp;set&nbsp;LDAP&nbsp;authentication,&nbsp;but&nbsp;do&nbsp;not&nbsp;have&nbsp;a&nbsp;valid&nbsp;LDAP&nbsp;directory<br>
+set&nbsp;up,&nbsp;you&nbsp;will&nbsp;not&nbsp;be&nbsp;able&nbsp;to&nbsp;log&nbsp;back&nbsp;in&nbsp;to&nbsp;Bugzilla&nbsp;once&nbsp;you&nbsp;log<br>
+out.&nbsp;&nbsp;(If&nbsp;this&nbsp;happens,&nbsp;you&nbsp;can&nbsp;get&nbsp;back&nbsp;in&nbsp;by&nbsp;manually&nbsp;editing&nbsp;the<br>
+data/params&nbsp;file,&nbsp;and&nbsp;setting&nbsp;useLDAP&nbsp;back&nbsp;to&nbsp;0.)<br>
+<br>
+If&nbsp;using&nbsp;LDAP,&nbsp;you&nbsp;must&nbsp;set&nbsp;the&nbsp;three&nbsp;additional&nbsp;parameters:<br>
+<br>
+Set&nbsp;LDAPserver&nbsp;to&nbsp;the&nbsp;name&nbsp;(and&nbsp;optionally&nbsp;port)&nbsp;of&nbsp;your&nbsp;LDAP&nbsp;server.<br>
+If&nbsp;no&nbsp;port&nbsp;is&nbsp;specified,&nbsp;it&nbsp;defaults&nbsp;to&nbsp;the&nbsp;default&nbsp;port&nbsp;of&nbsp;389.&nbsp;&nbsp;(e.g<br>
+"ldap.mycompany.com"&nbsp;or&nbsp;"ldap.mycompany.com:1234")<br>
+<br>
+Set&nbsp;LDAPBaseDN&nbsp;to&nbsp;the&nbsp;base&nbsp;DN&nbsp;for&nbsp;searching&nbsp;for&nbsp;users&nbsp;in&nbsp;your&nbsp;LDAP<br>
+directory.&nbsp;&nbsp;(e.g.&nbsp;"ou=People,o=MyCompany")&nbsp;&nbsp;uids&nbsp;must&nbsp;be&nbsp;unique&nbsp;under<br>
+the&nbsp;DN&nbsp;specified&nbsp;here.<br>
+<br>
+Set&nbsp;LDAPmailattribute&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;attribute&nbsp;in&nbsp;your&nbsp;LDAP<br>
+directory&nbsp;which&nbsp;contains&nbsp;the&nbsp;primary&nbsp;email&nbsp;address.&nbsp;&nbsp;On&nbsp;most&nbsp;directory<br>
+servers&nbsp;available,&nbsp;this&nbsp;is&nbsp;"mail",&nbsp;but&nbsp;you&nbsp;may&nbsp;need&nbsp;to&nbsp;change&nbsp;this.<br>
+----------------------------------------------------------------------<br>
+<br>
+(Not&nbsp;sure&nbsp;where&nbsp;this&nbsp;bit&nbsp;should&nbsp;go,&nbsp;but&nbsp;it's&nbsp;important&nbsp;that&nbsp;it&nbsp;be&nbsp;in<br>
+there&nbsp;somewhere...)<br>
+----------------------------------------------------------------------<br>
+Using&nbsp;LDAP&nbsp;authentication&nbsp;for&nbsp;Bugzilla:<br>
+<br>
+The&nbsp;existing&nbsp;authentication&nbsp;scheme&nbsp;for&nbsp;Bugzilla&nbsp;uses&nbsp;email&nbsp;addresses<br>
+as&nbsp;the&nbsp;primary&nbsp;user&nbsp;ID,&nbsp;and&nbsp;a&nbsp;password&nbsp;to&nbsp;authenticate&nbsp;that&nbsp;user.&nbsp;&nbsp;All<br>
+places&nbsp;within&nbsp;Bugzilla&nbsp;where&nbsp;you&nbsp;need&nbsp;to&nbsp;deal&nbsp;with&nbsp;user&nbsp;ID&nbsp;(e.g<br>
+assigning&nbsp;a&nbsp;bug)&nbsp;use&nbsp;the&nbsp;email&nbsp;address.<br>
+<br>
+The&nbsp;LDAP&nbsp;authentication&nbsp;builds&nbsp;on&nbsp;top&nbsp;of&nbsp;this&nbsp;scheme,&nbsp;rather&nbsp;than<br>
+replacing&nbsp;it.&nbsp;&nbsp;The&nbsp;initial&nbsp;log&nbsp;in&nbsp;is&nbsp;done&nbsp;with&nbsp;a&nbsp;username&nbsp;and&nbsp;password<br>
+for&nbsp;the&nbsp;LDAP&nbsp;directory.&nbsp;&nbsp;This&nbsp;then&nbsp;fetches&nbsp;the&nbsp;email&nbsp;address&nbsp;from&nbsp;LDAP<br>
+and&nbsp;authenticates&nbsp;seamlessly&nbsp;in&nbsp;the&nbsp;standard&nbsp;Bugzilla&nbsp;authentication<br>
+scheme&nbsp;using&nbsp;this&nbsp;email&nbsp;address.&nbsp;&nbsp;If&nbsp;an&nbsp;account&nbsp;for&nbsp;this&nbsp;address<br>
+already&nbsp;exists&nbsp;in&nbsp;your&nbsp;Bugzilla&nbsp;system,&nbsp;it&nbsp;will&nbsp;log&nbsp;in&nbsp;to&nbsp;that<br>
+account.&nbsp;&nbsp;If&nbsp;no&nbsp;account&nbsp;for&nbsp;that&nbsp;email&nbsp;address&nbsp;exists,&nbsp;one&nbsp;is&nbsp;created<br>
+at&nbsp;the&nbsp;time&nbsp;of&nbsp;login.&nbsp;&nbsp;(In&nbsp;this&nbsp;case,&nbsp;Bugzilla&nbsp;will&nbsp;attempt&nbsp;to&nbsp;use&nbsp;the<br>
+"displayName"&nbsp;or&nbsp;"cn"&nbsp;attribute&nbsp;to&nbsp;determine&nbsp;the&nbsp;user's&nbsp;full&nbsp;name.)<br>
+<br>
+After&nbsp;authentication,&nbsp;all&nbsp;other&nbsp;user-related&nbsp;tasks&nbsp;are&nbsp;still&nbsp;handled<br>
+by&nbsp;email&nbsp;address,&nbsp;not&nbsp;LDAP&nbsp;username.&nbsp;&nbsp;You&nbsp;still&nbsp;assign&nbsp;bugs&nbsp;by&nbsp;email<br>
+address,&nbsp;query&nbsp;on&nbsp;users&nbsp;by&nbsp;email&nbsp;address,&nbsp;etc.<br>
+----------------------------------------------------------------------<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+></DIV
></DIV
></DIV
><DIV
@@ -8614,7 +8946,7 @@ NAME="COMPONENTS"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1413"
+NAME="AEN1461"
></A
><P
><B
@@ -8623,7 +8955,7 @@ NAME="AEN1413"
><DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN1415"
+NAME="AEN1463"
></A
><P
></P
@@ -8769,7 +9101,7 @@ NAME="VERSIONS"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1442"
+NAME="AEN1490"
></A
><P
><B
@@ -8778,7 +9110,7 @@ NAME="AEN1442"
><DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN1444"
+NAME="AEN1492"
></A
><P
></P
@@ -8800,7 +9132,7 @@ NAME="AEN1444"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1446"
+NAME="AEN1494"
></A
><P
><B
@@ -8809,7 +9141,7 @@ NAME="AEN1446"
><DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN1448"
+NAME="AEN1496"
></A
><P
></P
@@ -8946,7 +9278,7 @@ TYPE="1"
><DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1474"
+NAME="AEN1522"
></A
><P
><B
@@ -8955,7 +9287,7 @@ NAME="AEN1474"
><DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN1476"
+NAME="AEN1524"
></A
><P
></P
@@ -9169,7 +9501,7 @@ NAME="GROUPS"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1510"
+NAME="AEN1558"
></A
><P
><B
@@ -9178,7 +9510,7 @@ NAME="AEN1510"
><DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN1512"
+NAME="AEN1560"
></A
><P
></P
@@ -9295,7 +9627,7 @@ TYPE="1"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN1527"
+NAME="AEN1575"
></A
><P
><B
@@ -9304,7 +9636,7 @@ NAME="AEN1527"
><DIV
CLASS="INFORMALEXAMPLE"
><A
-NAME="AEN1529"
+NAME="AEN1577"
></A
><P
></P
@@ -9425,6 +9757,112 @@ VALIGN="TOP"
</P
></LI
></OL
+><P
+> You may find this example illustrative for how bug groups work.
+ <DIV
+CLASS="EXAMPLE"
+><A
+NAME="AEN1592"
+></A
+><P
+><B
+>Example 4-7. Bugzilla Groups</B
+></P
+><P
+CLASS="LITERALLAYOUT"
+>Bugzilla&nbsp;Groups&nbsp;example<br>
+-----------------------<br>
+<br>
+For&nbsp;this&nbsp;example,&nbsp;let&nbsp;us&nbsp;suppose&nbsp;we&nbsp;have&nbsp;four&nbsp;groups,&nbsp;call&nbsp;them<br>
+Group1,&nbsp;Group2,&nbsp;Group3,&nbsp;and&nbsp;Group4.<br>
+<br>
+We&nbsp;have&nbsp;5&nbsp;users,&nbsp;User1,&nbsp;User2,&nbsp;User3,&nbsp;User4,&nbsp;User5.<br>
+<br>
+We&nbsp;have&nbsp;8&nbsp;bugs,&nbsp;Bug1,&nbsp;...,&nbsp;Bug8.<br>
+<br>
+Group&nbsp;membership&nbsp;is&nbsp;defined&nbsp;by&nbsp;this&nbsp;chart:<br>
+(X&nbsp;denotes&nbsp;that&nbsp;user&nbsp;is&nbsp;in&nbsp;that&nbsp;group.)<br>
+(I&nbsp;apologize&nbsp;for&nbsp;the&nbsp;nasty&nbsp;formatting&nbsp;of&nbsp;this&nbsp;table.&nbsp;&nbsp;Try&nbsp;viewing<br>
+it&nbsp;in&nbsp;a&nbsp;text-based&nbsp;browser&nbsp;or&nbsp;something&nbsp;for&nbsp;now.&nbsp;-MPB)<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G&nbsp;G&nbsp;G&nbsp;G<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;r&nbsp;r&nbsp;r<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;o&nbsp;o&nbsp;o<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u&nbsp;u&nbsp;u&nbsp;u<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;p&nbsp;p&nbsp;p<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;2&nbsp;3&nbsp;4<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+User1|X|&nbsp;|&nbsp;|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+User2|&nbsp;|X|&nbsp;|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+User3|X|&nbsp;|X|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+User4|X|X|X|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+User5|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+<br>
+Bug&nbsp;restrictions&nbsp;are&nbsp;defined&nbsp;by&nbsp;this&nbsp;chart:<br>
+(X&nbsp;denotes&nbsp;that&nbsp;bug&nbsp;is&nbsp;restricted&nbsp;to&nbsp;that&nbsp;group.)<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G&nbsp;G&nbsp;G&nbsp;G<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;r&nbsp;r&nbsp;r<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;o&nbsp;o&nbsp;o<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u&nbsp;u&nbsp;u&nbsp;u<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;p&nbsp;p&nbsp;p<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;2&nbsp;3&nbsp;4<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug1|&nbsp;|&nbsp;|&nbsp;|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug2|&nbsp;|X|&nbsp;|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug3|&nbsp;|&nbsp;|X|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug4|&nbsp;|&nbsp;|&nbsp;|X|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug5|X|X|&nbsp;|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug6|X|&nbsp;|X|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug7|X|X|X|&nbsp;|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+Bug8|X|X|X|X|<br>
+&nbsp;&nbsp;&nbsp;&nbsp;+-+-+-+-+<br>
+<br>
+Who&nbsp;can&nbsp;see&nbsp;each&nbsp;bug?<br>
+<br>
+Bug1&nbsp;has&nbsp;no&nbsp;group&nbsp;restrictions.&nbsp;&nbsp;Therefore,&nbsp;Bug1&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;any<br>
+user,&nbsp;whatever&nbsp;their&nbsp;group&nbsp;membership.&nbsp;&nbsp;This&nbsp;is&nbsp;going&nbsp;to&nbsp;be&nbsp;the&nbsp;only<br>
+bug&nbsp;that&nbsp;User5&nbsp;can&nbsp;see,&nbsp;because&nbsp;User5&nbsp;isn't&nbsp;in&nbsp;any&nbsp;groups.<br>
+<br>
+Bug2&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;in&nbsp;Group2,&nbsp;that&nbsp;is&nbsp;User2&nbsp;and&nbsp;User4.<br>
+<br>
+Bug3&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;in&nbsp;Group3,&nbsp;that&nbsp;is&nbsp;User3&nbsp;and&nbsp;User4.<br>
+<br>
+Bug4&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;in&nbsp;Group4.&nbsp;&nbsp;Nobody&nbsp;is&nbsp;in&nbsp;Group4,&nbsp;so&nbsp;none&nbsp;of<br>
+these&nbsp;users&nbsp;can&nbsp;see&nbsp;Bug4.<br>
+<br>
+Bug5&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;who&nbsp;is&nbsp;in&nbsp;_both_&nbsp;Group1&nbsp;and&nbsp;Group2.&nbsp;&nbsp;This<br>
+is&nbsp;only&nbsp;User4.&nbsp;&nbsp;User1&nbsp;cannot&nbsp;see&nbsp;it&nbsp;because&nbsp;he&nbsp;is&nbsp;not&nbsp;in&nbsp;Group2,&nbsp;and<br>
+User2&nbsp;cannot&nbsp;see&nbsp;it&nbsp;because&nbsp;she&nbsp;is&nbsp;not&nbsp;in&nbsp;Group1.<br>
+<br>
+Bug6&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;who&nbsp;is&nbsp;in&nbsp;both&nbsp;Group1&nbsp;and&nbsp;Group3.&nbsp;&nbsp;This<br>
+would&nbsp;include&nbsp;User3&nbsp;and&nbsp;User4.&nbsp;&nbsp;Similar&nbsp;to&nbsp;Bug5,&nbsp;User1&nbsp;cannot&nbsp;see&nbsp;Bug6<br>
+because&nbsp;he&nbsp;is&nbsp;not&nbsp;in&nbsp;Group3.<br>
+<br>
+Bug7&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;who&nbsp;is&nbsp;in&nbsp;Group1,&nbsp;Group2,&nbsp;and&nbsp;Group3.&nbsp;&nbsp;This<br>
+is&nbsp;only&nbsp;User4.&nbsp;&nbsp;All&nbsp;of&nbsp;the&nbsp;others&nbsp;are&nbsp;missing&nbsp;at&nbsp;least&nbsp;one&nbsp;of&nbsp;those<br>
+group&nbsp;priveleges,&nbsp;and&nbsp;thus&nbsp;cannot&nbsp;see&nbsp;the&nbsp;bug.<br>
+<br>
+Bug8&nbsp;can&nbsp;be&nbsp;seen&nbsp;by&nbsp;anyone&nbsp;who&nbsp;is&nbsp;in&nbsp;Group1,&nbsp;Group2,&nbsp;Group3,&nbsp;and<br>
+Group4.&nbsp;&nbsp;There&nbsp;is&nbsp;nobody&nbsp;in&nbsp;all&nbsp;four&nbsp;of&nbsp;these&nbsp;groups,&nbsp;so&nbsp;nobody&nbsp;can<br>
+see&nbsp;Bug8.&nbsp;&nbsp;It&nbsp;doesn't&nbsp;matter&nbsp;that&nbsp;User4&nbsp;is&nbsp;in&nbsp;Group1,&nbsp;Group2,&nbsp;and<br>
+Group3,&nbsp;since&nbsp;he&nbsp;isn't&nbsp;in&nbsp;Group4.<br>
+ &nbsp;&nbsp;</P
+></DIV
+>
+ </P
></DIV
></DIV
><DIV
@@ -9792,6 +10230,20 @@ CLASS="QUOTE"
an @resolution field, you can even change the Bugzilla bug
state.
</P
+><P
+> There is also a project, based upon somewhat dated Bugzilla
+ code, to integrate CVS and Bugzilla through CVS' ability to
+ email. Check it out at:
+ <A
+HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
+TARGET="_top"
+> http://homepages.kcbbs.gen.nz/~tonyg/</A
+>, under the
+ <SPAN
+CLASS="QUOTE"
+>"cvszilla"</SPAN
+> link.
+ </P
></DIV
><DIV
CLASS="SECTION"
@@ -9861,14 +10313,748 @@ CLASS="SYNOPSIS"
></TR
></TABLE
><P
-> The future of Bugzilla is Bugzilla 3.0. Unfortunately, I do
- not have more information about it right now, and most of what
- went into the "future" section is now present. That stuff was
- blue-sky a year ago; MattyT should have me a new document
- sometime...
+> Bugzilla's future is a constantly-changing thing, as various developers
+ <SPAN
+CLASS="QUOTE"
+>"scratch an itch"</SPAN
+> when it comes to functionality.
+ Thus this section is very malleable, subject to change without notice, etc.
+ You'll probably also notice the lack of formatting. I apologize that it's
+ not quite as readable as the rest of the Guide.
+ </P
+><P
+> <P
+CLASS="LITERALLAYOUT"
+>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bugzilla&nbsp;Blue&nbsp;Sky<br>
+<br>
+Customisability<br>
+<br>
+&nbsp;&nbsp;&nbsp;One&nbsp;of&nbsp;the&nbsp;major&nbsp;stumbling&nbsp;blocks&nbsp;of&nbsp;Bugzilla&nbsp;has&nbsp;been&nbsp;that&nbsp;it&nbsp;is&nbsp;too<br>
+&nbsp;&nbsp;&nbsp;rigid&nbsp;and&nbsp;does&nbsp;not&nbsp;adapt&nbsp;itself&nbsp;well&nbsp;enough&nbsp;to&nbsp;the&nbsp;needs&nbsp;of&nbsp;an<br>
+&nbsp;&nbsp;&nbsp;organisation.&nbsp;&nbsp;This&nbsp;has&nbsp;led&nbsp;to&nbsp;organisations&nbsp;making&nbsp;changes&nbsp;to&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;Bugzilla&nbsp;code&nbsp;that&nbsp;need&nbsp;to&nbsp;be&nbsp;redone&nbsp;each&nbsp;new&nbsp;version&nbsp;of&nbsp;Bugzilla.<br>
+&nbsp;&nbsp;&nbsp;Bugzilla&nbsp;should&nbsp;attempt&nbsp;to&nbsp;move&nbsp;away&nbsp;from&nbsp;this&nbsp;to&nbsp;a&nbsp;world&nbsp;where&nbsp;this<br>
+&nbsp;&nbsp;&nbsp;doesn't&nbsp;need&nbsp;to&nbsp;occur.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Most&nbsp;of&nbsp;the&nbsp;subsections&nbsp;in&nbsp;this&nbsp;section&nbsp;are&nbsp;currently&nbsp;explicit&nbsp;design<br>
+&nbsp;&nbsp;&nbsp;goals&nbsp;for&nbsp;the&nbsp;"Bugzilla&nbsp;3"&nbsp;rewrite.&nbsp;&nbsp;This&nbsp;does&nbsp;not&nbsp;necessarily&nbsp;mean<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;they&nbsp;will&nbsp;not&nbsp;occur&nbsp;before&nbsp;them&nbsp;in&nbsp;Bugzilla&nbsp;2,&nbsp;but&nbsp;most&nbsp;are<br>
+&nbsp;&nbsp;&nbsp;significant&nbsp;undertakings.<br>
+<br>
+&nbsp;&nbsp;Field&nbsp;Customisation<br>
+<br>
+&nbsp;&nbsp;&nbsp;Many&nbsp;installations&nbsp;wish&nbsp;to&nbsp;customise&nbsp;the&nbsp;fields&nbsp;that&nbsp;appear&nbsp;on&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;reports.&nbsp;&nbsp;&nbsp;Current&nbsp;versions&nbsp;of&nbsp;Bugzilla&nbsp;offer&nbsp;limited<br>
+&nbsp;&nbsp;&nbsp;customisability.&nbsp;&nbsp;In&nbsp;particular,&nbsp;some&nbsp;fields&nbsp;can&nbsp;be&nbsp;turned&nbsp;off.<br>
+<br>
+&nbsp;&nbsp;&nbsp;However,&nbsp;many&nbsp;administrators&nbsp;wish&nbsp;to&nbsp;add&nbsp;their&nbsp;own&nbsp;fields,&nbsp;and&nbsp;rename<br>
+&nbsp;&nbsp;&nbsp;or&nbsp;otherwise&nbsp;modify&nbsp;existing&nbsp;fields.&nbsp;&nbsp;An&nbsp;architecture&nbsp;that&nbsp;supports<br>
+&nbsp;&nbsp;&nbsp;this&nbsp;would&nbsp;be&nbsp;extraordinarily&nbsp;useful.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Indeed,&nbsp;many&nbsp;fields&nbsp;work&nbsp;similarly&nbsp;and&nbsp;could&nbsp;be&nbsp;abstracted&nbsp;into&nbsp;"field<br>
+&nbsp;&nbsp;&nbsp;types",&nbsp;so&nbsp;that&nbsp;an&nbsp;administrator&nbsp;need&nbsp;write&nbsp;little&nbsp;or&nbsp;no&nbsp;code&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;support&nbsp;the&nbsp;new&nbsp;fields&nbsp;they&nbsp;desire.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Possible&nbsp;field&nbsp;types&nbsp;include&nbsp;text&nbsp;(eg&nbsp;status&nbsp;whiteboard),&nbsp;numbers,<br>
+&nbsp;&nbsp;&nbsp;dates&nbsp;(eg&nbsp;report&nbsp;time),&nbsp;accounts&nbsp;(eg&nbsp;reporter,&nbsp;qa,&nbsp;cc),&nbsp;inter-bug<br>
+&nbsp;&nbsp;&nbsp;relationships&nbsp;(dependencies,&nbsp;duplicates),&nbsp;option&nbsp;groups&nbsp;(platform,&nbsp;os,<br>
+&nbsp;&nbsp;&nbsp;severity,&nbsp;priority,&nbsp;target&nbsp;milestone,&nbsp;version)&nbsp;etc.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Ideally&nbsp;an&nbsp;administrator&nbsp;could&nbsp;configure&nbsp;their&nbsp;fields&nbsp;through&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;Bugzilla&nbsp;interface&nbsp;that&nbsp;requires&nbsp;no&nbsp;code&nbsp;to&nbsp;be&nbsp;added.&nbsp;&nbsp;However,&nbsp;it&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;highly&nbsp;unlikely&nbsp;this&nbsp;ideal&nbsp;will&nbsp;never&nbsp;be&nbsp;met,&nbsp;and&nbsp;in&nbsp;a&nbsp;similar&nbsp;way<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;office&nbsp;applications&nbsp;have&nbsp;scripting&nbsp;languages,&nbsp;Bugzilla&nbsp;should<br>
+&nbsp;&nbsp;&nbsp;allow&nbsp;new&nbsp;field&nbsp;types&nbsp;to&nbsp;be&nbsp;written.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Similarly,&nbsp;a&nbsp;common&nbsp;desire&nbsp;is&nbsp;for&nbsp;resolutions&nbsp;to&nbsp;be&nbsp;added&nbsp;or&nbsp;removed.<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Allocations<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Option&nbsp;Groups<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Relations<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+&nbsp;&nbsp;Database&nbsp;Integrity<br>
+<br>
+&nbsp;&nbsp;&nbsp;Furthermore,&nbsp;it&nbsp;is&nbsp;desirable&nbsp;for&nbsp;administrators&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;specify<br>
+&nbsp;&nbsp;&nbsp;rules&nbsp;that&nbsp;must&nbsp;or&nbsp;should&nbsp;apply&nbsp;between&nbsp;the&nbsp;fields&nbsp;on&nbsp;a&nbsp;bug&nbsp;report.<br>
+<br>
+&nbsp;&nbsp;&nbsp;For&nbsp;example,&nbsp;you&nbsp;might&nbsp;wish&nbsp;to&nbsp;specify&nbsp;that&nbsp;a&nbsp;bug&nbsp;with&nbsp;status&nbsp;ASSIGNED<br>
+&nbsp;&nbsp;&nbsp;must&nbsp;have&nbsp;a&nbsp;target&nbsp;milestone&nbsp;field&nbsp;that&nbsp;that&nbsp;is&nbsp;not&nbsp;untargetted.&nbsp;&nbsp;Or<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;a&nbsp;bug&nbsp;with&nbsp;a&nbsp;certain&nbsp;number&nbsp;of&nbsp;votes&nbsp;should&nbsp;get&nbsp;ASSIGNED.&nbsp;&nbsp;Or<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;the&nbsp;QA&nbsp;contact&nbsp;must&nbsp;be&nbsp;different&nbsp;from&nbsp;the&nbsp;assignee.<br>
+<br>
+&nbsp;&nbsp;&nbsp;"Must"&nbsp;relationships&nbsp;could&nbsp;be&nbsp;implemented&nbsp;by&nbsp;refusing&nbsp;to&nbsp;make&nbsp;changes<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;violate&nbsp;the&nbsp;relationships,&nbsp;or&nbsp;alternatively,&nbsp;automatically<br>
+&nbsp;&nbsp;&nbsp;updating&nbsp;certain&nbsp;fields&nbsp;in&nbsp;order&nbsp;to&nbsp;satisfy&nbsp;the&nbsp;criteria.&nbsp;&nbsp;Which<br>
+&nbsp;&nbsp;&nbsp;occurs&nbsp;should&nbsp;be&nbsp;up&nbsp;to&nbsp;the&nbsp;administrator.<br>
+<br>
+&nbsp;&nbsp;&nbsp;"Should"&nbsp;relationships&nbsp;could&nbsp;be&nbsp;implemented&nbsp;by&nbsp;a&nbsp;combination&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;emitting&nbsp;warnings&nbsp;on&nbsp;the&nbsp;process&nbsp;bug&nbsp;page,&nbsp;the&nbsp;same&nbsp;on&nbsp;notification<br>
+&nbsp;&nbsp;&nbsp;mails,&nbsp;or&nbsp;emitting&nbsp;periodic&nbsp;whine&nbsp;mails&nbsp;about&nbsp;the&nbsp;situation.&nbsp;&nbsp;Again,<br>
+&nbsp;&nbsp;&nbsp;which&nbsp;occurs&nbsp;should&nbsp;be&nbsp;up&nbsp;to&nbsp;the&nbsp;administrator.<br>
+<br>
+&nbsp;&nbsp;&nbsp;It&nbsp;should&nbsp;also&nbsp;be&nbsp;possible&nbsp;for&nbsp;whine&nbsp;mails&nbsp;to&nbsp;be&nbsp;emitted&nbsp;for&nbsp;"must"<br>
+&nbsp;&nbsp;&nbsp;relationships,&nbsp;as&nbsp;they&nbsp;might&nbsp;become&nbsp;violated&nbsp;through&nbsp;direct&nbsp;database<br>
+&nbsp;&nbsp;&nbsp;access,&nbsp;Bugzilla&nbsp;bugs,&nbsp;or&nbsp;because&nbsp;they&nbsp;were&nbsp;there&nbsp;before&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;relationship&nbsp;was&nbsp;enforced.<br>
+<br>
+&nbsp;&nbsp;&nbsp;As&nbsp;well&nbsp;as&nbsp;implementing&nbsp;intra-bug&nbsp;constraints,&nbsp;it&nbsp;would&nbsp;be&nbsp;useful&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;create&nbsp;inter-bug&nbsp;constraints.&nbsp;&nbsp;For&nbsp;example,&nbsp;a&nbsp;bug&nbsp;that&nbsp;is&nbsp;dependent&nbsp;on<br>
+&nbsp;&nbsp;&nbsp;another&nbsp;bug&nbsp;should&nbsp;not&nbsp;have&nbsp;an&nbsp;earlier&nbsp;milestone&nbsp;or&nbsp;greater&nbsp;priority<br>
+&nbsp;&nbsp;&nbsp;than&nbsp;that&nbsp;bug.<br>
+<br>
+&nbsp;&nbsp;Database&nbsp;Adaptability<br>
+<br>
+&nbsp;&nbsp;&nbsp;Often&nbsp;an&nbsp;administrator&nbsp;desires&nbsp;that&nbsp;fields&nbsp;adapt&nbsp;to&nbsp;the&nbsp;values&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;other&nbsp;fields.&nbsp;&nbsp;For&nbsp;example,&nbsp;the&nbsp;value&nbsp;of&nbsp;a&nbsp;field&nbsp;might&nbsp;determine&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;possible&nbsp;values&nbsp;of&nbsp;another&nbsp;field&nbsp;or&nbsp;even&nbsp;whether&nbsp;it&nbsp;appears&nbsp;(whether<br>
+&nbsp;&nbsp;&nbsp;it&nbsp;is&nbsp;"applicable").<br>
+<br>
+&nbsp;&nbsp;&nbsp;Limited&nbsp;adaptability&nbsp;is&nbsp;present&nbsp;in&nbsp;Bugzilla&nbsp;2,&nbsp;and&nbsp;only&nbsp;on&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;"Product"&nbsp;field:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;possible&nbsp;values&nbsp;of&nbsp;the&nbsp;target&nbsp;milestone,&nbsp;version&nbsp;and&nbsp;component<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fields&nbsp;depend&nbsp;on&nbsp;the&nbsp;product.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;UNCONFIRMED&nbsp;can&nbsp;be&nbsp;turned&nbsp;off&nbsp;for&nbsp;specific&nbsp;products.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Voting&nbsp;can&nbsp;be&nbsp;configured&nbsp;differently&nbsp;or&nbsp;turned&nbsp;off&nbsp;for&nbsp;different<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;products,&nbsp;and&nbsp;there&nbsp;is&nbsp;a&nbsp;separate&nbsp;user&nbsp;vote&nbsp;limits&nbsp;for&nbsp;each<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;product.<br>
+<br>
+&nbsp;&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;good&nbsp;if&nbsp;more&nbsp;adaptability&nbsp;was&nbsp;present,&nbsp;both&nbsp;in&nbsp;terms&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;all&nbsp;fields&nbsp;relying&nbsp;on&nbsp;the&nbsp;product,&nbsp;as&nbsp;well&nbsp;as&nbsp;the&nbsp;ability&nbsp;to&nbsp;adapt<br>
+&nbsp;&nbsp;&nbsp;based&nbsp;on&nbsp;the&nbsp;value&nbsp;of&nbsp;all&nbsp;fields.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Example&nbsp;???<br>
+<br>
+&nbsp;&nbsp;&nbsp;General&nbsp;adaptability&nbsp;raises&nbsp;the&nbsp;issue&nbsp;of&nbsp;circular&nbsp;references&nbsp;between<br>
+&nbsp;&nbsp;&nbsp;fields&nbsp;causing&nbsp;problems.&nbsp;&nbsp;One&nbsp;possible&nbsp;solution&nbsp;to&nbsp;this&nbsp;is&nbsp;to&nbsp;place<br>
+&nbsp;&nbsp;&nbsp;the&nbsp;fields&nbsp;in&nbsp;a&nbsp;total&nbsp;ordering&nbsp;and&nbsp;require&nbsp;a&nbsp;field&nbsp;refer&nbsp;only&nbsp;to&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;previous&nbsp;fields.<br>
+<br>
+&nbsp;&nbsp;&nbsp;In&nbsp;Bugzilla&nbsp;2,&nbsp;changing&nbsp;the&nbsp;product&nbsp;of&nbsp;a&nbsp;bug&nbsp;meant&nbsp;a&nbsp;second&nbsp;page&nbsp;would<br>
+&nbsp;&nbsp;&nbsp;appear&nbsp;that&nbsp;allowed&nbsp;you&nbsp;to&nbsp;choose&nbsp;a&nbsp;new&nbsp;milestone,&nbsp;component&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;version,&nbsp;as&nbsp;those&nbsp;fields&nbsp;adapted&nbsp;themselves&nbsp;to&nbsp;the&nbsp;new&nbsp;product.&nbsp;&nbsp;This<br>
+&nbsp;&nbsp;&nbsp;page&nbsp;could&nbsp;be&nbsp;generalised&nbsp;to&nbsp;support&nbsp;all&nbsp;instances&nbsp;where:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;a&nbsp;field&nbsp;value&nbsp;must&nbsp;or&nbsp;might&nbsp;be&nbsp;changed&nbsp;because&nbsp;the&nbsp;possible&nbsp;values<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;have&nbsp;changed<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;is&nbsp;going&nbsp;to&nbsp;drop&nbsp;off&nbsp;because&nbsp;it&nbsp;it&nbsp;is&nbsp;no&nbsp;longer&nbsp;applicable,&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;should&nbsp;be&nbsp;confirmed<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;must&nbsp;be&nbsp;specified&nbsp;because&nbsp;it&nbsp;is&nbsp;suddenly&nbsp;applicable,&nbsp;and&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;value,&nbsp;if&nbsp;one&nbsp;exists,&nbsp;might&nbsp;not&nbsp;be&nbsp;acceptable<br>
+<br>
+&nbsp;&nbsp;Database&nbsp;Independence<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;Bugzilla&nbsp;only&nbsp;runs&nbsp;on&nbsp;the&nbsp;MySQL&nbsp;database.&nbsp;&nbsp;It&nbsp;would&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;desirable&nbsp;for&nbsp;Bugzilla&nbsp;to&nbsp;run&nbsp;on&nbsp;other&nbsp;databases,&nbsp;because:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Organisations&nbsp;may&nbsp;have&nbsp;existing&nbsp;database&nbsp;products&nbsp;they&nbsp;use&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would&nbsp;prefer&nbsp;to&nbsp;run&nbsp;a&nbsp;homogenous&nbsp;environment.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Databases&nbsp;each&nbsp;have&nbsp;their&nbsp;own&nbsp;shortcomings,&nbsp;including&nbsp;MySQL.&nbsp;&nbsp;An<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;administrator&nbsp;might&nbsp;choose&nbsp;a&nbsp;database&nbsp;that&nbsp;would&nbsp;work&nbsp;better&nbsp;with<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;their&nbsp;Bugzilla.<br>
+<br>
+&nbsp;&nbsp;&nbsp;This&nbsp;raises&nbsp;the&nbsp;possibility&nbsp;that&nbsp;we&nbsp;could&nbsp;use&nbsp;features&nbsp;that&nbsp;are&nbsp;only<br>
+&nbsp;&nbsp;&nbsp;present&nbsp;in&nbsp;some&nbsp;databases,&nbsp;by&nbsp;appropriately&nbsp;falling&nbsp;back.&nbsp;&nbsp;For<br>
+&nbsp;&nbsp;&nbsp;example,&nbsp;in&nbsp;the&nbsp;MySQL&nbsp;world,&nbsp;we&nbsp;live&nbsp;without:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;record-level&nbsp;locking,&nbsp;instead&nbsp;we&nbsp;use&nbsp;table-level&nbsp;locking<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;referential&nbsp;and&nbsp;record&nbsp;constraints,&nbsp;instead&nbsp;we&nbsp;checking&nbsp;code<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;subselects,&nbsp;instead&nbsp;we&nbsp;use&nbsp;multiple&nbsp;queries&nbsp;and&nbsp;redundant&nbsp;"caches"<br>
+<br>
+&nbsp;&nbsp;Multiple&nbsp;Front&nbsp;Ends<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;Bugzilla&nbsp;is&nbsp;manipulated&nbsp;via&nbsp;the&nbsp;Web,&nbsp;and&nbsp;notifies&nbsp;via<br>
+&nbsp;&nbsp;&nbsp;E-Mail.&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;desirable&nbsp;for&nbsp;Bugzilla&nbsp;to&nbsp;easily&nbsp;support&nbsp;various<br>
+&nbsp;&nbsp;&nbsp;front&nbsp;ends.<br>
+<br>
+&nbsp;&nbsp;&nbsp;There&nbsp;is&nbsp;no&nbsp;reason&nbsp;that&nbsp;Bugzilla&nbsp;could&nbsp;not&nbsp;be&nbsp;controlled&nbsp;via&nbsp;a&nbsp;whole<br>
+&nbsp;&nbsp;&nbsp;range&nbsp;of&nbsp;front&nbsp;ends,&nbsp;including&nbsp;Web,&nbsp;E-Mail,&nbsp;IRC,&nbsp;ICQ,&nbsp;etc,&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;similarly&nbsp;for&nbsp;how&nbsp;it&nbsp;notifies.&nbsp;&nbsp;It's&nbsp;also&nbsp;possible&nbsp;that&nbsp;we&nbsp;could<br>
+&nbsp;&nbsp;&nbsp;introduce&nbsp;a&nbsp;special&nbsp;Bugzilla&nbsp;client&nbsp;that&nbsp;uses&nbsp;its&nbsp;own&nbsp;protocol,&nbsp;for<br>
+&nbsp;&nbsp;&nbsp;maximum&nbsp;user&nbsp;productivity.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Indeed&nbsp;a&nbsp;request&nbsp;reply&nbsp;might&nbsp;be&nbsp;returned&nbsp;via&nbsp;a&nbsp;totally&nbsp;different<br>
+&nbsp;&nbsp;&nbsp;transport&nbsp;method&nbsp;than&nbsp;was&nbsp;use&nbsp;to&nbsp;submit&nbsp;the&nbsp;request.<br>
+<br>
+Internationalisation<br>
+<br>
+&nbsp;&nbsp;&nbsp;Bugzilla&nbsp;currently&nbsp;supports&nbsp;only&nbsp;English.&nbsp;&nbsp;All&nbsp;of&nbsp;the&nbsp;field&nbsp;names,<br>
+&nbsp;&nbsp;&nbsp;user&nbsp;instructions,&nbsp;etc&nbsp;are&nbsp;written&nbsp;in&nbsp;English.&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;desirable<br>
+&nbsp;&nbsp;&nbsp;to&nbsp;allow&nbsp;"language&nbsp;packs"&nbsp;so&nbsp;Bugzilla&nbsp;can&nbsp;be&nbsp;easily&nbsp;used&nbsp;in<br>
+&nbsp;&nbsp;&nbsp;non-English&nbsp;speaking&nbsp;locales.<br>
+<br>
+&nbsp;&nbsp;&nbsp;To&nbsp;a&nbsp;degree&nbsp;field&nbsp;customisation&nbsp;supports&nbsp;this,&nbsp;because&nbsp;administrators<br>
+&nbsp;&nbsp;&nbsp;could&nbsp;specify&nbsp;their&nbsp;own&nbsp;fields&nbsp;names&nbsp;anyway.&nbsp;&nbsp;However,&nbsp;there&nbsp;will<br>
+&nbsp;&nbsp;&nbsp;always&nbsp;be&nbsp;some&nbsp;basic&nbsp;facilities&nbsp;not&nbsp;covered&nbsp;by&nbsp;this,&nbsp;and&nbsp;it&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;desirable&nbsp;that&nbsp;the&nbsp;administrator's&nbsp;interface&nbsp;also&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;internationalisable.<br>
+<br>
+Better&nbsp;Searching<br>
+<br>
+&nbsp;&nbsp;General&nbsp;Summary&nbsp;Reports<br>
+<br>
+&nbsp;&nbsp;&nbsp;Sometimes,&nbsp;the&nbsp;normal&nbsp;querying&nbsp;page&nbsp;leaves&nbsp;a&nbsp;lot&nbsp;to&nbsp;be&nbsp;desired.&nbsp;&nbsp;There<br>
+&nbsp;&nbsp;&nbsp;are&nbsp;other&nbsp;facilities&nbsp;already&nbsp;in&nbsp;place&nbsp;or&nbsp;which&nbsp;people&nbsp;have&nbsp;asked&nbsp;for:<br>
+<br>
+&nbsp;&nbsp;&nbsp;Most&nbsp;Doomed&nbsp;Reports&nbsp;-&nbsp;All&nbsp;Bugs&nbsp;or&nbsp;All&nbsp;Bugs&nbsp;In&nbsp;A&nbsp;Product,&nbsp;Categorised<br>
+&nbsp;&nbsp;&nbsp;On&nbsp;Assignee,&nbsp;Shows&nbsp;and&nbsp;Counts&nbsp;Number&nbsp;of&nbsp;Bugs&nbsp;For&nbsp;Each&nbsp;Assignee<br>
+&nbsp;&nbsp;&nbsp;Most&nbsp;Voted&nbsp;For&nbsp;Bugs&nbsp;-&nbsp;All&nbsp;Bugs,&nbsp;Categorised&nbsp;On&nbsp;Product,&nbsp;Shows&nbsp;Top&nbsp;Ten<br>
+&nbsp;&nbsp;&nbsp;Bugs&nbsp;Voters&nbsp;Most&nbsp;Want&nbsp;Fixed<br>
+&nbsp;&nbsp;&nbsp;Number&nbsp;of&nbsp;Open&nbsp;Bugs&nbsp;For&nbsp;An&nbsp;Assignee&nbsp;-&nbsp;Bug&nbsp;List,&nbsp;Categorised&nbsp;On<br>
+&nbsp;&nbsp;&nbsp;Developers,&nbsp;Counts&nbsp;Number&nbsp;of&nbsp;Bugs&nbsp;In&nbsp;Category<br>
+<br>
+&nbsp;&nbsp;&nbsp;The&nbsp;important&nbsp;thing&nbsp;to&nbsp;realise&nbsp;is&nbsp;that&nbsp;people&nbsp;want&nbsp;categorised&nbsp;reports<br>
+&nbsp;&nbsp;&nbsp;on&nbsp;all&nbsp;sorts&nbsp;of&nbsp;things&nbsp;-&nbsp;a&nbsp;general&nbsp;summary&nbsp;report.<br>
+<br>
+&nbsp;&nbsp;&nbsp;In&nbsp;a&nbsp;categorised&nbsp;report,&nbsp;you&nbsp;choose&nbsp;the&nbsp;subset&nbsp;of&nbsp;bugs&nbsp;you&nbsp;wish&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;operate&nbsp;on&nbsp;(similar&nbsp;to&nbsp;how&nbsp;you&nbsp;would&nbsp;specify&nbsp;a&nbsp;query),&nbsp;and&nbsp;then<br>
+&nbsp;&nbsp;&nbsp;categorise&nbsp;them&nbsp;on&nbsp;one&nbsp;or&nbsp;more&nbsp;fields.<br>
+<br>
+&nbsp;&nbsp;&nbsp;For&nbsp;each&nbsp;category&nbsp;you&nbsp;display&nbsp;the&nbsp;count&nbsp;of&nbsp;the&nbsp;number&nbsp;of&nbsp;things&nbsp;in<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;category.&nbsp;&nbsp;You&nbsp;can&nbsp;optionally&nbsp;display&nbsp;the&nbsp;bugs&nbsp;themselves,&nbsp;or<br>
+&nbsp;&nbsp;&nbsp;leave&nbsp;them&nbsp;out,&nbsp;just&nbsp;showing&nbsp;the&nbsp;counts.&nbsp;&nbsp;And&nbsp;you&nbsp;can&nbsp;optionally&nbsp;limit<br>
+&nbsp;&nbsp;&nbsp;the&nbsp;number&nbsp;of&nbsp;things&nbsp;(bugs&nbsp;or&nbsp;subcategories)&nbsp;that&nbsp;display&nbsp;in&nbsp;each<br>
+&nbsp;&nbsp;&nbsp;category.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Such&nbsp;a&nbsp;mechanism&nbsp;would&nbsp;let&nbsp;you&nbsp;do&nbsp;all&nbsp;of&nbsp;the&nbsp;above&nbsp;and&nbsp;more.<br>
+&nbsp;&nbsp;&nbsp;Applications&nbsp;of&nbsp;this&nbsp;mechanism&nbsp;would&nbsp;only&nbsp;be&nbsp;recognised&nbsp;once&nbsp;it&nbsp;was<br>
+&nbsp;&nbsp;&nbsp;implemented.<br>
+<br>
+&nbsp;&nbsp;Related&nbsp;Bugs<br>
+<br>
+&nbsp;&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;nice&nbsp;to&nbsp;have&nbsp;a&nbsp;field&nbsp;where&nbsp;you&nbsp;could&nbsp;enter&nbsp;other&nbsp;bugs<br>
+&nbsp;&nbsp;&nbsp;related&nbsp;to&nbsp;the&nbsp;current&nbsp;bug.&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;handy&nbsp;for&nbsp;navigation&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;possibly&nbsp;even&nbsp;finding&nbsp;duplicates.<br>
+<br>
+&nbsp;&nbsp;Column&nbsp;Specification&nbsp;Support<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;bug&nbsp;lists&nbsp;use&nbsp;the&nbsp;columns&nbsp;that&nbsp;you&nbsp;last&nbsp;used.&nbsp;&nbsp;This&nbsp;doesn't<br>
+&nbsp;&nbsp;&nbsp;work&nbsp;well&nbsp;for&nbsp;"prepackaged&nbsp;queries",&nbsp;where&nbsp;you&nbsp;followed&nbsp;a&nbsp;link.&nbsp;&nbsp;You<br>
+&nbsp;&nbsp;&nbsp;can&nbsp;probably&nbsp;add&nbsp;a&nbsp;column&nbsp;by&nbsp;specifying&nbsp;a&nbsp;sort&nbsp;column,&nbsp;but&nbsp;this&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;difficult&nbsp;and&nbsp;suboptimal.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Furthermore,&nbsp;I&nbsp;find&nbsp;that&nbsp;when&nbsp;I&nbsp;want&nbsp;to&nbsp;add&nbsp;a&nbsp;column&nbsp;to&nbsp;a&nbsp;bug&nbsp;list,<br>
+&nbsp;&nbsp;&nbsp;it's&nbsp;usually&nbsp;a&nbsp;one&nbsp;off&nbsp;and&nbsp;I&nbsp;would&nbsp;prefer&nbsp;it&nbsp;to&nbsp;go&nbsp;away&nbsp;for&nbsp;the&nbsp;next<br>
+&nbsp;&nbsp;&nbsp;query.&nbsp;&nbsp;Hence,&nbsp;it&nbsp;would&nbsp;be&nbsp;nice&nbsp;to&nbsp;specify&nbsp;the&nbsp;columns&nbsp;that&nbsp;appear&nbsp;on<br>
+&nbsp;&nbsp;&nbsp;the&nbsp;bug&nbsp;list&nbsp;(and&nbsp;general&nbsp;summary&nbsp;report)&nbsp;pages.&nbsp;&nbsp;The&nbsp;default&nbsp;query<br>
+&nbsp;&nbsp;&nbsp;mechanism&nbsp;should&nbsp;be&nbsp;able&nbsp;to&nbsp;let&nbsp;you&nbsp;specify&nbsp;your&nbsp;default&nbsp;columns.<br>
+<br>
+&nbsp;&nbsp;Advanced&nbsp;Querying&nbsp;Redesign<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+Keywords<br>
+<br>
+&nbsp;&nbsp;&nbsp;People&nbsp;have&nbsp;a&nbsp;need&nbsp;to&nbsp;apply&nbsp;tags&nbsp;to&nbsp;bugs.&nbsp;&nbsp;In&nbsp;the&nbsp;beginning,&nbsp;people<br>
+&nbsp;&nbsp;&nbsp;placed&nbsp;designators&nbsp;in&nbsp;the&nbsp;summary&nbsp;and&nbsp;status&nbsp;whiteboard.&nbsp;&nbsp;However,<br>
+&nbsp;&nbsp;&nbsp;these&nbsp;fields&nbsp;were&nbsp;not&nbsp;designed&nbsp;for&nbsp;that,&nbsp;and&nbsp;so&nbsp;there&nbsp;were&nbsp;many&nbsp;flaws<br>
+&nbsp;&nbsp;&nbsp;with&nbsp;this&nbsp;system:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;They&nbsp;pollute&nbsp;the&nbsp;field&nbsp;with&nbsp;information&nbsp;that&nbsp;was&nbsp;never&nbsp;intended&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;present.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Removing&nbsp;them&nbsp;with&nbsp;a&nbsp;bulk&nbsp;change&nbsp;is&nbsp;a&nbsp;difficult&nbsp;problem&nbsp;that&nbsp;has<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;too&nbsp;many&nbsp;pitfalls&nbsp;to&nbsp;implement.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;You&nbsp;can&nbsp;easily&nbsp;get&nbsp;the&nbsp;capitalisation&nbsp;wrong.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Then&nbsp;dependencies&nbsp;were&nbsp;introduced&nbsp;(when?),&nbsp;and&nbsp;people&nbsp;realised&nbsp;that<br>
+&nbsp;&nbsp;&nbsp;they&nbsp;could&nbsp;use&nbsp;them&nbsp;for&nbsp;"tracking&nbsp;bugs".&nbsp;&nbsp;Again,&nbsp;dependencies&nbsp;were&nbsp;not<br>
+&nbsp;&nbsp;&nbsp;designed&nbsp;for&nbsp;that,&nbsp;and&nbsp;so&nbsp;there&nbsp;were&nbsp;more&nbsp;flaws,&nbsp;albeit&nbsp;different<br>
+&nbsp;&nbsp;&nbsp;ones,&nbsp;including:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;They&nbsp;aren't&nbsp;really&nbsp;bugs,&nbsp;so&nbsp;it's&nbsp;difficult&nbsp;to&nbsp;distinguish&nbsp;issues<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;bugs.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;They&nbsp;can&nbsp;pollute&nbsp;bugs&nbsp;counts,&nbsp;and&nbsp;you&nbsp;must&nbsp;somehow&nbsp;exclude&nbsp;them<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;queries.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;There&nbsp;is&nbsp;a&nbsp;whole&nbsp;lot&nbsp;of&nbsp;useless&nbsp;information&nbsp;on&nbsp;them.&nbsp;&nbsp;They&nbsp;have&nbsp;an<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assignee&nbsp;but&nbsp;there&nbsp;is&nbsp;nothing&nbsp;to&nbsp;fix,&nbsp;and&nbsp;that&nbsp;person&nbsp;can&nbsp;get<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;whined&nbsp;at&nbsp;by&nbsp;Bugzilla.&nbsp;&nbsp;They&nbsp;have&nbsp;target&nbsp;milestones&nbsp;which&nbsp;must&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;manually&nbsp;maintained.&nbsp;&nbsp;And&nbsp;so&nbsp;on.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Finally,&nbsp;keywords&nbsp;were&nbsp;introduced&nbsp;(when?)&nbsp;for&nbsp;this&nbsp;purpose&nbsp;to&nbsp;remove<br>
+&nbsp;&nbsp;&nbsp;the&nbsp;need&nbsp;for&nbsp;these&nbsp;two&nbsp;systems.&nbsp;&nbsp;Unfortunately,&nbsp;the&nbsp;simple&nbsp;keywords<br>
+&nbsp;&nbsp;&nbsp;implementation&nbsp;was&nbsp;itself&nbsp;lacking&nbsp;in&nbsp;certain&nbsp;features&nbsp;provided&nbsp;by&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;two&nbsp;previous&nbsp;systems,&nbsp;and&nbsp;has&nbsp;remained&nbsp;almost&nbsp;unchanged&nbsp;since&nbsp;its<br>
+&nbsp;&nbsp;&nbsp;inception.&nbsp;&nbsp;Furthermore,&nbsp;it&nbsp;could&nbsp;not&nbsp;be&nbsp;forseen&nbsp;that&nbsp;in&nbsp;large<br>
+&nbsp;&nbsp;&nbsp;installations,&nbsp;the&nbsp;sheer&nbsp;number&nbsp;of&nbsp;keywords&nbsp;could&nbsp;become&nbsp;unwieldly&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;could&nbsp;lead&nbsp;to&nbsp;a&nbsp;movement&nbsp;back&nbsp;to&nbsp;the&nbsp;other&nbsp;systems.<br>
+<br>
+&nbsp;&nbsp;&nbsp;The&nbsp;keywords&nbsp;system&nbsp;was&nbsp;the&nbsp;right&nbsp;idea,&nbsp;however,&nbsp;and&nbsp;it&nbsp;remains&nbsp;so.<br>
+&nbsp;&nbsp;&nbsp;Fixing&nbsp;the&nbsp;keywords&nbsp;system&nbsp;is&nbsp;one&nbsp;of&nbsp;the&nbsp;most&nbsp;important&nbsp;Bugzilla<br>
+&nbsp;&nbsp;&nbsp;issues.<br>
+<br>
+&nbsp;&nbsp;Bringing&nbsp;Keywords&nbsp;Up&nbsp;To&nbsp;Par<br>
+<br>
+&nbsp;&nbsp;&nbsp;For&nbsp;the&nbsp;most&nbsp;part,&nbsp;keywords&nbsp;are&nbsp;very&nbsp;good&nbsp;at&nbsp;what&nbsp;they&nbsp;do.&nbsp;&nbsp;It&nbsp;is&nbsp;easy<br>
+&nbsp;&nbsp;&nbsp;to&nbsp;add&nbsp;and&nbsp;remove&nbsp;them&nbsp;(unlike&nbsp;summary/whiteboard&nbsp;designators),&nbsp;we&nbsp;can<br>
+&nbsp;&nbsp;&nbsp;simply&nbsp;see&nbsp;what&nbsp;issues&nbsp;are&nbsp;present&nbsp;on&nbsp;a&nbsp;bug&nbsp;(unlike&nbsp;tracking&nbsp;bugs),<br>
+&nbsp;&nbsp;&nbsp;and&nbsp;we&nbsp;do&nbsp;not&nbsp;confuse&nbsp;bugs&nbsp;with&nbsp;issues&nbsp;(unlike&nbsp;tracking&nbsp;bugs).<br>
+<br>
+&nbsp;&nbsp;&nbsp;However,&nbsp;there&nbsp;are&nbsp;still&nbsp;some&nbsp;"regressions"&nbsp;in&nbsp;the&nbsp;keyword&nbsp;system&nbsp;over<br>
+&nbsp;&nbsp;&nbsp;previous&nbsp;systems:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Users&nbsp;wish&nbsp;to&nbsp;view&nbsp;the&nbsp;"dependency&nbsp;forest"&nbsp;of&nbsp;a&nbsp;keyword.&nbsp;&nbsp;While&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dependency&nbsp;tree&nbsp;is&nbsp;of&nbsp;one&nbsp;bug,&nbsp;a&nbsp;dependency&nbsp;forest&nbsp;is&nbsp;of&nbsp;a&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list,&nbsp;and&nbsp;consists&nbsp;of&nbsp;a&nbsp;dependency&nbsp;tree&nbsp;for&nbsp;each&nbsp;member&nbsp;of&nbsp;the&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.&nbsp;&nbsp;Users&nbsp;can&nbsp;work&nbsp;around&nbsp;this&nbsp;with&nbsp;tracking&nbsp;bugs&nbsp;by&nbsp;creating&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tracking&nbsp;bug&nbsp;and&nbsp;viewing&nbsp;the&nbsp;dependency&nbsp;tree&nbsp;of&nbsp;that&nbsp;tracking&nbsp;bug.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Users&nbsp;wish&nbsp;to&nbsp;specify&nbsp;the&nbsp;keywords&nbsp;that&nbsp;initially&nbsp;apply&nbsp;to&nbsp;a&nbsp;bug,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but&nbsp;instead&nbsp;they&nbsp;must&nbsp;edit&nbsp;the&nbsp;bug&nbsp;once&nbsp;it&nbsp;has&nbsp;already&nbsp;been<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;submitted.&nbsp;&nbsp;They&nbsp;can&nbsp;work&nbsp;around&nbsp;this&nbsp;with&nbsp;summary&nbsp;designators,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;since&nbsp;they&nbsp;specify&nbsp;the&nbsp;summary&nbsp;at&nbsp;reporting&nbsp;time.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Users&nbsp;wish&nbsp;to&nbsp;store&nbsp;or&nbsp;share&nbsp;a&nbsp;bug&nbsp;list&nbsp;that&nbsp;contains&nbsp;a&nbsp;keywords<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column.&nbsp;&nbsp;Hence&nbsp;they&nbsp;wish&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;specify&nbsp;what&nbsp;columns&nbsp;appear<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;the&nbsp;bug&nbsp;list&nbsp;URL,&nbsp;as&nbsp;mentioned&nbsp;earlier.&nbsp;&nbsp;They&nbsp;can&nbsp;work&nbsp;around<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;using&nbsp;summary&nbsp;designators,&nbsp;since&nbsp;almost&nbsp;all&nbsp;bug&nbsp;lists&nbsp;have&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;summary&nbsp;column.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Users&nbsp;wish&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;view&nbsp;keywords&nbsp;on&nbsp;a&nbsp;bug&nbsp;list.&nbsp;&nbsp;However<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;often&nbsp;they&nbsp;are&nbsp;only&nbsp;interested&nbsp;in&nbsp;a&nbsp;small&nbsp;number&nbsp;of&nbsp;keywords.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Having&nbsp;a&nbsp;bug&nbsp;list&nbsp;with&nbsp;a&nbsp;keywords&nbsp;column&nbsp;means&nbsp;that&nbsp;all&nbsp;keywords<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;appear&nbsp;on&nbsp;a&nbsp;bug&nbsp;list.&nbsp;&nbsp;This&nbsp;can&nbsp;take&nbsp;a&nbsp;substantial&nbsp;amount&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;space&nbsp;where&nbsp;a&nbsp;bug&nbsp;has&nbsp;a&nbsp;lot&nbsp;of&nbsp;keywords,&nbsp;since&nbsp;the&nbsp;table&nbsp;columns<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;Bugzilla&nbsp;adjust&nbsp;to&nbsp;the&nbsp;largest&nbsp;cell&nbsp;in&nbsp;that&nbsp;column.&nbsp;&nbsp;Hence<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;users&nbsp;wish&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;specify&nbsp;which&nbsp;keywords&nbsp;should&nbsp;appear&nbsp;in<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;bug&nbsp;list.&nbsp;&nbsp;In&nbsp;a&nbsp;very&nbsp;real&nbsp;sense,&nbsp;each&nbsp;keyword&nbsp;is&nbsp;a&nbsp;field&nbsp;unto<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;itself.&nbsp;&nbsp;Users&nbsp;can&nbsp;work&nbsp;around&nbsp;this&nbsp;by&nbsp;using&nbsp;summary&nbsp;designators,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;since&nbsp;they&nbsp;keywords&nbsp;will&nbsp;share&nbsp;the&nbsp;space&nbsp;in&nbsp;the&nbsp;summary&nbsp;column.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Users&nbsp;wish&nbsp;to&nbsp;know&nbsp;when&nbsp;bugs&nbsp;with&nbsp;a&nbsp;specific&nbsp;issue&nbsp;are&nbsp;resolved.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hence&nbsp;they&nbsp;wish&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;receive&nbsp;notifications&nbsp;on&nbsp;all&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bugs&nbsp;with&nbsp;a&nbsp;specific&nbsp;keyword.&nbsp;&nbsp;The&nbsp;introduction&nbsp;a&nbsp;generic&nbsp;watching<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;facility&nbsp;(also&nbsp;for&nbsp;things&nbsp;like&nbsp;watching&nbsp;all&nbsp;bugs&nbsp;in&nbsp;a&nbsp;component)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would&nbsp;achieve&nbsp;this.&nbsp;&nbsp;Users&nbsp;can&nbsp;work&nbsp;around&nbsp;this&nbsp;by&nbsp;using&nbsp;tracking<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bugs,&nbsp;as&nbsp;dependencies&nbsp;have&nbsp;an&nbsp;existing&nbsp;way&nbsp;of&nbsp;detecting&nbsp;fixes&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bug&nbsp;a&nbsp;bug&nbsp;was&nbsp;blocked&nbsp;by.<br>
+<br>
+&nbsp;&nbsp;Dealing&nbsp;With&nbsp;The&nbsp;Keyword&nbsp;Overload<br>
+<br>
+&nbsp;&nbsp;&nbsp;At&nbsp;the&nbsp;time&nbsp;of&nbsp;writing,&nbsp;the&nbsp;mozilla.org&nbsp;installation&nbsp;has&nbsp;approximately<br>
+&nbsp;&nbsp;&nbsp;100&nbsp;keywords,&nbsp;and&nbsp;many&nbsp;more&nbsp;would&nbsp;be&nbsp;in&nbsp;use&nbsp;if&nbsp;the&nbsp;keywords&nbsp;system<br>
+&nbsp;&nbsp;&nbsp;didn't&nbsp;have&nbsp;the&nbsp;problems&nbsp;it&nbsp;does.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Such&nbsp;a&nbsp;large&nbsp;number&nbsp;of&nbsp;keywords&nbsp;introduces&nbsp;logistical&nbsp;problems:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;It&nbsp;must&nbsp;be&nbsp;easy&nbsp;for&nbsp;someone&nbsp;to&nbsp;learn&nbsp;what&nbsp;a&nbsp;keyword&nbsp;means.&nbsp;&nbsp;If&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyword&nbsp;is&nbsp;buried&nbsp;within&nbsp;a&nbsp;lot&nbsp;of&nbsp;other&nbsp;keywords,&nbsp;it&nbsp;can&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;difficult&nbsp;to&nbsp;find.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;It&nbsp;must&nbsp;be&nbsp;easy&nbsp;to&nbsp;see&nbsp;what&nbsp;keywords&nbsp;are&nbsp;on&nbsp;a&nbsp;bug.&nbsp;&nbsp;If&nbsp;the&nbsp;number<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;keywords&nbsp;is&nbsp;large,&nbsp;then&nbsp;this&nbsp;can&nbsp;be&nbsp;difficult.<br>
+<br>
+&nbsp;&nbsp;&nbsp;These&nbsp;lead&nbsp;some&nbsp;people&nbsp;to&nbsp;feel&nbsp;that&nbsp;there&nbsp;are&nbsp;"too&nbsp;many&nbsp;keywords".<br>
+<br>
+&nbsp;&nbsp;&nbsp;These&nbsp;problems&nbsp;are&nbsp;not&nbsp;without&nbsp;solutions&nbsp;however.&nbsp;&nbsp;It&nbsp;is&nbsp;harder&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;find&nbsp;a&nbsp;list&nbsp;of&nbsp;designators&nbsp;or&nbsp;tracking&nbsp;bugs&nbsp;than&nbsp;it&nbsp;is&nbsp;a&nbsp;list&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;keywords.<br>
+<br>
+&nbsp;&nbsp;&nbsp;The&nbsp;essential&nbsp;problem&nbsp;is&nbsp;it&nbsp;needs&nbsp;to&nbsp;be&nbsp;easy&nbsp;to&nbsp;find&nbsp;the&nbsp;keywords<br>
+&nbsp;&nbsp;&nbsp;we're&nbsp;interested&nbsp;in&nbsp;through&nbsp;the&nbsp;mass&nbsp;of&nbsp;keywords.<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Keyword&nbsp;Applicability<br>
+<br>
+&nbsp;&nbsp;&nbsp;As&nbsp;has&nbsp;been&nbsp;previously&nbsp;mentioned,&nbsp;it&nbsp;is&nbsp;desirable&nbsp;for&nbsp;fields&nbsp;to&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;able&nbsp;to&nbsp;adapt&nbsp;to&nbsp;the&nbsp;values&nbsp;of&nbsp;other&nbsp;fields.&nbsp;&nbsp;This&nbsp;is&nbsp;certainly&nbsp;true<br>
+&nbsp;&nbsp;&nbsp;for&nbsp;keywords.&nbsp;&nbsp;Many&nbsp;keywords&nbsp;are&nbsp;simply&nbsp;not&nbsp;relevant&nbsp;because&nbsp;of&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;bugs&nbsp;product,&nbsp;component,&nbsp;etc.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Hence,&nbsp;by&nbsp;introducing&nbsp;keyword&nbsp;applicability,&nbsp;and&nbsp;not&nbsp;displaying<br>
+&nbsp;&nbsp;&nbsp;keywords&nbsp;that&nbsp;are&nbsp;not&nbsp;relevant&nbsp;to&nbsp;the&nbsp;current&nbsp;bug,&nbsp;or&nbsp;clearly<br>
+&nbsp;&nbsp;&nbsp;separating&nbsp;them,&nbsp;we&nbsp;can&nbsp;make&nbsp;the&nbsp;keyword&nbsp;overload&nbsp;problem&nbsp;less<br>
+&nbsp;&nbsp;&nbsp;significant.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;when&nbsp;you&nbsp;click&nbsp;on&nbsp;"keywords"&nbsp;on&nbsp;a&nbsp;bug,&nbsp;you&nbsp;get&nbsp;a&nbsp;list&nbsp;of&nbsp;all<br>
+&nbsp;&nbsp;&nbsp;bugs.&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;desirable&nbsp;to&nbsp;introduce&nbsp;a&nbsp;list&nbsp;of&nbsp;keywords&nbsp;tailored<br>
+&nbsp;&nbsp;&nbsp;to&nbsp;a&nbsp;specific&nbsp;bug,&nbsp;that&nbsp;reports,&nbsp;in&nbsp;order:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;the&nbsp;keywords&nbsp;currently&nbsp;on&nbsp;the&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;the&nbsp;keywords&nbsp;not&nbsp;currently&nbsp;on&nbsp;the&nbsp;bug,&nbsp;but&nbsp;applicable&nbsp;to&nbsp;the&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;optionally,&nbsp;the&nbsp;keywords&nbsp;not&nbsp;applicable&nbsp;to&nbsp;the&nbsp;bug<br>
+<br>
+&nbsp;&nbsp;&nbsp;This&nbsp;essentially&nbsp;orders&nbsp;the&nbsp;keywords&nbsp;into&nbsp;three&nbsp;groups,&nbsp;where&nbsp;each<br>
+&nbsp;&nbsp;&nbsp;group&nbsp;is&nbsp;more&nbsp;important&nbsp;than&nbsp;the&nbsp;previous,&nbsp;and&nbsp;therefore&nbsp;appears<br>
+&nbsp;&nbsp;&nbsp;closer&nbsp;to&nbsp;the&nbsp;top.<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Keyword&nbsp;Grouping&nbsp;&#38;&nbsp;Ordering<br>
+<br>
+&nbsp;&nbsp;&nbsp;We&nbsp;could&nbsp;further&nbsp;enhance&nbsp;both&nbsp;the&nbsp;global&nbsp;and&nbsp;bug&nbsp;specific&nbsp;keyword&nbsp;list<br>
+&nbsp;&nbsp;&nbsp;by&nbsp;grouping&nbsp;keywords.&nbsp;&nbsp;We&nbsp;should&nbsp;always&nbsp;have&nbsp;a&nbsp;"flat"&nbsp;view&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;keywords,&nbsp;but&nbsp;other&nbsp;ways&nbsp;of&nbsp;viewing&nbsp;the&nbsp;keywords&nbsp;would&nbsp;be&nbsp;useful&nbsp;too.<br>
+<br>
+&nbsp;&nbsp;&nbsp;If&nbsp;keyword&nbsp;applicability&nbsp;was&nbsp;implemented,&nbsp;we&nbsp;could&nbsp;group&nbsp;keywords<br>
+&nbsp;&nbsp;&nbsp;based&nbsp;on&nbsp;their&nbsp;"applicability&nbsp;condition".&nbsp;&nbsp;Keywords&nbsp;that&nbsp;apply&nbsp;to&nbsp;all<br>
+&nbsp;&nbsp;&nbsp;bugs&nbsp;could&nbsp;be&nbsp;separated&nbsp;from&nbsp;keywords&nbsp;that&nbsp;apply&nbsp;to&nbsp;a&nbsp;specific<br>
+&nbsp;&nbsp;&nbsp;product,&nbsp;both&nbsp;on&nbsp;the&nbsp;global&nbsp;keyword&nbsp;list&nbsp;and&nbsp;the&nbsp;keyword&nbsp;list&nbsp;of&nbsp;a&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;that&nbsp;is&nbsp;in&nbsp;that&nbsp;product.<br>
+<br>
+&nbsp;&nbsp;&nbsp;We&nbsp;could&nbsp;specify&nbsp;groups&nbsp;of&nbsp;our&nbsp;own.&nbsp;&nbsp;For&nbsp;example,&nbsp;many&nbsp;keywords&nbsp;are&nbsp;in<br>
+&nbsp;&nbsp;&nbsp;a&nbsp;mutually&nbsp;exclusive&nbsp;group,&nbsp;essentially&nbsp;like&nbsp;radio&nbsp;buttons&nbsp;in&nbsp;a&nbsp;user<br>
+&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;This&nbsp;creates&nbsp;a&nbsp;natural&nbsp;grouping,&nbsp;although&nbsp;other&nbsp;groupings<br>
+&nbsp;&nbsp;&nbsp;occur&nbsp;(which&nbsp;depends&nbsp;on&nbsp;your&nbsp;keywords).<br>
+<br>
+&nbsp;&nbsp;&nbsp;It&nbsp;is&nbsp;possible&nbsp;that&nbsp;we&nbsp;could&nbsp;use&nbsp;collapsing/expanding&nbsp;operations&nbsp;on<br>
+&nbsp;&nbsp;&nbsp;"twisties"&nbsp;to&nbsp;only&nbsp;should&nbsp;the&nbsp;groups&nbsp;we&nbsp;are&nbsp;interested&nbsp;in.<br>
+<br>
+&nbsp;&nbsp;&nbsp;And&nbsp;instead&nbsp;of&nbsp;grouping&nbsp;keywords,&nbsp;we&nbsp;could&nbsp;order&nbsp;them&nbsp;on&nbsp;some&nbsp;metric<br>
+&nbsp;&nbsp;&nbsp;of&nbsp;usefulness,&nbsp;such&nbsp;as:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;when&nbsp;the&nbsp;keyword&nbsp;was&nbsp;last&nbsp;added&nbsp;to&nbsp;a&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;how&nbsp;many&nbsp;bugs&nbsp;the&nbsp;keyword&nbsp;is&nbsp;on<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;how&nbsp;many&nbsp;open&nbsp;bugs&nbsp;the&nbsp;keyword&nbsp;is&nbsp;on<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Opting&nbsp;Out&nbsp;Of&nbsp;Keywords<br>
+<br>
+&nbsp;&nbsp;&nbsp;Not&nbsp;all&nbsp;people&nbsp;are&nbsp;going&nbsp;to&nbsp;care&nbsp;about&nbsp;all&nbsp;keywords.&nbsp;&nbsp;Therefore&nbsp;it<br>
+&nbsp;&nbsp;&nbsp;makes&nbsp;sense&nbsp;that&nbsp;you&nbsp;may&nbsp;wish&nbsp;to&nbsp;specify&nbsp;which&nbsp;keywords&nbsp;you&nbsp;are<br>
+&nbsp;&nbsp;&nbsp;interested&nbsp;in,&nbsp;either&nbsp;on&nbsp;the&nbsp;bug&nbsp;page,&nbsp;or&nbsp;on&nbsp;notifications.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Other&nbsp;keywords&nbsp;will&nbsp;therefore&nbsp;not&nbsp;bother&nbsp;users&nbsp;who&nbsp;are&nbsp;not&nbsp;interested<br>
+&nbsp;&nbsp;&nbsp;in&nbsp;them.<br>
+<br>
+&nbsp;&nbsp;Keyword&nbsp;Security<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;all&nbsp;keywords&nbsp;are&nbsp;available&nbsp;and&nbsp;editable&nbsp;to&nbsp;all&nbsp;people&nbsp;with<br>
+&nbsp;&nbsp;&nbsp;edit&nbsp;bugs&nbsp;access.&nbsp;&nbsp;This&nbsp;situation&nbsp;is&nbsp;clearly&nbsp;suboptimal.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Although&nbsp;relying&nbsp;on&nbsp;good&nbsp;behaviour&nbsp;for&nbsp;people&nbsp;to&nbsp;not&nbsp;do&nbsp;what&nbsp;they<br>
+&nbsp;&nbsp;&nbsp;shouldn't&nbsp;works&nbsp;reasonably&nbsp;well&nbsp;on&nbsp;the&nbsp;mozilla.org,&nbsp;it&nbsp;is&nbsp;better&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;enforce&nbsp;that&nbsp;behaviour&nbsp;-&nbsp;it&nbsp;can&nbsp;be&nbsp;breached&nbsp;through&nbsp;malice,&nbsp;accident<br>
+&nbsp;&nbsp;&nbsp;or&nbsp;ignorance.<br>
+<br>
+&nbsp;&nbsp;&nbsp;And&nbsp;in&nbsp;the&nbsp;situation&nbsp;where&nbsp;it&nbsp;is&nbsp;desirable&nbsp;for&nbsp;the&nbsp;presence&nbsp;or&nbsp;absence<br>
+&nbsp;&nbsp;&nbsp;of&nbsp;a&nbsp;keyword&nbsp;not&nbsp;to&nbsp;be&nbsp;revealed,&nbsp;organisations&nbsp;either&nbsp;need&nbsp;to&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;content&nbsp;with&nbsp;the&nbsp;divulgence,&nbsp;or&nbsp;not&nbsp;use&nbsp;keywords&nbsp;at&nbsp;all.<br>
+<br>
+&nbsp;&nbsp;&nbsp;In&nbsp;the&nbsp;situation&nbsp;where&nbsp;they&nbsp;choose&nbsp;to&nbsp;divulge,&nbsp;introducing&nbsp;the&nbsp;ability<br>
+&nbsp;&nbsp;&nbsp;to&nbsp;restrict&nbsp;who&nbsp;can&nbsp;see&nbsp;the&nbsp;keyword&nbsp;would&nbsp;also&nbsp;reduce&nbsp;keyword<br>
+&nbsp;&nbsp;&nbsp;overload.<br>
+<br>
+&nbsp;&nbsp;Personal&nbsp;Keywords<br>
+<br>
+&nbsp;&nbsp;&nbsp;Keywords&nbsp;join&nbsp;together&nbsp;a&nbsp;set&nbsp;of&nbsp;bugs&nbsp;which&nbsp;would&nbsp;otherwise&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;unrelated&nbsp;in&nbsp;the&nbsp;bug&nbsp;system.<br>
+<br>
+&nbsp;&nbsp;&nbsp;We&nbsp;allow&nbsp;users&nbsp;to&nbsp;store&nbsp;their&nbsp;own&nbsp;queries.&nbsp;&nbsp;However&nbsp;we&nbsp;don't&nbsp;allow<br>
+&nbsp;&nbsp;&nbsp;them&nbsp;to&nbsp;store&nbsp;their&nbsp;own&nbsp;keywords&nbsp;on&nbsp;a&nbsp;bug.&nbsp;&nbsp;This&nbsp;reduces&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;usefulness&nbsp;of&nbsp;personal&nbsp;queries,&nbsp;since&nbsp;you&nbsp;cannot&nbsp;join&nbsp;a&nbsp;set&nbsp;of<br>
+&nbsp;&nbsp;&nbsp;unrelated&nbsp;bugs&nbsp;together&nbsp;in&nbsp;a&nbsp;way&nbsp;that&nbsp;you&nbsp;wish.&nbsp;&nbsp;Lists&nbsp;of&nbsp;bug&nbsp;numbers<br>
+&nbsp;&nbsp;&nbsp;can&nbsp;work,&nbsp;by&nbsp;they&nbsp;can&nbsp;only&nbsp;be&nbsp;used&nbsp;for&nbsp;small&nbsp;lists,&nbsp;and&nbsp;it&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;impossible&nbsp;to&nbsp;share&nbsp;a&nbsp;list&nbsp;between&nbsp;multiple&nbsp;queries.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Personal&nbsp;keywords&nbsp;are&nbsp;necessary&nbsp;to&nbsp;replace&nbsp;personal&nbsp;tracking&nbsp;bugs,&nbsp;as<br>
+&nbsp;&nbsp;&nbsp;they&nbsp;would&nbsp;not&nbsp;pollute&nbsp;the&nbsp;keyword&nbsp;space.&nbsp;&nbsp;Indeed,&nbsp;on&nbsp;many<br>
+&nbsp;&nbsp;&nbsp;installations&nbsp;this&nbsp;could&nbsp;remove&nbsp;some&nbsp;keywords&nbsp;out&nbsp;of&nbsp;the&nbsp;global<br>
+&nbsp;&nbsp;&nbsp;keyword&nbsp;space.<br>
+<br>
+&nbsp;&nbsp;&nbsp;In&nbsp;a&nbsp;similar&nbsp;vein&nbsp;and&nbsp;with&nbsp;similar&nbsp;effects,&nbsp;group&nbsp;keywords&nbsp;could&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;introduced&nbsp;that&nbsp;are&nbsp;only&nbsp;available&nbsp;to&nbsp;members&nbsp;of&nbsp;a&nbsp;specific&nbsp;group.<br>
+<br>
+&nbsp;&nbsp;Keyword&nbsp;Restrictions<br>
+<br>
+&nbsp;&nbsp;&nbsp;Keywords&nbsp;are&nbsp;not&nbsp;islands&nbsp;unto&nbsp;themselves.&nbsp;&nbsp;Along&nbsp;with&nbsp;their&nbsp;potential<br>
+&nbsp;&nbsp;&nbsp;to&nbsp;be&nbsp;involved&nbsp;in&nbsp;the&nbsp;inter-field&nbsp;relationships&nbsp;mentioned&nbsp;earlier,<br>
+&nbsp;&nbsp;&nbsp;keywords&nbsp;can&nbsp;also&nbsp;be&nbsp;related&nbsp;to&nbsp;other&nbsp;keywords.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Essentially,&nbsp;there&nbsp;are&nbsp;two&nbsp;possibilities:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;a&nbsp;set&nbsp;of&nbsp;keywords&nbsp;are&nbsp;mutually&nbsp;exclusive<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;the&nbsp;presence&nbsp;of&nbsp;a&nbsp;keyword&nbsp;implies&nbsp;another&nbsp;keyword&nbsp;must&nbsp;be&nbsp;present<br>
+<br>
+&nbsp;&nbsp;&nbsp;Introduction&nbsp;of&nbsp;the&nbsp;ability&nbsp;to&nbsp;specify&nbsp;these&nbsp;restrictions&nbsp;would&nbsp;have<br>
+&nbsp;&nbsp;&nbsp;benefits.<br>
+<br>
+&nbsp;&nbsp;&nbsp;If&nbsp;mutually&nbsp;exclusive&nbsp;keywords&nbsp;were&nbsp;present&nbsp;on&nbsp;a&nbsp;bug,&nbsp;their&nbsp;removal<br>
+&nbsp;&nbsp;&nbsp;would&nbsp;fix&nbsp;up&nbsp;the&nbsp;database,&nbsp;as&nbsp;well&nbsp;as&nbsp;reducing&nbsp;the&nbsp;number&nbsp;of&nbsp;keywords<br>
+&nbsp;&nbsp;&nbsp;on&nbsp;that&nbsp;bug.<br>
+<br>
+&nbsp;&nbsp;&nbsp;In&nbsp;the&nbsp;situation&nbsp;where&nbsp;a&nbsp;keyword&nbsp;implies&nbsp;another&nbsp;keyword,&nbsp;there&nbsp;are<br>
+&nbsp;&nbsp;&nbsp;two&nbsp;possiblities&nbsp;as&nbsp;to&nbsp;how&nbsp;to&nbsp;handle&nbsp;the&nbsp;situation.<br>
+<br>
+&nbsp;&nbsp;&nbsp;The&nbsp;first&nbsp;is&nbsp;automatically&nbsp;add&nbsp;the&nbsp;keyword.&nbsp;&nbsp;This&nbsp;would&nbsp;fix&nbsp;up&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;database,&nbsp;but&nbsp;it&nbsp;would&nbsp;increase&nbsp;the&nbsp;number&nbsp;of&nbsp;keywords&nbsp;on&nbsp;a&nbsp;bug.<br>
+<br>
+&nbsp;&nbsp;&nbsp;The&nbsp;second&nbsp;is&nbsp;to&nbsp;automatically&nbsp;remove&nbsp;the&nbsp;keyword,&nbsp;and&nbsp;alter&nbsp;queries<br>
+&nbsp;&nbsp;&nbsp;so&nbsp;they&nbsp;pick&nbsp;up&nbsp;the&nbsp;first&nbsp;keyword&nbsp;as&nbsp;well&nbsp;as&nbsp;the&nbsp;removed&nbsp;keyword.<br>
+&nbsp;&nbsp;&nbsp;This&nbsp;would&nbsp;fix&nbsp;up&nbsp;the&nbsp;database&nbsp;and&nbsp;reduce&nbsp;the&nbsp;number&nbsp;of&nbsp;keywords&nbsp;on&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;bug,&nbsp;but&nbsp;it&nbsp;might&nbsp;confuse&nbsp;users&nbsp;who&nbsp;don't&nbsp;see&nbsp;the&nbsp;keyword.<br>
+&nbsp;&nbsp;&nbsp;Alternatively,&nbsp;the&nbsp;implied&nbsp;keywords&nbsp;could&nbsp;be&nbsp;listed&nbsp;separately.<br>
+<br>
+Notifications<br>
+<br>
+&nbsp;&nbsp;&nbsp;Every&nbsp;time&nbsp;a&nbsp;bug&nbsp;gets&nbsp;changed&nbsp;notifications&nbsp;get&nbsp;sent&nbsp;out&nbsp;to&nbsp;people<br>
+&nbsp;&nbsp;&nbsp;letting&nbsp;them&nbsp;know&nbsp;about&nbsp;what&nbsp;changes&nbsp;have&nbsp;been&nbsp;made.&nbsp;&nbsp;This&nbsp;is&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;significant&nbsp;feature,&nbsp;and&nbsp;all&nbsp;sorts&nbsp;of&nbsp;questions&nbsp;can&nbsp;be&nbsp;raised,&nbsp;but<br>
+&nbsp;&nbsp;&nbsp;they&nbsp;mainly&nbsp;boil&nbsp;down&nbsp;to&nbsp;when&nbsp;they&nbsp;should&nbsp;be&nbsp;sent&nbsp;and&nbsp;what&nbsp;they&nbsp;should<br>
+&nbsp;&nbsp;&nbsp;look&nbsp;like.<br>
+<br>
+&nbsp;&nbsp;Changes&nbsp;You're&nbsp;Interested&nbsp;In<br>
+<br>
+&nbsp;&nbsp;&nbsp;As&nbsp;of&nbsp;version&nbsp;2.12&nbsp;users&nbsp;can&nbsp;specify&nbsp;what&nbsp;sort&nbsp;of&nbsp;changes&nbsp;they&nbsp;are<br>
+&nbsp;&nbsp;&nbsp;interested&nbsp;in&nbsp;receiving&nbsp;notifications&nbsp;for.&nbsp;&nbsp;However,&nbsp;this&nbsp;is&nbsp;still<br>
+&nbsp;&nbsp;&nbsp;limited.&nbsp;&nbsp;As&nbsp;yet&nbsp;there&nbsp;is&nbsp;no&nbsp;facility&nbsp;to&nbsp;specify&nbsp;which&nbsp;keywords&nbsp;you<br>
+&nbsp;&nbsp;&nbsp;care&nbsp;about,&nbsp;and&nbsp;whether&nbsp;you&nbsp;care&nbsp;about&nbsp;changes&nbsp;to&nbsp;fields&nbsp;such&nbsp;as&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;QA&nbsp;contact&nbsp;changes.<br>
+&nbsp;&nbsp;&nbsp;Furthermore,&nbsp;often&nbsp;an&nbsp;unnecessary&nbsp;comment&nbsp;will&nbsp;go&nbsp;along&nbsp;with&nbsp;a&nbsp;change,<br>
+&nbsp;&nbsp;&nbsp;either&nbsp;because&nbsp;it&nbsp;is&nbsp;required,&nbsp;or&nbsp;the&nbsp;commenter&nbsp;is&nbsp;ignorant&nbsp;of&nbsp;how&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;new&nbsp;system&nbsp;works.&nbsp;&nbsp;While&nbsp;explaining&nbsp;why&nbsp;you&nbsp;did&nbsp;something&nbsp;is&nbsp;useful,<br>
+&nbsp;&nbsp;&nbsp;merely&nbsp;commenting&nbsp;on&nbsp;what&nbsp;you&nbsp;did&nbsp;is&nbsp;not&nbsp;because&nbsp;that&nbsp;information&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;already&nbsp;accessible&nbsp;view&nbsp;"Bug&nbsp;Activity".<br>
+<br>
+&nbsp;&nbsp;&nbsp;Because&nbsp;of&nbsp;this&nbsp;unnecessary&nbsp;comment,&nbsp;a&nbsp;lot&nbsp;of&nbsp;changes&nbsp;that&nbsp;would<br>
+&nbsp;&nbsp;&nbsp;otherwise&nbsp;not&nbsp;generate&nbsp;notifications&nbsp;for&nbsp;certain&nbsp;people&nbsp;do&nbsp;so,&nbsp;because<br>
+&nbsp;&nbsp;&nbsp;few&nbsp;people&nbsp;are&nbsp;willing&nbsp;to&nbsp;turn&nbsp;off&nbsp;comments.&nbsp;&nbsp;One&nbsp;way&nbsp;to&nbsp;deal&nbsp;with<br>
+&nbsp;&nbsp;&nbsp;this&nbsp;problem&nbsp;is&nbsp;to&nbsp;allow&nbsp;people&nbsp;to&nbsp;specify&nbsp;that&nbsp;their&nbsp;comments&nbsp;are<br>
+&nbsp;&nbsp;&nbsp;purely&nbsp;explanatory,&nbsp;and&nbsp;that&nbsp;anyone&nbsp;who&nbsp;is&nbsp;not&nbsp;interested&nbsp;in&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;change&nbsp;will&nbsp;not&nbsp;be&nbsp;interested&nbsp;in&nbsp;the&nbsp;comment.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Furthermore,&nbsp;one&nbsp;possible&nbsp;rationale&nbsp;for&nbsp;unnecessary&nbsp;comments&nbsp;is&nbsp;that<br>
+&nbsp;&nbsp;&nbsp;the&nbsp;bug&nbsp;activity&nbsp;does&nbsp;not&nbsp;display&nbsp;on&nbsp;the&nbsp;normal&nbsp;page&nbsp;and&nbsp;hence&nbsp;it&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;difficult&nbsp;to&nbsp;cross&nbsp;reference&nbsp;comments&nbsp;and&nbsp;actions.&nbsp;&nbsp;Hence,&nbsp;it&nbsp;would&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;beneficial&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;do&nbsp;this.<br>
+<br>
+&nbsp;&nbsp;Bugs&nbsp;You're&nbsp;Watching<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;to&nbsp;receive&nbsp;a&nbsp;notification&nbsp;about&nbsp;a&nbsp;bug&nbsp;you&nbsp;need&nbsp;to&nbsp;have&nbsp;your<br>
+&nbsp;&nbsp;&nbsp;name&nbsp;on&nbsp;it.&nbsp;&nbsp;This&nbsp;is&nbsp;suboptimal&nbsp;because&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;about&nbsp;a&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;before&nbsp;you&nbsp;can&nbsp;receive&nbsp;notifications&nbsp;on&nbsp;it.&nbsp;&nbsp;Often&nbsp;you&nbsp;are&nbsp;interested<br>
+&nbsp;&nbsp;&nbsp;in&nbsp;any&nbsp;bug&nbsp;with&nbsp;a&nbsp;field&nbsp;set&nbsp;to&nbsp;a&nbsp;specific&nbsp;value.&nbsp;&nbsp;For&nbsp;example,&nbsp;you<br>
+&nbsp;&nbsp;&nbsp;might&nbsp;be&nbsp;interested&nbsp;in&nbsp;all&nbsp;bugs&nbsp;with&nbsp;a&nbsp;specific&nbsp;product,&nbsp;component&nbsp;or<br>
+&nbsp;&nbsp;&nbsp;keyword.<br>
+<br>
+&nbsp;&nbsp;&nbsp;If&nbsp;someone&nbsp;could&nbsp;automatically&nbsp;receive&nbsp;notifications&nbsp;about&nbsp;these&nbsp;bugs,<br>
+&nbsp;&nbsp;&nbsp;it&nbsp;would&nbsp;make&nbsp;everyone's&nbsp;lives&nbsp;easier.&nbsp;&nbsp;Currently&nbsp;the&nbsp;default&nbsp;assignee<br>
+&nbsp;&nbsp;&nbsp;and&nbsp;QA&nbsp;contact&nbsp;for&nbsp;a&nbsp;component&nbsp;will&nbsp;automatically&nbsp;receive<br>
+&nbsp;&nbsp;&nbsp;notifications&nbsp;for<br>
+<br>
+&nbsp;&nbsp;&nbsp;Question:&nbsp;&nbsp;This&nbsp;moves&nbsp;half&nbsp;way&nbsp;to&nbsp;a&nbsp;BCC.<br>
+<br>
+&nbsp;&nbsp;Bulk&nbsp;Changes<br>
+<br>
+&nbsp;&nbsp;&nbsp;A&nbsp;very&nbsp;useful&nbsp;feature&nbsp;of&nbsp;Bugzilla&nbsp;is&nbsp;the&nbsp;ability&nbsp;to&nbsp;perform&nbsp;an&nbsp;action<br>
+&nbsp;&nbsp;&nbsp;on&nbsp;multiple&nbsp;bugs&nbsp;at&nbsp;once.&nbsp;&nbsp;However,&nbsp;this&nbsp;means&nbsp;that&nbsp;similar<br>
+&nbsp;&nbsp;&nbsp;notifications&nbsp;are&nbsp;currently&nbsp;generated&nbsp;for&nbsp;each&nbsp;bug&nbsp;modified.<br>
+<br>
+&nbsp;&nbsp;&nbsp;This&nbsp;can&nbsp;result&nbsp;in&nbsp;a&nbsp;torrent&nbsp;of&nbsp;notifications&nbsp;that&nbsp;can&nbsp;annoy.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Furthermore,&nbsp;since&nbsp;the&nbsp;bugs&nbsp;are&nbsp;all&nbsp;changed&nbsp;close&nbsp;to&nbsp;each&nbsp;other&nbsp;in<br>
+&nbsp;&nbsp;&nbsp;time,&nbsp;it&nbsp;is&nbsp;easy&nbsp;for&nbsp;someone&nbsp;to&nbsp;mass&nbsp;delete&nbsp;all&nbsp;the&nbsp;notifications<br>
+&nbsp;&nbsp;&nbsp;generated&nbsp;by&nbsp;a&nbsp;bulk&nbsp;change&nbsp;and&nbsp;miss&nbsp;an&nbsp;unrelated&nbsp;notification&nbsp;in&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;middle.<br>
+<br>
+&nbsp;&nbsp;&nbsp;These&nbsp;factors&nbsp;can&nbsp;lead&nbsp;to&nbsp;a&nbsp;tendency&nbsp;for&nbsp;people&nbsp;to&nbsp;delay&nbsp;bulk&nbsp;changes,<br>
+&nbsp;&nbsp;&nbsp;or&nbsp;avoid&nbsp;them&nbsp;entirely.&nbsp;&nbsp;This&nbsp;is&nbsp;suboptimal.<br>
+<br>
+&nbsp;&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;better&nbsp;if&nbsp;a&nbsp;bulk&nbsp;change&nbsp;generated&nbsp;only&nbsp;one&nbsp;notification<br>
+&nbsp;&nbsp;&nbsp;mail.&nbsp;&nbsp;This&nbsp;would&nbsp;vastly&nbsp;reduce&nbsp;the&nbsp;annoyance&nbsp;factor,&nbsp;and&nbsp;prevent<br>
+&nbsp;&nbsp;&nbsp;accidental&nbsp;deletion&nbsp;of&nbsp;notifications.<br>
+<br>
+&nbsp;&nbsp;&nbsp;One&nbsp;problem&nbsp;with&nbsp;this&nbsp;change&nbsp;is&nbsp;that&nbsp;some&nbsp;people&nbsp;separate&nbsp;out<br>
+&nbsp;&nbsp;&nbsp;notifications&nbsp;using&nbsp;filtering.&nbsp;&nbsp;This&nbsp;means&nbsp;that&nbsp;they&nbsp;would&nbsp;no&nbsp;longer<br>
+&nbsp;&nbsp;&nbsp;be&nbsp;match&nbsp;parts&nbsp;of&nbsp;a&nbsp;bulk&nbsp;change&nbsp;under&nbsp;different&nbsp;filtering&nbsp;rules.<br>
+<br>
+&nbsp;&nbsp;&nbsp;One&nbsp;possibility&nbsp;to&nbsp;resolve&nbsp;this&nbsp;is&nbsp;to&nbsp;allow&nbsp;people&nbsp;to&nbsp;specify&nbsp;groups<br>
+&nbsp;&nbsp;&nbsp;of&nbsp;bugs.&nbsp;&nbsp;All&nbsp;bugs&nbsp;within&nbsp;a&nbsp;group&nbsp;would&nbsp;go&nbsp;into&nbsp;the&nbsp;same<br>
+&nbsp;&nbsp;&nbsp;notification.&nbsp;&nbsp;The&nbsp;filters&nbsp;could&nbsp;then&nbsp;distinguish&nbsp;the&nbsp;different&nbsp;bug<br>
+&nbsp;&nbsp;&nbsp;groups.<br>
+<br>
+&nbsp;&nbsp;&nbsp;In&nbsp;any&nbsp;case,&nbsp;it&nbsp;is&nbsp;likely&nbsp;there&nbsp;would&nbsp;need&nbsp;to&nbsp;be&nbsp;a&nbsp;transition&nbsp;period<br>
+&nbsp;&nbsp;&nbsp;to&nbsp;allow&nbsp;people&nbsp;to&nbsp;alter&nbsp;their&nbsp;filters.<br>
+<br>
+Nominations<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+Linking&nbsp;Bugzilla&nbsp;Installations<br>
+<br>
+&nbsp;&nbsp;&nbsp;The&nbsp;first&nbsp;example&nbsp;of&nbsp;linking&nbsp;Bugzilla&nbsp;installations&nbsp;together&nbsp;has&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;the&nbsp;introduction&nbsp;of&nbsp;bug&nbsp;moving&nbsp;in&nbsp;version&nbsp;2.12.&nbsp;&nbsp;However,&nbsp;it&nbsp;would&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;useful&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;link&nbsp;installations&nbsp;in&nbsp;more&nbsp;ways.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Dependencies&nbsp;and&nbsp;other&nbsp;relationships&nbsp;between&nbsp;bugs&nbsp;in&nbsp;other<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;installations.&nbsp;&nbsp;This&nbsp;is&nbsp;difficult&nbsp;because&nbsp;dependencies&nbsp;are<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;synchronised&nbsp;on&nbsp;both&nbsp;bugs,&nbsp;so&nbsp;the&nbsp;installation&nbsp;that&nbsp;changes<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dependencies&nbsp;would&nbsp;need&nbsp;to&nbsp;communicate&nbsp;the&nbsp;new&nbsp;state&nbsp;to&nbsp;the&nbsp;other<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;installation.&nbsp;&nbsp;It&nbsp;would&nbsp;also&nbsp;mean&nbsp;that&nbsp;relationships&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifications&nbsp;that&nbsp;refer&nbsp;to&nbsp;other&nbsp;bugs&nbsp;would&nbsp;need&nbsp;to&nbsp;communicate<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;the&nbsp;other&nbsp;installation.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;References&nbsp;to&nbsp;bugs&nbsp;in&nbsp;other&nbsp;installations.&nbsp;&nbsp;Currently&nbsp;if&nbsp;you&nbsp;type<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"bug&nbsp;XXX"&nbsp;or&nbsp;"bug&nbsp;#XXX"&nbsp;where&nbsp;XXX&nbsp;is&nbsp;a&nbsp;number,&nbsp;you&nbsp;get&nbsp;an<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;automatic&nbsp;hyperlink&nbsp;to&nbsp;that&nbsp;bug.&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;useful&nbsp;if&nbsp;you&nbsp;could<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say&nbsp;"YYY&nbsp;bug&nbsp;#XXX"&nbsp;where&nbsp;YYY&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;another&nbsp;installation.<br>
+<br>
+Retirement<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+Whiny&nbsp;Reports<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+&nbsp;&nbsp;Group&nbsp;Redesign<br>
+<br>
+&nbsp;&nbsp;&nbsp;?<br>
+<br>
+&nbsp;&nbsp;Hard&nbsp;Wrapping&nbsp;Comments<br>
+<br>
+&nbsp;&nbsp;&nbsp;Currently&nbsp;Bugzilla&nbsp;"hard&nbsp;wraps"&nbsp;its&nbsp;comments&nbsp;to&nbsp;a&nbsp;specific&nbsp;line&nbsp;size,<br>
+&nbsp;&nbsp;&nbsp;similar&nbsp;to&nbsp;E-Mail.&nbsp;&nbsp;This&nbsp;has&nbsp;various&nbsp;problems:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;way&nbsp;it&nbsp;currently&nbsp;works,&nbsp;wrapping&nbsp;is&nbsp;done&nbsp;in&nbsp;the&nbsp;browser&nbsp;at<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;submission&nbsp;time&nbsp;using&nbsp;a&nbsp;non-standard&nbsp;HTML&nbsp;extension&nbsp;not&nbsp;supported<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;by&nbsp;some&nbsp;(uncommon)&nbsp;browsers.&nbsp;&nbsp;These&nbsp;browsers&nbsp;generate&nbsp;comments<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;scroll&nbsp;off&nbsp;the&nbsp;right&nbsp;side&nbsp;of&nbsp;the&nbsp;screen.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Because&nbsp;comments&nbsp;are&nbsp;of&nbsp;fixed&nbsp;width,&nbsp;when&nbsp;you&nbsp;expand&nbsp;your&nbsp;browser<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window,&nbsp;the&nbsp;comments&nbsp;do&nbsp;not&nbsp;expand&nbsp;to&nbsp;fit&nbsp;available&nbsp;space.<br>
+<br>
+&nbsp;&nbsp;&nbsp;It&nbsp;would&nbsp;be&nbsp;much&nbsp;better&nbsp;to&nbsp;move&nbsp;to&nbsp;a&nbsp;world&nbsp;of&nbsp;soft&nbsp;wrapping,&nbsp;where&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;browser&nbsp;wraps&nbsp;the&nbsp;text&nbsp;at&nbsp;display&nbsp;time,&nbsp;similar&nbsp;to&nbsp;a&nbsp;world&nbsp;processor.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;as&nbsp;in&nbsp;a&nbsp;word&nbsp;processor,&nbsp;soft&nbsp;wrapping&nbsp;does&nbsp;not&nbsp;preclude&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;insertion&nbsp;of&nbsp;newlines.<br>
+<br>
+&nbsp;&nbsp;&nbsp;Hard&nbsp;wrapping&nbsp;is&nbsp;too&nbsp;entrenched&nbsp;into&nbsp;text&nbsp;E-Mail&nbsp;to&nbsp;fix,&nbsp;but&nbsp;we&nbsp;can<br>
+&nbsp;&nbsp;&nbsp;fix&nbsp;Bugzilla&nbsp;without&nbsp;causing&nbsp;any&nbsp;problems.&nbsp;&nbsp;The&nbsp;old&nbsp;content&nbsp;will&nbsp;still<br>
+&nbsp;&nbsp;&nbsp;be&nbsp;wrapped&nbsp;too&nbsp;early,&nbsp;but&nbsp;at&nbsp;least&nbsp;new&nbsp;content&nbsp;will&nbsp;work.<br>
+&nbsp;&nbsp;&nbsp;</P
+>
</P
></DIV
><DIV
+CLASS="CHAPTER"
+><HR><H1
+><A
+NAME="VARIANTS"
+>Chapter 7. Bugzilla Variants and Competitors</A
+></H1
+><P
+>I created this section to answer questions about Bugzilla
+ competitors and variants, then found a wonderful site which covers
+ an awful lot of what I wanted to discuss. Rather than quote it in
+ its entirety, I'll simply refer you here: <A
+HREF="http://linas.org/linux/pm.html"
+TARGET="_top"
+>http://linas.org/linux/pm.html</A
+></P
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="RHBUGZILLA"
+>7.1. Red Hat Bugzilla</A
+></H1
+><P
+> Red Hat Bugzilla is probably the most popular Bugzilla variant
+ on the planet. One of the major benefits of Red Hat Bugzilla is
+ the ability to work with Oracle, MySQL, and PostGreSQL databases
+ serving as the back-end, instead of just MySQL. Dave Lawrence
+ has worked very hard to keep Red Hat Bugzilla up-to-date, and
+ many people prefer the snappier-looking page layout of Red Hat
+ Bugzilla to the default Mozilla-standard formatting.
+ </P
+><P
+>URL: <A
+HREF="http://bugzilla.redhat.com/bugzilla/"
+TARGET="_top"
+>http://bugzilla.redhat.com/bugzilla/</A
+></P
+></DIV
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="VARIANT_FENRIS"
+>7.2. Loki Bugzilla (Fenris)</A
+></H1
+><P
+>Fenris can be found at <A
+HREF="http://fenris.lokigames.com/"
+TARGET="_top"
+>http://fenris.lokigames.com</A
+>. It is a fork from Bugzilla.</P
+></DIV
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="VARIANT_ISSUEZILLA"
+>7.3. Issuezilla</A
+></H1
+><P
+>Issuezilla is another fork from Bugzilla, and seems nearly
+ as popular as the Red Hat Bugzilla fork. Some Issuezilla team
+ members are regular contributors to the Bugzilla mailing
+ list/newsgroup. Issuezilla is not the primary focus of
+ bug-tracking at tigris.org, however. Their Java-based
+ bug-tracker, <A
+HREF="#VARIANT_SCARAB"
+>Scarab, a newfangled Java-based issue tracker</A
+>, is under heavy development
+ and looks promising!</P
+><P
+>URL: <A
+HREF="http://issuezilla.tigris.org/servlets/ProjectHome"
+TARGET="_top"
+>http://issuezilla.tigris.org/servlets/ProjectHome</A
+></P
+></DIV
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="VARIANT_SCARAB"
+>7.4. Scarab</A
+></H1
+><P
+>Scarab is a promising new bug-tracking system built using
+ Java Serlet technology. As of this writing, no source code has
+ been released as a package, but you can obtain the code from
+ CVS.
+ </P
+><P
+>URL: <A
+HREF="http://scarab.tigris.org/"
+TARGET="_top"
+>http://scarab.tigris.org</A
+></P
+></DIV
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="VARIANT_PERFORCE"
+>7.5. Perforce SCM</A
+></H1
+><P
+>Although Perforce isn't really a bug tracker, it can be used
+ as such through the <SPAN
+CLASS="QUOTE"
+>"jobs"</SPAN
+> functionality.</P
+><P
+><A
+HREF="http://www.perforce.com/perforce/technotes/note052.html"
+TARGET="_top"
+>http://www.perforce.com/perforce/technotes/note052.html</A
+>http://www.perforce.com/perforce/technotes/note052.html</P
+></DIV
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="VARIANT_SOURCEFORGE"
+>7.6. SourceForge</A
+></H1
+><P
+>SourceForge is more of a way of coordinating geographically
+ distributed free software and open source projects over the
+ Internet than strictly a bug tracker, but if you're hunting for
+ bug-tracking for your open project, it may be just what the
+ software engineer ordered!</P
+><P
+>URL: <A
+HREF="http://www.sourceforge.net"
+TARGET="_top"
+>http://www.sourceforge.net</A
+></P
+></DIV
+></DIV
+><DIV
CLASS="APPENDIX"
><HR><H1
><A
@@ -9887,63 +11073,63 @@ HREF="#FAQ_GENERAL"
><DL
><DT
>A.1.1. <A
-HREF="#AEN1620"
+HREF="#AEN1713"
> Where can I find information about Bugzilla?</A
></DT
><DT
>A.1.2. <A
-HREF="#AEN1626"
+HREF="#AEN1719"
> What license is Bugzilla distributed under?
</A
></DT
><DT
>A.1.3. <A
-HREF="#AEN1632"
+HREF="#AEN1725"
> How do I get commercial support for Bugzilla?
</A
></DT
><DT
>A.1.4. <A
-HREF="#AEN1639"
+HREF="#AEN1732"
> What major companies or projects are currently using Bugzilla
for bug-tracking?
</A
></DT
><DT
>A.1.5. <A
-HREF="#AEN1664"
+HREF="#AEN1757"
> Who maintains Bugzilla?
</A
></DT
><DT
>A.1.6. <A
-HREF="#AEN1670"
+HREF="#AEN1763"
> How does Bugzilla stack up against other bug-tracking databases?
</A
></DT
><DT
>A.1.7. <A
-HREF="#AEN1677"
+HREF="#AEN1770"
> How do I change my user name in Bugzilla?
</A
></DT
><DT
>A.1.8. <A
-HREF="#AEN1682"
+HREF="#AEN1775"
> Why doesn't Bugzilla offer this or that feature or compatability
with this other tracking software?
</A
></DT
><DT
>A.1.9. <A
-HREF="#AEN1689"
+HREF="#AEN1782"
> Why MySQL? I'm interested in seeing Bugzilla run on
Oracle/Sybase/Msql/PostgreSQL/MSSQL?
</A
></DT
><DT
>A.1.10. <A
-HREF="#AEN1707"
+HREF="#AEN1800"
> Why do the scripts say "/usr/bonsaitools/bin/perl" instead of
"/usr/bin/perl" or something else?
</A
@@ -9959,19 +11145,19 @@ HREF="#FAQ_REDHAT"
><DL
><DT
>A.2.1. <A
-HREF="#AEN1724"
+HREF="#AEN1817"
> What about Red Hat Bugzilla?
</A
></DT
><DT
>A.2.2. <A
-HREF="#AEN1732"
+HREF="#AEN1825"
> What are the primary benefits of Red Hat Bugzilla?
</A
></DT
><DT
>A.2.3. <A
-HREF="#AEN1760"
+HREF="#AEN1853"
> What's the current status of Red Hat Bugzilla?
</A
></DT
@@ -9986,7 +11172,7 @@ HREF="#FAQ_LOKI"
><DL
><DT
>A.3.1. <A
-HREF="#AEN1773"
+HREF="#AEN1866"
> What is Loki Bugzilla (Fenris)?
</A
></DT
@@ -10001,41 +11187,41 @@ HREF="#FAQ_PHB"
><DL
><DT
>A.4.1. <A
-HREF="#AEN1784"
+HREF="#AEN1877"
> Is Bugzilla web-based or do you have to have specific software or
specific operating system on your machine?
</A
></DT
><DT
>A.4.2. <A
-HREF="#AEN1789"
+HREF="#AEN1882"
> Has anyone you know of already done any Bugzilla integration with
Perforce (SCM software)?
</A
></DT
><DT
>A.4.3. <A
-HREF="#AEN1794"
+HREF="#AEN1887"
> Does Bugzilla allow the user to track multiple projects?
</A
></DT
><DT
>A.4.4. <A
-HREF="#AEN1799"
+HREF="#AEN1892"
> If I am on many projects, and search for all bugs assigned to me, will
Bugzilla list them for me and allow me to sort by project, severity etc?
</A
></DT
><DT
>A.4.5. <A
-HREF="#AEN1804"
+HREF="#AEN1897"
> Does Bugzilla allow attachments (text, screenshots, urls etc)? If yes,
are there any that are NOT allowed?
</A
></DT
><DT
>A.4.6. <A
-HREF="#AEN1809"
+HREF="#AEN1902"
> 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?
@@ -10043,7 +11229,7 @@ HREF="#AEN1809"
></DT
><DT
>A.4.7. <A
-HREF="#AEN1814"
+HREF="#AEN1909"
> The index.html page doesn't show the footer. It's really annoying to have
to go to the querypage just to check my "my bugs" link. How do I get a footer
on static HTML pages?
@@ -10051,35 +11237,35 @@ HREF="#AEN1814"
></DT
><DT
>A.4.8. <A
-HREF="#AEN1820"
+HREF="#AEN1931"
> Does Bugzilla provide any reporting features, metrics, graphs, etc? You
know, the type of stuff that management likes to see. :)
</A
></DT
><DT
>A.4.9. <A
-HREF="#AEN1828"
+HREF="#AEN1939"
> Is there email notification and if so, what do you see when you get an
email? Do you see bug number and title or is it only the number?
</A
></DT
><DT
>A.4.10. <A
-HREF="#AEN1833"
+HREF="#AEN1944"
> Can email notification be set up to send to multiple
people, some on the To List, CC List, BCC List etc?
</A
></DT
><DT
>A.4.11. <A
-HREF="#AEN1838"
+HREF="#AEN1949"
> If there is email notification, do users have to have any particular
type of email application?
</A
></DT
><DT
>A.4.12. <A
-HREF="#AEN1845"
+HREF="#AEN1956"
> If I just wanted to track certain bugs, as they go through life, can I
set it up to alert me via email whenever that bug changes, whether it be
owner, status or description etc.?
@@ -10087,7 +11273,7 @@ HREF="#AEN1845"
></DT
><DT
>A.4.13. <A
-HREF="#AEN1850"
+HREF="#AEN1961"
> 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 "matching" fields? If I wanted to take the results of a query
@@ -10096,75 +11282,67 @@ HREF="#AEN1850"
></DT
><DT
>A.4.14. <A
-HREF="#AEN1858"
-> Does Bugzilla allow fields to be added, changed or deleted? If I want to
- customize the bug submission form to meet our needs, can I do that using our
- terminology?
- </A
-></DT
-><DT
->A.4.15. <A
-HREF="#AEN1863"
+HREF="#AEN1969"
> Has anyone converted Bugzilla to another language to be used in other
countries? Is it localizable?
</A
></DT
><DT
->A.4.16. <A
-HREF="#AEN1868"
+>A.4.15. <A
+HREF="#AEN1974"
> Can a user create and save reports? Can they do this in Word format?
Excel format?
</A
></DT
><DT
->A.4.17. <A
-HREF="#AEN1873"
+>A.4.16. <A
+HREF="#AEN1979"
> Can a user re-run a report with a new project, same query?
</A
></DT
><DT
->A.4.18. <A
-HREF="#AEN1878"
+>A.4.17. <A
+HREF="#AEN1984"
> Can a user modify an existing report and then save it into another name?
</A
></DT
><DT
->A.4.19. <A
-HREF="#AEN1883"
+>A.4.18. <A
+HREF="#AEN1989"
> Does Bugzilla have the ability to search by word, phrase, compound
search?
</A
></DT
><DT
->A.4.20. <A
-HREF="#AEN1888"
+>A.4.19. <A
+HREF="#AEN1994"
> Can the admin person establish separate group and individual user
privileges?
</A
></DT
><DT
->A.4.21. <A
-HREF="#AEN1893"
+>A.4.20. <A
+HREF="#AEN1999"
> 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?
</A
></DT
><DT
->A.4.22. <A
-HREF="#AEN1898"
+>A.4.21. <A
+HREF="#AEN2004"
> Are there any backup features provided?
</A
></DT
><DT
->A.4.23. <A
-HREF="#AEN1904"
+>A.4.22. <A
+HREF="#AEN2010"
> Can users be on the system while a backup is in progress?
</A
></DT
><DT
->A.4.24. <A
-HREF="#AEN1909"
+>A.4.23. <A
+HREF="#AEN2015"
> 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 if we were to go with Bugzilla, what types of
@@ -10173,8 +11351,8 @@ HREF="#AEN1909"
</A
></DT
><DT
->A.4.25. <A
-HREF="#AEN1916"
+>A.4.24. <A
+HREF="#AEN2022"
> 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 weeks to
install and a couple of hours per week to maintain and customize or is this
@@ -10183,8 +11361,8 @@ HREF="#AEN1916"
</A
></DT
><DT
->A.4.26. <A
-HREF="#AEN1921"
+>A.4.25. <A
+HREF="#AEN2027"
> Is there any licensing fee or other fees for using Bugzilla? Any
out-of-pocket cost other than the bodies needed as identified above?
</A
@@ -10200,19 +11378,19 @@ HREF="#FAQ_INSTALL"
><DL
><DT
>A.5.1. <A
-HREF="#AEN1928"
+HREF="#AEN2034"
> How do I download and install Bugzilla?
</A
></DT
><DT
>A.5.2. <A
-HREF="#AEN1934"
+HREF="#AEN2040"
> How do I install Bugzilla on Windows NT?
</A
></DT
><DT
>A.5.3. <A
-HREF="#AEN1939"
+HREF="#AEN2045"
> Is there an easy way to change the Bugzilla cookie name?
</A
></DT
@@ -10227,20 +11405,20 @@ HREF="#FAQ_SECURITY"
><DL
><DT
>A.6.1. <A
-HREF="#AEN1946"
+HREF="#AEN2052"
> 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!)?
</A
></DT
><DT
>A.6.2. <A
-HREF="#AEN1952"
+HREF="#AEN2058"
> Are there any security problems with Bugzilla?
</A
></DT
><DT
>A.6.3. <A
-HREF="#AEN1957"
+HREF="#AEN2063"
> I've implemented the security fixes mentioned in Chris Yeh's security
advisory of 5/10/2000 advising not to run MySQL as root, and am running into
problems with MySQL no longer working correctly.
@@ -10257,48 +11435,48 @@ HREF="#FAQ_EMAIL"
><DL
><DT
>A.7.1. <A
-HREF="#AEN1964"
+HREF="#AEN2070"
> I have a user who doesn't want to receive any more email from Bugzilla.
How do I stop it entirely for this user?
</A
></DT
><DT
>A.7.2. <A
-HREF="#AEN1969"
+HREF="#AEN2075"
> I'm evaluating/testing Bugzilla, and don't want it to send email to
anyone but me. How do I do it?
</A
></DT
><DT
>A.7.3. <A
-HREF="#AEN1974"
+HREF="#AEN2080"
> I want whineatnews.pl to whine at something more, or other than, only new
bugs. How do I do it?
</A
></DT
><DT
>A.7.4. <A
-HREF="#AEN1980"
+HREF="#AEN2086"
> I don't like/want to use Procmail to hand mail off to bug_email.pl.
What alternatives do I have?
</A
></DT
><DT
>A.7.5. <A
-HREF="#AEN1987"
+HREF="#AEN2093"
> How do I set up the email interface to submit/change bugs via email?
</A
></DT
><DT
>A.7.6. <A
-HREF="#AEN1992"
+HREF="#AEN2098"
> Email takes FOREVER to reach me from bugzilla -- it's extremely slow.
What gives?
</A
></DT
><DT
>A.7.7. <A
-HREF="#AEN1999"
+HREF="#AEN2105"
> How come email never reaches me from bugzilla changes?
</A
></DT
@@ -10313,60 +11491,60 @@ HREF="#FAQ_DB"
><DL
><DT
>A.8.1. <A
-HREF="#AEN2007"
+HREF="#AEN2113"
> I've heard Bugzilla can be used with Oracle?
</A
></DT
><DT
>A.8.2. <A
-HREF="#AEN2012"
+HREF="#AEN2118"
> Bugs are missing from queries, but exist in the database (and I can pull
them up by specifying the bug ID). What's wrong?
</A
></DT
><DT
>A.8.3. <A
-HREF="#AEN2017"
+HREF="#AEN2123"
> I think my database might be corrupted, or contain invalid entries. What
do I do?
</A
></DT
><DT
>A.8.4. <A
-HREF="#AEN2022"
+HREF="#AEN2131"
> I want to manually edit some entries in my database. How?
</A
></DT
><DT
>A.8.5. <A
-HREF="#AEN2027"
+HREF="#AEN2136"
> I try to add myself as a user, but Bugzilla always tells me my password is wrong.
</A
></DT
><DT
>A.8.6. <A
-HREF="#AEN2032"
+HREF="#AEN2141"
> I think I've set up MySQL permissions correctly, but bugzilla still can't
connect.
</A
></DT
><DT
>A.8.7. <A
-HREF="#AEN2037"
+HREF="#AEN2146"
> How do I synchronize bug information among multiple different Bugzilla
databases?
</A
></DT
><DT
>A.8.8. <A
-HREF="#AEN2044"
+HREF="#AEN2153"
> Why do I get bizarre errors when trying to submit data, particularly problems
with "groupset"?
</A
></DT
><DT
>A.8.9. <A
-HREF="#AEN2049"
+HREF="#AEN2158"
> How come even after I delete bugs, the long descriptions show up?
</A
></DT
@@ -10381,32 +11559,32 @@ HREF="#FAQ_NT"
><DL
><DT
>A.9.1. <A
-HREF="#AEN2056"
+HREF="#AEN2168"
> What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
</A
></DT
><DT
>A.9.2. <A
-HREF="#AEN2061"
+HREF="#AEN2173"
> Is there a "Bundle::Bugzilla" equivalent for Win32?
</A
></DT
><DT
>A.9.3. <A
-HREF="#AEN2066"
+HREF="#AEN2178"
> CGI's are failing with a "something.cgi is not a valid Windows NT
application" error. Why?
</A
></DT
><DT
>A.9.4. <A
-HREF="#AEN2074"
+HREF="#AEN2186"
> Can I have some general instructions on how to make Bugzilla on Win32 work?
</A
></DT
><DT
>A.9.5. <A
-HREF="#AEN2080"
+HREF="#AEN2192"
> I'm having trouble with the perl modules for NT not being able to talk to
to the database.
</A
@@ -10422,34 +11600,34 @@ HREF="#FAQ_USE"
><DL
><DT
>A.10.1. <A
-HREF="#AEN2101"
+HREF="#AEN2213"
> The query page is very confusing. Isn't there a simpler way to query?
</A
></DT
><DT
>A.10.2. <A
-HREF="#AEN2107"
+HREF="#AEN2219"
> 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?
</A
></DT
><DT
>A.10.3. <A
-HREF="#AEN2117"
+HREF="#AEN2229"
> I can't upload anything into the database via the "Create Attachment"
link. What am I doing wrong?
</A
></DT
><DT
>A.10.4. <A
-HREF="#AEN2122"
+HREF="#AEN2234"
> Email submissions to Bugzilla that have attachments end up asking me to
save it as a "cgi" file.
</A
></DT
><DT
>A.10.5. <A
-HREF="#AEN2127"
+HREF="#AEN2239"
> How do I change a keyword in Bugzilla, once some bugs are using it?
</A
></DT
@@ -10464,20 +11642,20 @@ HREF="#FAQ_HACKING"
><DL
><DT
>A.11.1. <A
-HREF="#AEN2134"
+HREF="#AEN2246"
> What bugs are in Bugzilla right now?
</A
></DT
><DT
>A.11.2. <A
-HREF="#AEN2143"
+HREF="#AEN2255"
> How can I change the default priority to a null value? For instance, have the default
priority be "---" instead of "P2"?
</A
></DT
><DT
>A.11.3. <A
-HREF="#AEN2149"
+HREF="#AEN2261"
> What's the best way to submit patches? What guidelines should I follow?
</A
></DT
@@ -10497,7 +11675,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1620"
+NAME="AEN1713"
></A
><B
>A.1.1. </B
@@ -10523,7 +11701,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1626"
+NAME="AEN1719"
></A
><B
>A.1.2. </B
@@ -10550,7 +11728,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1632"
+NAME="AEN1725"
></A
><B
>A.1.3. </B
@@ -10585,7 +11763,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1639"
+NAME="AEN1732"
></A
><B
>A.1.4. </B
@@ -10693,7 +11871,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1664"
+NAME="AEN1757"
></A
><B
>A.1.5. </B
@@ -10720,7 +11898,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1670"
+NAME="AEN1763"
></A
><B
>A.1.6. </B
@@ -10759,7 +11937,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1677"
+NAME="AEN1770"
></A
><B
>A.1.7. </B
@@ -10782,7 +11960,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1682"
+NAME="AEN1775"
></A
><B
>A.1.8. </B
@@ -10820,7 +11998,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1689"
+NAME="AEN1782"
></A
><B
>A.1.9. </B
@@ -10835,7 +12013,7 @@ CLASS="ANSWER"
> </B
>Terry Weissman answers,
<A
-NAME="AEN1693"
+NAME="AEN1786"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -10911,7 +12089,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1707"
+NAME="AEN1800"
></A
><B
>A.1.10. </B
@@ -10931,7 +12109,7 @@ CLASS="ANSWER"
><P
> Here's Terry Weissman's comment, for some historical context:
<A
-NAME="AEN1712"
+NAME="AEN1805"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -11028,7 +12206,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1724"
+NAME="AEN1817"
></A
><B
>A.2.1. </B
@@ -11052,7 +12230,7 @@ CLASS="ANSWER"
><P
> Dave Lawrence, the original Red Hat Bugzilla maintainer, mentions:
<A
-NAME="AEN1729"
+NAME="AEN1822"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -11075,7 +12253,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1732"
+NAME="AEN1825"
></A
><B
>A.2.2. </B
@@ -11091,7 +12269,7 @@ CLASS="ANSWER"
>Dave Lawrence</EM
>:
<A
-NAME="AEN1737"
+NAME="AEN1830"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -11207,7 +12385,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1760"
+NAME="AEN1853"
></A
><B
>A.2.3. </B
@@ -11253,7 +12431,7 @@ VALIGN="TOP"
>Dave Lawrence</EM
>:
<A
-NAME="AEN1767"
+NAME="AEN1860"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -11322,7 +12500,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1773"
+NAME="AEN1866"
></A
><B
>A.3.1. </B
@@ -11388,7 +12566,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1784"
+NAME="AEN1877"
></A
><B
>A.4.1. </B
@@ -11412,7 +12590,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1789"
+NAME="AEN1882"
></A
><B
>A.4.2. </B
@@ -11436,7 +12614,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1794"
+NAME="AEN1887"
></A
><B
>A.4.3. </B
@@ -11462,7 +12640,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1799"
+NAME="AEN1892"
></A
><B
>A.4.4. </B
@@ -11485,7 +12663,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1804"
+NAME="AEN1897"
></A
><B
>A.4.5. </B
@@ -11513,7 +12691,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1809"
+NAME="AEN1902"
></A
><B
>A.4.6. </B
@@ -11531,6 +12709,15 @@ CLASS="ANSWER"
progression states, also require adjusting the program logic to
compensate for the change.
</P
+><P
+> There is no GUI for adding fields to Bugzilla at this
+ time. You can follow development of this feature at
+ <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
+TARGET="_top"
+>http://bugzilla.mozilla.org/show_bug.cgi?id=91037</A
+>
+ </P
></DIV
></DIV
><DIV
@@ -11539,7 +12726,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1814"
+NAME="AEN1909"
></A
><B
>A.4.7. </B
@@ -11553,41 +12740,160 @@ CLASS="ANSWER"
><P
><B
> </B
-> This was a late-breaking question for the Guide, so I just have to
- quote the relevant newsgroup thread on it.
- </P
+> It's possible to get the footer on the static index page using
+ Server Side Includes (SSI). The trick to doing this is making
+ sure that your web server is set up to allow SSI and specifically,
+ the #exec directive. You should also rename <TT
+CLASS="FILENAME"
+>index.html</TT
+>
+ to <TT
+CLASS="FILENAME"
+>index.shtml</TT
+>.
+ </P
><P
-CLASS="LITERALLAYOUT"
->&#62;&nbsp;AFAIK,&nbsp;most&nbsp;sites&nbsp;(even&nbsp;if&nbsp;they&nbsp;have&nbsp;SSI&nbsp;enabled)&nbsp;won't&nbsp;have&nbsp;#exec&nbsp;cmd<br>
-&#62;&nbsp;enabled.&nbsp;&nbsp;Perhaps&nbsp;what&nbsp;would&nbsp;be&nbsp;better&nbsp;is&nbsp;a&nbsp;#include&nbsp;virtual&nbsp;and&nbsp;a<br>
-&#62;&nbsp;footer.cgi&nbsp;the&nbsp;basically&nbsp;has&nbsp;the&nbsp;"require&nbsp;'CGI.pl'&nbsp;and&nbsp;PutFooter&nbsp;command.<br>
-&#62;<br>
-&#62;&nbsp;Please&nbsp;note&nbsp;that&nbsp;under&nbsp;most&nbsp;configurations,&nbsp;this&nbsp;also&nbsp;requires&nbsp;naming<br>
-&#62;&nbsp;the&nbsp;file&nbsp;from&nbsp;index.html&nbsp;to&nbsp;index.shtml&nbsp;(and&nbsp;making&nbsp;sure&nbsp;that&nbsp;it&nbsp;will<br>
-&#62;&nbsp;still&nbsp;be&nbsp;reconized&nbsp;as&nbsp;an&nbsp;index).&nbsp;&nbsp;Personally,&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;better&nbsp;on<br>
-&#62;&nbsp;a&nbsp;per-installation&nbsp;basis&nbsp;(perhaps&nbsp;add&nbsp;something&nbsp;to&nbsp;the&nbsp;FAQ&nbsp;that&nbsp;says&nbsp;how<br>
-&#62;&nbsp;to&nbsp;do&nbsp;this).<br>
-<br>
-Good&nbsp;point.&nbsp;&nbsp;Yeah,&nbsp;easy&nbsp;enough&nbsp;to&nbsp;do,&nbsp;that&nbsp;it&nbsp;shouldn't&nbsp;be&nbsp;a&nbsp;big&nbsp;deal&nbsp;for<br>
-someone&nbsp;to&nbsp;take&nbsp;it&nbsp;on&nbsp;if&nbsp;they&nbsp;want&nbsp;it.&nbsp;&nbsp;FAQ&nbsp;is&nbsp;a&nbsp;good&nbsp;place&nbsp;for&nbsp;it.<br>
-<br>
-&#62;&nbsp;Dave&nbsp;Miller&nbsp;wrote:<br>
-&#62;<br>
-&#62;&#62;&nbsp;I&nbsp;did&nbsp;a&nbsp;little&nbsp;experimenting&nbsp;with&nbsp;getting&nbsp;the&nbsp;command&nbsp;menu&nbsp;and&nbsp;footer&nbsp;on<br>
-&#62;&#62;&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;index&nbsp;page&nbsp;while&nbsp;leaving&nbsp;it&nbsp;as&nbsp;an&nbsp;HTML&nbsp;file...<br>
-&#62;&#62;<br>
-&#62;&#62;&nbsp;I&nbsp;was&nbsp;successful.&nbsp;:)<br>
-&#62;&#62;<br>
-&#62;&#62;&nbsp;I&nbsp;added&nbsp;this&nbsp;line:<br>
-&#62;&#62;<br>
-&#62;&#62;&nbsp;<br>
-&#62;&#62;<br>
-&#62;&#62;&nbsp;Just&nbsp;before&nbsp;the&nbsp;&#60;/BODY&#62;&nbsp;&#60;/HTML&#62;&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;file.&nbsp;&nbsp;And&nbsp;it&nbsp;worked.<br>
-&#62;&#62;<br>
-&#62;&#62;&nbsp;Thought&nbsp;I'd&nbsp;toss&nbsp;that&nbsp;out&nbsp;there.&nbsp;&nbsp;Should&nbsp;I&nbsp;check&nbsp;this&nbsp;in?&nbsp;&nbsp;For&nbsp;those&nbsp;that<br>
-&#62;&#62;&nbsp;have&nbsp;SSI&nbsp;disabled,&nbsp;it'll&nbsp;act&nbsp;like&nbsp;a&nbsp;comment,&nbsp;so&nbsp;I&nbsp;wouldn't&nbsp;think&nbsp;it&nbsp;would<br>
-&#62;&#62;&nbsp;break&nbsp;anything.<br>
- &nbsp;&nbsp;</P
+> After you've done all that, you can add the following line to
+ <TT
+CLASS="FILENAME"
+>index.shtml</TT
+>:
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="PROGRAMLISTING"
+>&#60;!--#exec cmd="/usr/bin/perl -e &#38;quot;require 'CGI.pl'; PutFooter();&#38;quot;" --&#62;</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+ </P
+><P
+><DIV
+CLASS="NOTE"
+><P
+></P
+><TABLE
+CLASS="NOTE"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+> This line will be replaced with the actual HTML for the footer
+ when the page is requested, so you should put this line where you
+ want the footer to appear.
+ </P
+></TD
+></TR
+></TABLE
+></DIV
+></P
+><P
+> Because this method depends on being able to use a #exec directive,
+ and most ISP's will not allow that, there is an alternative method.
+ You could have a small script (such as <TT
+CLASS="FILENAME"
+>api.cgi</TT
+>)
+ that basically looks like:
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="PROGRAMLISTING"
+>#!/usr/bonsaitools/bin/perl -w
+
+require 'globals.pl';
+
+if ($::FORM{sub} eq 'PutFooter') {
+ PutFooter();
+} else {
+ die 'api.cgi was incorrectly called';
+}</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+ and then put this line in <TT
+CLASS="FILENAME"
+>index.shtml</TT
+>.
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="PROGRAMLISTING"
+>&#60;!--#include virtual="api.cgi?sub=PutFooter"--&#62;</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+ </P
+><P
+> <DIV
+CLASS="NOTE"
+><P
+></P
+><TABLE
+CLASS="NOTE"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+> This still requires being able to use Server Side Includes, if
+ this simply will not work for you, see <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=80183"
+TARGET="_top"
+>bug 80183</A
+>
+ for a third option.
+ </P
+></TD
+></TR
+></TABLE
+></DIV
+></P
></DIV
></DIV
><DIV
@@ -11596,7 +12902,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1820"
+NAME="AEN1931"
></A
><B
>A.4.8. </B
@@ -11635,7 +12941,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1828"
+NAME="AEN1939"
></A
><B
>A.4.9. </B
@@ -11660,7 +12966,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1833"
+NAME="AEN1944"
></A
><B
>A.4.10. </B
@@ -11683,7 +12989,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1838"
+NAME="AEN1949"
></A
><B
>A.4.11. </B
@@ -11740,7 +13046,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1845"
+NAME="AEN1956"
></A
><B
>A.4.12. </B
@@ -11767,7 +13073,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1850"
+NAME="AEN1961"
></A
><B
>A.4.13. </B
@@ -11812,34 +13118,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1858"
+NAME="AEN1969"
></A
><B
>A.4.14. </B
-> Does Bugzilla allow fields to be added, changed or deleted? If I want to
- customize the bug submission form to meet our needs, can I do that using our
- terminology?
- </P
-></DIV
-><DIV
-CLASS="ANSWER"
-><P
-><B
-> </B
-> Yes.
- </P
-></DIV
-></DIV
-><DIV
-CLASS="QANDAENTRY"
-><DIV
-CLASS="QUESTION"
-><P
-><A
-NAME="AEN1863"
-></A
-><B
->A.4.15. </B
> Has anyone converted Bugzilla to another language to be used in other
countries? Is it localizable?
</P
@@ -11862,10 +13144,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1868"
+NAME="AEN1974"
></A
><B
->A.4.16. </B
+>A.4.15. </B
> Can a user create and save reports? Can they do this in Word format?
Excel format?
</P
@@ -11885,10 +13167,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1873"
+NAME="AEN1979"
></A
><B
->A.4.17. </B
+>A.4.16. </B
> Can a user re-run a report with a new project, same query?
</P
></DIV
@@ -11907,10 +13189,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1878"
+NAME="AEN1984"
></A
><B
->A.4.18. </B
+>A.4.17. </B
> Can a user modify an existing report and then save it into another name?
</P
></DIV
@@ -11930,10 +13212,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1883"
+NAME="AEN1989"
></A
><B
->A.4.19. </B
+>A.4.18. </B
> Does Bugzilla have the ability to search by word, phrase, compound
search?
</P
@@ -11954,10 +13236,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1888"
+NAME="AEN1994"
></A
><B
->A.4.20. </B
+>A.4.19. </B
> Can the admin person establish separate group and individual user
privileges?
</P
@@ -11977,10 +13259,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1893"
+NAME="AEN1999"
></A
><B
->A.4.21. </B
+>A.4.20. </B
> 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?
@@ -12002,10 +13284,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1898"
+NAME="AEN2004"
></A
><B
->A.4.22. </B
+>A.4.21. </B
> Are there any backup features provided?
</P
></DIV
@@ -12030,10 +13312,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1904"
+NAME="AEN2010"
></A
><B
->A.4.23. </B
+>A.4.22. </B
> Can users be on the system while a backup is in progress?
</P
></DIV
@@ -12054,10 +13336,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1909"
+NAME="AEN2015"
></A
><B
->A.4.24. </B
+>A.4.23. </B
> 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 if we were to go with Bugzilla, what types of
@@ -12093,10 +13375,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1916"
+NAME="AEN2022"
></A
><B
->A.4.25. </B
+>A.4.24. </B
> 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 weeks to
install and a couple of hours per week to maintain and customize or is this
@@ -12124,10 +13406,10 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1921"
+NAME="AEN2027"
></A
><B
->A.4.26. </B
+>A.4.25. </B
> Is there any licensing fee or other fees for using Bugzilla? Any
out-of-pocket cost other than the bodies needed as identified above?
</P
@@ -12156,7 +13438,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1928"
+NAME="AEN2034"
></A
><B
>A.5.1. </B
@@ -12183,7 +13465,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1934"
+NAME="AEN2040"
></A
><B
>A.5.2. </B
@@ -12206,7 +13488,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1939"
+NAME="AEN2045"
></A
><B
>A.5.3. </B
@@ -12236,7 +13518,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1946"
+NAME="AEN2052"
></A
><B
>A.6.1. </B
@@ -12264,7 +13546,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1952"
+NAME="AEN2058"
></A
><B
>A.6.2. </B
@@ -12289,7 +13571,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1957"
+NAME="AEN2063"
></A
><B
>A.6.3. </B
@@ -12323,7 +13605,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1964"
+NAME="AEN2070"
></A
><B
>A.7.1. </B
@@ -12347,7 +13629,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1969"
+NAME="AEN2075"
></A
><B
>A.7.2. </B
@@ -12371,7 +13653,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1974"
+NAME="AEN2080"
></A
><B
>A.7.3. </B
@@ -12401,7 +13683,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1980"
+NAME="AEN2086"
></A
><B
>A.7.4. </B
@@ -12417,7 +13699,7 @@ CLASS="ANSWER"
> You can call bug_email.pl directly from your aliases file, with
an entry like this:
<A
-NAME="AEN1984"
+NAME="AEN2090"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -12438,7 +13720,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1987"
+NAME="AEN2093"
></A
><B
>A.7.5. </B
@@ -12461,7 +13743,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1992"
+NAME="AEN2098"
></A
><B
>A.7.6. </B
@@ -12476,20 +13758,14 @@ CLASS="ANSWER"
> </B
> If you are using an alternate Mail Transport Agent (MTA other than
sendmail), make sure the options given in the "processmail" script for all
- instances of "sendmail" are correct for your MTA. If you are using Sendmail,
- you may wish to delete the "-ODeliveryMode=deferred" option in the
- "processmail" script for every invocation of "sendmail". (Be sure and leave
- the "-t" option, though!)
+ instances of "sendmail" are correct for your MTA.
</P
><P
-> A better alternative is to change the "-O" option to
- "-ODeliveryMode=background". This prevents Sendmail from hanging your
- Bugzilla Perl processes if the domain to which it must send mail
- is unavailable.
- </P
-><P
-> This is now a configurable parameter called "sendmailnow", available
- from editparams.cgi.
+> If you are using Sendmail, try enabling "sendmailnow" in editparams.cgi.
+ If you are using Postfix, you will also need to enable <SPAN
+CLASS="QUOTE"
+>"sendmailnow"</SPAN
+>.
</P
></DIV
></DIV
@@ -12499,7 +13775,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN1999"
+NAME="AEN2105"
></A
><B
>A.7.7. </B
@@ -12537,7 +13813,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2007"
+NAME="AEN2113"
></A
><B
>A.8.1. </B
@@ -12562,7 +13838,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2012"
+NAME="AEN2118"
></A
><B
>A.8.2. </B
@@ -12597,7 +13873,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2017"
+NAME="AEN2123"
></A
><B
>A.8.3. </B
@@ -12610,12 +13886,29 @@ CLASS="ANSWER"
><P
><B
> </B
-> Run the "sanity check" utility (./sanitycheck.cgi in the bugzilla_home
- directory) to see! If it all comes back, you're 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...
+> Run the <SPAN
+CLASS="QUOTE"
+>"sanity check"</SPAN
+> utility
+ (<TT
+CLASS="FILENAME"
+>./sanitycheck.cgi</TT
+> in the
+ Bugzilla_home directory) from your web browser to see! If
+ it finishes without errors, you're
+ <EM
+>probably</EM
+> 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.
</P
></DIV
></DIV
@@ -12625,7 +13918,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2022"
+NAME="AEN2131"
></A
><B
>A.8.4. </B
@@ -12652,7 +13945,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2027"
+NAME="AEN2136"
></A
><B
>A.8.5. </B
@@ -12676,7 +13969,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2032"
+NAME="AEN2141"
></A
><B
>A.8.6. </B
@@ -12703,7 +13996,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2037"
+NAME="AEN2146"
></A
><B
>A.8.7. </B
@@ -12739,7 +14032,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2044"
+NAME="AEN2153"
></A
><B
>A.8.8. </B
@@ -12765,7 +14058,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2049"
+NAME="AEN2158"
></A
><B
>A.8.9. </B
@@ -12777,10 +14070,21 @@ CLASS="ANSWER"
><P
><B
> </B
-> Delete everything from $BUZILLA_HOME/shadow. Bugzilla creates shadow
- files there, with each filename corresponding to a
- bug number. Also be sure to run syncshadowdb to make sure, if you are using
- a shadow database, that the shadow database is current.
+> This should only happen with Bugzilla 2.14 if you are
+ using the <SPAN
+CLASS="QUOTE"
+>"shadow database"</SPAN
+> feature, and your
+ shadow database is out of sync. Try running
+ <TT
+CLASS="FILENAME"
+>syncshadowdb</TT
+>
+ <TT
+CLASS="OPTION"
+>-syncall</TT
+> to make sure your shadow
+ database is in synch with your primary database.
</P
></DIV
></DIV
@@ -12798,7 +14102,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2056"
+NAME="AEN2168"
></A
><B
>A.9.1. </B
@@ -12821,7 +14125,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2061"
+NAME="AEN2173"
></A
><B
>A.9.2. </B
@@ -12845,7 +14149,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2066"
+NAME="AEN2178"
></A
><B
>A.9.3. </B
@@ -12866,7 +14170,7 @@ CLASS="ANSWER"
><P
> Microsoft has some advice on this matter, as well:
<A
-NAME="AEN2071"
+NAME="AEN2183"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -12891,7 +14195,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2074"
+NAME="AEN2186"
></A
><B
>A.9.4. </B
@@ -13002,7 +14306,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2080"
+NAME="AEN2192"
></A
><B
>A.9.5. </B
@@ -13077,7 +14381,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2101"
+NAME="AEN2213"
></A
><B
>A.10.1. </B
@@ -13105,7 +14409,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2107"
+NAME="AEN2219"
></A
><B
>A.10.2. </B
@@ -13158,7 +14462,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2117"
+NAME="AEN2229"
></A
><B
>A.10.3. </B
@@ -13183,7 +14487,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2122"
+NAME="AEN2234"
></A
><B
>A.10.4. </B
@@ -13208,7 +14512,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2127"
+NAME="AEN2239"
></A
><B
>A.10.5. </B
@@ -13240,7 +14544,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2134"
+NAME="AEN2246"
></A
><B
>A.11.1. </B
@@ -13253,20 +14557,20 @@ CLASS="ANSWER"
><B
> </B
> Try <A
-HREF="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Webtools&component=Bugzilla"
+HREF="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Bugzilla"
TARGET="_top"
> this link</A
> to view current bugs or requests for
enhancement for Bugzilla.
</P
><P
-> You can view bugs marked for 2.14 release
+> You can view bugs marked for 2.16 release
<A
-HREF="http://bugzilla.mozilla.org/buglist.cgi?product=Webtools&component=Bugzilla&target_milestone=Bugzilla+2.14"
+HREF="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&target_milestone=Bugzilla+2.16"
TARGET="_top"
>here</A
>.
- This list includes bugs for the 2.14 release that have already
+ This list includes bugs for the 2.16 release that have already
been fixed and checked into CVS. Please consult the
<A
HREF="http://www.mozilla.org/projects/bugzilla/"
@@ -13284,7 +14588,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2143"
+NAME="AEN2255"
></A
><B
>A.11.2. </B
@@ -13316,7 +14620,7 @@ CLASS="QANDAENTRY"
CLASS="QUESTION"
><P
><A
-NAME="AEN2149"
+NAME="AEN2261"
></A
><B
>A.11.3. </B
@@ -13334,8 +14638,15 @@ CLASS="ANSWER"
TYPE="1"
><LI
><P
-> Enter a bug into bugzilla.mozilla.org for the "Webtools" product,
- "Bugzilla" component.
+> Enter a bug into bugzilla.mozilla.org for the <SPAN
+CLASS="QUOTE"
+>"<A
+HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
+TARGET="_top"
+>Bugzilla</A
+>"</SPAN
+>
+ product.
</P
></LI
><LI
@@ -13539,7 +14850,7 @@ NAME="DBSCHEMA"
CLASS="MEDIAOBJECT"
><P
><IMG
-SRC="dbschema.jpg"
+SRC="../images/dbschema.jpg"
ALT="Database Relationships"
></IMG
><DIV
@@ -13624,7 +14935,7 @@ CLASS="SECTION"
><HR><H2
CLASS="SECTION"
><A
-NAME="AEN2217"
+NAME="AEN2331"
>C.2.1. Bugzilla Database Basics</A
></H2
><P
@@ -13747,7 +15058,7 @@ CLASS="SECTION"
><HR><H3
CLASS="SECTION"
><A
-NAME="AEN2246"
+NAME="AEN2360"
>C.2.1.1. Bugzilla Database Tables</A
></H3
><P
@@ -14217,151 +15528,6 @@ http://www.mysql.com/Manual/manual.html.<br>
></DIV
></DIV
><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="VARIANTS"
->Chapter 7. Bugzilla Variants and Competitors</A
-></H1
-><P
->I created this section to answer questions about Bugzilla
- competitors and variants, then found a wonderful site which covers
- an awful lot of what I wanted to discuss. Rather than quote it in
- its entirety, I'll simply refer you here: <A
-HREF="http://linas.org/linux/pm.html"
-TARGET="_top"
->http://linas.org/linux/pm.html</A
-></P
-><DIV
-CLASS="SECTION"
-><HR><H1
-CLASS="SECTION"
-><A
-NAME="RHBUGZILLA"
->7.1. Red Hat Bugzilla</A
-></H1
-><P
-> Red Hat Bugzilla is probably the most popular Bugzilla variant
- on the planet. One of the major benefits of Red Hat Bugzilla is
- the ability to work with Oracle, MySQL, and PostGreSQL databases
- serving as the back-end, instead of just MySQL. Dave Lawrence
- has worked very hard to keep Red Hat Bugzilla up-to-date, and
- many people prefer the snappier-looking page layout of Red Hat
- Bugzilla to the default Mozilla-standard formatting.
- </P
-><P
->URL: <A
-HREF="http://bugzilla.redhat.com/bugzilla/"
-TARGET="_top"
->http://bugzilla.redhat.com/bugzilla/</A
-></P
-></DIV
-><DIV
-CLASS="SECTION"
-><HR><H1
-CLASS="SECTION"
-><A
-NAME="VARIANT_FENRIS"
->7.2. Loki Bugzilla (Fenris)</A
-></H1
-><P
->Fenris can be found at <A
-HREF="http://fenris.lokigames.com/"
-TARGET="_top"
->http://fenris.lokigames.com</A
->. It is a fork from Bugzilla.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><HR><H1
-CLASS="SECTION"
-><A
-NAME="VARIANT_ISSUEZILLA"
->7.3. Issuezilla</A
-></H1
-><P
->Issuezilla is another fork from Bugzilla, and seems nearly
- as popular as the Red Hat Bugzilla fork. Some Issuezilla team
- members are regular contributors to the Bugzilla mailing
- list/newsgroup. Issuezilla is not the primary focus of
- bug-tracking at tigris.org, however. Their Java-based
- bug-tracker, <A
-HREF="#VARIANT_SCARAB"
->Scarab, a newfangled Java-based issue tracker</A
->, is under heavy development
- and looks promising!</P
-><P
->URL: <A
-HREF="http://issuezilla.tigris.org/servlets/ProjectHome"
-TARGET="_top"
->http://issuezilla.tigris.org/servlets/ProjectHome</A
-></P
-></DIV
-><DIV
-CLASS="SECTION"
-><HR><H1
-CLASS="SECTION"
-><A
-NAME="VARIANT_SCARAB"
->7.4. Scarab</A
-></H1
-><P
->Scarab is a promising new bug-tracking system built using
- Java Serlet technology. As of this writing, no source code has
- been released as a package, but you can obtain the code from
- CVS.
- </P
-><P
->URL: <A
-HREF="http://scarab.tigris.org/"
-TARGET="_top"
->http://scarab.tigris.org</A
-></P
-></DIV
-><DIV
-CLASS="SECTION"
-><HR><H1
-CLASS="SECTION"
-><A
-NAME="VARIANT_PERFORCE"
->7.5. Perforce SCM</A
-></H1
-><P
->Although Perforce isn't really a bug tracker, it can be used
- as such through the <SPAN
-CLASS="QUOTE"
->"jobs"</SPAN
-> functionality.</P
-><P
-><A
-HREF="http://www.perforce.com/perforce/technotes/note052.html"
-TARGET="_top"
->http://www.perforce.com/perforce/technotes/note052.html</A
->http://www.perforce.com/perforce/technotes/note052.html</P
-></DIV
-><DIV
-CLASS="SECTION"
-><HR><H1
-CLASS="SECTION"
-><A
-NAME="VARIANT_SOURCEFORGE"
->7.6. SourceForge</A
-></H1
-><P
->SourceForge is more of a way of coordinating geographically
- distributed free software and open source projects over the
- Internet than strictly a bug tracker, but if you're hunting for
- bug-tracking for your open project, it may be just what the
- software engineer ordered!</P
-><P
->URL: <A
-HREF="http://www.sourceforge.net"
-TARGET="_top"
->http://www.sourceforge.net</A
-></P
-></DIV
-></DIV
-><DIV
CLASS="APPENDIX"
><HR><H1
><A
@@ -14585,7 +15751,7 @@ CLASS="COMMAND"
<DIV
CLASS="EXAMPLE"
><A
-NAME="AEN2360"
+NAME="AEN2439"
></A
><P
><B
@@ -14812,6 +15978,110 @@ TARGET="_top"
> has details.
</P
></DIV
+><DIV
+CLASS="SECTION"
+><HR><H1
+CLASS="SECTION"
+><A
+NAME="BZHACKING"
+>D.5. Hacking Bugzilla</A
+></H1
+><P
+> What follows are some general guidelines for changing Bugzilla, and adhering to good coding practice while doing so. We've had some checkins in the past which ruined Bugzilla installations because of disregard for these conventions. Sorry for the lack of formatting; I got this info into the Guide on the day of 2.14 release and haven't formatted it yet.
+ </P
+><P
+CLASS="LITERALLAYOUT"
+><br>
+The&nbsp;following&nbsp;is&nbsp;a&nbsp;guide&nbsp;for&nbsp;reviewers&nbsp;when&nbsp;checking&nbsp;code&nbsp;into&nbsp;Bugzilla's<br>
+CVS&nbsp;repostory&nbsp;at&nbsp;mozilla.org.&nbsp;&nbsp;If&nbsp;you&nbsp;wish&nbsp;to&nbsp;submit&nbsp;patches&nbsp;to&nbsp;Bugzilla,<br>
+you&nbsp;should&nbsp;follow&nbsp;the&nbsp;rules&nbsp;and&nbsp;style&nbsp;conventions&nbsp;below.&nbsp;&nbsp;Any&nbsp;code&nbsp;that<br>
+does&nbsp;not&nbsp;adhere&nbsp;to&nbsp;these&nbsp;basic&nbsp;rules&nbsp;will&nbsp;not&nbsp;be&nbsp;added&nbsp;to&nbsp;Bugzilla's<br>
+codebase.<br>
+<br>
+&nbsp;1.&nbsp;Usage&nbsp;of&nbsp;variables&nbsp;in&nbsp;Regular&nbsp;Expressions<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;It&nbsp;is&nbsp;very&nbsp;important&nbsp;that&nbsp;you&nbsp;don't&nbsp;use&nbsp;a&nbsp;variable&nbsp;in&nbsp;a&nbsp;regular<br>
+&nbsp;&nbsp;&nbsp;&nbsp;expression&nbsp;unless&nbsp;that&nbsp;variable&nbsp;is&nbsp;supposed&nbsp;to&nbsp;contain&nbsp;an&nbsp;expression.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;especially&nbsp;applies&nbsp;when&nbsp;using&nbsp;grep.&nbsp;&nbsp;You&nbsp;should&nbsp;use:<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;grep&nbsp;($_&nbsp;eq&nbsp;$value,&nbsp;@array);<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;NOT&nbsp;-<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;grep&nbsp;(/$value/,&nbsp;@array);<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;you&nbsp;need&nbsp;to&nbsp;use&nbsp;a&nbsp;non-expression&nbsp;variable&nbsp;inside&nbsp;of&nbsp;an&nbsp;expression,&nbsp;be<br>
+&nbsp;&nbsp;&nbsp;&nbsp;sure&nbsp;to&nbsp;quote&nbsp;it&nbsp;properly&nbsp;(using&nbsp;\Q..\E).<br>
+<br>
+Coding&nbsp;Style&nbsp;for&nbsp;Bugzilla<br>
+-------------------------<br>
+<br>
+While&nbsp;it's&nbsp;true&nbsp;that&nbsp;not&nbsp;all&nbsp;of&nbsp;the&nbsp;code&nbsp;currently&nbsp;in&nbsp;Bugzilla&nbsp;adheres&nbsp;to<br>
+this&nbsp;styleguide,&nbsp;it&nbsp;is&nbsp;something&nbsp;that&nbsp;is&nbsp;being&nbsp;worked&nbsp;toward.&nbsp;&nbsp;Therefore,<br>
+we&nbsp;ask&nbsp;that&nbsp;all&nbsp;new&nbsp;code&nbsp;(submitted&nbsp;patches&nbsp;and&nbsp;new&nbsp;files)&nbsp;follow&nbsp;this&nbsp;guide<br>
+as&nbsp;closely&nbsp;as&nbsp;possible&nbsp;(if&nbsp;you're&nbsp;only&nbsp;changing&nbsp;1&nbsp;or&nbsp;2&nbsp;lines,&nbsp;you&nbsp;don't&nbsp;have<br>
+to&nbsp;reformat&nbsp;the&nbsp;entire&nbsp;file&nbsp;:).<br>
+<br>
+&nbsp;1.&nbsp;Whitespace<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Bugzilla's&nbsp;prefered&nbsp;indentation&nbsp;is&nbsp;4&nbsp;spaces&nbsp;(no&nbsp;tabs,&nbsp;please).<br>
+<br>
+&nbsp;2.&nbsp;Curly&nbsp;braces.<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;opening&nbsp;brace&nbsp;of&nbsp;a&nbsp;block&nbsp;should&nbsp;be&nbsp;on&nbsp;the&nbsp;same&nbsp;line&nbsp;as&nbsp;the&nbsp;statement<br>
+&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;is&nbsp;causing&nbsp;the&nbsp;block&nbsp;and&nbsp;the&nbsp;closing&nbsp;brace&nbsp;should&nbsp;be&nbsp;at&nbsp;the&nbsp;same<br>
+&nbsp;&nbsp;&nbsp;&nbsp;indentation&nbsp;level&nbsp;as&nbsp;that&nbsp;statement,&nbsp;for&nbsp;example:<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($var)&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"The&nbsp;variable&nbsp;is&nbsp;true";<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"Try&nbsp;again";<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;NOT&nbsp;-<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($var)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"The&nbsp;variable&nbsp;is&nbsp;true";<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;else<br>
+&nbsp;&nbsp;&nbsp;&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"Try&nbsp;again";<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+<br>
+&nbsp;3.&nbsp;File&nbsp;Names<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;names&nbsp;for&nbsp;bugzilla&nbsp;code&nbsp;and&nbsp;support&nbsp;documention&nbsp;should&nbsp;be&nbsp;legal&nbsp;across<br>
+&nbsp;&nbsp;&nbsp;&nbsp;multiple&nbsp;platforms.&nbsp;&nbsp;\&nbsp;/&nbsp;:&nbsp;*&nbsp;?&nbsp;"&nbsp;&#60;&nbsp;&#62;&nbsp;and&nbsp;|&nbsp;are&nbsp;all&nbsp;illegal&nbsp;characters&nbsp;for<br>
+&nbsp;&nbsp;&nbsp;&nbsp;filenames&nbsp;on&nbsp;various&nbsp;platforms.&nbsp;&nbsp;Also,&nbsp;file&nbsp;names&nbsp;should&nbsp;not&nbsp;have&nbsp;spaces&nbsp;in<br>
+&nbsp;&nbsp;&nbsp;&nbsp;them&nbsp;as&nbsp;they&nbsp;can&nbsp;cause&nbsp;confusion&nbsp;in&nbsp;CVS&nbsp;and&nbsp;other&nbsp;mozilla.org&nbsp;utilities.<br>
+<br>
+&nbsp;4.&nbsp;Variable&nbsp;Names<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;a&nbsp;variable&nbsp;is&nbsp;scoped&nbsp;globally&nbsp;($::variable)&nbsp;its&nbsp;name&nbsp;should&nbsp;be&nbsp;descriptive<br>
+&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;what&nbsp;it&nbsp;contains.&nbsp;&nbsp;Local&nbsp;variables&nbsp;can&nbsp;be&nbsp;named&nbsp;a&nbsp;bit&nbsp;looser,&nbsp;provided&nbsp;the<br>
+&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;makes&nbsp;their&nbsp;content&nbsp;obvious.&nbsp;&nbsp;For&nbsp;example,&nbsp;$ret&nbsp;could&nbsp;be&nbsp;used&nbsp;as&nbsp;a<br>
+&nbsp;&nbsp;&nbsp;&nbsp;staging&nbsp;variable&nbsp;for&nbsp;a&nbsp;routine's&nbsp;return&nbsp;value&nbsp;as&nbsp;the&nbsp;line&nbsp;|return&nbsp;$ret;|&nbsp;will<br>
+&nbsp;&nbsp;&nbsp;&nbsp;make&nbsp;it&nbsp;blatently&nbsp;obvious&nbsp;what&nbsp;the&nbsp;variable&nbsp;holds&nbsp;and&nbsp;most&nbsp;likely&nbsp;be&nbsp;shown<br>
+&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;the&nbsp;same&nbsp;screen&nbsp;as&nbsp;|my&nbsp;$ret&nbsp;=&nbsp;"";|.<br>
+<br>
+&nbsp;5.&nbsp;Cross&nbsp;Database&nbsp;Compatability<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Bugzilla&nbsp;was&nbsp;originally&nbsp;written&nbsp;to&nbsp;work&nbsp;with&nbsp;MySQL&nbsp;and&nbsp;therefore&nbsp;took&nbsp;advantage<br>
+&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;some&nbsp;of&nbsp;its&nbsp;features&nbsp;that&nbsp;aren't&nbsp;contained&nbsp;in&nbsp;other&nbsp;RDBMS&nbsp;software.&nbsp;&nbsp;These<br>
+&nbsp;&nbsp;&nbsp;&nbsp;should&nbsp;be&nbsp;avoided&nbsp;in&nbsp;all&nbsp;new&nbsp;code.&nbsp;&nbsp;Examples&nbsp;of&nbsp;these&nbsp;features&nbsp;are&nbsp;enums&nbsp;and<br>
+&nbsp;&nbsp;&nbsp;&nbsp;encrypt().<br>
+<br>
+&nbsp;6.&nbsp;Cross&nbsp;Platform&nbsp;Compatability<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;While&nbsp;Bugzilla&nbsp;was&nbsp;written&nbsp;to&nbsp;be&nbsp;used&nbsp;on&nbsp;Unix&nbsp;based&nbsp;systems&nbsp;(and&nbsp;Unix/Linux&nbsp;is<br>
+&nbsp;&nbsp;&nbsp;&nbsp;still&nbsp;the&nbsp;only&nbsp;officially&nbsp;supported&nbsp;platform)&nbsp;there&nbsp;are&nbsp;many&nbsp;who&nbsp;desire/need&nbsp;to<br>
+&nbsp;&nbsp;&nbsp;&nbsp;run&nbsp;Bugzilla&nbsp;on&nbsp;Microsoft&nbsp;Windows&nbsp;boxes.&nbsp;&nbsp;Whenever&nbsp;possible,&nbsp;we&nbsp;should&nbsp;strive<br>
+&nbsp;&nbsp;&nbsp;&nbsp;not&nbsp;to&nbsp;make&nbsp;the&nbsp;lives&nbsp;of&nbsp;these&nbsp;people&nbsp;any&nbsp;more&nbsp;complicated&nbsp;and&nbsp;avoid&nbsp;doing&nbsp;things<br>
+&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;break&nbsp;Bugzilla's&nbsp;ability&nbsp;to&nbsp;run&nbsp;on&nbsp;multiple&nbsp;operating&nbsp;systems.<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;</P
+></DIV
></DIV
><DIV
CLASS="APPENDIX"
@@ -14823,7 +16093,7 @@ NAME="GFDL"
><P
>Version 1.1, March 2000</P
><A
-NAME="AEN2416"
+NAME="AEN2499"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -15322,7 +16592,7 @@ NAME="GFDL_HOWTO"
a copy of the License in the document and put the following
copyright and license notices just after the title page:</P
><A
-NAME="AEN2506"
+NAME="AEN2589"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
@@ -15361,7 +16631,7 @@ CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
-NAME="AEN2511"
+NAME="AEN2594"
>0-9, high ascii</A
></H1
><DL
@@ -15695,7 +16965,7 @@ NAME="GLOSS_P"
><DIV
CLASS="EXAMPLE"
><A
-NAME="AEN2602"
+NAME="AEN2685"
></A
><P
><B