Commit bf8ac755 authored by barnboy%trilobyte.net's avatar barnboy%trilobyte.net

Big checkin of docs to resolve every

known outstanding doc bug! Yay release. Still many things to fix. Aren't there always?
parent f210bb46
...@@ -38,12 +38,74 @@ point, but for now they are convenient and don't hurt anything. ...@@ -38,12 +38,74 @@ point, but for now they are convenient and don't hurt anything.
documentation. Please address comments and questions to the newsgroup: documentation. Please address comments and questions to the newsgroup:
news://news.mozilla.org/netscape/public/mozilla/webtools . news://news.mozilla.org/netscape/public/mozilla/webtools .
==========
HOW TO SET UP YOUR OWN SGML EDITING ENVIRONMENT:
==========
Trying to set up an SGML/XML Docbook editing environment the
first time can be a daunting task.
I use Linux-Mandrake, in part, because it has a fully-functional
SGML/XML Docbook editing environment included as part of the
distribution CD's. If you have easier instructions for how to
do this for a particular Linux distribution or platform, please
let the team know at the mailing list: mozilla-webtools@mozilla.org.
The following text is taken nearly verbatim from
http://bugzilla.mozilla.org/show_bug.cgi?id=95970, where I gave
these instructions to someone who wanted the greater manageability
maintaining a document in Docbook brings:
This is just off the top of my head, but here goes. Note some of these may
NOT be necessary, but I don't think they hurt anything by being installed.
rpms:
openjade
jadetex
docbook-dtd41-sgml
docbook-style-dsssl
docbook-dtd31-sgml
docbook-style-dsssl-doc
xemacs
psgml
sgml-tools
sgml-common
Set up environment:
in your .bashrc add this line (after installing above RPMS):
export SGML_CATALOG_FILES=/etc/sgml/catalog
Download "ldp.dsl" from the Resources page on linuxdoc.org. This is the
stylesheet I use to get the HTML and text output. It works well, and has a
nice, consistent look with the rest of the linuxdoc documents. You'll have to
adjust the paths in ldp.dsl at the top of the file to reflect the actual
locations of your docbook catalog files. I created a directory,
/usr/share/sgml/docbook/ldp, and put the ldp.dsl file there. I then edited
ldp.dsl and changed two lines near the top:
<!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets-1.62/html/docbook.dsl" CDATA
dsssl>
...and...
<!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets-1.62/print/docbook.dsl" CDATA
dsssl>
Note the difference is the top one points to the HTML docbook stylesheet,
and the next one points to the PRINT docbook stylesheet.
You know, this sure looks awful involved. Anyway, once you have this in
place, add to your .bashrc:
export LDP_HOME=/usr/share/sgml/docbook/ldp
I suggest xemacs for editing your SGML/XML Docbook documents. The darn
thing just works, and generally includes PSGML mode by default. You can
download psgml at http://www.sourceforge.net/projects/psgml.
==========
NOTES: NOTES:
==========
Here are the commands I use to maintain this documentation. Here are the commands I use to maintain this documentation.
You MUST have DocBook 4.1 set up correctly in order for this to work, You MUST have DocBook 4.1 set up correctly in order for this to work.
but there's only a single REMARK tag that's incompatible with 3.1.
Maybe I'll downgrade to DocBook 3.1 to make your life easier...
Substitute your own path to "ldp.dsl" for "$LDP_HOME". Substitute your own path to "ldp.dsl" for "$LDP_HOME".
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -81,16 +81,15 @@ NAME="ABOUTTHISGUIDE" ...@@ -81,16 +81,15 @@ NAME="ABOUTTHISGUIDE"
document you see today. document you see today.
</P </P
><P ><P
> Despite the lack of updates, Bugzilla is simply the best piece > Bugzilla is simply the best piece of bug-tracking software the
of bug-tracking software the world has ever seen. This document world has ever seen. This document is intended to be the
is intended to be the comprehensive guide to the installation, comprehensive guide to the installation, administration,
administration, maintenance, and use of the Bugzilla maintenance, and use of the Bugzilla bug-tracking system.
bug-tracking system.
</P </P
><P ><P
> This release of the Bugzilla Guide is the > This release of the Bugzilla Guide is the
<EM <EM
>2.14.0</EM >2.14</EM
> release. It is so named that it > release. It is so named that it
may match the current version of Bugzilla. The numbering may match the current version of Bugzilla. The numbering
tradition stems from that used for many free software projects, tradition stems from that used for many free software projects,
...@@ -120,7 +119,7 @@ TARGET="_top" ...@@ -120,7 +119,7 @@ TARGET="_top"
of Bugzilla, as of this writing (August 10, 2001) is 2.14; if of Bugzilla, as of this writing (August 10, 2001) is 2.14; if
something were seriously wrong with that edition of the Guide, something were seriously wrong with that edition of the Guide,
subsequent releases would receive an additional dotted-decimal subsequent releases would receive an additional dotted-decimal
digit to indicate the update (2.14.0.1, 2.14.0.2, etc.). digit to indicate the update (2.14.1, 2.14.2, etc.).
Got it? Good. Got it? Good.
</P </P
><P ><P
......
...@@ -177,11 +177,20 @@ COLOR="RED" ...@@ -177,11 +177,20 @@ COLOR="RED"
do with it? do with it?
</FONT </FONT
><P ><P
> So you followed the installation instructions to the letter, and > So you followed <SPAN
just logged into bugzilla with your super-duper god account and CLASS="QUOTE"
you are sitting at the query screen. Yet, you have nothing to >"<A
query. Your first act of business needs to be to setup the HREF="installation.html"
operating parameters for bugzilla. >Bugzilla Installation</A
>"</SPAN
> to the
letter, and logged into Bugzilla for the very first time with your
super-duper god account. You sit, contentedly staring at the
Bugzilla Query Screen, the worst of the whole mad business of
installing this terrific program behind you. It seems, though, you
have nothing yet to query! Your first act of business should be to
setup the operating parameters for Bugzilla so you can get busy
getting data into your bug tracker.
</P </P
></DIV ></DIV
><DIV ><DIV
......
...@@ -74,7 +74,23 @@ NAME="BONSAI" ...@@ -74,7 +74,23 @@ NAME="BONSAI"
>5.1. Bonsai</A >5.1. Bonsai</A
></H1 ></H1
><P ><P
>We need Bonsai integration information.</P >Bonsai is a web-based tool for managing <A
HREF="cvs.html"
>CVS, the Concurrent Versioning System</A
>
. Using Bonsai, administrators can control open/closed status
of trees, query a fast relational database back-end for change,
branch, and comment information, and view changes made since the
last time the tree was closed. These kinds of changes cause the
engineer responsible to be <SPAN
CLASS="QUOTE"
>"on the hook"</SPAN
> (include
cool URL link here for Hook policies at mozilla.org). Bonsai
also includes gateways to <A
HREF="tinderbox.html"
>Tinderbox, the Mozilla automated build management system</A
> and Bugzilla </P
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
......
...@@ -71,7 +71,7 @@ CLASS="SECTION" ...@@ -71,7 +71,7 @@ CLASS="SECTION"
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="CMDLINE" NAME="CMDLINE"
>D.2. Command-line Bugzilla Queries</A >D.3. Command-line Bugzilla Queries</A
></H1 ></H1
><P ><P
> Users can query Bugzilla from the command line using this suite > Users can query Bugzilla from the command line using this suite
......
...@@ -79,7 +79,7 @@ NAME="CONVENTIONS" ...@@ -79,7 +79,7 @@ NAME="CONVENTIONS"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN135" NAME="AEN129"
></A ></A
><P ><P
></P ></P
......
...@@ -74,7 +74,7 @@ NAME="COPYRIGHT" ...@@ -74,7 +74,7 @@ NAME="COPYRIGHT"
>1.2. Copyright Information</A >1.2. Copyright Information</A
></H1 ></H1
><A ><A
NAME="AEN76" NAME="AEN70"
></A ></A
><TABLE ><TABLE
BORDER="0" BORDER="0"
......
...@@ -74,7 +74,23 @@ NAME="CVS" ...@@ -74,7 +74,23 @@ NAME="CVS"
>5.2. CVS</A >5.2. CVS</A
></H1 ></H1
><P ><P
>CVS integration is best accomplished, at this point, using the Bugzilla Email Gateway.</P >CVS integration is best accomplished, at this point, using
the Bugzilla Email Gateway. There have been some files
submitted to allow greater CVS integration, but we need to make
certain that Bugzilla is not tied into one particular software
management package.</P
><P
> Follow the instructions in the FAQ for enabling Bugzilla e-mail
integration. Ensure that your check-in script sends an email to
your Bugzilla e-mail gateway with the subject of <SPAN
CLASS="QUOTE"
>"[Bug
XXXX]"</SPAN
>, and you can have CVS check-in comments append
to your Bugzilla bug. If you have your check-in script include
an @resolution field, you can even change the Bugzilla bug
state.
</P
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
......
...@@ -137,7 +137,7 @@ CLASS="SECTION" ...@@ -137,7 +137,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN2089" NAME="AEN2217"
>C.2.1. Bugzilla Database Basics</A >C.2.1. Bugzilla Database Basics</A
></H2 ></H2
><P ><P
...@@ -260,7 +260,7 @@ CLASS="SECTION" ...@@ -260,7 +260,7 @@ CLASS="SECTION"
><H3 ><H3
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN2118" NAME="AEN2246"
>C.2.1.1. Bugzilla Database Tables</A >C.2.1.1. Bugzilla Database Tables</A
></H3 ></H3
><P ><P
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -10,7 +10,7 @@ REL="HOME" ...@@ -10,7 +10,7 @@ REL="HOME"
TITLE="The Bugzilla Guide" TITLE="The Bugzilla Guide"
HREF="index.html"><LINK HREF="index.html"><LINK
REL="PREVIOUS" REL="PREVIOUS"
TITLE="Tinderbox" TITLE="Tinderbox/Tinderbox2"
HREF="tinderbox.html"><LINK HREF="tinderbox.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="The Bugzilla FAQ" TITLE="The Bugzilla FAQ"
...@@ -85,11 +85,12 @@ CLASS="SYNOPSIS" ...@@ -85,11 +85,12 @@ CLASS="SYNOPSIS"
></TR ></TR
></TABLE ></TABLE
><P ><P
>The future of Bugzilla is Bugzilla 3.0. Unfortunately, I do > The future of Bugzilla is Bugzilla 3.0. Unfortunately, I do
not have more information about it right now, and most of what not have more information about it right now, and most of what
went into the "future" section is now present. That stuff was went into the "future" section is now present. That stuff was
blue-sky a year ago; MattyT should have me a new document blue-sky a year ago; MattyT should have me a new document
sometime...</P sometime...
</P
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
...@@ -131,7 +132,7 @@ HREF="faq.html" ...@@ -131,7 +132,7 @@ HREF="faq.html"
WIDTH="33%" WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
>Tinderbox</TD >Tinderbox/Tinderbox2</TD
><TD ><TD
WIDTH="34%" WIDTH="34%"
ALIGN="center" ALIGN="center"
......
...@@ -78,7 +78,7 @@ CLASS="SECTION" ...@@ -78,7 +78,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN837" NAME="AEN916"
>3.5.1. Modifying Your Running System</A >3.5.1. Modifying Your Running System</A
></H2 ></H2
><P ><P
...@@ -111,7 +111,7 @@ CLASS="SECTION" ...@@ -111,7 +111,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN844" NAME="AEN923"
>3.5.2. Upgrading From Previous Versions</A >3.5.2. Upgrading From Previous Versions</A
></H2 ></H2
><P ><P
...@@ -228,33 +228,132 @@ CLASS="SECTION" ...@@ -228,33 +228,132 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN865" NAME="MOD_THROTTLE"
>3.5.4. UNIX Installation Instructions History</A >3.5.4. <TT
CLASS="FILENAME"
>mod_throttle</TT
> and Security</A
></H2
><P
> It is possible for a user, by mistake or on purpose, to access
the database many times in a row which can result in very slow
access speeds for other users. If your Bugzilla installation
is experiencing this problem , you may install the Apache
module <TT
CLASS="FILENAME"
>mod_throttle</TT
> which can limit
connections by ip-address. You may download this module at
<A
HREF="http://www.snert.com/Software/Throttle/"
TARGET="_top"
>http://www.snert.com/Software/Throttle/</A
>. Follow the instructions to install into your Apache install. <EM
>This module only functions with the Apache web server!</EM
>. You may use the <B
CLASS="COMMAND"
>ThrottleClientIP</B
> command provided by this module to accomplish this goal. See the <A
HREF="http://www.snert.com/Software/Throttle/"
TARGET="_top"
>Module Instructions</A
> for more information. </P
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="CONTENT_TYPE"
>3.5.5. Preventing untrusted Bugzilla content from executing malicious Javascript code</A
></H2
><P
>It is possible for a Bugzilla to execute malicious
Javascript code. Due to internationalization concerns, we are
unable to incorporate the code changes necessary to fulfill
the CERT advisory requirements mentioned in <A
HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3"
TARGET="_top"
>http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A
>. Executing the following code snippet from a UNIX command shell will rectify the problem if your Bugzilla installation is intended for an English-speaking audience. As always, be sure your Bugzilla installation has a good backup before making changes, and I recommend you understand what the script is doing before executing it. </P
><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
do cat $i | sed 's/Content-type\: text\/html/Content-Type: text\/html\; charset=ISO-8859-1/' &#62;$i.tmp; \
mv $i.tmp $i; done
</PRE
></FONT
></TD
></TR
></TABLE
></P
><P
> All this one-liner command does is search for all instances of
<SPAN
CLASS="QUOTE"
>"Content-type: text/html"</SPAN
> and replaces it with
<SPAN
CLASS="QUOTE"
>"Content-Type: text/html; charset=ISO-8859-1"</SPAN
>.
This specification prevents possible Javascript attacks on the
browser, and is suggested for all English-speaking sites. For
non-english-speaking Bugzilla sites, I suggest changing
<SPAN
CLASS="QUOTE"
>"ISO-8859-1"</SPAN
>, above, to <SPAN
CLASS="QUOTE"
>"UTF-8"</SPAN
>.
</P
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="AEN964"
>3.5.6. UNIX Installation Instructions History</A
></H2 ></H2
><P ><P
> This document was originally adapted from the Bonsai installation > This document was originally adapted from the Bonsai
instructions by Terry Weissman &#60;terry@mozilla.org&#62;. installation instructions by Terry Weissman
&#60;terry@mozilla.org&#62;.
</P </P
><P ><P
> The February 25, 1999 re-write of this page was done by Ry4an Brase > The February 25, 1999 re-write of this page was done by Ry4an
&#60;ry4an@ry4an.org&#62;, with some edits by Terry Weissman, Bryce Nesbitt, Brase &#60;ry4an@ry4an.org&#62;, with some edits by Terry
Martin Pool, &#38; Dan Mosedale (But don't send bug reports to them; Weissman, Bryce Nesbitt, Martin Pool, &#38; Dan Mosedale (But
report them using bugzilla, at http://bugzilla.mozilla.org/enter_bug.cgi , don't send bug reports to them; report them using bugzilla, at
project Webtools, component Bugzilla). http://bugzilla.mozilla.org/enter_bug.cgi , project Webtools,
component Bugzilla).
</P </P
><P ><P
> This document was heavily modified again Wednesday, March 07 2001 to > This document was heavily modified again Wednesday, March 07
reflect changes for Bugzilla 2.12 release by Matthew P. Barnson. The 2001 to reflect changes for Bugzilla 2.12 release by Matthew
securing MySQL section should be changed to become standard procedure P. Barnson. The securing MySQL section should be changed to
for Bugzilla installations. become standard procedure for Bugzilla installations.
</P </P
><P ><P
> Finally, the README in its entirety was marked up in SGML and included into > Finally, the README in its entirety was marked up in SGML and
the Guide on April 24, 2001 by Matt Barnson. Since that time, it's undergone included into the Guide on April 24, 2001 by Matt Barnson.
extensive modification as Bugzilla grew. Since that time, it's undergone extensive modification as
Bugzilla grew.
</P </P
><P ><P
> Comments from people using this Guide for the first time are particularly welcome. > Comments from people using this Guide for the first time are
particularly welcome.
</P </P
></DIV ></DIV
></DIV ></DIV
......
...@@ -141,7 +141,7 @@ HREF="gfdl_howto.html" ...@@ -141,7 +141,7 @@ HREF="gfdl_howto.html"
><P ><P
>Version 1.1, March 2000</P >Version 1.1, March 2000</P
><A ><A
NAME="AEN2249" NAME="AEN2416"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
......
...@@ -78,7 +78,7 @@ NAME="GFDL_HOWTO" ...@@ -78,7 +78,7 @@ NAME="GFDL_HOWTO"
a copy of the License in the document and put the following a copy of the License in the document and put the following
copyright and license notices just after the title page:</P copyright and license notices just after the title page:</P
><A ><A
NAME="AEN2339" NAME="AEN2506"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
......
...@@ -68,7 +68,7 @@ CLASS="GLOSSDIV" ...@@ -68,7 +68,7 @@ CLASS="GLOSSDIV"
><H1 ><H1
CLASS="GLOSSDIV" CLASS="GLOSSDIV"
><A ><A
NAME="AEN2344" NAME="AEN2511"
>0-9, high ascii</A >0-9, high ascii</A
></H1 ></H1
><DL ><DL
...@@ -110,11 +110,27 @@ NAME="GLOSS_A" ...@@ -110,11 +110,27 @@ NAME="GLOSS_A"
><DL ><DL
><DT ><DT
><B ><B
>There are no entries for A</B >Apache</B
></DT ></DT
><DD ><DD
><P ><P
></P >In this context, Apache is the web server most
commonly used for serving up
<I
CLASS="GLOSSTERM"
>Bugzilla</I
> pages. Contrary to
popular belief, the apache web server has nothing to do
with the ancient and noble Native American tribe, but
instead derived its name from the fact that it was
<SPAN
CLASS="QUOTE"
>"a patchy"</SPAN
> version of the original
<SPAN
CLASS="ACRONYM"
>NCSA</SPAN
> world-wide-web server.</P
></DD ></DD
></DL ></DL
></DIV ></DIV
...@@ -179,6 +195,139 @@ CLASS="QUOTE" ...@@ -179,6 +195,139 @@ CLASS="QUOTE"
> is moderately flexible according to > is moderately flexible according to
the needs of the organization using it, though.</P the needs of the organization using it, though.</P
></DD ></DD
><DT
><B
>Bugzilla</B
></DT
><DD
><P
> Bugzilla is the industry-standard bug tracking system. It
is quite popular among Open Source enthusiasts.
</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_C"
></A
></H1
><DL
><DT
><A
NAME="GLOSS_COMPONENT"
><B
>Component</B
></A
></DT
><DD
><P
> A Component is a subsection of a Product. It should be a
narrow category, tailored to your organization. All
Products must contain at least one Component (and, as a
matter of fact, creating a Product with no Components will
create an error in Bugzilla).
</P
></DD
><DT
><A
NAME="GLOSS_CPAN"
><B
><SPAN
CLASS="ACRONYM"
>CPAN</SPAN
></B
></A
></DT
><DD
><P
><SPAN
CLASS="ACRONYM"
>CPAN</SPAN
> stands for the
<SPAN
CLASS="QUOTE"
>"Comprehensive Perl Archive Network"</SPAN
>. CPAN
maintains a large number of extremely useful
<I
CLASS="GLOSSTERM"
>Perl</I
> modules. By themselves, Perl
modules generally do nothing, but when used as part of a
larger program, they provide much-needed algorithms and
functionality.</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_D"
>D</A
></H1
><DL
><DT
><B
>daemon</B
></DT
><DD
><P
>A daemon is a computer program which runs in the
background. In general, most daemons are started at boot
time via System V init scripts, or through RC scripts on
BSD-based systems. <I
CLASS="GLOSSTERM"
>mysqld</I
>, the
MySQL server, and <I
CLASS="GLOSSTERM"
>apache</I
>, a web
server, are generally run as daemons.</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_G"
></A
></H1
><DL
><DT
><B
>Groups</B
></DT
><DD
><P
>The word <SPAN
CLASS="QUOTE"
>"Groups"</SPAN
> has a very special
meaning to Bugzilla. Bugzilla's main security mechanism
comes by lumping users into groups, and assigning those
groups certain privileges to
<I
CLASS="GLOSSTERM"
>Products</I
> and
<I
CLASS="GLOSSTERM"
>Components</I
> in the
<I
CLASS="GLOSSTERM"
>Bugzilla</I
> database.</P
></DD
></DL ></DL
></DIV ></DIV
><DIV ><DIV
...@@ -208,6 +357,33 @@ CLASS="GLOSSDIV" ...@@ -208,6 +357,33 @@ CLASS="GLOSSDIV"
><H1 ><H1
CLASS="GLOSSDIV" CLASS="GLOSSDIV"
><A ><A
NAME="GLOSS_M"
>M</A
></H1
><DL
><DT
><B
>mysqld</B
></DT
><DD
><P
>mysqld is the name of the
<I
CLASS="GLOSSTERM"
>daemon</I
> for the MySQL database. In
general, it is invoked automatically through the use of
the System V init scripts on GNU/Linux and AT&#38;T System
V-based systems, such as Solaris and HP/UX, or through the
RC scripts on BSD-based systems.</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_P" NAME="GLOSS_P"
>P</A >P</A
></H1 ></H1
...@@ -226,7 +402,7 @@ NAME="GLOSS_P" ...@@ -226,7 +402,7 @@ NAME="GLOSS_P"
><DIV ><DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN2389" NAME="AEN2602"
></A ></A
><P ><P
><B ><B
...@@ -270,6 +446,22 @@ CLASS="QUOTE" ...@@ -270,6 +446,22 @@ CLASS="QUOTE"
>.</P >.</P
></DIV ></DIV
></DD ></DD
><DT
><B
>Perl</B
></DT
><DD
><P
>First written by Larry Wall, Perl is a remarkable
program language. It has the benefits of the flexibility
of an interpreted scripting language (such as shell
script), combined with the speed and power of a compiled
language, such as C. <I
CLASS="GLOSSTERM"
>Bugzilla</I
> is
maintained in Perl.</P
></DD
></DL ></DL
></DIV ></DIV
><DIV ><DIV
...@@ -323,8 +515,11 @@ NAME="GLOSS_R" ...@@ -323,8 +515,11 @@ NAME="GLOSS_R"
></H1 ></H1
><DL ><DL
><DT ><DT
><A
NAME="GLOSS_RECURSION"
><B ><B
>Recursion</B >Recursion</B
></A
></DT ></DT
><DD ><DD
><P ><P
...@@ -347,13 +542,114 @@ CLASS="GLOSSDIV" ...@@ -347,13 +542,114 @@ CLASS="GLOSSDIV"
><H1 ><H1
CLASS="GLOSSDIV" CLASS="GLOSSDIV"
><A ><A
NAME="GLOSS_S"
>S</A
></H1
><DL
><DT
><B
><SPAN
CLASS="ACRONYM"
>SGML</SPAN
></B
></DT
><DD
><P
><SPAN
CLASS="ACRONYM"
>SGML</SPAN
> stands for <SPAN
CLASS="QUOTE"
>"Standard
Generalized Markup Language"</SPAN
>. Created in the
1980's to provide an extensible means to maintain
documentation based upon content instead of presentation,
<SPAN
CLASS="ACRONYM"
>SGML</SPAN
> has withstood the test of time as
a robust, powerful language.
<I
CLASS="GLOSSTERM"
><SPAN
CLASS="ACRONYM"
>XML</SPAN
></I
> is the
<SPAN
CLASS="QUOTE"
>"baby brother"</SPAN
> of SGML; any valid
<SPAN
CLASS="ACRONYM"
>XML</SPAN
> document it, by definition, a valid
<SPAN
CLASS="ACRONYM"
>SGML</SPAN
> document. The document you are
reading is written and maintained in
<SPAN
CLASS="ACRONYM"
>SGML</SPAN
>, and is also valid
<SPAN
CLASS="ACRONYM"
>XML</SPAN
> if you modify the Document Type
Definition.</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_T"
>T</A
></H1
><DL
><DT
><A
NAME="GLOSS_TARGET_MILESTONE"
><B
>Target Milestone</B
></A
></DT
><DD
><P
> Target Milestones are Product goals. They are
configurable on a per-Product basis. Most software
development houses have a concept of
<SPAN
CLASS="QUOTE"
>"milestones"</SPAN
> where the people funding a
project expect certain functionality on certain dates.
Bugzilla facilitates meeting these milestones by giving
you the ability to declare by which milestone a bug will be
fixed, or an enhancement will be implemented.
</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_Z" NAME="GLOSS_Z"
>Z</A >Z</A
></H1 ></H1
><DL ><DL
><DT ><DT
><A
NAME="ZARRO-BOOGS-FOUND"
><B ><B
>Zarro Boogs Found</B >Zarro Boogs Found</B
></A
></DT ></DT
><DD ><DD
><P ><P
......
...@@ -16,7 +16,7 @@ REL="PREVIOUS" ...@@ -16,7 +16,7 @@ REL="PREVIOUS"
TITLE="MySQL Bugzilla Database Introduction" TITLE="MySQL Bugzilla Database Introduction"
HREF="dbdoc.html"><LINK HREF="dbdoc.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="Bugzilla Variants" TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"></HEAD HREF="variants.html"></HEAD
><BODY ><BODY
CLASS="SECTION" CLASS="SECTION"
...@@ -335,7 +335,7 @@ HREF="database.html" ...@@ -335,7 +335,7 @@ HREF="database.html"
WIDTH="33%" WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
>Bugzilla Variants</TD >Bugzilla Variants and Competitors</TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
......
...@@ -16,7 +16,7 @@ REL="PREVIOUS" ...@@ -16,7 +16,7 @@ REL="PREVIOUS"
TITLE="Why Should We Use Bugzilla?" TITLE="Why Should We Use Bugzilla?"
HREF="why.html"><LINK HREF="why.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="What's in it for me?" TITLE="Where can I find my user preferences?"
HREF="init4me.html"></HEAD HREF="init4me.html"></HEAD
><BODY ><BODY
CLASS="SECTION" CLASS="SECTION"
...@@ -98,15 +98,17 @@ VALIGN="TOP" ...@@ -98,15 +98,17 @@ VALIGN="TOP"
></TABLE ></TABLE
><P ><P
> Bugzilla is a large, complex system. Describing how to use it > Bugzilla is a large, complex system. Describing how to use it
requires some time. If you are only interested in installing or administering requires some time. If you are only interested in installing or
a Bugzilla installation, please consult the Installing and Administering administering a Bugzilla installation, please consult the
Bugzilla portions of this Guide. This section is principally aimed towards Installing and Administering Bugzilla portions of this Guide.
developing end-user mastery of Bugzilla, so you may fully enjoy the benefits This section is principally aimed towards developing end-user
afforded by using this reliable open-source bug-tracking software. mastery of Bugzilla, so you may fully enjoy the benefits
afforded by using this reliable open-source bug-tracking
software.
</P </P
><P ><P
> Throughout this portion of the Guide, we will refer to user account > Throughout this portion of the Guide, we will refer to user
options available at the Bugzilla test installation, account options available at the Bugzilla test installation,
<A <A
HREF="http://landfill.tequilarista.org/" HREF="http://landfill.tequilarista.org/"
TARGET="_top" TARGET="_top"
...@@ -133,17 +135,13 @@ ALT="Note"></TD ...@@ -133,17 +135,13 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> Some people have run into difficulties completing this tutorial. If > Some people have run into difficulties completing this
you run into problems, please check the updated, online documentation available tutorial. If you run into problems, please check the
at <A updated online documentation available at <A
HREF="http://www.trilobyte.net/barnsons/" HREF="http://www.trilobyte.net/barnsons/"
TARGET="_top" TARGET="_top"
>http://www.trilobyte.net/barnsons</A >http://www.trilobyte.net/barnsons</A
>. >. If you're still stumped, please subscribe to the newsgroup and provide details of exactly what's stumping you! If enough people complain, I'll have to fix it in the next version of this Guide. You can subscribe to the newsgroup at <A
If you're still stumped, please subscribe to the newsgroup and provide details of exactly
what's stumping you! If enough people complain, I'll have to fix it in the next
version of this Guide. You can subscribe to the newsgroup at
<A
HREF="news://news.mozilla.org/netscape.public.mozilla.webtools" HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
TARGET="_top" TARGET="_top"
> news://news.mozilla.org/netscape.public.mozilla.webtools</A > news://news.mozilla.org/netscape.public.mozilla.webtools</A
...@@ -153,12 +151,13 @@ TARGET="_top" ...@@ -153,12 +151,13 @@ TARGET="_top"
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
> > Although Landfill serves as a great introduction to
Although Landfill serves as a great introduction to Bugzilla, it does not offer Bugzilla, it does not offer all the options you would have as a
all the options you would have as a user on your own installation of Bugzilla, user on your own installation of Bugzilla, nor can it do more
nor can it do more than serve as a general introduction to Bugzilla. Additionally, than serve as a general introduction to Bugzilla. Additionally,
Landfill often runs cutting-edge versions of Bugzilla for testing, so some things Landfill often runs cutting-edge versions of Bugzilla for
may work slightly differently than mentioned here. testing, so some things may work slightly differently than
mentioned here.
</P </P
><DIV ><DIV
CLASS="SECTION" CLASS="SECTION"
...@@ -169,11 +168,11 @@ NAME="MYACCOUNT" ...@@ -169,11 +168,11 @@ NAME="MYACCOUNT"
>2.3.1. Create a Bugzilla Account</A >2.3.1. Create a Bugzilla Account</A
></H2 ></H2
><P ><P
> First things first! If you want to use Bugzilla, first you need to create > First things first! If you want to use Bugzilla, first you
an account. Consult with the administrator responsible for your installation need to create an account. Consult with the administrator
of Bugzilla for the URL you should use to access it. responsible for your installation of Bugzilla for the URL you
If you're test-driving the end-user Bugzilla experience, use this URL: should use to access it. If you're test-driving the end-user
<A Bugzilla experience, use this URL: <A
HREF="http://landfill.tequilarista.org/bugzilla-tip/" HREF="http://landfill.tequilarista.org/bugzilla-tip/"
TARGET="_top" TARGET="_top"
> http://landfill.tequilarista.org/bugzilla-tip/</A > http://landfill.tequilarista.org/bugzilla-tip/</A
...@@ -190,23 +189,40 @@ TYPE="1" ...@@ -190,23 +189,40 @@ TYPE="1"
></LI ></LI
><LI ><LI
><P ><P
> Enter your "E-mail address" and "Real Name" (or whatever name you want to call yourself) > Enter your "E-mail address" and "Real Name" (or whatever
in the spaces provided, then select the "Create Account" button. name you want to call yourself) in the spaces provided,
then select the "Create Account" button.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Within 5-10 minutes, you should receive an email to the address you provided above, > Within moments, you should receive an email to the address
which contains your login name (generally the same as the email address), and you provided above, which contains your login name
a password you can use to access your account. This password is randomly generated, (generally the same as the email address), and a password
and should be changed at your nearest opportunity (we'll go into how to do it later). you can use to access your account. This password is
randomly generated, and should be changed at your nearest
opportunity (we'll go into how to do it later).
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Click the "Log In" link in the yellow area at the bottom of the page in your browser, > Click the <SPAN
then enter your "E-mail address" and "Password" you just received into the spaces provided, CLASS="QUOTE"
and select "Login". >"Log In"</SPAN
> link in the yellow area at
the bottom of the page in your browser, then enter your
<SPAN
CLASS="QUOTE"
>"E-mail address"</SPAN
> and <SPAN
CLASS="QUOTE"
>"Password"</SPAN
>
you just received into the spaces provided, and select
<SPAN
CLASS="QUOTE"
>"Login"</SPAN
>.
<DIV <DIV
CLASS="NOTE" CLASS="NOTE"
><P ><P
...@@ -228,9 +244,17 @@ ALT="Note"></TD ...@@ -228,9 +244,17 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> If you ever forget your password, you can come back to this page, enter your > If you ever forget your password, you can come back to
"E-mail address", then select the "E-mail me a password" button to have your password this page, enter your <SPAN
mailed to you again so that you can login. CLASS="QUOTE"
>"E-mail address"</SPAN
>,
then select the <SPAN
CLASS="QUOTE"
>"E-mail me a password"</SPAN
>
button to have your password mailed to you again so
that you can login.
</P </P
></TD ></TD
></TR ></TR
...@@ -258,11 +282,21 @@ ALT="Caution"></TD ...@@ -258,11 +282,21 @@ ALT="Caution"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> Many modern browsers include an "Auto-Complete" or "Form Fill" feature to > Many modern browsers include an
remember the user names and passwords you type in at many sites. Unfortunately, <SPAN
sometimes they attempt to "guess" what you will put in as your password, and guess CLASS="QUOTE"
wrong. If you notice a text box is already filled out, please overwrite the contents >"Auto-Complete"</SPAN
of the text box so you can be sure to input the correct information. > or <SPAN
CLASS="QUOTE"
>"Form
Fill"</SPAN
> feature to remember the user names and
passwords you type in at many sites. Unfortunately,
sometimes they attempt to guess what you will put in
as your password, and guess wrong. If you notice a
text box is already filled out, please overwrite the
contents of the text box so you can be sure to input
the correct information.
</P </P
></TD ></TD
></TR ></TR
...@@ -273,11 +307,15 @@ VALIGN="TOP" ...@@ -273,11 +307,15 @@ VALIGN="TOP"
></LI ></LI
></OL ></OL
><P ><P
> Congratulations! If you followed these directions, you now are the > Congratulations! If you followed these directions, you now
proud owner of a user account on landfill.tequilarista.org (Landfill) or are the proud owner of a user account on
your local Bugzilla install. You should now see in your browser a landfill.tequilarista.org (Landfill) or your local Bugzilla
page called the "Bugzilla Query Page". It may look daunting, but install. You should now see in your browser a page called the
with this Guide to walk you through it, you will master it in no time. <SPAN
CLASS="QUOTE"
>"Bugzilla Query Page"</SPAN
>. It may look daunting, but with this
Guide to walk you through it, you will master it in no time.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -289,16 +327,27 @@ NAME="QUERY" ...@@ -289,16 +327,27 @@ NAME="QUERY"
>2.3.2. The Bugzilla Query Page</A >2.3.2. The Bugzilla Query Page</A
></H2 ></H2
><P ><P
> The Bugzilla Query Page is the heart and soul of Bugzilla. It is the master > The Bugzilla Query Page is the heart and soul of the Bugzilla
interface where you can find any bug report, comment, or patch currently in the Bugzilla user experience. It is the master interface where you can
system. We'll go into how to create your own bug report later on. find any bug report, comment, or patch currently in the
Bugzilla system. We'll go into how to create your own bug
report later on.
</P </P
><P ><P
> There are efforts underway to simplify query usage. If you have a local installation > There are efforts underway to simplify query usage. If you
of Bugzilla 2.12 or higher, you should have "quicksearch.html" available have a local installation of Bugzilla 2.12 or higher, you
to use and simplify your searches. There is also, or shortly will be, a helper should have <TT
for the query interface, called "queryhelp.cgi". Landfill tends to run the latest code, CLASS="FILENAME"
so these two utilities should be available there for your perusal. >quicksearch.html</TT
> available to
use and simplify your searches. There is also a helper for
the query interface, called
<TT
CLASS="FILENAME"
>queryhelp.cgi</TT
>. Landfill tends to run the
latest code, so these two utilities should be available there
for your perusal.
</P </P
><P ><P
> At this point, please visit the main Bugzilla site, > At this point, please visit the main Bugzilla site,
...@@ -309,23 +358,32 @@ TARGET="_top" ...@@ -309,23 +358,32 @@ TARGET="_top"
>, to see a more fleshed-out query page. >, to see a more fleshed-out query page.
</P </P
><P ><P
> The first thing you need to notice about the Bugzilla Query Page is that > The first thing you need to notice about the Bugzilla Query
nearly every box you see on your screen has a hyperlink nearby, explaining what Page is that nearly every box you see on your screen has a
it is or what it does. Near the upper-left-hand corner of your browser window hyperlink nearby, explaining what it is or what it does. Near
you should see the word "Status" underlined. Select it. the upper-left-hand corner of your browser window you should
see the word <SPAN
CLASS="QUOTE"
>"Status"</SPAN
> underlined. Select it.
</P </P
><P ><P
> Notice the page that popped up? Every underlined word you see on your screen > Notice the page that popped up? Every underlined word you see
is a hyperlink that will take you to context-sensitive help. on your screen is a hyperlink that will take you to
Click around for a while, and learn what everything here does. To return context-sensitive help. Click around for a while, and learn
to the query interface after pulling up a help page, use the "Back" button in what everything here does. To return to the query interface
your browser. after pulling up a help page, use the <SPAN
CLASS="QUOTE"
>"Back"</SPAN
>
button in your browser.
</P </P
><P ><P
> I'm sure that after checking out the online help, you are now an Expert > I'm sure that after checking out the online help, you are now
on the Bugzilla Query Page. If, however, you feel you haven't mastered it yet, an expert on the Bugzilla Query Page. If, however, you feel
let me walk you through making a few successful queries to find out what there you haven't mastered it yet, let me walk you through making a
are in the Bugzilla bug-tracking system itself. few successful queries to find out what there are in the
Bugzilla bug-tracking system itself.
</P </P
><P ><P
></P ></P
...@@ -333,27 +391,37 @@ TARGET="_top" ...@@ -333,27 +391,37 @@ TARGET="_top"
TYPE="1" TYPE="1"
><LI ><LI
><P ><P
> Ensure you are back on the "Bugzilla Query Page" > Ensure you are back on the <SPAN
Do nothing in the boxes marked "Status", "Resolution", "Platform", "OpSys", CLASS="QUOTE"
"Priority", or "Severity". The default query for "Status" is to find all bugs that >"Bugzilla Query
are NEW, ASSIGNED, or REOPENED, which is what we want. If you don't select anything Page"</SPAN
in the other 5 scrollboxes there, then you are saying that "any of these are OK"; >. Do nothing in the boxes marked "Status",
we're not locking ourselves into only finding bugs on the "DEC" Platform, or "Windows 95" "Resolution", "Platform", "OpSys", "Priority", or
OpSys (Operating System). You're smart, I think you have it figured out. "Severity". The default query for "Status" is to find all
bugs that are NEW, ASSIGNED, or REOPENED, which is what we
want. If you don't select anything in the other 5
scrollboxes there, then you are saying that "any of these
are OK"; we're not locking ourselves into only finding
bugs on the "DEC" Platform, or "Windows 95" OpSys
(Operating System). You're smart, I think you have it
figured out.
</P </P
><P ><P
> Basically, selecting <EM > Basically, selecting <EM
>anything</EM >anything</EM
> on the query page narrows your search > on the
down. Leaving stuff unselected, or text boxes unfilled, broadens your search! query page narrows your search down. Leaving stuff
unselected, or text boxes unfilled, broadens your search.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> You see the box immediately below the top six boxes that contains an "Email" text box, > You see the box immediately below the top six boxes that
with the words "matching as", a drop-down selection box, then some checkboxes with contains an "Email" text box, with the words "matching
"Assigned To" checked by default? This allows you to filter your search down based upon as", a drop-down selection box, then some checkboxes with
email address. Let's put my email address in there, and see what happens. "Assigned To" checked by default? This allows you to
filter your search down based upon email address. Let's
put my email address in there, and see what happens.
</P </P
><P ><P
> Type "barnboy@trilobyte.net" in the top Email text box. > Type "barnboy@trilobyte.net" in the top Email text box.
...@@ -361,24 +429,29 @@ TYPE="1" ...@@ -361,24 +429,29 @@ TYPE="1"
></LI ></LI
><LI ><LI
><P ><P
> Let's narrow the search some more. Scroll down until you find the box with the word > Let's narrow the search some more. Scroll down until you
"Program" over the top of it. This is where we can narrow our search down to only find the box with the word "Program" over the top of it.
specific products (software programs or product lines) in our Bugzilla database. This is where we can narrow our search down to only
Please notice the box is a <EM specific products (software programs or product lines) in
our Bugzilla database. Please notice the box is a
<EM
>scrollbox</EM >scrollbox</EM
>. Using the down arrow on the >. Using the down arrow on
scrollbox, scroll down until you can see an entry called "Webtools". Select this entry. the scrollbox, scroll down until you can see an entry
called "Webtools". Select this entry.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Did you notice that some of the boxes to the right changed when you selected "Webtools"? > Did you notice that some of the boxes to the right changed
Every Program (or Product) has different Versions, Components, and Target Milestones associated when you selected "Webtools"? Every Program (or Product)
with it. A "Version" is the number of a software program. has different Versions, Components, and Target Milestones
associated with it. A "Version" is the number of a
software program.
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN297" NAME="AEN307"
></A ></A
><P ><P
><B ><B
...@@ -387,42 +460,45 @@ NAME="AEN297" ...@@ -387,42 +460,45 @@ NAME="AEN297"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN299" NAME="AEN309"
></A ></A
><P ><P
></P ></P
><P ><P
> Do you remember the hype in 1995 when Microsoft Windows 95(r) was released? > Do you remember the hype in 1995 when Microsoft
It may have been several years Windows 95(r) was released? It may have been several
ago, but Microsoft(tm) spent over $300 Million advertising this new Version of their years ago, but Microsoft(tm) spent over $300 Million
software. Three years later, they released Microsoft Windows 98(r), advertising this new Version of their software.
another new version, to great fanfare, and then in 2000 quietly Three years later, they released Microsoft Windows
released Microsoft Windows ME(Millenium Edition)(r). 98(r), another new version, to great fanfare, and
</P then in 2000 quietly released Microsoft Windows
><P ME(Millenium Edition)(r).
> Software "Versions" help a manufacturer differentiate </P
their current product from their ><P
previous products. Most do not identify their products > Software "Versions" help a manufacturer
by the year they were released. differentiate their current product from their
Instead, the "original" version of their software will previous products. Most do not identify their
often be numbered "1.0", with products by the year they were released. Instead,
small bug-fix releases on subsequent tenths of a digit. In most cases, it's not the "original" version of their software will often
a decimal number; for instance, often 1.9 is an <EM be numbered "1.0", with small bug-fix releases on
subsequent tenths of a digit. In most cases, it's
not a decimal number; for instance, often 1.9 is an
<EM
>older</EM >older</EM
> version > version of the software
of the software than 1.11, than 1.11, but is a <EM
but is a <EM
>newer</EM >newer</EM
> version than 1.1.1. >
version than 1.1.1.
</P </P
><P ><P
> In general, a "Version" in Bugzilla should refer to > In general, a "Version" in Bugzilla should refer to
<EM <EM
>released</EM >released</EM
> > products, not products
products, not products that have not yet been released that have not yet been released to the public.
to the public. Forthcoming products Forthcoming products are what the Target Milestone
are what the Target Milestone field is for. field is for.
</P </P
><P ><P
></P ></P
...@@ -439,7 +515,7 @@ NAME="AEN299" ...@@ -439,7 +515,7 @@ NAME="AEN299"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN307" NAME="AEN317"
></A ></A
><P ><P
><B ><B
...@@ -448,7 +524,7 @@ NAME="AEN307" ...@@ -448,7 +524,7 @@ NAME="AEN307"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN309" NAME="AEN319"
></A ></A
><P ><P
></P ></P
...@@ -535,26 +611,25 @@ BORDER="0" ...@@ -535,26 +611,25 @@ BORDER="0"
> >
</P </P
><P ><P
> A "Milestone", or "Target Milestone" is a often a planned future "Version" of a > A "Milestone", or "Target Milestone" is a often a planned
product. In many cases, though, Milestones simply represent significant dates for future "Version" of a product. In many cases, though,
a developer. Having certain features in your Product is frequently Milestones simply represent significant dates for a
tied to revenue (money) developer. Having certain features in your Product is
the developer will receive if the features work by the time she frequently tied to revenue (money) the developer will
reaches the Target Milestone. receive if the features work by the time she reaches the
Target Milestones are a great tool to organize your time. Target Milestone. Target Milestones are a great tool to
If someone will pay you $100,000 for organize your time. If someone will pay you $100,000 for
incorporating certain features by a certain date, incorporating certain features by a certain date, those
those features by that Milestone date become features by that Milestone date become a very high
a very high priority. Milestones tend to be highly malleable creatures, priority. Milestones tend to be highly malleable
though, that appear creatures, though, that appear to be in reach but are out
to be in reach but are out of reach by the time the important day arrives. of reach by the time the important day arrives.
</P </P
><P ><P
> The Bugzilla Project has set up Milestones for future > The Bugzilla Project has set up Milestones for future
Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However, Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However, a
a Target Milestone can just as easily be a specific date, Target Milestone can just as easily be a specific date,
code name, or weird alphanumeric code name, or weird alphanumeric combination, like "M19".
combination, like "M19".
</P </P
></LI ></LI
><LI ><LI
...@@ -571,25 +646,25 @@ BORDER="0" ...@@ -571,25 +646,25 @@ BORDER="0"
></LI ></LI
><LI ><LI
><P ><P
> Congratulations! You've completed your first Query, and have before you the Bug List > Congratulations! You've completed your first Query, and
of the author of this Guide, Matthew P. Barnson (barnboy@trilobyte.net). If I'm have before you the Bug List of the author of this Guide,
doing well, Matthew P. Barnson (barnboy@trilobyte.net). If I'm doing
you'll have a cryptic "Zarro Boogs Found" message on your screen. It is just well, you'll have a cryptic "Zarro Boogs Found" message on
a happy hacker's way of saying "Zero Bugs Found". However, I am fairly certain I will your screen. It is just a happy hacker's way of saying
"Zero Bugs Found". However, I am fairly certain I will
always have some bugs assigned to me that aren't done yet, always have some bugs assigned to me that aren't done yet,
so you won't often see that message! so you won't often see that message!
</P </P
></LI ></LI
></OL ></OL
><P ><P
> I encourage you to click the bug numbers in the left-hand column and examine > I encourage you to click the bug numbers in the left-hand
my bugs. Also notice that if you click the underlined column and examine my bugs. Also notice that if you click the
links near the top of this page, they do underlined links near the top of this page, they do not take
not take you to context-sensitive help here, you to context-sensitive help here, but instead sort the
but instead sort the columns of bugs on the screen! columns of bugs on the screen! When you need to sort your bugs
When you need to sort your bugs by priority, severity, by priority, severity, or the people they are assigned to,
or the people they are assigned to, this this is a tremendous timesaver.
is a tremendous timesaver.
</P </P
><P ><P
> A couple more interesting things about the Bug List page: > A couple more interesting things about the Bug List page:
...@@ -602,37 +677,37 @@ BORDER="0" ...@@ -602,37 +677,37 @@ BORDER="0"
><TD ><TD
><EM ><EM
>Change Columns</EM >Change Columns</EM
>: >: by selecting
by selecting this link, you can show all kinds this link, you can show all kinds of information in the
of information in the Bug List</TD Bug List</TD
></TR ></TR
><TR ><TR
><TD ><TD
><EM ><EM
>Change several bugs at once</EM >Change several bugs at once</EM
>: >: If
If you have sufficient rights to change all you have sufficient rights to change all the bugs shown in
the bugs shown in the Bug List, you can mass-modify them. the Bug List, you can mass-modify them. This is a big
This is a big time-saver.</TD time-saver.</TD
></TR ></TR
><TR ><TR
><TD ><TD
><EM ><EM
>Send mail to bug owners</EM >Send mail to bug owners</EM
>: >: If you
If you have many related bugs, you can request have many related bugs, you can request an update from
an update from every person who owns the bugs in every person who owns the bugs in the Bug List asking them
the Bug List asking them the status.</TD the status.</TD
></TR ></TR
><TR ><TR
><TD ><TD
><EM ><EM
>Edit this query</EM >Edit this query</EM
>: >: If you didn't
If you didn't get exactly the results you were looking for, get exactly the results you were looking for, you can
you can return to the Query page through this link and make return to the Query page through this link and make small
small revisions to the query you just made so revisions to the query you just made so you get more
you get more accurate results.</TD accurate results.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
...@@ -661,17 +736,14 @@ ALT="Note"></TD ...@@ -661,17 +736,14 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> There are many more options to the Bugzilla Query Page > There are many more options to the Bugzilla Query Page and
and the Bug List than I have shown you. the Bug List than I have shown you. But this should be
But this should be enough for you to learn to get around. enough for you to learn to get around. I encourage you to
I encourage you to check out the check out the <A
<A
HREF="http://www.mozilla.org/bugs/" HREF="http://www.mozilla.org/bugs/"
TARGET="_top" TARGET="_top"
>Bugzilla Home Page</A >Bugzilla Home Page</A
> > to learn about the Anatomy and Life Cycle of a Bug before continuing.
to learn about the Anatomy
and Life Cycle of a Bug before continuing.
</P </P
></TD ></TD
></TR ></TR
...@@ -720,30 +792,33 @@ NAME="BUG_WRITING" ...@@ -720,30 +792,33 @@ NAME="BUG_WRITING"
>2.3.3.1. Writing a Great Bug Report</A >2.3.3.1. Writing a Great Bug Report</A
></H3 ></H3
><P ><P
> Before we plunge into writing your first bug report, I encourage you to read > Before we plunge into writing your first bug report, I
<A encourage you to read some bug-writing guidelines. If you
are reading this document as part of a Bugzilla CVS checkout
or un-tarred Bugzilla distribution, you should be able to
read them by clicking <A
HREF="../../bugwritinghelp.html"
TARGET="_top"
>here</A
>. If you are reading this online, check out the Mozilla.org bug-writing guidelines at <A
HREF="http://www.mozilla.org/quality/bug-writing-guidelines.html" HREF="http://www.mozilla.org/quality/bug-writing-guidelines.html"
TARGET="_top" TARGET="_top"
>Mozilla.org's Bug >http://www.mozilla.org/quality/bug-writing-guidelines.html</A
Writing Guidelines</A >. While some of the advice is Mozilla-specific, the basic principles of reporting Reproducible, Specific bugs, isolating the Product you are using, the Version of the Product, the Component which failed, the Hardware Platform, and Operating System you were using at the time of the failure go a long way toward ensuring accurate, responsible fixes for the bug that bit you.
>. While some of the advice is Mozilla-specific, the basic
principles of reporting Reproducible, Specific bugs, isolating the Product you are
using, the Version of the Product, the Component which failed, the Hardware Platform, and
Operating System you were using at the time of the failure go a long way toward ensuring accurate,
responsible fixes for the bug that bit you.
</P </P
><P ><P
> While you are at it, why not learn how to find previously reported bugs? Mozilla.org > While you are at it, why not learn how to find previously
has published a great tutorial on finding duplicate bugs, available at reported bugs? Mozilla.org has published a great tutorial
<A on finding duplicate bugs, available at <A
HREF="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html" HREF="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html"
TARGET="_top" TARGET="_top"
> http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</A > http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</A
>. >.
</P </P
><P ><P
> I realize this was a lot to read. However, understanding the mentality of writing > I realize this was a lot to read. However, understanding
great bug reports will help us on the next part! the mentality of writing great bug reports will help us on
the next part!
</P </P
><P ><P
></P ></P
...@@ -755,14 +830,12 @@ TYPE="1" ...@@ -755,14 +830,12 @@ TYPE="1"
HREF="http://landfill.tequilarista.org/bugzilla-tip/" HREF="http://landfill.tequilarista.org/bugzilla-tip/"
TARGET="_top" TARGET="_top"
> http://landfill.tequilarista.org/bugzilla-tip/</A > http://landfill.tequilarista.org/bugzilla-tip/</A
> > in your browser.
in your browser.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Select the > Select the <A
<A
HREF="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi" HREF="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi"
TARGET="_top" TARGET="_top"
> Enter a new bug report</A > Enter a new bug report</A
...@@ -776,11 +849,11 @@ TARGET="_top" ...@@ -776,11 +849,11 @@ TARGET="_top"
></LI ></LI
><LI ><LI
><P ><P
> Now you should be at the "Enter Bug" form. > Now you should be at the "Enter Bug" form. The
The "reporter" should have been automatically filled out "reporter" should have been automatically filled out for
for you (or else Bugzilla prompted you to Log In again you (or else Bugzilla prompted you to Log In again --
-- you did keep the email with your username you did keep the email with your username and password,
and password, didn't you?). didn't you?).
</P </P
></LI ></LI
><LI ><LI
...@@ -790,36 +863,37 @@ TARGET="_top" ...@@ -790,36 +863,37 @@ TARGET="_top"
></LI ></LI
><LI ><LI
><P ><P
> Bugzilla should have made reasonable guesses, based upon your browser, > Bugzilla should have made reasonable guesses, based upon
for the "Platform" and "OS" drop-down your browser, for the "Platform" and "OS" drop-down
boxes. If those are wrong, change them -- if you're on an SGI box boxes. If those are wrong, change them -- if you're on
running IRIX, we want to know! an SGI box running IRIX, we want to know!
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Fill in the "Assigned To" box with the email address you provided earlier. > Fill in the "Assigned To" box with the email address you
This way you don't end up sending copies of your bug to lots of other people, provided earlier. This way you don't end up sending
since it's just a test bug. copies of your bug to lots of other people, since it's
just a test bug.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Leave the "CC" text box blank. > Leave the "CC" text box blank. Fill in the "URL" box
Fill in the "URL" box with "http://www.mozilla.org". with "http://www.mozilla.org".
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Enter "The Bugzilla Guide" in the Summary text box, > Enter "The Bugzilla Guide" in the Summary text box, and
and place any comments you have on this place any comments you have on this tutorial, or the
tutorial, or the Guide in general, into the Description box. Guide in general, into the Description box.
</P </P
></LI ></LI
></OL ></OL
><P ><P
> Voila! Select "Commit" and send in your bug report! > Voila! Select "Commit" and send in your bug report! Next
Next we'll look at resolving bugs. we'll look at resolving bugs.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -831,10 +905,10 @@ NAME="BUG_MANAGE" ...@@ -831,10 +905,10 @@ NAME="BUG_MANAGE"
>2.3.3.2. Managing your Bug Reports</A >2.3.3.2. Managing your Bug Reports</A
></H3 ></H3
><P ><P
> OK, you should have a link to the bug you just created near the top of your page. > OK, you should have a link to the bug you just created near
It should say the top of your page. It should say "Bug XXXX posted", with
"Bug XXXX posted", with a link to the right saying "Back to BUG# XXXX". a link to the right saying "Back to BUG# XXXX". Select this
Select this link. link.
</P </P
><P ><P
></P ></P
...@@ -842,35 +916,32 @@ NAME="BUG_MANAGE" ...@@ -842,35 +916,32 @@ NAME="BUG_MANAGE"
TYPE="1" TYPE="1"
><LI ><LI
><P ><P
> Scroll down a bit on the subsequent page, > Scroll down a bit on the subsequent page, until you see
until you see the "Resolve bug, changing resolution to (dropdown box). the "Resolve bug, changing resolution to (dropdown box).
Normally, you would Normally, you would "Accept bug (change status to
"Accept bug (change status to ASSIGNED)", fix it, and then resolve. ASSIGNED)", fix it, and then resolve. But in this case,
But in this case, we're we're going to short-circuit the process because this
going to short-circuit the process because this wasn't a real bug. wasn't a real bug. Change the dropdown next to "Resolve
Change the dropdown next to Bug" to "INVALID", make sure the radio button is marked
"Resolve Bug" to "INVALID", make sure the radio button is next to "Resolve Bug", then click "Commit".
marked next to "Resolve Bug", then
click "Commit".
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Hey! It said it couldn't take the change in a big red box! > Hey! It said it couldn't take the change in a big red
That's right, you must specify box! That's right, you must specify a Comment in order
a Comment in order to make this change. Select the "Back" to make this change. Select the "Back" button in your
button in your browser, add a browser, add a Comment, then try Resolving the bug with
Comment, then try Resolving the bug with INVALID status again. INVALID status again. This time it should work.
This time it should work.
</P </P
></LI ></LI
></OL ></OL
><P ><P
> You have now learned the basics of Bugzilla navigation, > You have now learned the basics of Bugzilla navigation,
entering a bug, and bug maintenance. entering a bug, and bug maintenance. I encourage you to
I encourage you to explore these features, and see what you can do with them! explore these features, and see what you can do with them!
We'll spend no more time on individual Bugs or Queries from this point on, so you are We'll spend no more time on individual Bugs or Queries from
on your own there. this point on, so you are on your own there.
</P </P
><P ><P
> But I'll give a few last hints! > But I'll give a few last hints!
...@@ -880,19 +951,14 @@ TYPE="1" ...@@ -880,19 +951,14 @@ TYPE="1"
HREF="http://bugzilla.mozilla.org/help.html" HREF="http://bugzilla.mozilla.org/help.html"
TARGET="_top" TARGET="_top"
>CLUE</A >CLUE</A
> > on the Query page that will teach you more how to use the form.
on the Query page
that will teach you more how to use the form.
</P </P
><P ><P
> If you click the hyperlink on the > If you click the hyperlink on the <A
<A
HREF="http://bugzilla.mozilla.org/describecomponents.cgi" HREF="http://bugzilla.mozilla.org/describecomponents.cgi"
TARGET="_top" TARGET="_top"
>Component</A >Component</A
> > box of the Query page, you will be presented a form that will describe what all the components are.
box of the Query page, you will be presented a form that will describe what all
the components are.
</P </P
><P ><P
> Possibly the most powerful feature of the Query page is the > Possibly the most powerful feature of the Query page is the
...@@ -900,21 +966,14 @@ TARGET="_top" ...@@ -900,21 +966,14 @@ TARGET="_top"
HREF="http://bugzilla.mozilla.org/booleanchart.html" HREF="http://bugzilla.mozilla.org/booleanchart.html"
TARGET="_top" TARGET="_top"
>Boolean Chart</A >Boolean Chart</A
> section. > section. It's a bit confusing to use the first time, but can provide unparalleled flexibility in your queries, allowing you to build extremely powerful requests.
It's a bit confusing to use the first time, but can provide unparalleled
flexibility in your queries,
allowing you to build extremely powerful requests.
</P </P
><P ><P
> Finally, you can build some nifty > Finally, you can build some nifty <A
<A
HREF="http://bugzilla.mozilla.org/reports.cgi" HREF="http://bugzilla.mozilla.org/reports.cgi"
TARGET="_top" TARGET="_top"
>Reports</A >Reports</A
> > using the "Bug Reports" link near the bottom of the query page, and also available via the "Reports" link at the footer of each page.
using the "Bug Reports" link near the bottom of the query page, and also
available via the "Reports" link
at the footer of each page.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -972,7 +1031,7 @@ HREF="using.html" ...@@ -972,7 +1031,7 @@ HREF="using.html"
WIDTH="33%" WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
>What's in it for me?</TD >Where can I find my user preferences?</TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
......
...@@ -77,12 +77,6 @@ CLASS="ADDRESS" ...@@ -77,12 +77,6 @@ CLASS="ADDRESS"
></DIV ></DIV
></DIV ></DIV
><BR></SPAN ><BR></SPAN
><H4
CLASS="EDITEDBY"
>Edited by</H4
><H3
CLASS="EDITOR"
>I. P. Freely</H3
><DIV ><DIV
CLASS="REVHISTORY" CLASS="REVHISTORY"
><TABLE ><TABLE
...@@ -192,7 +186,7 @@ COLSPAN="3" ...@@ -192,7 +186,7 @@ COLSPAN="3"
><DIV ><DIV
CLASS="ABSTRACT" CLASS="ABSTRACT"
><A ><A
NAME="AEN46" NAME="AEN39"
></A ></A
><P ><P
></P ></P
...@@ -213,6 +207,12 @@ NAME="AEN46" ...@@ -213,6 +207,12 @@ NAME="AEN46"
Bugzilla. Bugzilla.
</P </P
><P ><P
> THIS DOCUMENTATION IS MAINTAINED IN DOCBOOK 4.1 SGML FORMAT.
IF YOU WISH TO MAKE CORRECTIONS, PLEASE MAKE THEM IN PLAIN
TEXT OR SGML DIFFS AGAINST THE SOURCE. I CANNOT ACCEPT
ADDITIONS TO THE GUIDE WRITTEN IN HTML!
</P
><P
></P ></P
></DIV ></DIV
></DIV ></DIV
...@@ -336,7 +336,7 @@ HREF="how.html#BUG_MANAGE" ...@@ -336,7 +336,7 @@ HREF="how.html#BUG_MANAGE"
><DT ><DT
>2.4. <A >2.4. <A
HREF="init4me.html" HREF="init4me.html"
>What's in it for me?</A >Where can I find my user preferences?</A
></DT ></DT
><DD ><DD
><DL ><DL
...@@ -409,12 +409,12 @@ HREF="stepbystep.html" ...@@ -409,12 +409,12 @@ HREF="stepbystep.html"
><DL ><DL
><DT ><DT
>3.2.1. <A >3.2.1. <A
HREF="stepbystep.html#AEN478" HREF="stepbystep.html#AEN486"
>Introduction</A >Introduction</A
></DT ></DT
><DT ><DT
>3.2.2. <A >3.2.2. <A
HREF="stepbystep.html#AEN484" HREF="stepbystep.html#AEN492"
>Installing the Prerequisites</A >Installing the Prerequisites</A
></DT ></DT
><DT ><DT
...@@ -429,77 +429,80 @@ HREF="stepbystep.html#INSTALL-PERL" ...@@ -429,77 +429,80 @@ HREF="stepbystep.html#INSTALL-PERL"
></DT ></DT
><DT ><DT
>3.2.5. <A >3.2.5. <A
HREF="stepbystep.html#AEN537" HREF="stepbystep.html#AEN579"
>DBI Perl Module</A >DBI Perl Module</A
></DT ></DT
><DT ><DT
>3.2.6. <A >3.2.6. <A
HREF="stepbystep.html#AEN574" HREF="stepbystep.html#AEN617"
>Data::Dumper Perl Module</A >Data::Dumper Perl Module</A
></DT ></DT
><DT ><DT
>3.2.7. <A >3.2.7. <A
HREF="stepbystep.html#AEN578" HREF="stepbystep.html#AEN622"
>MySQL related Perl Module Collection</A >MySQL related Perl Module Collection</A
></DT ></DT
><DT ><DT
>3.2.8. <A >3.2.8. <A
HREF="stepbystep.html#AEN587" HREF="stepbystep.html#AEN631"
>TimeDate Perl Module Collection</A >TimeDate Perl Module Collection</A
></DT ></DT
><DT ><DT
>3.2.9. <A >3.2.9. <A
HREF="stepbystep.html#AEN590" HREF="stepbystep.html#AEN635"
>GD Perl Module (1.8.3)</A >GD Perl Module (1.8.3)</A
></DT ></DT
><DT ><DT
>3.2.10. <A >3.2.10. <A
HREF="stepbystep.html#AEN596" HREF="stepbystep.html#AEN644"
>Chart::Base Perl Module (0.99c)</A >Chart::Base Perl Module (0.99c)</A
></DT ></DT
><DT ><DT
>3.2.11. <A >3.2.11. <A
HREF="stepbystep.html#AEN599" HREF="stepbystep.html#AEN648"
>DB_File Perl Module</A >DB_File Perl Module</A
></DT ></DT
><DT ><DT
>3.2.12. <A >3.2.12. <A
HREF="stepbystep.html#AEN602" HREF="stepbystep.html#AEN651"
>HTTP Server</A >HTTP Server</A
></DT ></DT
><DT ><DT
>3.2.13. <A >3.2.13. <A
HREF="stepbystep.html#AEN616" HREF="stepbystep.html#AEN669"
>Installing the Bugzilla Files</A >Installing the Bugzilla Files</A
></DT ></DT
><DT ><DT
>3.2.14. <A >3.2.14. <A
HREF="stepbystep.html#AEN636" HREF="stepbystep.html#AEN696"
>Setting Up the MySQL Database</A >Setting Up the MySQL Database</A
></DT ></DT
><DT ><DT
>3.2.15. <A >3.2.15. <A
HREF="stepbystep.html#AEN675" HREF="stepbystep.html#AEN743"
>Tweaking "localconfig"</A >Tweaking <TT
CLASS="FILENAME"
>localconfig</TT
></A
></DT ></DT
><DT ><DT
>3.2.16. <A >3.2.16. <A
HREF="stepbystep.html#AEN704" HREF="stepbystep.html#AEN781"
>Setting Up Maintainers Manually (Optional)</A >Setting Up Maintainers Manually (Optional)</A
></DT ></DT
><DT ><DT
>3.2.17. <A >3.2.17. <A
HREF="stepbystep.html#AEN713" HREF="stepbystep.html#AEN792"
>The Whining Cron (Optional)</A >The Whining Cron (Optional)</A
></DT ></DT
><DT ><DT
>3.2.18. <A >3.2.18. <A
HREF="stepbystep.html#AEN723" HREF="stepbystep.html#AEN802"
>Bug Graphs (Optional)</A >Bug Graphs (Optional)</A
></DT ></DT
><DT ><DT
>3.2.19. <A >3.2.19. <A
HREF="stepbystep.html#AEN735" HREF="stepbystep.html#AEN814"
>Securing MySQL</A >Securing MySQL</A
></DT ></DT
></DL ></DL
...@@ -523,12 +526,12 @@ HREF="geninstall.html" ...@@ -523,12 +526,12 @@ HREF="geninstall.html"
><DL ><DL
><DT ><DT
>3.5.1. <A >3.5.1. <A
HREF="geninstall.html#AEN837" HREF="geninstall.html#AEN916"
>Modifying Your Running System</A >Modifying Your Running System</A
></DT ></DT
><DT ><DT
>3.5.2. <A >3.5.2. <A
HREF="geninstall.html#AEN844" HREF="geninstall.html#AEN923"
>Upgrading From Previous Versions</A >Upgrading From Previous Versions</A
></DT ></DT
><DT ><DT
...@@ -541,7 +544,20 @@ CLASS="FILENAME" ...@@ -541,7 +544,20 @@ CLASS="FILENAME"
></DT ></DT
><DT ><DT
>3.5.4. <A >3.5.4. <A
HREF="geninstall.html#AEN865" HREF="geninstall.html#MOD_THROTTLE"
><TT
CLASS="FILENAME"
>mod_throttle</TT
> and Security</A
></DT
><DT
>3.5.5. <A
HREF="geninstall.html#CONTENT_TYPE"
>Preventing untrusted Bugzilla content from executing malicious Javascript code</A
></DT
><DT
>3.5.6. <A
HREF="geninstall.html#AEN964"
>UNIX Installation Instructions History</A >UNIX Installation Instructions History</A
></DT ></DT
></DL ></DL
...@@ -694,7 +710,7 @@ HREF="scm.html" ...@@ -694,7 +710,7 @@ HREF="scm.html"
><DT ><DT
>5.4. <A >5.4. <A
HREF="tinderbox.html" HREF="tinderbox.html"
>Tinderbox</A >Tinderbox/Tinderbox2</A
></DT ></DT
></DL ></DL
></DD ></DD
...@@ -734,14 +750,14 @@ HREF="dbdoc.html" ...@@ -734,14 +750,14 @@ HREF="dbdoc.html"
><DL ><DL
><DT ><DT
>C.2.1. <A >C.2.1. <A
HREF="dbdoc.html#AEN2089" HREF="dbdoc.html#AEN2217"
>Bugzilla Database Basics</A >Bugzilla Database Basics</A
></DT ></DT
><DD ><DD
><DL ><DL
><DT ><DT
>C.2.1.1. <A >C.2.1.1. <A
HREF="dbdoc.html#AEN2118" HREF="dbdoc.html#AEN2246"
>Bugzilla Database Tables</A >Bugzilla Database Tables</A
></DT ></DT
></DL ></DL
...@@ -758,7 +774,7 @@ HREF="granttables.html" ...@@ -758,7 +774,7 @@ HREF="granttables.html"
><DT ><DT
>7. <A >7. <A
HREF="variants.html" HREF="variants.html"
>Bugzilla Variants</A >Bugzilla Variants and Competitors</A
></DT ></DT
><DD ><DD
><DL ><DL
...@@ -767,6 +783,31 @@ HREF="variants.html" ...@@ -767,6 +783,31 @@ HREF="variants.html"
HREF="rhbugzilla.html" HREF="rhbugzilla.html"
>Red Hat Bugzilla</A >Red Hat Bugzilla</A
></DT ></DT
><DT
>7.2. <A
HREF="variant_fenris.html"
>Loki Bugzilla (Fenris)</A
></DT
><DT
>7.3. <A
HREF="variant_issuezilla.html"
>Issuezilla</A
></DT
><DT
>7.4. <A
HREF="variant_scarab.html"
>Scarab</A
></DT
><DT
>7.5. <A
HREF="variant_perforce.html"
>Perforce SCM</A
></DT
><DT
>7.6. <A
HREF="variant_sourceforge.html"
>SourceForge</A
></DT
></DL ></DL
></DD ></DD
><DT ><DT
...@@ -778,16 +819,24 @@ HREF="patches.html" ...@@ -778,16 +819,24 @@ HREF="patches.html"
><DL ><DL
><DT ><DT
>D.1. <A >D.1. <A
HREF="rewrite.html"
>Apache <TT
CLASS="FILENAME"
>mod_rewrite</TT
> magic</A
></DT
><DT
>D.2. <A
HREF="setperl.html" HREF="setperl.html"
>The setperl.csh Utility</A >The setperl.csh Utility</A
></DT ></DT
><DT ><DT
>D.2. <A >D.3. <A
HREF="cmdline.html" HREF="cmdline.html"
>Command-line Bugzilla Queries</A >Command-line Bugzilla Queries</A
></DT ></DT
><DT ><DT
>D.3. <A >D.4. <A
HREF="quicksearch.html" HREF="quicksearch.html"
>The Quicksearch Utility</A >The Quicksearch Utility</A
></DT ></DT
...@@ -879,72 +928,73 @@ CLASS="LOT" ...@@ -879,72 +928,73 @@ CLASS="LOT"
></DT ></DT
><DT ><DT
>2-1. <A >2-1. <A
HREF="how.html#AEN297" HREF="how.html#AEN307"
>Some Famous Software Versions</A >Some Famous Software Versions</A
></DT ></DT
><DT ><DT
>2-2. <A >2-2. <A
HREF="how.html#AEN307" HREF="how.html#AEN317"
>Mozilla Webtools Components</A >Mozilla Webtools Components</A
></DT ></DT
><DT ><DT
>3-1. <A >3-1. <A
HREF="stepbystep.html#AEN625" HREF="stepbystep.html#AEN685"
>Setting up bonsaitools symlink</A >Setting up bonsaitools symlink</A
></DT ></DT
><DT ><DT
>3-2. <A >3-2. <A
HREF="stepbystep.html#AEN697" HREF="stepbystep.html#AEN774"
>Running checksetup.pl as the web user</A >Running checksetup.pl as the web user</A
></DT ></DT
><DT ><DT
>3-3. <A >3-3. <A
HREF="win32.html#AEN910" HREF="win32.html#AEN1012"
>Installing ActivePerl ppd Modules on Microsoft Windows</A >Installing ActivePerl ppd Modules on Microsoft Windows</A
></DT ></DT
><DT ><DT
>3-4. <A >3-4. <A
HREF="win32.html#AEN1084" HREF="win32.html#AEN1180"
>Removing encrypt() for Windows NT installations</A >Removing encrypt() for Windows NT Bugzilla version
2.12 or earlier</A
></DT ></DT
><DT ><DT
>4-1. <A >4-1. <A
HREF="programadmin.html#AEN1279" HREF="programadmin.html#AEN1413"
>Creating some Components</A >Creating some Components</A
></DT ></DT
><DT ><DT
>4-2. <A >4-2. <A
HREF="programadmin.html#AEN1308" HREF="programadmin.html#AEN1442"
>Common Use of Versions</A >Common Use of Versions</A
></DT ></DT
><DT ><DT
>4-3. <A >4-3. <A
HREF="programadmin.html#AEN1312" HREF="programadmin.html#AEN1446"
>A Different Use of Versions</A >A Different Use of Versions</A
></DT ></DT
><DT ><DT
>4-4. <A >4-4. <A
HREF="programadmin.html#AEN1340" HREF="programadmin.html#AEN1474"
>Using SortKey with Target Milestone</A >Using SortKey with Target Milestone</A
></DT ></DT
><DT ><DT
>4-5. <A >4-5. <A
HREF="programadmin.html#AEN1376" HREF="programadmin.html#AEN1510"
>When to Use Group Security</A >When to Use Group Security</A
></DT ></DT
><DT ><DT
>4-6. <A >4-6. <A
HREF="programadmin.html#AEN1393" HREF="programadmin.html#AEN1527"
>Creating a New Group</A >Creating a New Group</A
></DT ></DT
><DT ><DT
>D-1. <A >D-1. <A
HREF="setperl.html#AEN2193" HREF="setperl.html#AEN2360"
>Using Setperl to set your perl path</A >Using Setperl to set your perl path</A
></DT ></DT
><DT ><DT
>1. <A >1. <A
HREF="glossary.html#AEN2389" HREF="glossary.html#AEN2602"
>A Sample Product</A >A Sample Product</A
></DT ></DT
></DL ></DL
......
<HTML <HTML
><HEAD ><HEAD
><TITLE ><TITLE
>What's in it for me?</TITLE >Where can I find my user preferences?</TITLE
><META ><META
NAME="GENERATOR" NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61 CONTENT="Modular DocBook HTML Stylesheet Version 1.61
...@@ -71,7 +71,7 @@ CLASS="SECTION" ...@@ -71,7 +71,7 @@ CLASS="SECTION"
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="INIT4ME" NAME="INIT4ME"
>2.4. What's in it for me?</A >2.4. Where can I find my user preferences?</A
></H1 ></H1
><TABLE ><TABLE
BORDER="0" BORDER="0"
...@@ -101,12 +101,10 @@ VALIGN="TOP" ...@@ -101,12 +101,10 @@ VALIGN="TOP"
></TR ></TR
></TABLE ></TABLE
><P ><P
> Customized User Preferences offer tremendous versatility to > Customized User Preferences offer tremendous versatility to your
your individual Bugzilla experience. individual Bugzilla experience. Let's plunge into what you can
Let's plunge into what you can do! The first step is to click do! The first step is to click the "Edit prefs" link at the
the "Edit prefs" link at the footer of each page once you footer of each page once you have logged in to <A
have logged in to
<A
HREF="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1" HREF="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1"
TARGET="_top" TARGET="_top"
> Landfill</A > Landfill</A
...@@ -122,16 +120,29 @@ NAME="ACCOUNTSETTINGS" ...@@ -122,16 +120,29 @@ NAME="ACCOUNTSETTINGS"
></H2 ></H2
><P ><P
> On this page, you can change your basic Account Settings, > On this page, you can change your basic Account Settings,
including your password and full name. including your password and full name. For security reasons,
For security reasons, in order to change anything on this page you in order to change anything on this page you must type your
must type your <EM <EM
>current</EM >current</EM
> > password into the <SPAN
password into the "Old Password" field. CLASS="QUOTE"
If you wish to change your password, type the new password you >"Old
want into the "New Password" field and again into the "Re-enter Password"</SPAN
new password" field to ensure > field. If you wish to change your
you typed your new password correctly. Select the "Submit" button and you're done! password, type the new password you want into the <SPAN
CLASS="QUOTE"
>"New
Password"</SPAN
> field and again into the <SPAN
CLASS="QUOTE"
>"Re-enter
new password"</SPAN
> field to ensure you typed your new
password correctly. Select the <SPAN
CLASS="QUOTE"
>"Submit"</SPAN
> button
and you are done.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -150,78 +161,30 @@ CLASS="SECTION" ...@@ -150,78 +161,30 @@ CLASS="SECTION"
NAME="NOTIFICATION" NAME="NOTIFICATION"
>2.4.2.1. Email Notification</A >2.4.2.1. Email Notification</A
></H3 ></H3
><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
> The email notification settings described below have been obsoleted in Bugzilla 2.12, and
this section will be replaced with a comprehensive description of the amazing array of
new options at your disposal. However, in the meantime, throw this chunk out the window
and go crazy with goofing around with different notification options.
</P
></TD
></TR
></TABLE
></DIV
><P ><P
> Ahh, here you can reduce or increase the amount of email sent you from Bugzilla! > Here you can reduce or increase the amount of email sent you
In the drop-down "Notify me of changes to", select one of from Bugzilla. Although this is referred to as
<P <SPAN
></P CLASS="QUOTE"
><TABLE >"Advanced Email Filtering Options"</SPAN
BORDER="0" >, they are,
><TBODY in fact, the standard email filter set. All of them are
><TR self-explanatory, but you can use the filters in interesting
><TD ways. For instance, some people (notably Quality Assurance
><EM personnel) often only care to receive updates regarding a
>All qualifying bugs</EM bug when the bug changes state, so they can track bugs on
>: sends you every change to every bug their flow charts and know when it is time to pull the bug
where your name is somewhere on it, regardless of who changed it.</TD onto a quality assurance platform for inspection. Other
></TR people set up email gateways to
><TR <A
><TD HREF="bonsai.html"
><EM >Bonsai, the Mozilla automated CVS management system</A
>Only those bugs which I am listed in the CC line</EM > or <A
>: prevents HREF="tinderbox.html"
you from receiving mail for which you are the reporter,' >Tinderbox, the Mozilla automated build management system</A
owner, or QA contact. If you are on the CC >, and
list, presumably someone had a <EM restrict which types of Bugzilla information are fed to
>good</EM these systems..
>
reason for you to get the email.</TD
></TR
><TR
><TD
><EM
>All qulifying bugs except those which I change</EM
>:
This is the default, and
a sensible setting. If someone else changes your bugs, you will get emailed,
but if you change bugs
yourself you will receive no notification of the change.</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -253,27 +216,30 @@ ALT="Note"></TD ...@@ -253,27 +216,30 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> This option may not be available in all Bugzilla installations, depending upon > This option may not be available in all Bugzilla
the preferences of the systems administrator responsible for the setup of your Bugzilla. installations, depending upon the preferences of the
However, if you really want this functionality, ask her to "enable newemailtech systems administrator responsible for the setup of your
in Params" Bugzilla. However, if you really want this functionality,
and "make it the default for all new users", referring her to the Administration section ask her to "enable newemailtech in Params" and "make it
of this Guide. the default for all new users", referring her to the
Administration section of this Guide.
</P </P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><P ><P
> Disregard the warnings about "experimental and bleeding edge"; the code to handle email > Disregard the warnings about "experimental and bleeding
in a cleaner manner than that historically used for Bugzilla is edge"; the code to handle email in a cleaner manner than
quite robust and well-tested now. that historically used for Bugzilla is quite robust and
well-tested now.
</P </P
><P ><P
> I recommend you enable the option, "Click here to sign up (and risk any bugs)". > I recommend you enable the option, "Click here to sign up
Your email-box (and risk any bugs)". Your email-box will thank you for it.
will thank you for it. The fundamental shift in "newemailtech" is away from standard UNIX The fundamental shift in "newemailtech" is away from
"diff" output, which is quite ugly, to a prettier, better laid-out email. standard UNIX "diff" output, which is quite ugly, to a
prettier, better laid-out email.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -305,20 +271,25 @@ ALT="Note"></TD ...@@ -305,20 +271,25 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> This option may not be available in all Bugzilla installations, depending upon > This option may not be available in all Bugzilla
the preferences of the systems administrator responsible for the setup of your Bugzilla. installations, depending upon the preferences of the
However, if you really want this functionality, ask her to "enable watchers in Params". systems administrator responsible for the setup of your
Bugzilla. However, if you really want this functionality,
ask her to "enable watchers in Params".
</P </P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><P ><P
> By entering user email names into the "Users to watch" text entry box, delineated by commas, > By entering user email names into the "Users to watch" text
you can watch bugs of other users. This powerful functionality enables seamless transitions entry box, delineated by commas, you can watch bugs of other
as developers change projects, managers wish to get in touch with the issues faced by their users. This powerful functionality enables seamless
direct reports, or users go on vacation. If any of these three situations apply transitions as developers change projects, managers wish to
to you, you will undoubtedly find this feature quite convenient. get in touch with the issues faced by their direct reports,
or users go on vacation. If any of these three situations
apply to you, you will undoubtedly find this feature quite
convenient.
</P </P
></DIV ></DIV
></DIV ></DIV
...@@ -351,20 +322,24 @@ ALT="Note"></TD ...@@ -351,20 +322,24 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> By default, this page is quite barren. However, go explore the Query Page some more; you will > By default, this page is quite barren. However, go explore
find that you can store numerous queries on the server, so if you regularly run a particular query the Query Page some more; you will find that you can store
it is just a drop-down menu away. On this page of Preferences, if you have many stored numerous queries on the server, so if you regularly run a
queries you can elect to have them always one-click away! particular query it is just a drop-down menu away. On this
page of Preferences, if you have many stored queries you can
elect to have them always one-click away!
</P </P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><P ><P
> If you have many stored queries on the server, here you will find individual drop-downs for each > If you have many stored queries on the server, here you will
stored query. Each drop-down gives you the option of that query appearing on the footer of every find individual drop-downs for each stored query. Each
page in Bugzilla! This gives you powerful one-click access to any complex searches you may set up, drop-down gives you the option of that query appearing on the
and is an excellent way to impress your boss... footer of every page in Bugzilla! This gives you powerful
one-click access to any complex searches you may set up, and
is an excellent way to impress your boss...
</P </P
><DIV ><DIV
CLASS="TIP" CLASS="TIP"
...@@ -387,13 +362,18 @@ ALT="Tip"></TD ...@@ -387,13 +362,18 @@ ALT="Tip"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>By default, the "My Bugs" link appears at the bottom of each page. However, this query >By default, the "My Bugs" link appears at the bottom of
gives you both the bugs you have reported, as well as those you are assigned. One of the most each page. However, this query gives you both the bugs you
common uses for this page is to remove the "My Bugs" link, replacing it with two other queries, have reported, as well as those you are assigned. One of
commonly called "My Bug Reports" and "My Bugs" (but only referencing bugs assigned to you). This the most common uses for this page is to remove the "My
allows you to distinguish those bugs you have reported from those you are assigned. I commonly Bugs" link, replacing it with two other queries, commonly
set up complex Boolean queries in the Query page and link them to my footer in this page. When called "My Bug Reports" and "My Bugs" (but only referencing
they are significantly complex, a one-click reference can save hours of work.</P bugs assigned to you). This allows you to distinguish those
bugs you have reported from those you are assigned. I
commonly set up complex Boolean queries in the Query page
and link them to my footer in this page. When they are
significantly complex, a one-click reference can save hours
of work.</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
...@@ -408,11 +388,12 @@ NAME="PERMISSIONSETTINGS" ...@@ -408,11 +388,12 @@ NAME="PERMISSIONSETTINGS"
>2.4.4. Permissions</A >2.4.4. Permissions</A
></H2 ></H2
><P ><P
> This is a purely informative page which outlines your current permissions on > This is a purely informative page which outlines your current
this installation of Bugzilla. If you have permissions to grant certain permissions to permissions on this installation of Bugzilla. If you have
other users, the "other users" link appears on this page as well as the footer. permissions to grant certain permissions to other users, the
For more information regarding user administration, please consult the Administration "other users" link appears on this page as well as the footer.
section of this Guide. For more information regarding user administration, please
consult the Administration section of this Guide.
</P </P
></DIV ></DIV
></DIV ></DIV
......
...@@ -90,12 +90,12 @@ HREF="stepbystep.html" ...@@ -90,12 +90,12 @@ HREF="stepbystep.html"
><DL ><DL
><DT ><DT
>3.2.1. <A >3.2.1. <A
HREF="stepbystep.html#AEN478" HREF="stepbystep.html#AEN486"
>Introduction</A >Introduction</A
></DT ></DT
><DT ><DT
>3.2.2. <A >3.2.2. <A
HREF="stepbystep.html#AEN484" HREF="stepbystep.html#AEN492"
>Installing the Prerequisites</A >Installing the Prerequisites</A
></DT ></DT
><DT ><DT
...@@ -110,77 +110,80 @@ HREF="stepbystep.html#INSTALL-PERL" ...@@ -110,77 +110,80 @@ HREF="stepbystep.html#INSTALL-PERL"
></DT ></DT
><DT ><DT
>3.2.5. <A >3.2.5. <A
HREF="stepbystep.html#AEN537" HREF="stepbystep.html#AEN579"
>DBI Perl Module</A >DBI Perl Module</A
></DT ></DT
><DT ><DT
>3.2.6. <A >3.2.6. <A
HREF="stepbystep.html#AEN574" HREF="stepbystep.html#AEN617"
>Data::Dumper Perl Module</A >Data::Dumper Perl Module</A
></DT ></DT
><DT ><DT
>3.2.7. <A >3.2.7. <A
HREF="stepbystep.html#AEN578" HREF="stepbystep.html#AEN622"
>MySQL related Perl Module Collection</A >MySQL related Perl Module Collection</A
></DT ></DT
><DT ><DT
>3.2.8. <A >3.2.8. <A
HREF="stepbystep.html#AEN587" HREF="stepbystep.html#AEN631"
>TimeDate Perl Module Collection</A >TimeDate Perl Module Collection</A
></DT ></DT
><DT ><DT
>3.2.9. <A >3.2.9. <A
HREF="stepbystep.html#AEN590" HREF="stepbystep.html#AEN635"
>GD Perl Module (1.8.3)</A >GD Perl Module (1.8.3)</A
></DT ></DT
><DT ><DT
>3.2.10. <A >3.2.10. <A
HREF="stepbystep.html#AEN596" HREF="stepbystep.html#AEN644"
>Chart::Base Perl Module (0.99c)</A >Chart::Base Perl Module (0.99c)</A
></DT ></DT
><DT ><DT
>3.2.11. <A >3.2.11. <A
HREF="stepbystep.html#AEN599" HREF="stepbystep.html#AEN648"
>DB_File Perl Module</A >DB_File Perl Module</A
></DT ></DT
><DT ><DT
>3.2.12. <A >3.2.12. <A
HREF="stepbystep.html#AEN602" HREF="stepbystep.html#AEN651"
>HTTP Server</A >HTTP Server</A
></DT ></DT
><DT ><DT
>3.2.13. <A >3.2.13. <A
HREF="stepbystep.html#AEN616" HREF="stepbystep.html#AEN669"
>Installing the Bugzilla Files</A >Installing the Bugzilla Files</A
></DT ></DT
><DT ><DT
>3.2.14. <A >3.2.14. <A
HREF="stepbystep.html#AEN636" HREF="stepbystep.html#AEN696"
>Setting Up the MySQL Database</A >Setting Up the MySQL Database</A
></DT ></DT
><DT ><DT
>3.2.15. <A >3.2.15. <A
HREF="stepbystep.html#AEN675" HREF="stepbystep.html#AEN743"
>Tweaking "localconfig"</A >Tweaking <TT
CLASS="FILENAME"
>localconfig</TT
></A
></DT ></DT
><DT ><DT
>3.2.16. <A >3.2.16. <A
HREF="stepbystep.html#AEN704" HREF="stepbystep.html#AEN781"
>Setting Up Maintainers Manually (Optional)</A >Setting Up Maintainers Manually (Optional)</A
></DT ></DT
><DT ><DT
>3.2.17. <A >3.2.17. <A
HREF="stepbystep.html#AEN713" HREF="stepbystep.html#AEN792"
>The Whining Cron (Optional)</A >The Whining Cron (Optional)</A
></DT ></DT
><DT ><DT
>3.2.18. <A >3.2.18. <A
HREF="stepbystep.html#AEN723" HREF="stepbystep.html#AEN802"
>Bug Graphs (Optional)</A >Bug Graphs (Optional)</A
></DT ></DT
><DT ><DT
>3.2.19. <A >3.2.19. <A
HREF="stepbystep.html#AEN735" HREF="stepbystep.html#AEN814"
>Securing MySQL</A >Securing MySQL</A
></DT ></DT
></DL ></DL
...@@ -204,12 +207,12 @@ HREF="geninstall.html" ...@@ -204,12 +207,12 @@ HREF="geninstall.html"
><DL ><DL
><DT ><DT
>3.5.1. <A >3.5.1. <A
HREF="geninstall.html#AEN837" HREF="geninstall.html#AEN916"
>Modifying Your Running System</A >Modifying Your Running System</A
></DT ></DT
><DT ><DT
>3.5.2. <A >3.5.2. <A
HREF="geninstall.html#AEN844" HREF="geninstall.html#AEN923"
>Upgrading From Previous Versions</A >Upgrading From Previous Versions</A
></DT ></DT
><DT ><DT
...@@ -222,7 +225,20 @@ CLASS="FILENAME" ...@@ -222,7 +225,20 @@ CLASS="FILENAME"
></DT ></DT
><DT ><DT
>3.5.4. <A >3.5.4. <A
HREF="geninstall.html#AEN865" HREF="geninstall.html#MOD_THROTTLE"
><TT
CLASS="FILENAME"
>mod_throttle</TT
> and Security</A
></DT
><DT
>3.5.5. <A
HREF="geninstall.html#CONTENT_TYPE"
>Preventing untrusted Bugzilla content from executing malicious Javascript code</A
></DT
><DT
>3.5.6. <A
HREF="geninstall.html#AEN964"
>UNIX Installation Instructions History</A >UNIX Installation Instructions History</A
></DT ></DT
></DL ></DL
......
...@@ -94,7 +94,7 @@ HREF="scm.html" ...@@ -94,7 +94,7 @@ HREF="scm.html"
><DT ><DT
>5.4. <A >5.4. <A
HREF="tinderbox.html" HREF="tinderbox.html"
>Tinderbox</A >Tinderbox/Tinderbox2</A
></DT ></DT
></DL ></DL
></DIV ></DIV
......
...@@ -74,7 +74,7 @@ NAME="NEWVERSIONS" ...@@ -74,7 +74,7 @@ NAME="NEWVERSIONS"
>1.4. New Versions</A >1.4. New Versions</A
></H1 ></H1
><P ><P
> This is the 2.14.0 version of The Bugzilla Guide. If you are > This is the 2.14 version of The Bugzilla Guide. If you are
reading this from any source other than those below, please reading this from any source other than those below, please
check one of these mirrors to make sure you are reading an check one of these mirrors to make sure you are reading an
up-to-date version of the Guide. up-to-date version of the Guide.
......
...@@ -10,11 +10,11 @@ REL="HOME" ...@@ -10,11 +10,11 @@ REL="HOME"
TITLE="The Bugzilla Guide" TITLE="The Bugzilla Guide"
HREF="index.html"><LINK HREF="index.html"><LINK
REL="PREVIOUS" REL="PREVIOUS"
TITLE="Red Hat Bugzilla" TITLE="SourceForge"
HREF="rhbugzilla.html"><LINK HREF="variant_sourceforge.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="The setperl.csh Utility" TITLE="Apache mod_rewrite magic"
HREF="setperl.html"></HEAD HREF="rewrite.html"></HEAD
><BODY ><BODY
CLASS="APPENDIX" CLASS="APPENDIX"
BGCOLOR="#FFFFFF" BGCOLOR="#FFFFFF"
...@@ -41,7 +41,7 @@ WIDTH="10%" ...@@ -41,7 +41,7 @@ WIDTH="10%"
ALIGN="left" ALIGN="left"
VALIGN="bottom" VALIGN="bottom"
><A ><A
HREF="rhbugzilla.html" HREF="variant_sourceforge.html"
>Prev</A >Prev</A
></TD ></TD
><TD ><TD
...@@ -54,7 +54,7 @@ WIDTH="10%" ...@@ -54,7 +54,7 @@ WIDTH="10%"
ALIGN="right" ALIGN="right"
VALIGN="bottom" VALIGN="bottom"
><A ><A
HREF="setperl.html" HREF="rewrite.html"
>Next</A >Next</A
></TD ></TD
></TR ></TR
...@@ -78,21 +78,31 @@ CLASS="TOC" ...@@ -78,21 +78,31 @@ CLASS="TOC"
></DT ></DT
><DT ><DT
>D.1. <A >D.1. <A
HREF="rewrite.html"
>Apache <TT
CLASS="FILENAME"
>mod_rewrite</TT
> magic</A
></DT
><DT
>D.2. <A
HREF="setperl.html" HREF="setperl.html"
>The setperl.csh Utility</A >The setperl.csh Utility</A
></DT ></DT
><DT ><DT
>D.2. <A >D.3. <A
HREF="cmdline.html" HREF="cmdline.html"
>Command-line Bugzilla Queries</A >Command-line Bugzilla Queries</A
></DT ></DT
><DT ><DT
>D.3. <A >D.4. <A
HREF="quicksearch.html" HREF="quicksearch.html"
>The Quicksearch Utility</A >The Quicksearch Utility</A
></DT ></DT
></DL ></DL
></DIV ></DIV
><P
>Are you looking for a way to put your Bugzilla into overdrive? Catch some of the niftiest tricks here in this section.</P
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
...@@ -109,7 +119,7 @@ WIDTH="33%" ...@@ -109,7 +119,7 @@ WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
><A ><A
HREF="rhbugzilla.html" HREF="variant_sourceforge.html"
>Prev</A >Prev</A
></TD ></TD
><TD ><TD
...@@ -125,7 +135,7 @@ WIDTH="33%" ...@@ -125,7 +135,7 @@ WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
><A ><A
HREF="setperl.html" HREF="rewrite.html"
>Next</A >Next</A
></TD ></TD
></TR ></TR
...@@ -134,7 +144,7 @@ HREF="setperl.html" ...@@ -134,7 +144,7 @@ HREF="setperl.html"
WIDTH="33%" WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
>Red Hat Bugzilla</TD >SourceForge</TD
><TD ><TD
WIDTH="34%" WIDTH="34%"
ALIGN="center" ALIGN="center"
...@@ -144,7 +154,10 @@ VALIGN="top" ...@@ -144,7 +154,10 @@ VALIGN="top"
WIDTH="33%" WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
>The setperl.csh Utility</TD >Apache <TT
CLASS="FILENAME"
>mod_rewrite</TT
> magic</TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
......
...@@ -74,8 +74,8 @@ NAME="POSTINSTALL-CHECK" ...@@ -74,8 +74,8 @@ NAME="POSTINSTALL-CHECK"
>4.1. Post-Installation Checklist</A >4.1. Post-Installation Checklist</A
></H1 ></H1
><P ><P
> After installation, follow the checklist below to ensure that > After installation, follow the checklist below to help ensure
you have a successful installation. If you do not see a that you have a successful installation. If you do not see a
recommended setting for a parameter, consider leaving it at the recommended setting for a parameter, consider leaving it at the
default while you perform your initial tests on your Bugzilla default while you perform your initial tests on your Bugzilla
setup. setup.
...@@ -86,20 +86,34 @@ CLASS="PROCEDURE" ...@@ -86,20 +86,34 @@ CLASS="PROCEDURE"
TYPE="1" TYPE="1"
><LI ><LI
><P ><P
> Bring up "editparams.cgi" in your web browser. For > Bring up <TT
instance, to edit parameters at mozilla.org, the URL would CLASS="FILENAME"
be <A >editparams.cgi</TT
HREF="http://bugzilla.mozilla.org/editparams.cgi" > in your web
TARGET="_top" browser. This should be available as the <SPAN
> http://bugzilla.mozilla.org/editparams.cgi</A CLASS="QUOTE"
>, also >"edit
available under the "edit parameters" link on your query parameters"</SPAN
page. > link from any Bugzilla screen once you
have logged in.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Set "maintainer" to <EM >The <SPAN
CLASS="QUOTE"
>"maintainer"</SPAN
> is the email address of
the person responsible for maintaining this Bugzilla
installation. The maintainer need not be a valid Bugzilla
user. Error pages, error emails, and administrative mail
will be sent with the maintainer as the return email
address.</P
><P
> Set <SPAN
CLASS="QUOTE"
>"maintainer"</SPAN
> to <EM
>your</EM >your</EM
> email address. > email address.
This allows Bugzilla's error messages to display your email This allows Bugzilla's error messages to display your email
...@@ -108,28 +122,59 @@ TARGET="_top" ...@@ -108,28 +122,59 @@ TARGET="_top"
></LI ></LI
><LI ><LI
><P ><P
> Set "urlbase" to the URL reference for your Bugzilla >The <SPAN
installation. If your bugzilla query page is at CLASS="QUOTE"
http://www.foo.com/bugzilla/query.cgi, your url base is >"urlbase"</SPAN
http://www.foo.com/bugzilla/ > parameter defines the fully
qualified domain name and web server path to your Bugzilla
installation.</P
><P
> For example, if your bugzilla query page is
http://www.foo.com/bugzilla/query.cgi, set your
<SPAN
CLASS="QUOTE"
>"urlbase"</SPAN
> is http://www.foo.com/bugzilla/.
</P </P
></LI ></LI
><LI ><LI
><P ><P
><SPAN
CLASS="QUOTE"
>"usebuggroups"</SPAN
> dictates whether or not to
implement group-based security for Bugzilla. If set,
Bugzilla bugs can have an associated groupmask defining
which groups of users are allowed to see and edit the
bug.</P
><P
> Set "usebuggroups" to "on" <EM > Set "usebuggroups" to "on" <EM
>only</EM >only</EM
> if you > if you
need to restrict access to products. I suggest leaving this may wish to restrict access to products. I suggest leaving
parameter <EM this parameter <EM
>off</EM >off</EM
> while initially testing > while initially
your Bugzilla. testing your Bugzilla.
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Set "usebuggroupsentry" to "on" if you want to restrict > <SPAN
access to products. Once again, if you are simply testing CLASS="QUOTE"
>"usebuggroupsentry"</SPAN
>, when set to
<SPAN
CLASS="QUOTE"
>"on"</SPAN
>, requires that all bugs have an associated
groupmask when submitted. This parameter is made for those
installations where product isolation is a necessity.
</P
><P
> Set "usebuggroupsentry" to "on" if you absolutely need to
restrict access to bugs from the moment they are submitted
through resolution. Once again, if you are simply testing
your installation, I suggest against turning this parameter your installation, I suggest against turning this parameter
on; the strict security checking may stop you from being on; the strict security checking may stop you from being
able to modify your new entries. able to modify your new entries.
...@@ -137,6 +182,24 @@ TARGET="_top" ...@@ -137,6 +182,24 @@ TARGET="_top"
></LI ></LI
><LI ><LI
><P ><P
> You run into an interesting problem when Bugzilla reaches a
high level of continuous activity. MySQL supports only
table-level write locking. What this means is that if
someone needs to make a change to a bug, they will lock the
entire table until the operation is complete. Locking for
write also blocks reads until the write is complete. The
<SPAN
CLASS="QUOTE"
>"shadowdb"</SPAN
> parameter was designed to get around
this limitation. While only a single user is allowed to
write to a table at a time, reads can continue unimpeded on
a read-only shadow copy of the database. Although your
database size will double, a shadow database can cause an
enormous performance improvement when implemented on
extremely high-traffic Bugzilla databases.
</P
><P
> Set "shadowdb" to "bug_shadowdb" if you will be running a > Set "shadowdb" to "bug_shadowdb" if you will be running a
*very* large installation of Bugzilla. The shadow database *very* large installation of Bugzilla. The shadow database
enables many simultaneous users to read and write to the enables many simultaneous users to read and write to the
...@@ -163,9 +226,13 @@ ALIGN="LEFT" ...@@ -163,9 +226,13 @@ ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> Enabling "shadowdb" can adversely affect the stability > Enabling "shadowdb" can adversely affect the stability
of your installation of Bugzilla. You may frequently of your installation of Bugzilla. You should regularly
need to manually synchronize your databases, or schedule check that your database is in sync. It is often
nightly syncs via "cron" advisable to force a shadow database sync nightly via
<SPAN
CLASS="QUOTE"
>"cron"</SPAN
>.
</P </P
></TD ></TD
></TR ></TR
...@@ -177,7 +244,13 @@ VALIGN="TOP" ...@@ -177,7 +244,13 @@ VALIGN="TOP"
> to use > to use
it, and have repeatedly run into the problem it was designed it, and have repeatedly run into the problem it was designed
to solve -- very long wait times while attempting to commit to solve -- very long wait times while attempting to commit
a change to the database. a change to the database. Mozilla.org began needing
<SPAN
CLASS="QUOTE"
>"shadowdb"</SPAN
> when they reached around 40,000
Bugzilla users with several hundred Bugzilla bug changes and
comments per day.
</P </P
><P ><P
> If you use the "shadowdb" option, it is only natural that > If you use the "shadowdb" option, it is only natural that
...@@ -188,6 +261,40 @@ VALIGN="TOP" ...@@ -188,6 +261,40 @@ VALIGN="TOP"
></LI ></LI
><LI ><LI
><P ><P
><SPAN
CLASS="QUOTE"
>"headerhtml"</SPAN
>, <SPAN
CLASS="QUOTE"
>"footerhtml"</SPAN
>,
<SPAN
CLASS="QUOTE"
>"errorhtml"</SPAN
>, <SPAN
CLASS="QUOTE"
>"bannerhtml"</SPAN
>, and
<SPAN
CLASS="QUOTE"
>"blurbhtml"</SPAN
> are all templates which control
display of headers, footers, errors, banners, and additional
data. We could go into some detail regarding the usage of
these, but it is really best just to monkey around with them
a bit to see what they do. I strongly recommend you copy
your <TT
CLASS="FILENAME"
>data/params</TT
> file somewhere safe
before playing with these values, though. If they are
changed dramatically, it may make it impossible for you to
display Bugzilla pages to fix the problem until you have
restored your <TT
CLASS="FILENAME"
>data/params</TT
> file.</P
><P
> If you have custom logos or HTML you must put in place to > If you have custom logos or HTML you must put in place to
fit within your site design guidelines, place the code in fit within your site design guidelines, place the code in
the "headerhtml", "footerhtml", "errorhtml", "bannerhtml", the "headerhtml", "footerhtml", "errorhtml", "bannerhtml",
...@@ -216,10 +323,11 @@ VALIGN="TOP" ...@@ -216,10 +323,11 @@ VALIGN="TOP"
> The "headerhtml" text box is the HTML printed out > The "headerhtml" text box is the HTML printed out
<EM <EM
>before</EM >before</EM
> any other code on the page. > any other code on the page,
If you have a special banner, put the code for it in except the CONTENT-TYPE header sent by the Bugzilla
"bannerhtml". You may want to leave these settings at engine. If you have a special banner, put the code for
the defaults initially. it in "bannerhtml". You may want to leave these settings
at the defaults initially.
</P </P
></TD ></TD
></TR ></TR
...@@ -230,6 +338,14 @@ VALIGN="TOP" ...@@ -230,6 +338,14 @@ VALIGN="TOP"
></LI ></LI
><LI ><LI
><P ><P
><SPAN
CLASS="QUOTE"
>"passwordmail"</SPAN
> is rather simple. Every
time a user creates an account, the text of this parameter
is read as the text to send to the new user along with their
password message.</P
><P
> Add any text you wish to the "passwordmail" parameter box. > Add any text you wish to the "passwordmail" parameter box.
For instance, many people choose to use this box to give a For instance, many people choose to use this box to give a
quick training blurb about how to use Bugzilla at your site. quick training blurb about how to use Bugzilla at your site.
...@@ -237,19 +353,48 @@ VALIGN="TOP" ...@@ -237,19 +353,48 @@ VALIGN="TOP"
></LI ></LI
><LI ><LI
><P ><P
> Ensure "newemailtech" is "on". Your users will thank you. ><SPAN
This is the default in the post-2.12 world, and is only an CLASS="QUOTE"
issue if you are upgrading. >"useqacontact"</SPAN
</P > allows you to define an
></LI email address for each component, in addition to that of the
><LI default owner, who will be sent carbon copies of incoming
bugs. The critical difference between a QA Contact and an
Owner is that the QA Contact follows the component. If you
reassign a bug from component A to component B, the QA
Contact for that bug will change with the reassignment,
regardless of owner.</P
><P
><SPAN
CLASS="QUOTE"
>"usestatuswhiteboard"</SPAN
> defines whether you
wish to have a free-form, overwritable field associated with
each bug. The advantage of the Status Whiteboard is that it
can be deleted or modified with ease, and provides an
easily-searchable field for indexing some bugs that have
some trait in common. Many people will put <SPAN
CLASS="QUOTE"
>"help
wanted"</SPAN
>, <SPAN
CLASS="QUOTE"
>"stalled"</SPAN
>, or <SPAN
CLASS="QUOTE"
>"waiting
on reply from somebody"</SPAN
> messages into the Status
Whiteboard field so those who peruse the bugs are aware of
their status even more than that which can be indicated by
the Resolution fields.</P
><P ><P
> Do you want to use the QA Contact ("useqacontact") and > Do you want to use the QA Contact ("useqacontact") and
status whiteboard ("usestatuswhiteboard") fields? These status whiteboard ("usestatuswhiteboard") fields? These
fields are useful because they allow for more flexibility, fields are useful because they allow for more flexibility,
particularly when you have an existing Quality Assurance particularly when you have an existing Quality Assurance
and/or Release Engineering team, but they may not be needed and/or Release Engineering team, but they may not be needed
for smaller installations. for many smaller installations.
</P </P
></LI ></LI
><LI ><LI
...@@ -259,14 +404,26 @@ VALIGN="TOP" ...@@ -259,14 +404,26 @@ VALIGN="TOP"
they have untouched new bugs. If you do not plan to use they have untouched new bugs. If you do not plan to use
this feature, simply do not set up the whining cron job this feature, simply do not set up the whining cron job
described in the installation instructions, or set this described in the installation instructions, or set this
value to "0". value to "0" (never whine).
</P </P
></LI ></LI
><LI ><LI
><P ><P
><SPAN
CLASS="QUOTE"
>"commenton"</SPAN
> fields allow you to dictate
what changes can pass without comment, and which must have a
comment from the person who changed them. Often,
administrators will allow users to add themselves to the CC
list, accept bugs, or change the Status Whiteboard without
adding a comment as to their reasons for the change, yet
require that most other changes come with an
explanation.</P
><P
> Set the "commenton" options according to your site policy. > Set the "commenton" options according to your site policy.
It is a wise idea to require comments when users resolve, It is a wise idea to require comments when users resolve,
reassign, or reopen bugs. reassign, or reopen bugs at the very least.
<DIV <DIV
CLASS="NOTE" CLASS="NOTE"
><P ><P
...@@ -303,11 +460,38 @@ VALIGN="TOP" ...@@ -303,11 +460,38 @@ VALIGN="TOP"
></LI ></LI
><LI ><LI
><P ><P
> Set "supportwatchers" to "On". This feature is helpful for >The <SPAN
team leads to monitor progress in their respective areas, CLASS="QUOTE"
and can offer many other benefits, such as allowing a >"supportwatchers"</SPAN
developer to pick up a former engineer's bugs without > option can be an
requiring her to change all the information in the bug. exceptionally powerful tool in the hands of a power Bugzilla
user. By enabling this option, you allow users to receive
email updates whenever other users receive email updates.
This is, of course, subject to the groupset restrictions on
the bug; if the <SPAN
CLASS="QUOTE"
>"watcher"</SPAN
> would not normally be
allowed to view a bug, the watcher cannot get around the
system by setting herself up to watch the bugs of someone
with bugs outside her priveleges. She would still only
receive email updates for those bugs she could normally
view.</P
><P
>For Bugzilla sites which require strong inter-Product
security to prevent snooping, watchers are not a good
idea.</P
><P
> However, for most sites you should set
<SPAN
CLASS="QUOTE"
>"supportwatchers"</SPAN
> to "On". This feature is
helpful for team leads to monitor progress in their
respective areas, and can offer many other benefits, such as
allowing a developer to pick up a former engineer's bugs
without requiring her to change all the information in the
bug.
</P </P
></LI ></LI
></OL ></OL
......
...@@ -232,7 +232,7 @@ NAME="COMPONENTS" ...@@ -232,7 +232,7 @@ NAME="COMPONENTS"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1279" NAME="AEN1413"
></A ></A
><P ><P
><B ><B
...@@ -241,7 +241,7 @@ NAME="AEN1279" ...@@ -241,7 +241,7 @@ NAME="AEN1279"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN1281" NAME="AEN1415"
></A ></A
><P ><P
></P ></P
...@@ -387,7 +387,7 @@ NAME="VERSIONS" ...@@ -387,7 +387,7 @@ NAME="VERSIONS"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1308" NAME="AEN1442"
></A ></A
><P ><P
><B ><B
...@@ -396,7 +396,7 @@ NAME="AEN1308" ...@@ -396,7 +396,7 @@ NAME="AEN1308"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN1310" NAME="AEN1444"
></A ></A
><P ><P
></P ></P
...@@ -418,7 +418,7 @@ NAME="AEN1310" ...@@ -418,7 +418,7 @@ NAME="AEN1310"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1312" NAME="AEN1446"
></A ></A
><P ><P
><B ><B
...@@ -427,7 +427,7 @@ NAME="AEN1312" ...@@ -427,7 +427,7 @@ NAME="AEN1312"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN1314" NAME="AEN1448"
></A ></A
><P ><P
></P ></P
...@@ -564,7 +564,7 @@ TYPE="1" ...@@ -564,7 +564,7 @@ TYPE="1"
><DIV ><DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1340" NAME="AEN1474"
></A ></A
><P ><P
><B ><B
...@@ -573,7 +573,7 @@ NAME="AEN1340" ...@@ -573,7 +573,7 @@ NAME="AEN1340"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN1342" NAME="AEN1476"
></A ></A
><P ><P
></P ></P
...@@ -787,7 +787,7 @@ NAME="GROUPS" ...@@ -787,7 +787,7 @@ NAME="GROUPS"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1376" NAME="AEN1510"
></A ></A
><P ><P
><B ><B
...@@ -796,7 +796,7 @@ NAME="AEN1376" ...@@ -796,7 +796,7 @@ NAME="AEN1376"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN1378" NAME="AEN1512"
></A ></A
><P ><P
></P ></P
...@@ -913,7 +913,7 @@ TYPE="1" ...@@ -913,7 +913,7 @@ TYPE="1"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1393" NAME="AEN1527"
></A ></A
><P ><P
><B ><B
...@@ -922,7 +922,7 @@ NAME="AEN1393" ...@@ -922,7 +922,7 @@ NAME="AEN1393"
><DIV ><DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN1395" NAME="AEN1529"
></A ></A
><P ><P
></P ></P
......
...@@ -71,7 +71,7 @@ CLASS="SECTION" ...@@ -71,7 +71,7 @@ CLASS="SECTION"
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="QUICKSEARCH" NAME="QUICKSEARCH"
>D.3. The Quicksearch Utility</A >D.4. The Quicksearch Utility</A
></H1 ></H1
><P ><P
> Quicksearch is a new, experimental feature of the 2.12 release. > Quicksearch is a new, experimental feature of the 2.12 release.
......
<HTML
><HEAD
><TITLE
>Apache mod_rewrite magic</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="PREVIOUS"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="NEXT"
TITLE="The setperl.csh Utility"
HREF="setperl.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="patches.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix D. Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="setperl.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="REWRITE"
>D.1. Apache <TT
CLASS="FILENAME"
>mod_rewrite</TT
> magic</A
></H1
><P
>Apache's <TT
CLASS="FILENAME"
>mod_rewrite</TT
> module lets you do some truly amazing things with URL rewriting. Here are a couple of examples of what you can do.</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Make it so if someone types
<TT
CLASS="COMPUTEROUTPUT"
>http://www.foo.com/12345</TT
>,
Bugzilla spits back
http://www.foo.com/show_bug.cgi?id=12345. Try setting up
your VirtualHost section for Bugzilla with a rule like
this:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="90%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>&#60;VirtualHost 12.34.56.78&#62;
RewriteEngine On
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
&#60;/VirtualHost&#62;
</PRE
></FONT
></TD
></TR
></TABLE
></LI
><LI
><P
>There are many, many more things you can do with
mod_rewrite. As time goes on, I will include many more in
the Guide. For now, though, please refer to the mod_rewrite
documentation at <A
HREF="http://www.apache.org"
TARGET="_top"
>http://www.apache.org</A
></P
></LI
></OL
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="patches.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="setperl.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="patches.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The setperl.csh Utility</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
\ No newline at end of file
...@@ -10,14 +10,14 @@ REL="HOME" ...@@ -10,14 +10,14 @@ REL="HOME"
TITLE="The Bugzilla Guide" TITLE="The Bugzilla Guide"
HREF="index.html"><LINK HREF="index.html"><LINK
REL="UP" REL="UP"
TITLE="Bugzilla Variants" TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK HREF="variants.html"><LINK
REL="PREVIOUS" REL="PREVIOUS"
TITLE="Bugzilla Variants" TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK HREF="variants.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="Useful Patches and Utilities for Bugzilla" TITLE="Loki Bugzilla (Fenris)"
HREF="patches.html"></HEAD HREF="variant_fenris.html"></HEAD
><BODY ><BODY
CLASS="SECTION" CLASS="SECTION"
BGCOLOR="#FFFFFF" BGCOLOR="#FFFFFF"
...@@ -51,13 +51,13 @@ HREF="variants.html" ...@@ -51,13 +51,13 @@ HREF="variants.html"
WIDTH="80%" WIDTH="80%"
ALIGN="center" ALIGN="center"
VALIGN="bottom" VALIGN="bottom"
>Chapter 7. Bugzilla Variants</TD >Chapter 7. Bugzilla Variants and Competitors</TD
><TD ><TD
WIDTH="10%" WIDTH="10%"
ALIGN="right" ALIGN="right"
VALIGN="bottom" VALIGN="bottom"
><A ><A
HREF="patches.html" HREF="variant_fenris.html"
>Next</A >Next</A
></TD ></TD
></TR ></TR
...@@ -74,65 +74,20 @@ NAME="RHBUGZILLA" ...@@ -74,65 +74,20 @@ NAME="RHBUGZILLA"
>7.1. Red Hat Bugzilla</A >7.1. Red Hat Bugzilla</A
></H1 ></H1
><P ><P
> Red Hat Bugzilla is probably the most popular Bugzilla variant, aside from Mozilla Bugzilla, > Red Hat Bugzilla is probably the most popular Bugzilla variant
on the planet. on the planet. One of the major benefits of Red Hat Bugzilla is
One of the major benefits of Red Hat Bugzilla is the ability to work with Oracle as a the ability to work with Oracle, MySQL, and PostGreSQL databases
database, as well as MySQL. serving as the back-end, instead of just MySQL. Dave Lawrence
Here's what Dave Lawrence had to say about the status of Red Hat Bugzilla, has worked very hard to keep Red Hat Bugzilla up-to-date, and
<A many people prefer the snappier-looking page layout of Red Hat
NAME="AEN2143" Bugzilla to the default Mozilla-standard formatting.
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
CLASS="LITERALLAYOUT"
> &nbsp;&nbsp;Hello.&nbsp;I&nbsp;apologize&nbsp;that&nbsp;I&nbsp;am&nbsp;getting&nbsp;back&nbsp;to&nbsp;you&nbsp;so&nbsp;late.&nbsp;It&nbsp;has&nbsp;been&nbsp;difficult&nbsp;to&nbsp;keep<br>
up&nbsp;with&nbsp;email&nbsp;this&nbsp;past&nbsp;week.&nbsp;I&nbsp;have&nbsp;checked&nbsp;out&nbsp;your&nbsp;updated&nbsp;documentation&nbsp;and&nbsp;I&nbsp;will<br>
have&nbsp;to&nbsp;say&nbsp;very&nbsp;good&nbsp;work.&nbsp;A&nbsp;few&nbsp;notes&nbsp;and&nbsp;additions&nbsp;as&nbsp;follows.<br>
<br>
(ed:&nbsp;from&nbsp;the&nbsp;FAQ)<br>
&#62;For&nbsp;the&nbsp;record,&nbsp;we&nbsp;are&nbsp;not&nbsp;using&nbsp;any&nbsp;template&nbsp;type&nbsp;implementation&nbsp;for&nbsp;the&nbsp;cosmetic&nbsp;changes&nbsp;<br>
&#62;maded&nbsp;to&nbsp;Bugzilla.&nbsp;It&nbsp;is&nbsp;just&nbsp;alot&nbsp;of&nbsp;html&nbsp;changes&nbsp;in&nbsp;the&nbsp;code&nbsp;itself.&nbsp;I&nbsp;admit&nbsp;I&nbsp;may&nbsp;have&nbsp;<br>
&#62;gotten&nbsp;a&nbsp;little&nbsp;carried&nbsp;away&nbsp;with&nbsp;it&nbsp;but&nbsp;the&nbsp;corporate&nbsp;types&nbsp;asked&nbsp;for&nbsp;a&nbsp;more&nbsp;standardized&nbsp;<br>
&#62;interface&nbsp;to&nbsp;match&nbsp;up&nbsp;with&nbsp;other&nbsp;projects&nbsp;relating&nbsp;to&nbsp;Red&nbsp;Hat&nbsp;web&nbsp;sites.&nbsp;A&nbsp;lot&nbsp;of&nbsp;other&nbsp;web&nbsp;<br>
&#62;based&nbsp;internal&nbsp;tools&nbsp;I&nbsp;am&nbsp;working&nbsp;on&nbsp;also&nbsp;look&nbsp;like&nbsp;Bugzilla.&nbsp;<br>
<br>
<br>
This&nbsp;should&nbsp;probably&nbsp;be&nbsp;changed&nbsp;since&nbsp;we&nbsp;are&nbsp;now&nbsp;in&nbsp;fact&nbsp;using&nbsp;Text::Template&nbsp;for&nbsp;most<br>
of&nbsp;the&nbsp;html&nbsp;rendering.&nbsp;You&nbsp;actually&nbsp;state&nbsp;this&nbsp;later&nbsp;in&nbsp;your&nbsp;numbered&nbsp;list.<br>
<br>
Also&nbsp;number&nbsp;6&nbsp;contradicts&nbsp;number&nbsp;8&nbsp;where&nbsp;number&nbsp;6&nbsp;would&nbsp;be&nbsp;the&nbsp;most&nbsp;up&nbsp;to&nbsp;date&nbsp;status<br>
on&nbsp;the&nbsp;Oracle&nbsp;port.<br>
<br>
Additional&nbsp;Information:<br>
-----------------------------<br>
1.&nbsp;Comments&nbsp;are&nbsp;now&nbsp;stored&nbsp;in&nbsp;varchar&nbsp;fields&nbsp;of&nbsp;4k&nbsp;in&nbsp;size&nbsp;each.&nbsp;If&nbsp;the&nbsp;comment&nbsp;is&nbsp;more<br>
than&nbsp;4k&nbsp;it&nbsp;is&nbsp;broken&nbsp;up&nbsp;into&nbsp;chunks&nbsp;and&nbsp;given&nbsp;a&nbsp;sort&nbsp;number&nbsp;so&nbsp;each&nbsp;comment&nbsp;can&nbsp;be&nbsp;re<br>
assembled&nbsp;in&nbsp;the&nbsp;correct&nbsp;order.&nbsp;This&nbsp;was&nbsp;done&nbsp;because&nbsp;originally&nbsp;I&nbsp;was&nbsp;storing&nbsp;the&nbsp;comments<br>
in&nbsp;a&nbsp;long&nbsp;datatype&nbsp;which&nbsp;unfortunately&nbsp;cannot&nbsp;be&nbsp;indexed&nbsp;or&nbsp;joined&nbsp;with&nbsp;another&nbsp;table.&nbsp;This<br>
cause&nbsp;the&nbsp;search&nbsp;of&nbsp;text&nbsp;within&nbsp;the&nbsp;long&nbsp;description&nbsp;to&nbsp;be&nbsp;disabled&nbsp;for&nbsp;a&nbsp;long&nbsp;time.&nbsp;That<br>
is&nbsp;now&nbsp;working&nbsp;and&nbsp;is&nbsp;nto&nbsp;showing&nbsp;any&nbsp;noticeble&nbsp;performance&nbsp;hit&nbsp;that&nbsp;I&nbsp;can&nbsp;tell.&nbsp;<br>
<br>
2.&nbsp;Work&nbsp;is&nbsp;being&nbsp;started&nbsp;on&nbsp;internationalizing&nbsp;the&nbsp;Bugzilla&nbsp;source&nbsp;we&nbsp;have&nbsp;to&nbsp;allow&nbsp;our<br>
Japanese&nbsp;customers&nbsp;to&nbsp;enter&nbsp;bug&nbsp;reports&nbsp;into&nbsp;a&nbsp;single&nbsp;bugzilla&nbsp;system.&nbsp;This&nbsp;will&nbsp;probably<br>
be&nbsp;done&nbsp;by&nbsp;using&nbsp;the&nbsp;nvarchar&nbsp;data&nbsp;types&nbsp;supported&nbsp;by&nbsp;Oracle&nbsp;which&nbsp;allows&nbsp;storage&nbsp;of<br>
double&nbsp;byte&nbsp;characters&nbsp;and&nbsp;also&nbsp;the&nbsp;use&nbsp;of&nbsp;the&nbsp;Accept-Language&nbsp;in&nbsp;the&nbsp;http&nbsp;header&nbsp;for&nbsp;<br>
detection&nbsp;by&nbsp;Bugilla&nbsp;of&nbsp;which&nbsp;language&nbsp;to&nbsp;render.<br>
<br>
3.&nbsp;Of&nbsp;course&nbsp;even&nbsp;more&nbsp;cosmetic&nbsp;changes.&nbsp;It&nbsp;is&nbsp;difficult&nbsp;to&nbsp;keep&nbsp;up&nbsp;with&nbsp;the&nbsp;ever&nbsp;<br>
changing&nbsp;faces&nbsp;of&nbsp;www.redhat.com.<br>
<br>
4.&nbsp;Some&nbsp;convenience&nbsp;enhancements&nbsp;in&nbsp;the&nbsp;administration&nbsp;utilities.&nbsp;And&nbsp;more&nbsp;integration<br>
with&nbsp;other&nbsp;internal/external&nbsp;Red&nbsp;Hat&nbsp;web&nbsp;sites.<br>
<br>
I&nbsp;hope&nbsp;this&nbsp;information&nbsp;may&nbsp;prove&nbsp;helpful&nbsp;for&nbsp;your&nbsp;documentation.&nbsp;Please&nbsp;contact<br>
me&nbsp;if&nbsp;you&nbsp;have&nbsp;any&nbsp;more&nbsp;question&nbsp;or&nbsp;I&nbsp;can&nbsp;do&nbsp;anything&nbsp;else.<br>
<br>
Regards<br>
</P
></BLOCKQUOTE
>
</P </P
><P
>URL: <A
HREF="http://bugzilla.redhat.com/bugzilla/"
TARGET="_top"
>http://bugzilla.redhat.com/bugzilla/</A
></P
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
...@@ -165,7 +120,7 @@ WIDTH="33%" ...@@ -165,7 +120,7 @@ WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
><A ><A
HREF="patches.html" HREF="variant_fenris.html"
>Next</A >Next</A
></TD ></TD
></TR ></TR
...@@ -174,7 +129,7 @@ HREF="patches.html" ...@@ -174,7 +129,7 @@ HREF="patches.html"
WIDTH="33%" WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
>Bugzilla Variants</TD >Bugzilla Variants and Competitors</TD
><TD ><TD
WIDTH="34%" WIDTH="34%"
ALIGN="center" ALIGN="center"
...@@ -187,7 +142,7 @@ HREF="variants.html" ...@@ -187,7 +142,7 @@ HREF="variants.html"
WIDTH="33%" WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
>Useful Patches and Utilities for Bugzilla</TD >Loki Bugzilla (Fenris)</TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
......
...@@ -16,7 +16,7 @@ REL="PREVIOUS" ...@@ -16,7 +16,7 @@ REL="PREVIOUS"
TITLE="CVS" TITLE="CVS"
HREF="cvs.html"><LINK HREF="cvs.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="Tinderbox" TITLE="Tinderbox/Tinderbox2"
HREF="tinderbox.html"></HEAD HREF="tinderbox.html"></HEAD
><BODY ><BODY
CLASS="SECTION" CLASS="SECTION"
...@@ -74,36 +74,28 @@ NAME="SCM" ...@@ -74,36 +74,28 @@ NAME="SCM"
>5.3. Perforce SCM</A >5.3. Perforce SCM</A
></H1 ></H1
><P ><P
> You can find the project page for Bugzilla and Teamtrack Perforce integration at: > You can find the project page for Bugzilla and Teamtrack
<A Perforce integration (p4dti) at: <A
HREF="http://www.ravenbrook.com/project/p4dti/" HREF="http://www.ravenbrook.com/project/p4dti/"
TARGET="_top" TARGET="_top"
> http://www.ravenbrook.com/project/p4dti</A > http://www.ravenbrook.com/project/p4dti</A
>. "p4dti" is now an officially > . <SPAN
supported product from Perforce, and you can find the "Perforce Public Depot" CLASS="QUOTE"
p4dti page at <A >"p4dti"</SPAN
> is now an officially supported product from Perforce, and you can find the "Perforce Public Depot" p4dti page at <A
HREF="http://public.perforce.com/public/perforce/p4dti/index.html" HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
TARGET="_top" TARGET="_top"
> http://public.perforce.com/public/perforce/p4dti/index.html</A > http://public.perforce.com/public/perforce/p4dti/index.html</A
>. >.
</P </P
><P ><P
> Integration of Perforce with Bugzilla, once patches are applied, is fairly seamless. However, > Integration of Perforce with Bugzilla, once patches are applied,
p4dti is a patch against the Bugzilla 2.10 release, not the current 2.12 release. I anticipate is seamless. Perforce replication information will appear below
patches for 2.12 will be out shortly. Check the project page regularly for updates, or the comments of each bug. Be certain you have a matching set of
take the given patches and patch it manually. p4dti is designed to support multiple defect patches for the Bugzilla version you are installing. p4dti is
trackers, and maintains its own documentation for it. Please consult the pages linked designed to support multiple defect trackers, and maintains its
above for further information. own documentation for it. Please consult the pages linked above
</P for further information.
><P
> Right now, there is no way to synchronize the Bug ID and the Perforce Transaction Number, or
to change the Bug ID to read (PRODUCT).bugID unless you hack it in. Additionally, if you
have synchronization problems, the easiest way to avoid them is to only put the bug
information, comments, etc. into Bugzilla, and not into the Perforce change records.
They will link anyway; merely reference the bug ID fixed in your change description,
and put a comment into Bugzilla
giving the change ID that fixed the Bugzilla bug. It's a process issue, not a technology
question.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -159,7 +151,7 @@ HREF="integration.html" ...@@ -159,7 +151,7 @@ HREF="integration.html"
WIDTH="33%" WIDTH="33%"
ALIGN="right" ALIGN="right"
VALIGN="top" VALIGN="top"
>Tinderbox</TD >Tinderbox/Tinderbox2</TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
......
...@@ -13,8 +13,8 @@ REL="UP" ...@@ -13,8 +13,8 @@ REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla" TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK HREF="patches.html"><LINK
REL="PREVIOUS" REL="PREVIOUS"
TITLE="Useful Patches and Utilities for Bugzilla" TITLE="Apache mod_rewrite magic"
HREF="patches.html"><LINK HREF="rewrite.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="Command-line Bugzilla Queries" TITLE="Command-line Bugzilla Queries"
HREF="cmdline.html"></HEAD HREF="cmdline.html"></HEAD
...@@ -44,7 +44,7 @@ WIDTH="10%" ...@@ -44,7 +44,7 @@ WIDTH="10%"
ALIGN="left" ALIGN="left"
VALIGN="bottom" VALIGN="bottom"
><A ><A
HREF="patches.html" HREF="rewrite.html"
>Prev</A >Prev</A
></TD ></TD
><TD ><TD
...@@ -71,7 +71,7 @@ CLASS="SECTION" ...@@ -71,7 +71,7 @@ CLASS="SECTION"
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="SETPERL" NAME="SETPERL"
>D.1. The setperl.csh Utility</A >D.2. The setperl.csh Utility</A
></H1 ></H1
><P ><P
> You can use the "setperl.csh" utility to quickly and > You can use the "setperl.csh" utility to quickly and
...@@ -216,7 +216,7 @@ CLASS="COMMAND" ...@@ -216,7 +216,7 @@ CLASS="COMMAND"
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN2193" NAME="AEN2360"
></A ></A
><P ><P
><B ><B
...@@ -258,7 +258,7 @@ WIDTH="33%" ...@@ -258,7 +258,7 @@ WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
><A ><A
HREF="patches.html" HREF="rewrite.html"
>Prev</A >Prev</A
></TD ></TD
><TD ><TD
...@@ -283,7 +283,10 @@ HREF="cmdline.html" ...@@ -283,7 +283,10 @@ HREF="cmdline.html"
WIDTH="33%" WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
>Useful Patches and Utilities for Bugzilla</TD >Apache <TT
CLASS="FILENAME"
>mod_rewrite</TT
> magic</TD
><TD ><TD
WIDTH="34%" WIDTH="34%"
ALIGN="center" ALIGN="center"
......
...@@ -78,7 +78,7 @@ CLASS="SECTION" ...@@ -78,7 +78,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN478" NAME="AEN486"
>3.2.1. Introduction</A >3.2.1. Introduction</A
></H2 ></H2
><P ><P
...@@ -109,7 +109,7 @@ CLASS="SECTION" ...@@ -109,7 +109,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN484" NAME="AEN492"
>3.2.2. Installing the Prerequisites</A >3.2.2. Installing the Prerequisites</A
></H2 ></H2
><DIV ><DIV
...@@ -248,6 +248,111 @@ VALIGN="TOP" ...@@ -248,6 +248,111 @@ VALIGN="TOP"
></TABLE ></TABLE
></DIV ></DIV
> >
<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
>Linux-Mandrake 8.0, the author's test system, includes
every required and optional library for Bugzilla. The
easiest way to install them is by using the
<TT
CLASS="FILENAME"
>urpmi</TT
> utility. If you follow these
commands, you should have everything you need for
Bugzilla, and <TT
CLASS="FILENAME"
>checksetup.pl</TT
> should
not complain about any missing libraries. You may already
have some of these installed.</P
><P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><TT
CLASS="PROMPT"
>bash#</TT
><B
CLASS="COMMAND"
> urpmi
perl-mysql</B
></TD
></TR
><TR
><TD
><TT
CLASS="PROMPT"
>bash#</TT
><B
CLASS="COMMAND"
> urpmi
perl-chart</B
></TD
></TR
><TR
><TD
><TT
CLASS="PROMPT"
>bash#</TT
><B
CLASS="COMMAND"
> urpmi
perl-gd</B
></TD
></TR
><TR
><TD
><TT
CLASS="PROMPT"
>bash#</TT
><B
CLASS="COMMAND"
> urpmi
perl-MailTools</B
> (for Bugzilla email
integration)</TD
></TR
><TR
><TD
><TT
CLASS="PROMPT"
>bash#</TT
><B
CLASS="COMMAND"
> urpmi
apache-modules</B
></TD
></TR
></TBODY
></TABLE
><P
></P
></TD
></TR
></TABLE
></DIV
>
</P </P
></DIV ></DIV
...@@ -260,26 +365,79 @@ NAME="INSTALL-MYSQL" ...@@ -260,26 +365,79 @@ NAME="INSTALL-MYSQL"
>3.2.3. Installing MySQL Database</A >3.2.3. Installing MySQL Database</A
></H2 ></H2
><P ><P
> Visit MySQL homepage at http://www.mysql.com/ and grab the > Visit MySQL homepage at <A
latest stable release of the server. Both binaries and source HREF="http://www.mysql.com"
are available and which you get shouldn't matter. Be aware TARGET="_top"
that many of the binary versions of MySQL store their data >www.mysql.com</A
files in /var which on many installations (particularly common > and grab the latest stable release of the server. Many of the binary versions of MySQL store their data files in <TT
with linux installations) is part of a smaller root partition. CLASS="FILENAME"
If you decide to build from sources you can easily set the >/var</TT
dataDir as an option to configure. > which is often part of a smaller root partition. If you decide to build from sources you can easily set the dataDir as an option to <TT
CLASS="FILENAME"
>configure</TT
>.
</P </P
><P ><P
> If you've installed from source or non-package (RPM, deb, > If you install from source or non-package (RPM, deb, etc.)
etc.) binaries you'll want to make sure to add mysqld to your binaries you need to add
<I
CLASS="FIRSTTERM"
>mysqld</I
> to your
init scripts so the server daemon will come back up whenever init scripts so the server daemon will come back up whenever
your machine reboots. You also may want to edit those init your machine reboots. Further discussion of UNIX init
scripts, to make sure that mysqld will accept large packets. sequences are beyond the scope of this guide.
By default, mysqld is set up to only accept packets up to 64K <DIV
long. This limits the size of attachments you may put on CLASS="NOTE"
bugs. If you add something like "-O max_allowed_packet=1M" to ><P
the command that starts mysqld (or safe_mysqld), then you will ></P
be able to have attachments up to about 1 megabyte. ><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
>You should have your init script start
<I
CLASS="GLOSSTERM"
>mysqld</I
> with the ability to accept
large packets. By default, <TT
CLASS="FILENAME"
>mysqld</TT
>
only accepts packets up to 64K long. This limits the size
of attachments you may put on bugs. If you add <TT
CLASS="OPTION"
>-O
max_allowed_packet=1M</TT
> to the command that starts
<TT
CLASS="FILENAME"
>mysqld</TT
> (or
<TT
CLASS="FILENAME"
>safe_mysqld</TT
>), then you will be able
to have attachments up to about 1 megabyte.</P
></TD
></TR
></TABLE
></DIV
>
</P </P
><DIV ><DIV
CLASS="NOTE" CLASS="NOTE"
...@@ -303,9 +461,12 @@ ALIGN="LEFT" ...@@ -303,9 +461,12 @@ ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> If you plan on running Bugzilla and MySQL on the same > If you plan on running Bugzilla and MySQL on the same
machine, consider using the "--skip-networking" option in machine, consider using the <TT
the init script. This enhances security by preventing CLASS="OPTION"
network access to MySQL. >--skip-networking</TT
>
option in the init script. This enhances security by
preventing network access to MySQL.
</P </P
></TD ></TD
></TR ></TR
...@@ -406,9 +567,19 @@ ALIGN="LEFT" ...@@ -406,9 +567,19 @@ ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> You can skip the following Perl module installation steps by > You can skip the following Perl module installation steps by
installing "Bundle::Bugzilla" from CPAN, which includes installing <SPAN
them. All Perl module installation steps require you have an CLASS="PRODUCTNAME"
active Internet connection. If you wish to use >Bundle::Bugzilla</SPAN
> from
<A
HREF="glossary.html#GLOSS_CPAN"
><I
CLASS="GLOSSTERM"
>CPAN</I
></A
>, which
includes them. All Perl module installation steps require
you have an active Internet connection. If you wish to use
Bundle::Bugzilla, however, you must be using the latest Bundle::Bugzilla, however, you must be using the latest
version of Perl (at this writing, version 5.6.1) version of Perl (at this writing, version 5.6.1)
</P </P
...@@ -442,7 +613,7 @@ CLASS="SECTION" ...@@ -442,7 +613,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN537" NAME="AEN579"
>3.2.5. DBI Perl Module</A >3.2.5. DBI Perl Module</A
></H2 ></H2
><P ><P
...@@ -456,7 +627,10 @@ NAME="AEN537" ...@@ -456,7 +627,10 @@ NAME="AEN537"
> Like almost all Perl modules DBI can be found on the Comprehensive Perl > Like almost all Perl modules DBI can be found on the Comprehensive Perl
Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a
real tendency to bog down, so please use mirrors. The current location real tendency to bog down, so please use mirrors. The current location
at the time of this writing (02/17/99) can be found in Appendix A. at the time of this writing can be found in <A
HREF="downloadlinks.html"
>Appendix B</A
>.
</P </P
><P ><P
> Quality, general Perl module installation instructions can be found on > Quality, general Perl module installation instructions can be found on
...@@ -468,7 +642,7 @@ NAME="AEN537" ...@@ -468,7 +642,7 @@ NAME="AEN537"
<DIV <DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN543" NAME="AEN586"
></A ></A
><P ><P
></P ></P
...@@ -522,7 +696,7 @@ VALIGN="TOP" ...@@ -522,7 +696,7 @@ VALIGN="TOP"
<DIV <DIV
CLASS="INFORMALEXAMPLE" CLASS="INFORMALEXAMPLE"
><A ><A
NAME="AEN550" NAME="AEN593"
></A ></A
><P ><P
></P ></P
...@@ -615,7 +789,7 @@ CLASS="SECTION" ...@@ -615,7 +789,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN574" NAME="AEN617"
>3.2.6. Data::Dumper Perl Module</A >3.2.6. Data::Dumper Perl Module</A
></H2 ></H2
><P ><P
...@@ -625,9 +799,14 @@ NAME="AEN574" ...@@ -625,9 +799,14 @@ NAME="AEN574"
hurt anything. hurt anything.
</P </P
><P ><P
> Data::Dumper is used by the MySQL-related Perl modules. It can be > Data::Dumper is used by the MySQL-related Perl modules. It
found on CPAN (link in Appendix A) and can be installed by following can be found on CPAN (see <A
the same four step make sequence used for the DBI module. HREF="downloadlinks.html"
>Appendix B</A
>) and
can be
installed by following the same four step make sequence used
for the DBI module.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -635,7 +814,7 @@ CLASS="SECTION" ...@@ -635,7 +814,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN578" NAME="AEN622"
>3.2.7. MySQL related Perl Module Collection</A >3.2.7. MySQL related Perl Module Collection</A
></H2 ></H2
><P ><P
...@@ -681,18 +860,21 @@ CLASS="SECTION" ...@@ -681,18 +860,21 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN587" NAME="AEN631"
>3.2.8. TimeDate Perl Module Collection</A >3.2.8. TimeDate Perl Module Collection</A
></H2 ></H2
><P ><P
> Many of the more common date/time/calendar related Perl modules have > Many of the more common date/time/calendar related Perl
been grouped into a bundle similar to the MySQL modules bundle. This modules have been grouped into a bundle similar to the MySQL
bundle is stored on the CPAN under the name TimeDate. A link modules bundle. This bundle is stored on the CPAN under the
link may be found in Appendix B, Software Download Links. name TimeDate (see link: <A
The component module we're HREF="downloadlinks.html"
most interested in is the Date::Format module, but installing all of them >Appendix B</A
is probably a good idea anyway. The standard Perl module installation >). The
instructions should work perfectly for this simple package. component module we're most interested in is the Date::Format
module, but installing all of them is probably a good idea
anyway. The standard Perl module installation instructions
should work perfectly for this simple package.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -700,21 +882,26 @@ CLASS="SECTION" ...@@ -700,21 +882,26 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN590" NAME="AEN635"
>3.2.9. GD Perl Module (1.8.3)</A >3.2.9. GD Perl Module (1.8.3)</A
></H2 ></H2
><P ><P
> The GD library was written by Thomas Boutell a long while ago to > The GD library was written by Thomas Boutell a long while
programatically generate images in C. Since then it's become almost a ago to programatically generate images in C. Since then it's
defacto standard for programatic image construction. The Perl bindings become the defacto standard for programatic image
to it found in the GD library are used on a million web pages to generate construction. The Perl bindings to it found in the GD library
graphs on the fly. That's what bugzilla will be using it for so you'd are used on millions of web pages to generate graphs on the
better install it if you want any of the graphing to work. fly. That's what bugzilla will be using it for so you must
</P install it if you want any of the graphing to work.
><P </P
> Actually bugzilla uses the Graph module which relies on GD itself, ><P
but isn't that always the way with OOP. At any rate, you can find the > Actually bugzilla uses the Graph module which relies on GD
GD library on CPAN (link in Appendix B, Software Download Links). itself. Isn't that always the way with object-oriented
programming? At any rate, you can find the GD library on CPAN
in <A
HREF="downloadlinks.html"
>Appendix B</A
>.
</P </P
><DIV ><DIV
CLASS="NOTE" CLASS="NOTE"
...@@ -737,10 +924,19 @@ ALT="Note"></TD ...@@ -737,10 +924,19 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> The Perl GD library requires some other libraries that may or may not be > The Perl GD library requires some other libraries that may
installed on your system, including "libpng" and "libgd". The full requirements or may not be installed on your system, including
are listed in the Perl GD library README. Just realize that if compiling GD fails, <TT
it's probably because you're missing a required library. CLASS="CLASSNAME"
>libpng</TT
> and
<TT
CLASS="CLASSNAME"
>libgd</TT
>. The full requirements are
listed in the Perl GD library README. Just realize that if
compiling GD fails, it's probably because you're missing a
required library.
</P </P
></TD ></TD
></TR ></TR
...@@ -752,19 +948,20 @@ CLASS="SECTION" ...@@ -752,19 +948,20 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN596" NAME="AEN644"
>3.2.10. Chart::Base Perl Module (0.99c)</A >3.2.10. Chart::Base Perl Module (0.99c)</A
></H2 ></H2
><P ><P
> The Chart module provides bugzilla with on-the-fly charting > The Chart module provides bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it has been abilities. It can be installed in the usual fashion after it
fetched from CPAN where it is found as the Chart-x.x... tarball in a has been fetched from CPAN where it is found as the
directory to be listed in Appendix B, "Software Download Links". Chart-x.x... tarball, linked in <A
Note that as with the GD perl HREF="downloadlinks.html"
module, only the version listed above, or newer, will work. >Appendix B</A
Earlier >. Note that
versions used GIF's, which are no longer supported by the latest as with the GD perl module, only the version listed above, or
versions of GD. newer, will work. Earlier versions used GIF's, which are no
longer supported by the latest versions of GD.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -772,13 +969,15 @@ CLASS="SECTION" ...@@ -772,13 +969,15 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN599" NAME="AEN648"
>3.2.11. DB_File Perl Module</A >3.2.11. DB_File Perl Module</A
></H2 ></H2
><P ><P
> DB_File is a module which allows Perl programs to make use of the facilities provided by > DB_File is a module which allows Perl programs to make use
Berkeley DB version 1.x. This module is required by collectstats.pl which is used for of the facilities provided by Berkeley DB version 1.x. This
bug charting. If you plan to make use of bug charting, you must install this module. module is required by collectstats.pl which is used for bug
charting. If you plan to make use of bug charting, you must
install this module.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -786,40 +985,124 @@ CLASS="SECTION" ...@@ -786,40 +985,124 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN602" NAME="AEN651"
>3.2.12. HTTP Server</A >3.2.12. HTTP Server</A
></H2 ></H2
><P ><P
> You have a freedom of choice here - Apache, Netscape or any other > You have a freedom of choice here - Apache, Netscape or any
server on UNIX would do. You can easily run the web server on a different other server on UNIX would do. You can easily run the web
machine than MySQL, but need to adjust the MySQL "bugs" user permissions server on a different machine than MySQL, but need to adjust
accordingly. the MySQL <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> user permissions accordingly.
<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
>I strongly recommend Apache as the web server to use.
The Bugzilla Guide installation instructions, in general,
assume you are using Apache. As more users use different
webservers and send me information on the peculiarities of
installing using their favorite webserver, I will provide
notes for them.</P
></TD
></TR
></TABLE
></DIV
>
</P </P
><P ><P
> You'll want to make sure that your web server will run any file > You'll want to make sure that your web server will run any
with the .cgi extension as a cgi and not just display it. If you're using file with the .cgi extension as a cgi and not just display it.
apache that means uncommenting the following line in the srm.conf file: If you're using apache that means uncommenting the following
<TT line in the srm.conf file:
CLASS="COMPUTEROUTPUT" <TABLE
>AddHandler cgi-script .cgi</TT BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>AddHandler cgi-script .cgi
</PRE
></FONT
></TD
></TR
></TABLE
> >
</P </P
><P ><P
> With apache you'll also want to make sure that within the access.conf > With apache you'll also want to make sure that within the
file the line: access.conf file the line:
<TT <TABLE
CLASS="COMPUTEROUTPUT" BORDER="0"
> Options ExecCGI BGCOLOR="#E0E0E0"
</TT WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>Options ExecCGI</PRE
></FONT
></TD
></TR
></TABLE
> >
is in the stanza that covers the directories you intend to put the bugzilla is in the stanza that covers the directories into which
.html and .cgi files into. you intend to put the bugzilla .html and .cgi files.
</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 ><P
> If you are using a newer version of Apache, both of the above lines will be > Users of newer versions of Apache will generally find both
(or will need to be) in the httpd.conf file, rather than srm.conf or of the above lines will be in the httpd.conf file, rather
access.conf. than srm.conf or access.conf.
</P </P
></TD
></TR
></TABLE
></DIV
><DIV ><DIV
CLASS="WARNING" CLASS="WARNING"
><P ><P
...@@ -841,24 +1124,27 @@ ALT="Warning"></TD ...@@ -841,24 +1124,27 @@ ALT="Warning"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> There are two critical directories and a file that should not be a served by > There are important files and directories that should not
the HTTP server. These are the <SPAN be a served by the HTTP server. These are most files in the
<SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"data"</SPAN >"data"</SPAN
> and <SPAN > and <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"shadow"</SPAN >"shadow"</SPAN
> > directories
directories and the and the <SPAN
<SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"localconfig"</SPAN >"localconfig"</SPAN
> file. You should configure your HTTP server to not serve > file. You should
content from these files. Failure to do so will expose critical passwords configure your HTTP server to not serve content from these
and other data. Please see <A files. Failure to do so will expose critical passwords and
other data. Please see <A
HREF="geninstall.html#HTACCESS" HREF="geninstall.html#HTACCESS"
>.htaccess files and security</A >.htaccess files and security</A
> for details. > for details
on how to do this for Apache. I appreciate notes on how to
get this same functionality using other webservers.
</P </P
></TD ></TD
></TR ></TR
...@@ -870,22 +1156,25 @@ CLASS="SECTION" ...@@ -870,22 +1156,25 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN616" NAME="AEN669"
>3.2.13. Installing the Bugzilla Files</A >3.2.13. Installing the Bugzilla Files</A
></H2 ></H2
><P ><P
> You should untar the Bugzilla files into a directory that you're > You should untar the Bugzilla files into a directory that
willing to make writable by the default web server user (probably you're willing to make writable by the default web server user
<SPAN (probably <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"nobody"</SPAN >"nobody"</SPAN
>). You may decide to put the files off of the main web space >). You may decide to put the
for your web server or perhaps off of /usr/local with a symbolic link files off of the main web space for your web server or perhaps
in the web space that points to the bugzilla directory. At any rate, off of <TT
just dump all the files in the same place (optionally omitting the CVS CLASS="FILENAME"
directories if they were accidentally tarred up with the rest of Bugzilla) >/usr/local</TT
and make sure you can access the files in that directory through your > with a symbolic link in
web server. the web space that points to the Bugzilla directory. At any
rate, just dump all the files in the same place, and make sure
you can access the files in that directory through your web
server.
</P </P
><DIV ><DIV
CLASS="TIP" CLASS="TIP"
...@@ -909,51 +1198,75 @@ ALIGN="LEFT" ...@@ -909,51 +1198,75 @@ ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> If you symlink the bugzilla directory into your Apache's > If you symlink the bugzilla directory into your Apache's
HTML heirarchy, you may receive "Forbidden" errors unless you HTML heirarchy, you may receive
add the "FollowSymLinks" directive to the &#60;Directory&#62; entry <SPAN
for the HTML root. CLASS="ERRORNAME"
>Forbidden</SPAN
> errors unless you add the
<SPAN
CLASS="QUOTE"
>"FollowSymLinks"</SPAN
> directive to the
&#60;Directory&#62; entry for the HTML root.
</P </P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
></DIV ></DIV
><P ><P
> Once all the files are in a web accessible directory, make that > Once all the files are in a web accessible directory, make
directory writable by your webserver's user (which may require just that directory writable by your webserver's user. This is a
making it world writable). This is a temporary step until you run temporary step until you run the post-install
the post-install <SPAN <TT
CLASS="QUOTE" CLASS="FILENAME"
>"checksetup.pl"</SPAN >checksetup.pl</TT
> script, which locks down your > script, which locks down your
installation. installation.
</P </P
><P ><P
> Lastly, you'll need to set up a symbolic link to /usr/bonsaitools/bin/perl > Lastly, you'll need to set up a symbolic link to
for the correct location of your perl executable (probably /usr/bin/perl). <TT
Otherwise you must hack all the .cgi files to change where they look CLASS="FILENAME"
for perl. To make future upgrades easier, you should use the symlink >/usr/bonsaitools/bin/perl</TT
approach. > for the correct
location of your perl executable (probably
<TT
CLASS="FILENAME"
>/usr/bin/perl</TT
>). Otherwise you must hack
all the .cgi files to change where they look for perl, or use
<A
HREF="setperl.html"
>The setperl.csh Utility</A
>, found in
<A
HREF="patches.html"
>Useful Patches and Utilities for Bugzilla</A
>. I suggest using the symlink
approach for future release compatability.
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN625" NAME="AEN685"
></A ></A
><P ><P
><B ><B
>Example 3-1. Setting up bonsaitools symlink</B >Example 3-1. Setting up bonsaitools symlink</B
></P ></P
><P ><P
> Here's how you set up the Perl symlink on Linux to make Bugzilla work. > Here's how you set up the Perl symlink on Linux to make
Your mileage may vary; if you are running on Solaris, you probably need to subsitute Bugzilla work. Your mileage may vary. For some UNIX
operating systems, you probably need to subsitute
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"/usr/local/bin/perl"</SPAN >"/usr/local/bin/perl"</SPAN
> for <SPAN > for
<SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"/usr/bin/perl"</SPAN >"/usr/bin/perl"</SPAN
> > below; if on certain other
below; if on certain other UNIX systems, UNIX systems, Perl may live in weird places like
Perl may live in weird places like <SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"/opt/perl"</SPAN >"/opt/perl"</SPAN
>. As root, run these commands: >. As root, run these commands:
...@@ -1008,8 +1321,7 @@ HREF="setperl.html" ...@@ -1008,8 +1321,7 @@ HREF="setperl.html"
>, listed in <A >, listed in <A
HREF="patches.html" HREF="patches.html"
>Useful Patches and Utilities for Bugzilla</A >Useful Patches and Utilities for Bugzilla</A
>. >. It will change the path to perl in all your Bugzilla files for you.
It will change the path to perl in all your Bugzilla files for you.
</P </P
></TD ></TD
></TR ></TR
...@@ -1023,7 +1335,7 @@ CLASS="SECTION" ...@@ -1023,7 +1335,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN636" NAME="AEN696"
>3.2.14. Setting Up the MySQL Database</A >3.2.14. Setting Up the MySQL Database</A
></H2 ></H2
><P ><P
...@@ -1032,9 +1344,13 @@ NAME="AEN636" ...@@ -1032,9 +1344,13 @@ NAME="AEN636"
quality bug tracker. quality bug tracker.
</P </P
><P ><P
> First, you'll want to fix MySQL permissions to allow access from > First, you'll want to fix MySQL permissions to allow access
Bugzilla. For the purpose of this Installation section, the Bugzilla username from Bugzilla. For the purpose of this Installation section,
will be "bugs", and will have minimal permissions. the Bugzilla username will be <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>, and will
have minimal permissions.
<DIV <DIV
CLASS="WARNING" CLASS="WARNING"
...@@ -1088,12 +1404,11 @@ CLASS="COMPUTEROUTPUT" ...@@ -1088,12 +1404,11 @@ CLASS="COMPUTEROUTPUT"
> <TT > <TT
CLASS="PROMPT" CLASS="PROMPT"
>bash#</TT >bash#</TT
> > <B
<B
CLASS="COMMAND" CLASS="COMMAND"
>mysql -u root mysql</B >mysql
> -u root mysql</B
</TT > </TT
> >
</TD </TD
></TR ></TR
...@@ -1104,14 +1419,11 @@ CLASS="COMPUTEROUTPUT" ...@@ -1104,14 +1419,11 @@ CLASS="COMPUTEROUTPUT"
> <TT > <TT
CLASS="PROMPT" CLASS="PROMPT"
>mysql&#62;</TT >mysql&#62;</TT
> > <B
<B
CLASS="COMMAND" CLASS="COMMAND"
> UPDATE user SET Password=PASSWORD ('new_password') > UPDATE user SET Password=PASSWORD ('new_password')
WHERE user='root'; WHERE user='root'; </B
</B > </TT
>
</TT
> >
</TD </TD
></TR ></TR
...@@ -1122,12 +1434,11 @@ CLASS="COMPUTEROUTPUT" ...@@ -1122,12 +1434,11 @@ CLASS="COMPUTEROUTPUT"
> <TT > <TT
CLASS="PROMPT" CLASS="PROMPT"
>mysql&#62;</TT >mysql&#62;</TT
> > <B
<B
CLASS="COMMAND" CLASS="COMMAND"
>FLUSH PRIVILEGES;</B >FLUSH
> PRIVILEGES;</B
</TT > </TT
> >
</TD </TD
></TR ></TR
...@@ -1135,20 +1446,36 @@ CLASS="COMMAND" ...@@ -1135,20 +1446,36 @@ CLASS="COMMAND"
></TABLE ></TABLE
><P ><P
></P ></P
> > From this point on, if you need to access
From this point on, if you need to access MySQL as the MySQL as the MySQL root user, you will need to use
MySQL root user, you will need to use "mysql -u root -p" and <B
enter your new_password. Remember that MySQL user names have CLASS="COMMAND"
nothing to do with Unix user names (login names). >mysql -u root -p</B
> and enter your
new_password. Remember that MySQL user names have nothing to
do with Unix user names (login names).
</P </P
><P ><P
> Next, we create the "bugs" user, and grant sufficient > Next, we create the <SPAN
permissions for checksetup.pl, which we'll use later, to work CLASS="QUOTE"
its magic. This also restricts the "bugs" user to operations >"bugs"</SPAN
within a database called "bugs", and only allows the account > user, and grant
to connect from "localhost". Modify it to reflect your setup sufficient permissions for checksetup.pl, which we'll use
if you will be connecting from another machine or as a different later, to work its magic. This also restricts the
user. <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> user to operations within a database
called <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>, and only allows the account to
connect from <SPAN
CLASS="QUOTE"
>"localhost"</SPAN
>. Modify it to reflect
your setup if you will be connecting from another machine or
as a different user.
</P </P
><P ><P
> Remember to set bugs_password to some unique password. > Remember to set bugs_password to some unique password.
...@@ -1201,10 +1528,14 @@ CLASS="COMMAND" ...@@ -1201,10 +1528,14 @@ CLASS="COMMAND"
> >
</P </P
><P ><P
> Next, run the magic checksetup.pl script. (Many thanks to Holger > Next, run the magic checksetup.pl script. (Many thanks to
Schurig &#60;holgerschurig@nikocity.de&#62; for writing this script!) Holger Schurig &#60;holgerschurig@nikocity.de&#62; for writing
It will make sure Bugzilla files and directories have reasonable this script!) It will make sure Bugzilla files and directories
permissions, set up the "data" directory, and create all the MySQL have reasonable permissions, set up the
<TT
CLASS="FILENAME"
>data</TT
> directory, and create all the MySQL
tables. tables.
<P <P
></P ></P
...@@ -1222,8 +1553,7 @@ CLASS="PROMPT" ...@@ -1222,8 +1553,7 @@ CLASS="PROMPT"
<B <B
CLASS="COMMAND" CLASS="COMMAND"
>./checksetup.pl</B >./checksetup.pl</B
> > </TT
</TT
> >
</TD </TD
></TR ></TR
...@@ -1231,8 +1561,11 @@ CLASS="COMMAND" ...@@ -1231,8 +1561,11 @@ CLASS="COMMAND"
></TABLE ></TABLE
><P ><P
></P ></P
> > The first time you run it, it will create a
The first time you run it, it will create a file called "localconfig". file called <TT
CLASS="FILENAME"
>localconfig</TT
>.
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -1240,8 +1573,11 @@ CLASS="SECTION" ...@@ -1240,8 +1573,11 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN675" NAME="AEN743"
>3.2.15. Tweaking "localconfig"</A >3.2.15. Tweaking <TT
CLASS="FILENAME"
>localconfig</TT
></A
></H2 ></H2
><P ><P
> This file contains a variety of settings you may need to tweak including > This file contains a variety of settings you may need to tweak including
...@@ -1255,59 +1591,78 @@ NAME="AEN675" ...@@ -1255,59 +1591,78 @@ NAME="AEN675"
TYPE="1" TYPE="1"
><LI ><LI
><P ><P
> server's host: just use "localhost" if the MySQL server is > server's host: just use <SPAN
local CLASS="QUOTE"
>"localhost"</SPAN
> if the
MySQL server is local
</P </P
></LI ></LI
><LI ><LI
><P ><P
> database name: "bugs" if you're following these directions > database name: <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> if you're following
these directions
</P </P
></LI ></LI
><LI ><LI
><P ><P
> MySQL username: "bugs" if you're following these directions > MySQL username: <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> if you're following
these directions
</P </P
></LI ></LI
><LI ><LI
><P ><P
> Password for the "bugs" MySQL account above > Password for the <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> MySQL account above
</P </P
></LI ></LI
></OL ></OL
> >
</P </P
><P ><P
> You may also install .htaccess files that the Apache webserver will use > You should also install .htaccess files that the Apache
to restrict access to Bugzilla data files. See <A webserver will use to restrict access to Bugzilla data files.
See <A
HREF="geninstall.html#HTACCESS" HREF="geninstall.html#HTACCESS"
>.htaccess files and security</A >.htaccess files and security</A
>. >.
</P </P
><P ><P
> Once you are happy with the settings, re-run checksetup.pl. On this > Once you are happy with the settings, re-run
second run, it will create the database and an administrator account <TT
for which you will be prompted to provide information. CLASS="FILENAME"
>checksetup.pl</TT
>. On this second run, it will
create the database and an administrator account for which
you will be prompted to provide information.
</P </P
><P ><P
> When logged into an administrator account once Bugzilla is running, > When logged into an administrator account once Bugzilla is
if you go to the query page (off of the bugzilla main menu), you'll running, if you go to the query page (off of the Bugzilla main
find an 'edit parameters' option that is filled with editable treats. menu), you'll find an <SPAN
CLASS="QUOTE"
>"edit parameters"</SPAN
> option
that is filled with editable treats.
</P </P
><P ><P
> Should everything work, you should have a nearly empty copy of the bug > Should everything work, you will have a nearly empty Bugzilla
tracking setup. database and a newly-created <TT
CLASS="FILENAME"
>localconfig</TT
>
file in your Bugzilla root directory.
</P </P
><P ><P
> The second time around, checksetup.pl will stall if it is on a > <DIV
filesystem that does not fully support file locking via flock(), such as
NFS mounts. This support is required for Bugzilla to operate safely with
multiple instances. If flock() is not fully supported, it will stall at:
<SPAN
CLASS="ERRORCODE"
>Now regenerating the shadow database for all bugs.</SPAN
>
<DIV
CLASS="NOTE" CLASS="NOTE"
><P ><P
></P ></P
...@@ -1328,33 +1683,36 @@ ALT="Note"></TD ...@@ -1328,33 +1683,36 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> The second time you run checksetup.pl, you should become the > The second time you run checksetup.pl, you should become
user your web server runs as, and that you ensure that you set the the user your web server runs as, and that you ensure that
"webservergroup" parameter in localconfig to match the web you set the <SPAN
server's group CLASS="QUOTE"
name, if any. I believe, for the next release of Bugzilla, >"webservergroup"</SPAN
this will > parameter in localconfig to
be fixed so that Bugzilla supports a "webserveruser" parameter match the web server's group name, if any. I believe,
in localconfig for the next release of Bugzilla, this will be fixed so
as well. that Bugzilla supports a <SPAN
CLASS="QUOTE"
>"webserveruser"</SPAN
> parameter in
localconfig as well.
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN697" NAME="AEN774"
></A ></A
><P ><P
><B ><B
>Example 3-2. Running checksetup.pl as the web user</B >Example 3-2. Running checksetup.pl as the web user</B
></P ></P
><P ><P
> Assuming your web server runs as user "apache", > Assuming your web server runs as user "apache", and
and Bugzilla is installed in Bugzilla is installed in "/usr/local/bugzilla", here's
"/usr/local/bugzilla", here's one way to run checksetup.pl one way to run checksetup.pl as the web server user.
as the web server user.
As root, for the <EM As root, for the <EM
>second run</EM >second run</EM
> > of
of checksetup.pl, do this: checksetup.pl, do this:
<TABLE <TABLE
BORDER="0" BORDER="0"
BGCOLOR="#E0E0E0" BGCOLOR="#E0E0E0"
...@@ -1365,7 +1723,8 @@ WIDTH="100%" ...@@ -1365,7 +1723,8 @@ WIDTH="100%"
COLOR="#000000" COLOR="#000000"
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>bash# chown -R apache:apache /usr/local/bugzilla >
bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache bash# su - apache
bash# cd /usr/local/bugzilla bash# cd /usr/local/bugzilla
bash# ./checksetup.pl bash# ./checksetup.pl
...@@ -1420,16 +1779,16 @@ CLASS="SECTION" ...@@ -1420,16 +1779,16 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN704" NAME="AEN781"
>3.2.16. Setting Up Maintainers Manually (Optional)</A >3.2.16. Setting Up Maintainers Manually (Optional)</A
></H2 ></H2
><P ><P
> If you want to add someone else to every group by hand, you > If you want to add someone else to every group by hand, you
can do it by typing the appropriate MySQL commands. Run can do it by typing the appropriate MySQL commands. Run
'<TT <B
CLASS="COMPUTEROUTPUT" CLASS="COMMAND"
> mysql -u root -p bugs</TT > mysql -u root -p bugs</B
>' You > You
may need different parameters, depending on your security may need different parameters, depending on your security
settings. Then: settings. Then:
<P <P
...@@ -1450,7 +1809,12 @@ CLASS="COMMAND" ...@@ -1450,7 +1809,12 @@ CLASS="COMMAND"
profiles set groupset=0x7fffffffffffffff where profiles set groupset=0x7fffffffffffffff where
login_name = 'XXX';</B login_name = 'XXX';</B
> </TT > </TT
> > (yes, that's <EM
>fifteen</EM
><SPAN
CLASS="QUOTE"
>"f"</SPAN
>'s.
</TD </TD
></TR ></TR
></TBODY ></TBODY
...@@ -1465,7 +1829,7 @@ CLASS="SECTION" ...@@ -1465,7 +1829,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN713" NAME="AEN792"
>3.2.17. The Whining Cron (Optional)</A >3.2.17. The Whining Cron (Optional)</A
></H2 ></H2
><P ><P
...@@ -1551,7 +1915,7 @@ CLASS="SECTION" ...@@ -1551,7 +1915,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN723" NAME="AEN802"
>3.2.18. Bug Graphs (Optional)</A >3.2.18. Bug Graphs (Optional)</A
></H2 ></H2
><P ><P
...@@ -1608,7 +1972,7 @@ CLASS="SECTION" ...@@ -1608,7 +1972,7 @@ CLASS="SECTION"
><H2 ><H2
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="AEN735" NAME="AEN814"
>3.2.19. Securing MySQL</A >3.2.19. Securing MySQL</A
></H2 ></H2
><P ><P
......
<HTML <HTML
><HEAD ><HEAD
><TITLE ><TITLE
>Tinderbox</TITLE >Tinderbox/Tinderbox2</TITLE
><META ><META
NAME="GENERATOR" NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61 CONTENT="Modular DocBook HTML Stylesheet Version 1.61
...@@ -71,10 +71,10 @@ CLASS="SECTION" ...@@ -71,10 +71,10 @@ CLASS="SECTION"
CLASS="SECTION" CLASS="SECTION"
><A ><A
NAME="TINDERBOX" NAME="TINDERBOX"
>5.4. Tinderbox</A >5.4. Tinderbox/Tinderbox2</A
></H1 ></H1
><P ><P
>We need Tinderbox integration information</P >We need Tinderbox integration information.</P
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
......
...@@ -137,6 +137,15 @@ CLASS="PROMPT" ...@@ -137,6 +137,15 @@ CLASS="PROMPT"
login name)"; </B login name)"; </B
> >
</P </P
><P
>Yes, that is <EM
>fourteen</EM
>
<SPAN
CLASS="QUOTE"
>"f"</SPAN
>'s. A whole lot of f-ing going on if you
want to create a new administator.</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
...@@ -245,13 +254,16 @@ VALIGN="TOP" ...@@ -245,13 +254,16 @@ VALIGN="TOP"
right-hand side of the text entry box. You can match right-hand side of the text entry box. You can match
what you type as a case-insensitive substring (the what you type as a case-insensitive substring (the
default) of all users on your system, a case-sensitive default) of all users on your system, a case-sensitive
regular expression (please see the "man regexp" manual regular expression (please see the <B
page for details on regular expression syntax), or a CLASS="COMMAND"
<EM >man
regexp</B
> manual page for details on regular
expression syntax), or a <EM
>reverse</EM >reverse</EM
> regular expression match, >
where every user name which does NOT match the regular regular expression match, where every user name which
expression is selected. does NOT match the regular expression is selected.
</P </P
></TD ></TD
></TR ></TR
...@@ -294,10 +306,17 @@ VALIGN="TOP" ...@@ -294,10 +306,17 @@ VALIGN="TOP"
>not</EM >not</EM
> >
send an email informing them of their username and send an email informing them of their username and
password. In general, it is preferable to log out and password. While useful for creating dummy accounts
use the "New Account" button to create users, as it (watchers which shuttle mail to another system, for
will pre-populate all the required fields and also instance, or email addresses which are a mailing
notify the user of her account name and password. list), in general it is preferable to log out and use
the <SPAN
CLASS="QUOTE"
>"New Account"</SPAN
> button to create users,
as it will pre-populate all the required fields and
also notify the user of her account name and
password.
</P </P
></TD ></TD
></TR ></TR
...@@ -346,6 +365,15 @@ VALIGN="TOP" ...@@ -346,6 +365,15 @@ VALIGN="TOP"
> Don't disable your own administrative account, or you > Don't disable your own administrative account, or you
will hate life! will hate life!
</P </P
><P
>At this time, <SPAN
CLASS="QUOTE"
>"Disabled Text"</SPAN
> does not
prevent a user from using the email interface. If you
have the email interface enabled, they can still
continue to submit bugs and comments that way. We need
a patch to fix this.</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
...@@ -419,9 +447,8 @@ VALIGN="TOP" ...@@ -419,9 +447,8 @@ VALIGN="TOP"
><P ><P
> <EM > <EM
>Password</EM >Password</EM
>: You will only see >: You can change the user
asterisks in versions of Bugzilla newer than 2.10 or password here. It is normal to only see asterisks.
early 2.11. You can change the user password here.
</P </P
></LI ></LI
><LI ><LI
......
...@@ -86,7 +86,7 @@ VALIGN="TOP" ...@@ -86,7 +86,7 @@ VALIGN="TOP"
><I ><I
><P ><P
><I ><I
>What, Why, How, &#38; What's in it for me?</I >What, Why, How, &#38; Where?</I
></P ></P
></I ></I
></TD ></TD
...@@ -150,7 +150,7 @@ HREF="how.html#BUG_MANAGE" ...@@ -150,7 +150,7 @@ HREF="how.html#BUG_MANAGE"
><DT ><DT
>2.4. <A >2.4. <A
HREF="init4me.html" HREF="init4me.html"
>What's in it for me?</A >Where can I find my user preferences?</A
></DT ></DT
><DD ><DD
><DL ><DL
......
...@@ -13,7 +13,7 @@ REL="UP" ...@@ -13,7 +13,7 @@ REL="UP"
TITLE="Using Bugzilla" TITLE="Using Bugzilla"
HREF="using.html"><LINK HREF="using.html"><LINK
REL="PREVIOUS" REL="PREVIOUS"
TITLE="What's in it for me?" TITLE="Where can I find my user preferences?"
HREF="init4me.html"><LINK HREF="init4me.html"><LINK
REL="NEXT" REL="NEXT"
TITLE="Installation" TITLE="Installation"
...@@ -74,16 +74,14 @@ NAME="USINGBZ-CONC" ...@@ -74,16 +74,14 @@ NAME="USINGBZ-CONC"
>2.5. Using Bugzilla-Conclusion</A >2.5. Using Bugzilla-Conclusion</A
></H1 ></H1
><P ><P
> Thank you for reading through this portion of the Bugzilla Guide. I anticipate > Thank you for reading through this portion of the Bugzilla
it may not yet meet the needs of all readers. If you have additional comments or Guide. I anticipate it may not yet meet the needs of all
corrections to make, please submit your contributions to the readers. If you have additional comments or corrections to
<A make, please submit your contributions to the <A
HREF="mailto://mozilla-webtools@mozilla.org" HREF="mailto://mozilla-webtools@mozilla.org"
TARGET="_top" TARGET="_top"
>mozilla-webtools</A >mozilla-webtools</A
> > mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools
newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
</P </P
></DIV ></DIV
><DIV ><DIV
...@@ -126,7 +124,7 @@ HREF="installation.html" ...@@ -126,7 +124,7 @@ HREF="installation.html"
WIDTH="33%" WIDTH="33%"
ALIGN="left" ALIGN="left"
VALIGN="top" VALIGN="top"
>What's in it for me?</TD >Where can I find my user preferences?</TD
><TD ><TD
WIDTH="34%" WIDTH="34%"
ALIGN="center" ALIGN="center"
......
<HTML
><HEAD
><TITLE
>Loki Bugzilla (Fenris)</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK
REL="PREVIOUS"
TITLE="Red Hat Bugzilla"
HREF="rhbugzilla.html"><LINK
REL="NEXT"
TITLE="Issuezilla"
HREF="variant_issuezilla.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="rhbugzilla.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Bugzilla Variants and Competitors</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="variant_issuezilla.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><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="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="rhbugzilla.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="variant_issuezilla.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Red Hat Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="variants.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Issuezilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
\ No newline at end of file
<HTML
><HEAD
><TITLE
>Issuezilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK
REL="PREVIOUS"
TITLE="Loki Bugzilla (Fenris)"
HREF="variant_fenris.html"><LINK
REL="NEXT"
TITLE="Scarab"
HREF="variant_scarab.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="variant_fenris.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Bugzilla Variants and Competitors</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="variant_scarab.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><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.html"
>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="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="variant_fenris.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="variant_scarab.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Loki Bugzilla (Fenris)</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="variants.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Scarab</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
\ No newline at end of file
<HTML
><HEAD
><TITLE
>Perforce SCM</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK
REL="PREVIOUS"
TITLE="Scarab"
HREF="variant_scarab.html"><LINK
REL="NEXT"
TITLE="SourceForge"
HREF="variant_sourceforge.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="variant_scarab.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Bugzilla Variants and Competitors</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="variant_sourceforge.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><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="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="variant_scarab.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="variant_sourceforge.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Scarab</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="variants.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SourceForge</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
\ No newline at end of file
<HTML
><HEAD
><TITLE
>Scarab</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK
REL="PREVIOUS"
TITLE="Issuezilla"
HREF="variant_issuezilla.html"><LINK
REL="NEXT"
TITLE="Perforce SCM"
HREF="variant_perforce.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="variant_issuezilla.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Bugzilla Variants and Competitors</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="variant_perforce.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><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="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="variant_issuezilla.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="variant_perforce.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Issuezilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="variants.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Perforce SCM</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
\ No newline at end of file
<HTML
><HEAD
><TITLE
>SourceForge</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Bugzilla Variants and Competitors"
HREF="variants.html"><LINK
REL="PREVIOUS"
TITLE="Perforce SCM"
HREF="variant_perforce.html"><LINK
REL="NEXT"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="variant_perforce.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Bugzilla Variants and Competitors</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="patches.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><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
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="variant_perforce.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="patches.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Perforce SCM</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="variants.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Useful Patches and Utilities for Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
\ No newline at end of file
<HTML <HTML
><HEAD ><HEAD
><TITLE ><TITLE
>Bugzilla Variants</TITLE >Bugzilla Variants and Competitors</TITLE
><META ><META
NAME="GENERATOR" NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61 CONTENT="Modular DocBook HTML Stylesheet Version 1.61
...@@ -67,39 +67,56 @@ CLASS="CHAPTER" ...@@ -67,39 +67,56 @@ CLASS="CHAPTER"
><H1 ><H1
><A ><A
NAME="VARIANTS" NAME="VARIANTS"
>Chapter 7. Bugzilla Variants</A >Chapter 7. Bugzilla Variants and Competitors</A
></H1 ></H1
><DIV ><DIV
CLASS="NOTE" CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>7.1. <A
HREF="rhbugzilla.html"
>Red Hat Bugzilla</A
></DT
><DT
>7.2. <A
HREF="variant_fenris.html"
>Loki Bugzilla (Fenris)</A
></DT
><DT
>7.3. <A
HREF="variant_issuezilla.html"
>Issuezilla</A
></DT
><DT
>7.4. <A
HREF="variant_scarab.html"
>Scarab</A
></DT
><DT
>7.5. <A
HREF="variant_perforce.html"
>Perforce SCM</A
></DT
><DT
>7.6. <A
HREF="variant_sourceforge.html"
>SourceForge</A
></DT
></DL
></DIV
><P ><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 ></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
> I <EM
>know</EM
> there are more variants than just RedHat Bugzilla out there.
Please help me get information about them, their project status, and benefits there
might be in using them or in using their code in main-tree Bugzilla.
</P
></TD
></TR
></TABLE
></DIV
></DIV ></DIV
><DIV ><DIV
CLASS="NAVFOOTER" CLASS="NAVFOOTER"
......
...@@ -130,8 +130,10 @@ system against which all others are measured. ...@@ -130,8 +130,10 @@ system against which all others are measured.
></LI ></LI
><LI ><LI
><P ><P
> available integration with automated software configuration management systems, including > available integration with automated software
Perforce and CVS configuration management systems, including Perforce and
CVS (through the Bugzilla email interface and
checkin/checkout scripts)
</P </P
></LI ></LI
><LI ><LI
...@@ -143,25 +145,33 @@ system against which all others are measured. ...@@ -143,25 +145,33 @@ system against which all others are measured.
> >
</P </P
><P ><P
> Despite its current robustness and popularity, however, Bugzilla > Despite its current robustness and popularity, Bugzilla faces
faces some near-term challenges, such as reliance on a single database, a lack of some near-term challenges, such as reliance on a single
abstraction of the user interface and program logic, verbose email bug database, a lack of abstraction of the user interface and
notifications, a powerful but daunting query interface, little reporting configurability, program logic, verbose email bug notifications, a powerful but
problems with extremely large queries, some unsupportable bug resolution options, daunting query interface, little reporting configurability,
no internationalization, and dependence on some nonstandard libraries. problems with extremely large queries, some unsupportable bug
resolution options, little internationalization (although non-US
character sets are accepted for comments), and dependence on
some nonstandard libraries.
</P </P
><P ><P
> Some recent headway has been made on the query front, however. If you are using the latest > Some recent headway has been made on the query front, however.
version of Bugzilla, you should see a "simple search" form on the default front page of If you are using the latest version of Bugzilla, you should see
your Bugzilla install. Type in two or three search terms and you should pull up some a <SPAN
relevant information. This is also available as "queryhelp.cgi". CLASS="QUOTE"
>"simple search"</SPAN
> form on the default front page of
your Bugzilla install. Type in two or three search terms and
you should pull up some relevant information. This is also
available as "queryhelp.cgi".
</P </P
><P ><P
> Despite these small problems, Bugzilla is very hard to beat. It is under <EM > Despite these small problems, Bugzilla is very hard to beat. It
is under <EM
>very</EM >very</EM
> > active development to address
active development to address the current issues, and a long-awaited overhaul in the form the current issues, and continually gains new features.
of Bugzilla 3.0 is expected sometime later this year.
</P </P
></DIV ></DIV
><DIV ><DIV
......
...@@ -97,23 +97,25 @@ VALIGN="TOP" ...@@ -97,23 +97,25 @@ VALIGN="TOP"
></TR ></TR
></TABLE ></TABLE
><P ><P
> For many years, defect-tracking software has remained principally the domain > For many years, defect-tracking software has remained
of large software development houses. Even then, most shops never bothered principally the domain of large software development houses.
with bug-tracking software, and instead simply relied on shared lists and Even then, most shops never bothered with bug-tracking software,
email to monitor the status of defects. This procedure is error-prone and and instead simply relied on shared lists and email to monitor
tends to cause those bugs judged least significant by developers to be the status of defects. This procedure is error-prone and tends
to cause those bugs judged least significant by developers to be
dropped or ignored. dropped or ignored.
</P </P
><P ><P
> These days, many companies are finding that integrated defect-tracking > These days, many companies are finding that integrated
systems reduce downtime, increase productivity, and raise customer defect-tracking systems reduce downtime, increase productivity,
satisfaction with their systems. Along with full disclosure, an open and raise customer satisfaction with their systems. Along with
bug-tracker allows manufacturers to keep in touch with their clients full disclosure, an open bug-tracker allows manufacturers to
and resellers, to communicate about problems effectively throughout keep in touch with their clients and resellers, to communicate
the data management chain. Many corporations have also discovered that about problems effectively throughout the data management chain.
defect-tracking helps reduce costs by providing IT support accountability, Many corporations have also discovered that defect-tracking
telephone support knowledge bases, and a common, well-understood system helps reduce costs by providing IT support accountability,
for accounting for unusual system or software issues. telephone support knowledge bases, and a common, well-understood
system for accounting for unusual system or software issues.
</P </P
><P ><P
> But why should <EM > But why should <EM
...@@ -121,28 +123,35 @@ VALIGN="TOP" ...@@ -121,28 +123,35 @@ VALIGN="TOP"
> use Bugzilla? > use Bugzilla?
</P </P
><P ><P
> Bugzilla is very adaptable to various situations. Known uses currently > Bugzilla is very adaptable to various situations. Known uses
include IT support queues, Systems Administration deployment management, currently include IT support queues, Systems Administration
chip design and development problem tracking (both pre-and-post fabrication), deployment management, chip design and development problem
and software and hardware bug tracking for luminaries such as Redhat, Loki software, tracking (both pre-and-post fabrication), and software and
Linux-Mandrake, and VA Systems. Combined with systems such as CVS, Bonsai, hardware bug tracking for luminaries such as Redhat, Loki
or Perforce SCM, Bugzilla provides a powerful, easy-to-use solution to software, Linux-Mandrake, and VA Systems. Combined with systems
configuration management and replication problems such as CVS, Bonsai, or Perforce SCM, Bugzilla provides a
powerful, easy-to-use solution to configuration management and
replication problems
</P </P
><P ><P
> Bugzilla can dramatically increase the productivity and accountability > Bugzilla can dramatically increase the productivity and
of individual employees by providing a documented workflow and positive accountability of individual employees by providing a documented
feedback for good performance. How many times do you wake up in the workflow and positive feedback for good performance. How many
morning, remembering that you were supposed to do *something* today, times do you wake up in the morning, remembering that you were
but you just can't quite remember? Put it in Bugzilla, and you have a record supposed to do <EM
of it from which you can extrapolate milestones, predict product versions >something</EM
for integration, and by using Bugzilla's e-mail integration features > today, but you
be able to follow the discussion trail that led to critical decisions. just can't quite remember? Put it in Bugzilla, and you have a
record of it from which you can extrapolate milestones, predict
product versions for integration, and by using Bugzilla's e-mail
integration features be able to follow the discussion trail that
led to critical decisions.
</P </P
><P ><P
> Ultimately, Bugzilla puts the power in your hands to improve your value > Ultimately, Bugzilla puts the power in your hands to improve
to your employer or business while providing a usable framework for your natural your value to your employer or business while providing a usable
attention to detail and knowledge store to flourish. framework for your natural attention to detail and knowledge
store to flourish.
</P </P
></DIV ></DIV
><DIV ><DIV
......
...@@ -126,7 +126,7 @@ VALIGN="TOP" ...@@ -126,7 +126,7 @@ VALIGN="TOP"
of the of the
<A <A
HREF="installation.html" HREF="installation.html"
>Chapter 3</A >Bugzilla Installation</A
> section while performing your > section while performing your
Win32 installation. Win32 installation.
</P </P
...@@ -137,13 +137,14 @@ HREF="installation.html" ...@@ -137,13 +137,14 @@ HREF="installation.html"
be a <EM be a <EM
>very</EM >very</EM
> skilled Windows Systems > skilled Windows Systems
Administrator with both strong troubleshooting abilities and Administrator with strong troubleshooting abilities, a high
a high tolerance for pain. Bugzilla on NT requires hacking tolerance for pain, and moderate perl skills. Bugzilla on NT
source code and implementing some advanced utilities. What requires hacking source code and implementing some advanced
follows is the recommended installation procedure for Win32; utilities. What follows is the recommended installation
additional suggestions are provided in <A procedure for Win32; additional suggestions are provided in
<A
HREF="faq.html" HREF="faq.html"
>The Bugzilla FAQ</A >Appendix A</A
>. >.
</P </P
></TD ></TD
...@@ -159,9 +160,23 @@ TYPE="1" ...@@ -159,9 +160,23 @@ TYPE="1"
> Install <A > Install <A
HREF="http://www.apache.org/" HREF="http://www.apache.org/"
TARGET="_top" TARGET="_top"
>Apache Web Server</A >Apache Web
Server</A
> for Windows, and copy the Bugzilla files
somewhere Apache can serve them. Please follow all the
instructions referenced in <A
HREF="installation.html"
>Bugzilla Installation</A
>
regarding your Apache configuration, particularly
instructions regarding the <SPAN
CLASS="QUOTE"
>"AddHandler"</SPAN
> >
for Windows. parameter and <SPAN
CLASS="QUOTE"
>"ExecCGI"</SPAN
>.
</P </P
><DIV ><DIV
CLASS="NOTE" CLASS="NOTE"
...@@ -184,13 +199,13 @@ ALT="Note"></TD ...@@ -184,13 +199,13 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> You may also use Internet Information Server or Personal Web > You may also use Internet Information Server or Personal
Server for this purpose. However, setup is slightly more Web Server for this purpose. However, setup is quite
difficult. If ActivePerl doesn't seem to handle your file different. If ActivePerl doesn't seem to handle your
associations correctly (for .cgi and .pl files), please file associations correctly (for .cgi and .pl files),
consult <A please consult <A
HREF="faq.html" HREF="faq.html"
>The Bugzilla FAQ</A >Appendix A</A
>. >.
</P </P
><P ><P
...@@ -286,7 +301,7 @@ CLASS="COMMAND" ...@@ -286,7 +301,7 @@ CLASS="COMMAND"
><DIV ><DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN910" NAME="AEN1012"
></A ></A
><P ><P
><B ><B
...@@ -526,13 +541,63 @@ CLASS="FILENAME" ...@@ -526,13 +541,63 @@ CLASS="FILENAME"
this line: this line:
</P </P
><P ><P
> "my $webservergid = getgrnam($my_webservergroup); " > <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = getgrnam($my_webservergroup);
</PRE
></FONT
></TD
></TR
></TABLE
>
</P </P
><P ><P
> to > to
</P </P
><P ><P
> "my $webservergid = $my_webservergroup; " > <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = $my_webservergroup;
</PRE
></FONT
></TD
></TR
></TABLE
>
or the name of the group you wish to own the files explicitly:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = 'Administrators'
</PRE
></FONT
></TD
></TR
></TABLE
>
</P </P
></LI ></LI
><LI ><LI
...@@ -841,7 +906,31 @@ ALT="Note"></TD ...@@ -841,7 +906,31 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>The code above needs testing as well to make sure it is correct.</P > Some have found success using the commercial product,
<SPAN
CLASS="PRODUCTNAME"
>Windmail</SPAN
>.
You could try replacing your sendmail calls with:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t &#62; mail.log";
</PRE
></FONT
></TD
></TR
></TABLE
>
or something to that effect.
</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
...@@ -1002,9 +1091,9 @@ ALT="Note"></TD ...@@ -1002,9 +1091,9 @@ ALT="Note"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> This step is completely optional if you are using IIS or > This step is optional if you are using IIS or another
another web server which only decides on an interpreter web server which only decides on an interpreter based
based upon the file extension (.pl), rather than the upon the file extension (.pl), rather than the
<SPAN <SPAN
CLASS="QUOTE" CLASS="QUOTE"
>"shebang"</SPAN >"shebang"</SPAN
...@@ -1102,10 +1191,11 @@ ALT="Tip"></TD ...@@ -1102,10 +1191,11 @@ ALT="Tip"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
> If you are using IIS 5.0 or higher, you must add cgi > If you are using IIS or Personal Web Server, you must add cgi
relationships to Properties -&#62; Home directory (tab) -&#62; relationships to Properties -&#62; Home directory (tab) -&#62;
Application Settings (section) -&#62; Configuration (button), Application Settings (section) -&#62; Configuration (button),
such as: <TABLE such as:
<TABLE
BORDER="0" BORDER="0"
BGCOLOR="#E0E0E0" BGCOLOR="#E0E0E0"
WIDTH="100%" WIDTH="100%"
...@@ -1164,15 +1254,14 @@ VALIGN="TOP" ...@@ -1164,15 +1254,14 @@ VALIGN="TOP"
><P ><P
> From Andrew Pearson: > From Andrew Pearson:
<A <A
NAME="AEN1062" NAME="AEN1169"
></A ></A
><BLOCKQUOTE ><BLOCKQUOTE
CLASS="BLOCKQUOTE" CLASS="BLOCKQUOTE"
><P ><P
> "You can make Bugzilla work with Personal Web Server for > You can make Bugzilla work with Personal Web Server for
Windows 98 and higher, as well as for IIS 4.0. Microsoft has Windows 98 and higher, as well as for IIS 4.0.
information available at Microsoft has information available at <A
<A
HREF=" http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP" HREF=" http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP"
TARGET="_top" TARGET="_top"
> http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</A > http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</A
...@@ -1225,75 +1314,21 @@ ALT="Tip"></TD ...@@ -1225,75 +1314,21 @@ ALT="Tip"></TD
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
><P ><P
>"Brian" had this to add, about upgrading to Bugzilla 2.12 from previous versions:</P > If attempting to run Bugzilla 2.12 or older, you will need
><A to remove encrypt() calls from the Perl source. This is
NAME="AEN1072" <EM
></A >not necessary</EM
><BLOCKQUOTE > for Bugzilla 2.13 and
CLASS="BLOCKQUOTE" later.
><P
> Hi - I am updating bugzilla to 2.12 so I can tell you what I did (after I
deleted the current dir and copied the files in).
</P
><P
> In checksetup.pl, I did the following...
</P
><DIV
CLASS="PROCEDURE"
><OL
TYPE="1"
><LI
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = getgrnam($my_webservergroup);
</PRE
></FONT
></TD
></TR
></TABLE
><P
>to</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = 'Administrators'
</PRE
></FONT
></TD
></TR
></TABLE
></LI
><LI
><P
> I then ran checksetup.pl
</P
></LI
><LI
><P
> I removed all the encrypt()
<DIV <DIV
CLASS="EXAMPLE" CLASS="EXAMPLE"
><A ><A
NAME="AEN1084" NAME="AEN1180"
></A ></A
><P ><P
><B ><B
>Example 3-4. Removing encrypt() for Windows NT installations</B >Example 3-4. Removing encrypt() for Windows NT Bugzilla version
2.12 or earlier</B
></P ></P
><P ><P
> Replace this: > Replace this:
...@@ -1307,8 +1342,8 @@ WIDTH="100%" ...@@ -1307,8 +1342,8 @@ WIDTH="100%"
COLOR="#000000" COLOR="#000000"
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . >
SqlQuote(substr($realcryptpwd, 0, 2)) . ")"); SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn(); my $enteredcryptpwd = FetchOneColumn();
</PRE </PRE
></FONT ></FONT
...@@ -1327,7 +1362,8 @@ WIDTH="100%" ...@@ -1327,7 +1362,8 @@ WIDTH="100%"
COLOR="#000000" COLOR="#000000"
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>my $enteredcryptpwd = $enteredpwd >
my $enteredcryptpwd = $enteredpwd
</PRE </PRE
></FONT ></FONT
></TD ></TD
...@@ -1339,114 +1375,6 @@ CLASS="PROGRAMLISTING" ...@@ -1339,114 +1375,6 @@ CLASS="PROGRAMLISTING"
></DIV ></DIV
> >
</P </P
></LI
><LI
><P
> I renamed processmail to processmail.pl
</P
></LI
><LI
><P
> I altered the sendmail statements to windmail:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t &#62; mail.log";
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
> The quotes around the dir is for the spaces. mail.log is for the output
</P
></LI
></OL
></DIV
></BLOCKQUOTE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="TIP"
><P
></P
><TABLE
CLASS="TIP"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/tip.gif"
HSPACE="5"
ALT="Tip"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> This was some late breaking information from Jan Evert. Sorry for the lack of formatting.
</P
><P
CLASS="LITERALLAYOUT"
>I'm&nbsp;busy&nbsp;installing&nbsp;bugzilla&nbsp;on&nbsp;a&nbsp;WinNT&nbsp;machine&nbsp;and&nbsp;I&nbsp;thought&nbsp;I'd&nbsp;notify&nbsp;you<br>
at&nbsp;this&nbsp;moment&nbsp;of&nbsp;the&nbsp;commments&nbsp;I&nbsp;have&nbsp;to&nbsp;section&nbsp;2.2.1&nbsp;of&nbsp;the&nbsp;bugzilla<br>
guide&nbsp;(at&nbsp;http://www.trilobyte.net/barnsons/html/).<br>
<br>
Step&nbsp;1:<br>
I've&nbsp;used&nbsp;apache,&nbsp;installation&nbsp;is&nbsp;really&nbsp;straightforward.<br>
After&nbsp;reading&nbsp;the&nbsp;Unix&nbsp;installation&nbsp;instructions,&nbsp;I&nbsp;found&nbsp;that&nbsp;it&nbsp;is<br>
necessary&nbsp;to&nbsp;add&nbsp;the&nbsp;ExecCGI&nbsp;option&nbsp;to&nbsp;the&nbsp;bugzilla&nbsp;directory.&nbsp;Also&nbsp;the<br>
'AddHandler'&nbsp;line&nbsp;for&nbsp;.cgi&nbsp;is&nbsp;by&nbsp;default&nbsp;commented&nbsp;out.<br>
<br>
Step&nbsp;3:&nbsp;although&nbsp;just&nbsp;a&nbsp;detail,&nbsp;'ppm&nbsp;install&nbsp;&#60;module%gt;'&nbsp;will&nbsp;also&nbsp;work<br>
(without&nbsp;.ppd).&nbsp;And,&nbsp;it&nbsp;can&nbsp;also&nbsp;download&nbsp;these&nbsp;automatically&nbsp;from<br>
ActiveState.<br>
<br>
Step&nbsp;4:&nbsp;although&nbsp;I&nbsp;have&nbsp;cygwin&nbsp;installed,&nbsp;it&nbsp;seems&nbsp;that&nbsp;it&nbsp;is&nbsp;not&nbsp;necessary.<br>
On&nbsp;my&nbsp;machine&nbsp;cygwin&nbsp;is&nbsp;not&nbsp;in&nbsp;the&nbsp;PATH&nbsp;and&nbsp;everything&nbsp;seems&nbsp;to&nbsp;work&nbsp;as<br>
expected.<br>
However,&nbsp;I've&nbsp;not&nbsp;used&nbsp;everything&nbsp;yet.<br>
<br>
Step&nbsp;6:&nbsp;the&nbsp;'bugs_password'&nbsp;given&nbsp;in&nbsp;SQL&nbsp;command&nbsp;d&nbsp;needs&nbsp;to&nbsp;be&nbsp;edited&nbsp;into<br>
localconfig&nbsp;later&nbsp;on&nbsp;(Step&nbsp;7)&nbsp;if&nbsp;the&nbsp;password&nbsp;is&nbsp;not&nbsp;empty.&nbsp;I've&nbsp;also&nbsp;edited<br>
it&nbsp;into&nbsp;globals.pl,&nbsp;but&nbsp;I'm&nbsp;not&nbsp;sure&nbsp;that&nbsp;is&nbsp;needed.&nbsp;In&nbsp;both&nbsp;places,&nbsp;the<br>
variable&nbsp;is&nbsp;named&nbsp;db_pass.<br>
<br>
Step&nbsp;8:&nbsp;all&nbsp;the&nbsp;sendmail&nbsp;replacements&nbsp;mentioned&nbsp;are&nbsp;not&nbsp;as&nbsp;simple&nbsp;as<br>
described&nbsp;there.&nbsp;Since&nbsp;I&nbsp;am&nbsp;not&nbsp;familiar&nbsp;(yet)&nbsp;with&nbsp;perl,&nbsp;I&nbsp;don't&nbsp;have&nbsp;any<br>
mail&nbsp;working&nbsp;yet.<br>
<br>
Step&nbsp;9:&nbsp;in&nbsp;globals.pl&nbsp;the&nbsp;encrypt()&nbsp;call&nbsp;can&nbsp;be&nbsp;replaced&nbsp;by&nbsp;just&nbsp;the<br>
unencrypted&nbsp;password.&nbsp;In&nbsp;CGI.pl,&nbsp;the&nbsp;complete&nbsp;SQL&nbsp;command&nbsp;can&nbsp;be&nbsp;removed.<br>
<br>
Step&nbsp;11:&nbsp;I've&nbsp;only&nbsp;changed&nbsp;the&nbsp;#!&nbsp;lines&nbsp;in&nbsp;*.cgi.&nbsp;I&nbsp;haven't&nbsp;noticed&nbsp;problems<br>
with&nbsp;the&nbsp;system()&nbsp;call&nbsp;yet.<br>
There&nbsp;seem&nbsp;to&nbsp;be&nbsp;only&nbsp;four&nbsp;system()&nbsp;called&nbsp;programs:&nbsp;processmail.pl&nbsp;(handled<br>
by&nbsp;step&nbsp;10),&nbsp;syncshadowdb&nbsp;(which&nbsp;should&nbsp;probably&nbsp;get&nbsp;the&nbsp;same&nbsp;treatment&nbsp;as<br>
processmail.pl),&nbsp;diff&nbsp;and&nbsp;mysqldump.&nbsp;The&nbsp;last&nbsp;one&nbsp;is&nbsp;only&nbsp;needed&nbsp;with&nbsp;the<br>
shadowdb&nbsp;feature&nbsp;(which&nbsp;I&nbsp;don't&nbsp;use).<br>
<br>
There&nbsp;seems&nbsp;to&nbsp;be&nbsp;one&nbsp;step&nbsp;missing:&nbsp;copying&nbsp;the&nbsp;bugzilla&nbsp;files&nbsp;somehwere<br>
that&nbsp;apache&nbsp;can&nbsp;serve&nbsp;them.<br>
<br>
Just&nbsp;noticed&nbsp;the&nbsp;updated&nbsp;guide...&nbsp;Brian's&nbsp;comment&nbsp;is&nbsp;new.&nbsp;His&nbsp;first&nbsp;comment<br>
will&nbsp;work,&nbsp;but&nbsp;opens&nbsp;up&nbsp;a&nbsp;huge&nbsp;security&nbsp;hole.<br>
</P
></TD ></TD
></TR ></TR
></TABLE ></TABLE
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<!ENTITY bz-ver "2.14"> <!ENTITY bz-ver "2.14">
<!ENTITY bz-cvs-ver "2.15"> <!ENTITY bz-cvs-ver "2.15">
<!ENTITY bzg-date "August 10, 2001"> <!ENTITY bzg-date "August 10, 2001">
<!ENTITY bzg-ver "2.14.0"> <!ENTITY bzg-ver "2.14">
<!ENTITY bzg-cvs-ver "2.15.0"> <!ENTITY bzg-cvs-ver "2.15.0">
<!ENTITY bzg-auth "Matthew P. Barnson"> <!ENTITY bzg-auth "Matthew P. Barnson">
<!ENTITY bzg-auth-email "<email>barnboy@NOSPAM.trilobyte.net</email>"> <!ENTITY bzg-auth-email "<email>barnboy@NOSPAM.trilobyte.net</email>">
...@@ -137,15 +137,6 @@ try to avoid clutter and feel free to waste space in the code to make it more re ...@@ -137,15 +137,6 @@ try to avoid clutter and feel free to waste space in the code to make it more re
</affiliation> </affiliation>
</collab> </collab>
<editor>
<firstname>I.</firstname>
<surname>Freely</surname>
<othername>P.</othername>
<affiliation>
<address><email>ipfreely@freely.eye-p.net</email></address>
</affiliation>
</editor>
</authorgroup> </authorgroup>
<abstract> <abstract>
...@@ -165,6 +156,12 @@ try to avoid clutter and feel free to waste space in the code to make it more re ...@@ -165,6 +156,12 @@ try to avoid clutter and feel free to waste space in the code to make it more re
professional on operating system upon which you install professional on operating system upon which you install
Bugzilla. Bugzilla.
</para> </para>
<para>
THIS DOCUMENTATION IS MAINTAINED IN DOCBOOK 4.1 SGML FORMAT.
IF YOU WISH TO MAKE CORRECTIONS, PLEASE MAKE THEM IN PLAIN
TEXT OR SGML DIFFS AGAINST THE SOURCE. I CANNOT ACCEPT
ADDITIONS TO THE GUIDE WRITTEN IN HTML!
</para>
</abstract> </abstract>
......
...@@ -14,11 +14,10 @@ ...@@ -14,11 +14,10 @@
document you see today. document you see today.
</para> </para>
<para> <para>
Despite the lack of updates, Bugzilla is simply the best piece Bugzilla is simply the best piece of bug-tracking software the
of bug-tracking software the world has ever seen. This document world has ever seen. This document is intended to be the
is intended to be the comprehensive guide to the installation, comprehensive guide to the installation, administration,
administration, maintenance, and use of the Bugzilla maintenance, and use of the Bugzilla bug-tracking system.
bug-tracking system.
</para> </para>
<para> <para>
This release of the Bugzilla Guide is the This release of the Bugzilla Guide is the
......
...@@ -8,18 +8,21 @@ ...@@ -8,18 +8,21 @@
</subtitle> </subtitle>
<para> <para>
So you followed the installation instructions to the letter, and So you followed <quote><xref linkend="installation"></quote> to the
just logged into bugzilla with your super-duper god account and letter, and logged into Bugzilla for the very first time with your
you are sitting at the query screen. Yet, you have nothing to super-duper god account. You sit, contentedly staring at the
query. Your first act of business needs to be to setup the Bugzilla Query Screen, the worst of the whole mad business of
operating parameters for bugzilla. installing this terrific program behind you. It seems, though, you
have nothing yet to query! Your first act of business should be to
setup the operating parameters for Bugzilla so you can get busy
getting data into your bug tracker.
</para> </para>
<section id="postinstall-check"> <section id="postinstall-check">
<title>Post-Installation Checklist</title> <title>Post-Installation Checklist</title>
<para> <para>
After installation, follow the checklist below to ensure that After installation, follow the checklist below to help ensure
you have a successful installation. If you do not see a that you have a successful installation. If you do not see a
recommended setting for a parameter, consider leaving it at the recommended setting for a parameter, consider leaving it at the
default while you perform your initial tests on your Bugzilla default while you perform your initial tests on your Bugzilla
setup. setup.
...@@ -30,41 +33,59 @@ ...@@ -30,41 +33,59 @@
<procedure> <procedure>
<step> <step>
<para> <para>
Bring up "editparams.cgi" in your web browser. For Bring up <filename>editparams.cgi</filename> in your web
instance, to edit parameters at mozilla.org, the URL would browser. This should be available as the <quote>edit
be <ulink url="http://bugzilla.mozilla.org/editparams.cgi"> parameters</quote> link from any Bugzilla screen once you
http://bugzilla.mozilla.org/editparams.cgi</ulink>, also have logged in.
available under the "edit parameters" link on your query
page.
</para> </para>
</step> </step>
<step> <step>
<para> <para>The <quote>maintainer</quote> is the email address of
Set "maintainer" to <emphasis>your</emphasis> email address. the person responsible for maintaining this Bugzilla
installation. The maintainer need not be a valid Bugzilla
user. Error pages, error emails, and administrative mail
will be sent with the maintainer as the return email
address.</para>
<para>
Set <quote>maintainer</quote> to <emphasis>your</emphasis> email address.
This allows Bugzilla's error messages to display your email This allows Bugzilla's error messages to display your email
address and allow people to contact you for help. address and allow people to contact you for help.
</para> </para>
</step> </step>
<step> <step>
<para>The <quote>urlbase</quote> parameter defines the fully
qualified domain name and web server path to your Bugzilla
installation.</para>
<para> <para>
Set "urlbase" to the URL reference for your Bugzilla For example, if your bugzilla query page is
installation. If your bugzilla query page is at http://www.foo.com/bugzilla/query.cgi, set your
http://www.foo.com/bugzilla/query.cgi, your url base is <quote>urlbase</quote> is http://www.foo.com/bugzilla/.
http://www.foo.com/bugzilla/
</para> </para>
</step> </step>
<step> <step>
<para><quote>usebuggroups</quote> dictates whether or not to
implement group-based security for Bugzilla. If set,
Bugzilla bugs can have an associated groupmask defining
which groups of users are allowed to see and edit the
bug.</para>
<para> <para>
Set "usebuggroups" to "on" <emphasis>only</emphasis> if you Set "usebuggroups" to "on" <emphasis>only</emphasis> if you
need to restrict access to products. I suggest leaving this may wish to restrict access to products. I suggest leaving
parameter <emphasis>off</emphasis> while initially testing this parameter <emphasis>off</emphasis> while initially
your Bugzilla. testing your Bugzilla.
</para> </para>
</step> </step>
<step> <step>
<para> <para>
Set "usebuggroupsentry" to "on" if you want to restrict <quote>usebuggroupsentry</quote>, when set to
access to products. Once again, if you are simply testing <quote>on</quote>, requires that all bugs have an associated
groupmask when submitted. This parameter is made for those
installations where product isolation is a necessity.
</para>
<para>
Set "usebuggroupsentry" to "on" if you absolutely need to
restrict access to bugs from the moment they are submitted
through resolution. Once again, if you are simply testing
your installation, I suggest against turning this parameter your installation, I suggest against turning this parameter
on; the strict security checking may stop you from being on; the strict security checking may stop you from being
able to modify your new entries. able to modify your new entries.
...@@ -72,6 +93,21 @@ ...@@ -72,6 +93,21 @@
</step> </step>
<step> <step>
<para> <para>
You run into an interesting problem when Bugzilla reaches a
high level of continuous activity. MySQL supports only
table-level write locking. What this means is that if
someone needs to make a change to a bug, they will lock the
entire table until the operation is complete. Locking for
write also blocks reads until the write is complete. The
<quote>shadowdb</quote> parameter was designed to get around
this limitation. While only a single user is allowed to
write to a table at a time, reads can continue unimpeded on
a read-only shadow copy of the database. Although your
database size will double, a shadow database can cause an
enormous performance improvement when implemented on
extremely high-traffic Bugzilla databases.
</para>
<para>
Set "shadowdb" to "bug_shadowdb" if you will be running a Set "shadowdb" to "bug_shadowdb" if you will be running a
*very* large installation of Bugzilla. The shadow database *very* large installation of Bugzilla. The shadow database
enables many simultaneous users to read and write to the enables many simultaneous users to read and write to the
...@@ -79,15 +115,19 @@ ...@@ -79,15 +115,19 @@
<note> <note>
<para> <para>
Enabling "shadowdb" can adversely affect the stability Enabling "shadowdb" can adversely affect the stability
of your installation of Bugzilla. You may frequently of your installation of Bugzilla. You should regularly
need to manually synchronize your databases, or schedule check that your database is in sync. It is often
nightly syncs via "cron" advisable to force a shadow database sync nightly via
<quote>cron</quote>.
</para> </para>
</note> Once again, in testing you should avoid this option </note> Once again, in testing you should avoid this option
-- use it if or when you <emphasis>need</emphasis> to use -- use it if or when you <emphasis>need</emphasis> to use
it, and have repeatedly run into the problem it was designed it, and have repeatedly run into the problem it was designed
to solve -- very long wait times while attempting to commit to solve -- very long wait times while attempting to commit
a change to the database. a change to the database. Mozilla.org began needing
<quote>shadowdb</quote> when they reached around 40,000
Bugzilla users with several hundred Bugzilla bug changes and
comments per day.
</para> </para>
<para> <para>
If you use the "shadowdb" option, it is only natural that If you use the "shadowdb" option, it is only natural that
...@@ -97,6 +137,18 @@ ...@@ -97,6 +137,18 @@
</para> </para>
</step> </step>
<step> <step>
<para><quote>headerhtml</quote>, <quote>footerhtml</quote>,
<quote>errorhtml</quote>, <quote>bannerhtml</quote>, and
<quote>blurbhtml</quote> are all templates which control
display of headers, footers, errors, banners, and additional
data. We could go into some detail regarding the usage of
these, but it is really best just to monkey around with them
a bit to see what they do. I strongly recommend you copy
your <filename>data/params</filename> file somewhere safe
before playing with these values, though. If they are
changed dramatically, it may make it impossible for you to
display Bugzilla pages to fix the problem until you have
restored your <filename>data/params</filename> file.</para>
<para> <para>
If you have custom logos or HTML you must put in place to If you have custom logos or HTML you must put in place to
fit within your site design guidelines, place the code in fit within your site design guidelines, place the code in
...@@ -105,15 +157,20 @@ ...@@ -105,15 +157,20 @@
<note> <note>
<para> <para>
The "headerhtml" text box is the HTML printed out The "headerhtml" text box is the HTML printed out
<emphasis>before</emphasis> any other code on the page. <emphasis>before</emphasis> any other code on the page,
If you have a special banner, put the code for it in except the CONTENT-TYPE header sent by the Bugzilla
"bannerhtml". You may want to leave these settings at engine. If you have a special banner, put the code for
the defaults initially. it in "bannerhtml". You may want to leave these settings
at the defaults initially.
</para> </para>
</note> </note>
</para> </para>
</step> </step>
<step> <step>
<para><quote>passwordmail</quote> is rather simple. Every
time a user creates an account, the text of this parameter
is read as the text to send to the new user along with their
password message.</para>
<para> <para>
Add any text you wish to the "passwordmail" parameter box. Add any text you wish to the "passwordmail" parameter box.
For instance, many people choose to use this box to give a For instance, many people choose to use this box to give a
...@@ -121,20 +178,32 @@ ...@@ -121,20 +178,32 @@
</para> </para>
</step> </step>
<step> <step>
<para> <para><quote>useqacontact</quote> allows you to define an
Ensure "newemailtech" is "on". Your users will thank you. email address for each component, in addition to that of the
This is the default in the post-2.12 world, and is only an default owner, who will be sent carbon copies of incoming
issue if you are upgrading. bugs. The critical difference between a QA Contact and an
</para> Owner is that the QA Contact follows the component. If you
</step> reassign a bug from component A to component B, the QA
<step> Contact for that bug will change with the reassignment,
regardless of owner.</para>
<para><quote>usestatuswhiteboard</quote> defines whether you
wish to have a free-form, overwritable field associated with
each bug. The advantage of the Status Whiteboard is that it
can be deleted or modified with ease, and provides an
easily-searchable field for indexing some bugs that have
some trait in common. Many people will put <quote>help
wanted</quote>, <quote>stalled</quote>, or <quote>waiting
on reply from somebody</quote> messages into the Status
Whiteboard field so those who peruse the bugs are aware of
their status even more than that which can be indicated by
the Resolution fields.</para>
<para> <para>
Do you want to use the QA Contact ("useqacontact") and Do you want to use the QA Contact ("useqacontact") and
status whiteboard ("usestatuswhiteboard") fields? These status whiteboard ("usestatuswhiteboard") fields? These
fields are useful because they allow for more flexibility, fields are useful because they allow for more flexibility,
particularly when you have an existing Quality Assurance particularly when you have an existing Quality Assurance
and/or Release Engineering team, but they may not be needed and/or Release Engineering team, but they may not be needed
for smaller installations. for many smaller installations.
</para> </para>
</step> </step>
<step> <step>
...@@ -144,14 +213,22 @@ ...@@ -144,14 +213,22 @@
they have untouched new bugs. If you do not plan to use they have untouched new bugs. If you do not plan to use
this feature, simply do not set up the whining cron job this feature, simply do not set up the whining cron job
described in the installation instructions, or set this described in the installation instructions, or set this
value to "0". value to "0" (never whine).
</para> </para>
</step> </step>
<step> <step>
<para><quote>commenton</quote> fields allow you to dictate
what changes can pass without comment, and which must have a
comment from the person who changed them. Often,
administrators will allow users to add themselves to the CC
list, accept bugs, or change the Status Whiteboard without
adding a comment as to their reasons for the change, yet
require that most other changes come with an
explanation.</para>
<para> <para>
Set the "commenton" options according to your site policy. Set the "commenton" options according to your site policy.
It is a wise idea to require comments when users resolve, It is a wise idea to require comments when users resolve,
reassign, or reopen bugs. reassign, or reopen bugs at the very least.
<note> <note>
<para> <para>
It is generally far better to require a developer It is generally far better to require a developer
...@@ -164,12 +241,28 @@ ...@@ -164,12 +241,28 @@
</para> </para>
</step> </step>
<step> <step>
<para> <para>The <quote>supportwatchers</quote> option can be an
Set "supportwatchers" to "On". This feature is helpful for exceptionally powerful tool in the hands of a power Bugzilla
team leads to monitor progress in their respective areas, user. By enabling this option, you allow users to receive
and can offer many other benefits, such as allowing a email updates whenever other users receive email updates.
developer to pick up a former engineer's bugs without This is, of course, subject to the groupset restrictions on
requiring her to change all the information in the bug. the bug; if the <quote>watcher</quote> would not normally be
allowed to view a bug, the watcher cannot get around the
system by setting herself up to watch the bugs of someone
with bugs outside her priveleges. She would still only
receive email updates for those bugs she could normally
view.</para>
<para>For Bugzilla sites which require strong inter-Product
security to prevent snooping, watchers are not a good
idea.</para>
<para>
However, for most sites you should set
<quote>supportwatchers</quote> to "On". This feature is
helpful for team leads to monitor progress in their
respective areas, and can offer many other benefits, such as
allowing a developer to pick up a former engineer's bugs
without requiring her to change all the information in the
bug.
</para> </para>
</step> </step>
</procedure> </procedure>
...@@ -205,6 +298,9 @@ ...@@ -205,6 +298,9 @@
groupset=0x7ffffffffffffff where login_name = "(user's groupset=0x7ffffffffffffff where login_name = "(user's
login name)"; </command> login name)"; </command>
</para> </para>
<para>Yes, that is <emphasis>fourteen</emphasis>
<quote>f</quote>'s. A whole lot of f-ing going on if you
want to create a new administator.</para>
</tip> </tip>
</section> </section>
...@@ -269,11 +365,11 @@ ...@@ -269,11 +365,11 @@
right-hand side of the text entry box. You can match right-hand side of the text entry box. You can match
what you type as a case-insensitive substring (the what you type as a case-insensitive substring (the
default) of all users on your system, a case-sensitive default) of all users on your system, a case-sensitive
regular expression (please see the "man regexp" manual regular expression (please see the <command>man
page for details on regular expression syntax), or a regexp</command> manual page for details on regular
<emphasis>reverse</emphasis> regular expression match, expression syntax), or a <emphasis>reverse</emphasis>
where every user name which does NOT match the regular regular expression match, where every user name which
expression is selected. does NOT match the regular expression is selected.
</para> </para>
</tip> </tip>
</listitem> </listitem>
...@@ -292,10 +388,14 @@ ...@@ -292,10 +388,14 @@
<para> <para>
Adding a user this way will <emphasis>not</emphasis> Adding a user this way will <emphasis>not</emphasis>
send an email informing them of their username and send an email informing them of their username and
password. In general, it is preferable to log out and password. While useful for creating dummy accounts
use the "New Account" button to create users, as it (watchers which shuttle mail to another system, for
will pre-populate all the required fields and also instance, or email addresses which are a mailing
notify the user of her account name and password. list), in general it is preferable to log out and use
the <quote>New Account</quote> button to create users,
as it will pre-populate all the required fields and
also notify the user of her account name and
password.
</para> </para>
</note> </note>
</listitem> </listitem>
...@@ -317,6 +417,11 @@ ...@@ -317,6 +417,11 @@
Don't disable your own administrative account, or you Don't disable your own administrative account, or you
will hate life! will hate life!
</para> </para>
<para>At this time, <quote>Disabled Text</quote> does not
prevent a user from using the email interface. If you
have the email interface enabled, they can still
continue to submit bugs and comments that way. We need
a patch to fix this.</para>
</warning> </warning>
</para> </para>
</section> </section>
...@@ -350,9 +455,8 @@ ...@@ -350,9 +455,8 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis>Password</emphasis>: You will only see <emphasis>Password</emphasis>: You can change the user
asterisks in versions of Bugzilla newer than 2.10 or password here. It is normal to only see asterisks.
early 2.11. You can change the user password here.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,11 +3,13 @@ ...@@ -3,11 +3,13 @@
<chapter id="future"> <chapter id="future">
<title>The Future of Bugzilla</title> <title>The Future of Bugzilla</title>
<synopsis>Bugzilla's Future. Much of this is the present, now.</synopsis> <synopsis>Bugzilla's Future. Much of this is the present, now.</synopsis>
<para>The future of Bugzilla is Bugzilla 3.0. Unfortunately, I do <para>
The future of Bugzilla is Bugzilla 3.0. Unfortunately, I do
not have more information about it right now, and most of what not have more information about it right now, and most of what
went into the "future" section is now present. That stuff was went into the "future" section is now present. That stuff was
blue-sky a year ago; MattyT should have me a new document blue-sky a year ago; MattyT should have me a new document
sometime...</para> sometime...
</para>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
......
...@@ -26,9 +26,16 @@ ...@@ -26,9 +26,16 @@
<glossdiv id="gloss_a"> <glossdiv id="gloss_a">
<title>A</title> <title>A</title>
<glossentry> <glossentry>
<glossterm>There are no entries for A</glossterm> <glossterm>Apache</glossterm>
<glossdef> <glossdef>
<para></para> <para>In this context, Apache is the web server most
commonly used for serving up
<glossterm>Bugzilla</glossterm> pages. Contrary to
popular belief, the apache web server has nothing to do
with the ancient and noble Native American tribe, but
instead derived its name from the fact that it was
<quote>a patchy</quote> version of the original
<acronym>NCSA</acronym> world-wide-web server.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
</glossdiv> </glossdiv>
...@@ -70,6 +77,75 @@ ...@@ -70,6 +77,75 @@
the needs of the organization using it, though.</para> the needs of the organization using it, though.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry>
<glossterm>Bugzilla</glossterm>
<glossdef>
<para>
Bugzilla is the industry-standard bug tracking system. It
is quite popular among Open Source enthusiasts.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_c">
<title></title>
<glossentry id="gloss_component">
<glossterm>Component</glossterm>
<glossdef>
<para>
A Component is a subsection of a Product. It should be a
narrow category, tailored to your organization. All
Products must contain at least one Component (and, as a
matter of fact, creating a Product with no Components will
create an error in Bugzilla).
</para>
</glossdef>
</glossentry>
<glossentry id="gloss_cpan">
<glossterm><acronym>CPAN</acronym></glossterm>
<glossdef>
<para><acronym>CPAN</acronym> stands for the
<quote>Comprehensive Perl Archive Network</quote>. CPAN
maintains a large number of extremely useful
<glossterm>Perl</glossterm> modules. By themselves, Perl
modules generally do nothing, but when used as part of a
larger program, they provide much-needed algorithms and
functionality.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_d">
<title>D</title>
<glossentry>
<glossterm>daemon</glossterm>
<glossdef>
<para>A daemon is a computer program which runs in the
background. In general, most daemons are started at boot
time via System V init scripts, or through RC scripts on
BSD-based systems. <glossterm>mysqld</glossterm>, the
MySQL server, and <glossterm>apache</glossterm>, a web
server, are generally run as daemons.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_g">
<title></title>
<glossentry>
<glossterm>Groups</glossterm>
<glossdef>
<para>The word <quote>Groups</quote> has a very special
meaning to Bugzilla. Bugzilla's main security mechanism
comes by lumping users into groups, and assigning those
groups certain privileges to
<glossterm>Products</glossterm> and
<glossterm>Components</glossterm> in the
<glossterm>Bugzilla</glossterm> database.</para>
</glossdef>
</glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_i"> <glossdiv id="gloss_i">
...@@ -82,6 +158,21 @@ ...@@ -82,6 +158,21 @@
</glossentry> </glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_m">
<title>M</title>
<glossentry>
<glossterm>mysqld</glossterm>
<glossdef>
<para>mysqld is the name of the
<glossterm>daemon</glossterm> for the MySQL database. In
general, it is invoked automatically through the use of
the System V init scripts on GNU/Linux and AT&amp;T System
V-based systems, such as Solaris and HP/UX, or through the
RC scripts on BSD-based systems.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_p"> <glossdiv id="gloss_p">
<title>P</title> <title>P</title>
<glossentry> <glossentry>
...@@ -108,6 +199,17 @@ ...@@ -108,6 +199,17 @@
</example> </example>
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry>
<glossterm>Perl</glossterm>
<glossdef>
<para>First written by Larry Wall, Perl is a remarkable
program language. It has the benefits of the flexibility
of an interpreted scripting language (such as shell
script), combined with the speed and power of a compiled
language, such as C. <glossterm>Bugzilla</glossterm> is
maintained in Perl.</para>
</glossdef>
</glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_q"> <glossdiv id="gloss_q">
...@@ -129,8 +231,8 @@ ...@@ -129,8 +231,8 @@
<glossdiv id="gloss_r"> <glossdiv id="gloss_r">
<title>R</title> <title>R</title>
<glossentry> <glossentry id="gloss_recursion" xreflabel="Recursion">
<glossterm id="gloss_recursion">Recursion</glossterm> <glossterm>Recursion</glossterm>
<glossdef> <glossdef>
<para>The property of a function looking back at itself for <para>The property of a function looking back at itself for
something. <quote>GNU</quote>, for instance, stands for something. <quote>GNU</quote>, for instance, stands for
...@@ -141,9 +243,51 @@ ...@@ -141,9 +243,51 @@
</glossentry> </glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_s">
<title>S</title>
<glossentry>
<glossterm><acronym>SGML</acronym></glossterm>
<glossdef>
<para><acronym>SGML</acronym> stands for <quote>Standard
Generalized Markup Language</quote>. Created in the
1980's to provide an extensible means to maintain
documentation based upon content instead of presentation,
<acronym>SGML</acronym> has withstood the test of time as
a robust, powerful language.
<glossterm><acronym>XML</acronym></glossterm> is the
<quote>baby brother</quote> of SGML; any valid
<acronym>XML</acronym> document it, by definition, a valid
<acronym>SGML</acronym> document. The document you are
reading is written and maintained in
<acronym>SGML</acronym>, and is also valid
<acronym>XML</acronym> if you modify the Document Type
Definition.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_t">
<title>T</title>
<glossentry id="gloss_target_milestone" xreflabel="Target Milestone">
<glossterm>Target Milestone</glossterm>
<glossdef>
<para>
Target Milestones are Product goals. They are
configurable on a per-Product basis. Most software
development houses have a concept of
<quote>milestones</quote> where the people funding a
project expect certain functionality on certain dates.
Bugzilla facilitates meeting these milestones by giving
you the ability to declare by which milestone a bug will be
fixed, or an enhancement will be implemented.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_z"> <glossdiv id="gloss_z">
<title>Z</title> <title>Z</title>
<glossentry> <glossentry id="zarro-boogs-found" xreflabel="Zarro Boogs Found">
<glossterm>Zarro Boogs Found</glossterm> <glossterm>Zarro Boogs Found</glossterm>
<glossdef> <glossdef>
<para>This is the cryptic response sent by Bugzilla when a <para>This is the cryptic response sent by Bugzilla when a
......
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> --> <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<chapter id="installation"> <chapter id="installation" xreflabel="Bugzilla Installation">
<title>Installation</title> <title>Installation</title>
<para> <para>
These installation instructions are presented assuming you are These installation instructions are presented assuming you are
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
refer to these documents when installing, configuring, and refer to these documents when installing, configuring, and
maintaining your Bugzilla installation. maintaining your Bugzilla installation.
</member> </member>
</simplelist> </simplelist>
<warning> <warning>
...@@ -108,8 +109,7 @@ ...@@ -108,8 +109,7 @@
the CPAN dependencies listed below, and are running the very the CPAN dependencies listed below, and are running the very
most recent version of Perl and MySQL (both the executables most recent version of Perl and MySQL (both the executables
and development libraries) on your system, check out and development libraries) on your system, check out
Bundle::Bugzilla in <xref Bundle::Bugzilla in <xref linkend="bundlebugzilla"></para>
linkend="bundlebugzilla"></para>
</note> </note>
<para> <para>
The software packages necessary for the proper running of bugzilla are: The software packages necessary for the proper running of bugzilla are:
...@@ -185,39 +185,64 @@ ...@@ -185,39 +185,64 @@
attack. attack.
</para> </para>
</warning> </warning>
<note>
<para>Linux-Mandrake 8.0, the author's test system, includes
every required and optional library for Bugzilla. The
easiest way to install them is by using the
<filename>urpmi</filename> utility. If you follow these
commands, you should have everything you need for
Bugzilla, and <filename>checksetup.pl</filename> should
not complain about any missing libraries. You may already
have some of these installed.</para>
<simplelist>
<member><prompt>bash#</prompt><command> urpmi
perl-mysql</command></member>
<member><prompt>bash#</prompt><command> urpmi
perl-chart</command></member>
<member><prompt>bash#</prompt><command> urpmi
perl-gd</command></member>
<member><prompt>bash#</prompt><command> urpmi
perl-MailTools</command> (for Bugzilla email
integration)</member>
<member><prompt>bash#</prompt><command> urpmi
apache-modules</command></member>
</simplelist>
</note>
</para> </para>
</section> </section>
<section id="install-mysql"> <section id="install-mysql">
<title>Installing MySQL Database</title> <title>Installing MySQL Database</title>
<para> <para>
Visit MySQL homepage at http://www.mysql.com/ and grab the Visit MySQL homepage at <ulink
latest stable release of the server. Both binaries and source url="http://www.mysql.com">www.mysql.com</ulink> and grab the latest stable release of the server. Many of the binary versions of MySQL store their data files in <filename>/var</filename> which is often part of a smaller root partition. If you decide to build from sources you can easily set the dataDir as an option to <filename>configure</filename>.
are available and which you get shouldn't matter. Be aware
that many of the binary versions of MySQL store their data
files in /var which on many installations (particularly common
with linux installations) is part of a smaller root partition.
If you decide to build from sources you can easily set the
dataDir as an option to configure.
</para> </para>
<para> <para>
If you've installed from source or non-package (RPM, deb, If you install from source or non-package (RPM, deb, etc.)
etc.) binaries you'll want to make sure to add mysqld to your binaries you need to add
<firstterm>mysqld</firstterm> to your
init scripts so the server daemon will come back up whenever init scripts so the server daemon will come back up whenever
your machine reboots. You also may want to edit those init your machine reboots. Further discussion of UNIX init
scripts, to make sure that mysqld will accept large packets. sequences are beyond the scope of this guide.
By default, mysqld is set up to only accept packets up to 64K <note>
long. This limits the size of attachments you may put on <para>You should have your init script start
bugs. If you add something like "-O max_allowed_packet=1M" to <glossterm>mysqld</glossterm> with the ability to accept
the command that starts mysqld (or safe_mysqld), then you will large packets. By default, <filename>mysqld</filename>
be able to have attachments up to about 1 megabyte. only accepts packets up to 64K long. This limits the size
of attachments you may put on bugs. If you add <option>-O
max_allowed_packet=1M</option> to the command that starts
<filename>mysqld</filename> (or
<filename>safe_mysqld</filename>), then you will be able
to have attachments up to about 1 megabyte.</para>
</note>
</para> </para>
<note> <note>
<para> <para>
If you plan on running Bugzilla and MySQL on the same If you plan on running Bugzilla and MySQL on the same
machine, consider using the "--skip-networking" option in machine, consider using the <option>--skip-networking</option>
the init script. This enhances security by preventing option in the init script. This enhances security by
network access to MySQL. preventing network access to MySQL.
</para> </para>
</note> </note>
</section> </section>
...@@ -260,9 +285,10 @@ ...@@ -260,9 +285,10 @@
<tip id="bundlebugzilla" xreflabel="Using Bundle::Bugzilla instead of manually installing Perl modules"> <tip id="bundlebugzilla" xreflabel="Using Bundle::Bugzilla instead of manually installing Perl modules">
<para> <para>
You can skip the following Perl module installation steps by You can skip the following Perl module installation steps by
installing "Bundle::Bugzilla" from CPAN, which includes installing <productname>Bundle::Bugzilla</productname> from
them. All Perl module installation steps require you have an <glossterm linkend="gloss_cpan">CPAN</glossterm>, which
active Internet connection. If you wish to use includes them. All Perl module installation steps require
you have an active Internet connection. If you wish to use
Bundle::Bugzilla, however, you must be using the latest Bundle::Bugzilla, however, you must be using the latest
version of Perl (at this writing, version &perl-ver;) version of Perl (at this writing, version &perl-ver;)
</para> </para>
...@@ -293,7 +319,7 @@ ...@@ -293,7 +319,7 @@
Like almost all Perl modules DBI can be found on the Comprehensive Perl Like almost all Perl modules DBI can be found on the Comprehensive Perl
Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a
real tendency to bog down, so please use mirrors. The current location real tendency to bog down, so please use mirrors. The current location
at the time of this writing (02/17/99) can be found in Appendix A. at the time of this writing can be found in <xref linkend="downloadlinks">.
</para> </para>
<para> <para>
Quality, general Perl module installation instructions can be found on Quality, general Perl module installation instructions can be found on
...@@ -370,9 +396,11 @@ ...@@ -370,9 +396,11 @@
hurt anything. hurt anything.
</para> </para>
<para> <para>
Data::Dumper is used by the MySQL-related Perl modules. It can be Data::Dumper is used by the MySQL-related Perl modules. It
found on CPAN (link in Appendix A) and can be installed by following can be found on CPAN (see <xref linkend="downloadlinks">) and
the same four step make sequence used for the DBI module. can be
installed by following the same four step make sequence used
for the DBI module.
</para> </para>
</section> </section>
...@@ -414,37 +442,42 @@ ...@@ -414,37 +442,42 @@
<section> <section>
<title>TimeDate Perl Module Collection</title> <title>TimeDate Perl Module Collection</title>
<para> <para>
Many of the more common date/time/calendar related Perl modules have Many of the more common date/time/calendar related Perl
been grouped into a bundle similar to the MySQL modules bundle. This modules have been grouped into a bundle similar to the MySQL
bundle is stored on the CPAN under the name TimeDate. A link modules bundle. This bundle is stored on the CPAN under the
link may be found in Appendix B, Software Download Links. name TimeDate (see link: <xref linkend="downloadlinks">). The
The component module we're component module we're most interested in is the Date::Format
most interested in is the Date::Format module, but installing all of them module, but installing all of them is probably a good idea
is probably a good idea anyway. The standard Perl module installation anyway. The standard Perl module installation instructions
instructions should work perfectly for this simple package. should work perfectly for this simple package.
</para> </para>
</section> </section>
<section> <section>
<title>GD Perl Module (1.8.3)</title> <title>GD Perl Module (1.8.3)</title>
<para> <para>
The GD library was written by Thomas Boutell a long while ago to The GD library was written by Thomas Boutell a long while
programatically generate images in C. Since then it's become almost a ago to programatically generate images in C. Since then it's
defacto standard for programatic image construction. The Perl bindings become the defacto standard for programatic image
to it found in the GD library are used on a million web pages to generate construction. The Perl bindings to it found in the GD library
graphs on the fly. That's what bugzilla will be using it for so you'd are used on millions of web pages to generate graphs on the
better install it if you want any of the graphing to work. fly. That's what bugzilla will be using it for so you must
install it if you want any of the graphing to work.
</para> </para>
<para> <para>
Actually bugzilla uses the Graph module which relies on GD itself, Actually bugzilla uses the Graph module which relies on GD
but isn't that always the way with OOP. At any rate, you can find the itself. Isn't that always the way with object-oriented
GD library on CPAN (link in Appendix B, Software Download Links). programming? At any rate, you can find the GD library on CPAN
in <xref linkend="downloadlinks">.
</para> </para>
<note> <note>
<para> <para>
The Perl GD library requires some other libraries that may or may not be The Perl GD library requires some other libraries that may
installed on your system, including "libpng" and "libgd". The full requirements or may not be installed on your system, including
are listed in the Perl GD library README. Just realize that if compiling GD fails, <classname>libpng</classname> and
it's probably because you're missing a required library. <classname>libgd</classname>. The full requirements are
listed in the Perl GD library README. Just realize that if
compiling GD fails, it's probably because you're missing a
required library.
</para> </para>
</note> </note>
</section> </section>
...@@ -453,62 +486,78 @@ ...@@ -453,62 +486,78 @@
<title>Chart::Base Perl Module (0.99c)</title> <title>Chart::Base Perl Module (0.99c)</title>
<para> <para>
The Chart module provides bugzilla with on-the-fly charting The Chart module provides bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it has been abilities. It can be installed in the usual fashion after it
fetched from CPAN where it is found as the Chart-x.x... tarball in a has been fetched from CPAN where it is found as the
directory to be listed in Appendix B, "Software Download Links". Chart-x.x... tarball, linked in <xref linkend="downloadlinks">. Note that
Note that as with the GD perl as with the GD perl module, only the version listed above, or
module, only the version listed above, or newer, will work. newer, will work. Earlier versions used GIF's, which are no
Earlier longer supported by the latest versions of GD.
versions used GIF's, which are no longer supported by the latest
versions of GD.
</para> </para>
</section> </section>
<section> <section>
<title>DB_File Perl Module</title> <title>DB_File Perl Module</title>
<para> <para>
DB_File is a module which allows Perl programs to make use of the facilities provided by DB_File is a module which allows Perl programs to make use
Berkeley DB version 1.x. This module is required by collectstats.pl which is used for of the facilities provided by Berkeley DB version 1.x. This
bug charting. If you plan to make use of bug charting, you must install this module. module is required by collectstats.pl which is used for bug
charting. If you plan to make use of bug charting, you must
install this module.
</para> </para>
</section> </section>
<section> <section>
<title>HTTP Server</title> <title>HTTP Server</title>
<para> <para>
You have a freedom of choice here - Apache, Netscape or any other You have a freedom of choice here - Apache, Netscape or any
server on UNIX would do. You can easily run the web server on a different other server on UNIX would do. You can easily run the web
machine than MySQL, but need to adjust the MySQL "bugs" user permissions server on a different machine than MySQL, but need to adjust
accordingly. the MySQL <quote>bugs</quote> user permissions accordingly.
<note>
<para>I strongly recommend Apache as the web server to use.
The Bugzilla Guide installation instructions, in general,
assume you are using Apache. As more users use different
webservers and send me information on the peculiarities of
installing using their favorite webserver, I will provide
notes for them.</para>
</note>
</para> </para>
<para> <para>
You'll want to make sure that your web server will run any file You'll want to make sure that your web server will run any
with the .cgi extension as a cgi and not just display it. If you're using file with the .cgi extension as a cgi and not just display it.
apache that means uncommenting the following line in the srm.conf file: If you're using apache that means uncommenting the following
<computeroutput>AddHandler cgi-script .cgi</computeroutput> line in the srm.conf file:
<programlisting>
AddHandler cgi-script .cgi
</programlisting>
</para> </para>
<para> <para>
With apache you'll also want to make sure that within the access.conf With apache you'll also want to make sure that within the
file the line: access.conf file the line:
<computeroutput> <programlisting>
Options ExecCGI Options ExecCGI
</computeroutput> </programlisting>
is in the stanza that covers the directories you intend to put the bugzilla is in the stanza that covers the directories into which
.html and .cgi files into. you intend to put the bugzilla .html and .cgi files.
</para> </para>
<note>
<para> <para>
If you are using a newer version of Apache, both of the above lines will be Users of newer versions of Apache will generally find both
(or will need to be) in the httpd.conf file, rather than srm.conf or of the above lines will be in the httpd.conf file, rather
access.conf. than srm.conf or access.conf.
</para> </para>
</note>
<warning> <warning>
<para> <para>
There are two critical directories and a file that should not be a served by There are important files and directories that should not
the HTTP server. These are the <quote>data</quote> and <quote>shadow</quote> be a served by the HTTP server. These are most files in the
directories and the <quote>data</quote> and <quote>shadow</quote> directories
<quote>localconfig</quote> file. You should configure your HTTP server to not serve and the <quote>localconfig</quote> file. You should
content from these files. Failure to do so will expose critical passwords configure your HTTP server to not serve content from these
and other data. Please see <xref linkend="htaccess"> for details. files. Failure to do so will expose critical passwords and
other data. Please see <xref linkend="htaccess"> for details
on how to do this for Apache. I appreciate notes on how to
get this same functionality using other webservers.
</para> </para>
</warning> </warning>
</section> </section>
...@@ -516,45 +565,51 @@ ...@@ -516,45 +565,51 @@
<section> <section>
<title>Installing the Bugzilla Files</title> <title>Installing the Bugzilla Files</title>
<para> <para>
You should untar the Bugzilla files into a directory that you're You should untar the Bugzilla files into a directory that
willing to make writable by the default web server user (probably you're willing to make writable by the default web server user
<quote>nobody</quote>). You may decide to put the files off of the main web space (probably <quote>nobody</quote>). You may decide to put the
for your web server or perhaps off of /usr/local with a symbolic link files off of the main web space for your web server or perhaps
in the web space that points to the bugzilla directory. At any rate, off of <filename>/usr/local</filename> with a symbolic link in
just dump all the files in the same place (optionally omitting the CVS the web space that points to the Bugzilla directory. At any
directories if they were accidentally tarred up with the rest of Bugzilla) rate, just dump all the files in the same place, and make sure
and make sure you can access the files in that directory through your you can access the files in that directory through your web
web server. server.
</para> </para>
<tip> <tip>
<para> <para>
If you symlink the bugzilla directory into your Apache's If you symlink the bugzilla directory into your Apache's
HTML heirarchy, you may receive "Forbidden" errors unless you HTML heirarchy, you may receive
add the "FollowSymLinks" directive to the &lt;Directory&gt; entry <errorname>Forbidden</errorname> errors unless you add the
for the HTML root. <quote>FollowSymLinks</quote> directive to the
&lt;Directory&gt; entry for the HTML root.
</para> </para>
</tip> </tip>
<para> <para>
Once all the files are in a web accessible directory, make that Once all the files are in a web accessible directory, make
directory writable by your webserver's user (which may require just that directory writable by your webserver's user. This is a
making it world writable). This is a temporary step until you run temporary step until you run the post-install
the post-install <quote>checksetup.pl</quote> script, which locks down your <filename>checksetup.pl</filename> script, which locks down your
installation. installation.
</para> </para>
<para> <para>
Lastly, you'll need to set up a symbolic link to /usr/bonsaitools/bin/perl Lastly, you'll need to set up a symbolic link to
for the correct location of your perl executable (probably /usr/bin/perl). <filename>/usr/bonsaitools/bin/perl</filename> for the correct
Otherwise you must hack all the .cgi files to change where they look location of your perl executable (probably
for perl. To make future upgrades easier, you should use the symlink <filename>/usr/bin/perl</filename>). Otherwise you must hack
approach. all the .cgi files to change where they look for perl, or use
<xref linkend="setperl">, found in
<xref linkend="patches">. I suggest using the symlink
approach for future release compatability.
<example> <example>
<title>Setting up bonsaitools symlink</title> <title>Setting up bonsaitools symlink</title>
<para> <para>
Here's how you set up the Perl symlink on Linux to make Bugzilla work. Here's how you set up the Perl symlink on Linux to make
Your mileage may vary; if you are running on Solaris, you probably need to subsitute Bugzilla work. Your mileage may vary. For some UNIX
<quote>/usr/local/bin/perl</quote> for <quote>/usr/bin/perl</quote> operating systems, you probably need to subsitute
below; if on certain other UNIX systems, <quote>/usr/local/bin/perl</quote> for
Perl may live in weird places like <quote>/opt/perl</quote>. As root, run these commands: <quote>/usr/bin/perl</quote> below; if on certain other
UNIX systems, Perl may live in weird places like
<quote>/opt/perl</quote>. As root, run these commands:
<programlisting> <programlisting>
bash# mkdir /usr/bonsaitools bash# mkdir /usr/bonsaitools
bash# mkdir /usr/bonsaitools/bin bash# mkdir /usr/bonsaitools/bin
...@@ -566,8 +621,8 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -566,8 +621,8 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
<para> <para>
If you don't have root access to set this symlink up, If you don't have root access to set this symlink up,
check out the check out the
<xref linkend="setperl">, listed in <xref linkend="patches">. <xref linkend="setperl">, listed in <xref
It will change the path to perl in all your Bugzilla files for you. linkend="patches">. It will change the path to perl in all your Bugzilla files for you.
</para> </para>
</tip> </tip>
</para> </para>
...@@ -581,9 +636,10 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -581,9 +636,10 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
quality bug tracker. quality bug tracker.
</para> </para>
<para> <para>
First, you'll want to fix MySQL permissions to allow access from First, you'll want to fix MySQL permissions to allow access
Bugzilla. For the purpose of this Installation section, the Bugzilla username from Bugzilla. For the purpose of this Installation section,
will be "bugs", and will have minimal permissions. the Bugzilla username will be <quote>bugs</quote>, and will
have minimal permissions.
<warning> <warning>
<para> <para>
...@@ -601,40 +657,33 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -601,40 +657,33 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
limited to 16 characters. limited to 16 characters.
<simplelist> <simplelist>
<member> <member>
<computeroutput> <computeroutput> <prompt>bash#</prompt> <command>mysql
<prompt>bash#</prompt> -u root mysql</command> </computeroutput>
<command>mysql -u root mysql</command>
</computeroutput>
</member> </member>
<member> <member>
<computeroutput> <computeroutput> <prompt>mysql></prompt> <command>
<prompt>mysql></prompt>
<command>
UPDATE user SET Password=PASSWORD ('new_password') UPDATE user SET Password=PASSWORD ('new_password')
WHERE user='root'; WHERE user='root'; </command> </computeroutput>
</command>
</computeroutput>
</member> </member>
<member> <member>
<computeroutput> <computeroutput> <prompt>mysql></prompt> <command>FLUSH
<prompt>mysql></prompt> PRIVILEGES;</command> </computeroutput>
<command>FLUSH PRIVILEGES;</command>
</computeroutput>
</member> </member>
</simplelist> </simplelist> From this point on, if you need to access
From this point on, if you need to access MySQL as the MySQL as the MySQL root user, you will need to use
MySQL root user, you will need to use "mysql -u root -p" and <command>mysql -u root -p</command> and enter your
enter your new_password. Remember that MySQL user names have new_password. Remember that MySQL user names have nothing to
nothing to do with Unix user names (login names). do with Unix user names (login names).
</para> </para>
<para> <para>
Next, we create the "bugs" user, and grant sufficient Next, we create the <quote>bugs</quote> user, and grant
permissions for checksetup.pl, which we'll use later, to work sufficient permissions for checksetup.pl, which we'll use
its magic. This also restricts the "bugs" user to operations later, to work its magic. This also restricts the
within a database called "bugs", and only allows the account <quote>bugs</quote> user to operations within a database
to connect from "localhost". Modify it to reflect your setup called <quote>bugs</quote>, and only allows the account to
if you will be connecting from another machine or as a different connect from <quote>localhost</quote>. Modify it to reflect
user. your setup if you will be connecting from another machine or
as a different user.
</para> </para>
<para> <para>
Remember to set bugs_password to some unique password. Remember to set bugs_password to some unique password.
...@@ -661,25 +710,24 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -661,25 +710,24 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
</simplelist> </simplelist>
</para> </para>
<para> <para>
Next, run the magic checksetup.pl script. (Many thanks to Holger Next, run the magic checksetup.pl script. (Many thanks to
Schurig &lt;holgerschurig@nikocity.de&gt; for writing this script!) Holger Schurig &lt;holgerschurig@nikocity.de&gt; for writing
It will make sure Bugzilla files and directories have reasonable this script!) It will make sure Bugzilla files and directories
permissions, set up the "data" directory, and create all the MySQL have reasonable permissions, set up the
<filename>data</filename> directory, and create all the MySQL
tables. tables.
<simplelist> <simplelist>
<member> <member>
<computeroutput> <computeroutput> <prompt>bash#</prompt>
<prompt>bash#</prompt> <command>./checksetup.pl</command> </computeroutput>
<command>./checksetup.pl</command>
</computeroutput>
</member> </member>
</simplelist> </simplelist> The first time you run it, it will create a
The first time you run it, it will create a file called "localconfig". file called <filename>localconfig</filename>.
</para> </para>
</section> </section>
<section> <section>
<title>Tweaking "localconfig"</title> <title>Tweaking <filename>localconfig</filename></title>
<para> <para>
This file contains a variety of settings you may need to tweak including This file contains a variety of settings you may need to tweak including
how Bugzilla should connect to the MySQL database. how Bugzilla should connect to the MySQL database.
...@@ -689,71 +737,70 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -689,71 +737,70 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
server's host: just use "localhost" if the MySQL server is server's host: just use <quote>localhost</quote> if the
local MySQL server is local
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
database name: "bugs" if you're following these directions database name: <quote>bugs</quote> if you're following
these directions
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
MySQL username: "bugs" if you're following these directions MySQL username: <quote>bugs</quote> if you're following
these directions
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Password for the "bugs" MySQL account above Password for the <quote>bugs</quote> MySQL account above
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</para> </para>
<para> <para>
You may also install .htaccess files that the Apache webserver will use You should also install .htaccess files that the Apache
to restrict access to Bugzilla data files. See <xref linkend="htaccess">. webserver will use to restrict access to Bugzilla data files.
See <xref
linkend="htaccess">.
</para> </para>
<para> <para>
Once you are happy with the settings, re-run checksetup.pl. On this Once you are happy with the settings, re-run
second run, it will create the database and an administrator account <filename>checksetup.pl</filename>. On this second run, it will
for which you will be prompted to provide information. create the database and an administrator account for which
you will be prompted to provide information.
</para> </para>
<para> <para>
When logged into an administrator account once Bugzilla is running, When logged into an administrator account once Bugzilla is
if you go to the query page (off of the bugzilla main menu), you'll running, if you go to the query page (off of the Bugzilla main
find an 'edit parameters' option that is filled with editable treats. menu), you'll find an <quote>edit parameters</quote> option
that is filled with editable treats.
</para> </para>
<para> <para>
Should everything work, you should have a nearly empty copy of the bug Should everything work, you will have a nearly empty Bugzilla
tracking setup. database and a newly-created <filename>localconfig</filename>
file in your Bugzilla root directory.
</para> </para>
<para> <para>
The second time around, checksetup.pl will stall if it is on a
filesystem that does not fully support file locking via flock(), such as
NFS mounts. This support is required for Bugzilla to operate safely with
multiple instances. If flock() is not fully supported, it will stall at:
<errorcode>Now regenerating the shadow database for all bugs.</errorcode>
<note> <note>
<para> <para>
The second time you run checksetup.pl, you should become the The second time you run checksetup.pl, you should become
user your web server runs as, and that you ensure that you set the the user your web server runs as, and that you ensure that
"webservergroup" parameter in localconfig to match the web you set the <quote>webservergroup</quote> parameter in localconfig to
server's group match the web server's group name, if any. I believe,
name, if any. I believe, for the next release of Bugzilla, for the next release of Bugzilla, this will be fixed so
this will that Bugzilla supports a <quote>webserveruser</quote> parameter in
be fixed so that Bugzilla supports a "webserveruser" parameter localconfig as well.
in localconfig
as well.
<example> <example>
<title>Running checksetup.pl as the web user</title> <title>Running checksetup.pl as the web user</title>
<para> <para>
Assuming your web server runs as user "apache", Assuming your web server runs as user "apache", and
and Bugzilla is installed in Bugzilla is installed in "/usr/local/bugzilla", here's
"/usr/local/bugzilla", here's one way to run checksetup.pl one way to run checksetup.pl as the web server user.
as the web server user. As root, for the <emphasis>second run</emphasis> of
As root, for the <emphasis>second run</emphasis> checksetup.pl, do this:
of checksetup.pl, do this:
<programlisting> <programlisting>
bash# chown -R apache:apache /usr/local/bugzilla bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache bash# su - apache
...@@ -779,14 +826,14 @@ bash# ./checksetup.pl ...@@ -779,14 +826,14 @@ bash# ./checksetup.pl
<para> <para>
If you want to add someone else to every group by hand, you If you want to add someone else to every group by hand, you
can do it by typing the appropriate MySQL commands. Run can do it by typing the appropriate MySQL commands. Run
'<computeroutput> mysql -u root -p bugs</computeroutput>' You <command> mysql -u root -p bugs</command> You
may need different parameters, depending on your security may need different parameters, depending on your security
settings. Then: settings. Then:
<simplelist> <simplelist>
<member> <member>
<computeroutput> <prompt>mysql></prompt> <command>update <computeroutput> <prompt>mysql></prompt> <command>update
profiles set groupset=0x7fffffffffffffff where profiles set groupset=0x7fffffffffffffff where
login_name = 'XXX';</command> </computeroutput> login_name = 'XXX';</command> </computeroutput> (yes, that's <emphasis>fifteen</emphasis><quote>f</quote>'s.
</member> </member>
</simplelist> replacing XXX with the Bugzilla email address. </simplelist> replacing XXX with the Bugzilla email address.
</para> </para>
...@@ -1157,32 +1204,73 @@ bash# ./checksetup.pl ...@@ -1157,32 +1204,73 @@ bash# ./checksetup.pl
</para> </para>
</section> </section>
<section id="mod_throttle" xreflabel="Using mod_throttle to prevent Denial of Service attacks">
<title><filename>mod_throttle</filename> and Security</title>
<para>
It is possible for a user, by mistake or on purpose, to access
the database many times in a row which can result in very slow
access speeds for other users. If your Bugzilla installation
is experiencing this problem , you may install the Apache
module <filename>mod_throttle</filename> which can limit
connections by ip-address. You may download this module at
<ulink
url="http://www.snert.com/Software/Throttle/">http://www.snert.com/Software/Throttle/</ulink>. Follow the instructions to install into your Apache install. <emphasis>This module only functions with the Apache web server!</emphasis>. You may use the <command>ThrottleClientIP</command> command provided by this module to accomplish this goal. See the <ulink url="http://www.snert.com/Software/Throttle/">Module Instructions</ulink> for more information. </para>
</section>
<section id="content_type" xreflabel="Preventing untrusted Bugzilla contentfrom executing malicious Javascript code">
<title>Preventing untrusted Bugzilla content from executing malicious Javascript code</title>
<para>It is possible for a Bugzilla to execute malicious
Javascript code. Due to internationalization concerns, we are
unable to incorporate the code changes necessary to fulfill
the CERT advisory requirements mentioned in <ulink
url="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3">http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</ulink>. Executing the following code snippet from a UNIX command shell will rectify the problem if your Bugzilla installation is intended for an English-speaking audience. As always, be sure your Bugzilla installation has a good backup before making changes, and I recommend you understand what the script is doing before executing it. </para>
<para><programlisting>
bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
do cat $i | sed 's/Content-type\: text\/html/Content-Type: text\/html\; charset=ISO-8859-1/' >$i.tmp; \
mv $i.tmp $i; done
</programlisting></para>
<para>
All this one-liner command does is search for all instances of
<quote>Content-type: text/html</quote> and replaces it with
<quote>Content-Type: text/html; charset=ISO-8859-1</quote>.
This specification prevents possible Javascript attacks on the
browser, and is suggested for all English-speaking sites. For
non-english-speaking Bugzilla sites, I suggest changing
<quote>ISO-8859-1</quote>, above, to <quote>UTF-8</quote>.
</para>
</section>
<section> <section>
<title>UNIX Installation Instructions History</title> <title>UNIX Installation Instructions History</title>
<para> <para>
This document was originally adapted from the Bonsai installation This document was originally adapted from the Bonsai
instructions by Terry Weissman &lt;terry@mozilla.org&gt;. installation instructions by Terry Weissman
&lt;terry@mozilla.org&gt;.
</para> </para>
<para> <para>
The February 25, 1999 re-write of this page was done by Ry4an Brase The February 25, 1999 re-write of this page was done by Ry4an
&lt;ry4an@ry4an.org&gt;, with some edits by Terry Weissman, Bryce Nesbitt, Brase &lt;ry4an@ry4an.org&gt;, with some edits by Terry
Martin Pool, & Dan Mosedale (But don't send bug reports to them; Weissman, Bryce Nesbitt, Martin Pool, & Dan Mosedale (But
report them using bugzilla, at http://bugzilla.mozilla.org/enter_bug.cgi , don't send bug reports to them; report them using bugzilla, at
project Webtools, component Bugzilla). http://bugzilla.mozilla.org/enter_bug.cgi , project Webtools,
component Bugzilla).
</para> </para>
<para> <para>
This document was heavily modified again Wednesday, March 07 2001 to This document was heavily modified again Wednesday, March 07
reflect changes for Bugzilla 2.12 release by Matthew P. Barnson. The 2001 to reflect changes for Bugzilla 2.12 release by Matthew
securing MySQL section should be changed to become standard procedure P. Barnson. The securing MySQL section should be changed to
for Bugzilla installations. become standard procedure for Bugzilla installations.
</para> </para>
<para> <para>
Finally, the README in its entirety was marked up in SGML and included into Finally, the README in its entirety was marked up in SGML and
the Guide on April 24, 2001 by Matt Barnson. Since that time, it's undergone included into the Guide on April 24, 2001 by Matt Barnson.
extensive modification as Bugzilla grew. Since that time, it's undergone extensive modification as
Bugzilla grew.
</para> </para>
<para> <para>
Comments from people using this Guide for the first time are particularly welcome. Comments from people using this Guide for the first time are
particularly welcome.
</para> </para>
</section> </section>
</section> </section>
...@@ -1217,27 +1305,33 @@ bash# ./checksetup.pl ...@@ -1217,27 +1305,33 @@ bash# ./checksetup.pl
picnic. Support for Win32 has improved dramatically in the picnic. Support for Win32 has improved dramatically in the
last few releases, but, if you choose to proceed, you should last few releases, but, if you choose to proceed, you should
be a <emphasis>very</emphasis> skilled Windows Systems be a <emphasis>very</emphasis> skilled Windows Systems
Administrator with both strong troubleshooting abilities and Administrator with strong troubleshooting abilities, a high
a high tolerance for pain. Bugzilla on NT requires hacking tolerance for pain, and moderate perl skills. Bugzilla on NT
source code and implementing some advanced utilities. What requires hacking source code and implementing some advanced
follows is the recommended installation procedure for Win32; utilities. What follows is the recommended installation
additional suggestions are provided in <xref linkend="faq">. procedure for Win32; additional suggestions are provided in
<xref linkend="faq">.
</para> </para>
</note> </note>
<procedure> <procedure>
<step> <step>
<para> <para>
Install <ulink url="http://www.apache.org/">Apache Web Server</ulink> Install <ulink url="http://www.apache.org/">Apache Web
for Windows. Server</ulink> for Windows, and copy the Bugzilla files
somewhere Apache can serve them. Please follow all the
instructions referenced in <xref linkend="installation">
regarding your Apache configuration, particularly
instructions regarding the <quote>AddHandler</quote>
parameter and <quote>ExecCGI</quote>.
</para> </para>
<note> <note>
<para> <para>
You may also use Internet Information Server or Personal Web You may also use Internet Information Server or Personal
Server for this purpose. However, setup is slightly more Web Server for this purpose. However, setup is quite
difficult. If ActivePerl doesn't seem to handle your file different. If ActivePerl doesn't seem to handle your
associations correctly (for .cgi and .pl files), please file associations correctly (for .cgi and .pl files),
consult <xref linkend="faq">. please consult <xref linkend="faq">.
</para> </para>
<para> <para>
If you are going to use IIS, if on Windows NT you must If you are going to use IIS, if on Windows NT you must
...@@ -1299,8 +1393,7 @@ bash# ./checksetup.pl ...@@ -1299,8 +1393,7 @@ bash# ./checksetup.pl
Install MySQL for NT. Install MySQL for NT.
<note> <note>
<para> <para>
You can download MySQL for Windows NT from <ulink You can download MySQL for Windows NT from <ulink url="http://www.mysql.com/">MySQL.com</ulink>. Some find it helpful to use the WinMySqlAdmin utility, included with the download, to set up the database.
url="http://www.mysql.com/">MySQL.com</ulink>. Some find it helpful to use the WinMySqlAdmin utility, included with the download, to set up the database.
</para> </para>
</note> </note>
</para> </para>
...@@ -1393,13 +1486,21 @@ bash# ./checksetup.pl ...@@ -1393,13 +1486,21 @@ bash# ./checksetup.pl
this line: this line:
</para> </para>
<para> <para>
"my $webservergid = getgrnam($my_webservergroup); " <programlisting>
my $webservergid = getgrnam($my_webservergroup);
</programlisting>
</para> </para>
<para> <para>
to to
</para> </para>
<para> <para>
"my $webservergid = $my_webservergroup; " <programlisting>
my $webservergid = $my_webservergroup;
</programlisting>
or the name of the group you wish to own the files explicitly:
<programlisting>
my $webservergid = 'Administrators'
</programlisting>
</para> </para>
</step> </step>
...@@ -1412,8 +1513,7 @@ bash# ./checksetup.pl ...@@ -1412,8 +1513,7 @@ bash# ./checksetup.pl
<step> <step>
<para>Edit <filename>localconfig</filename> to suit your <para>Edit <filename>localconfig</filename> to suit your
requirements. Set <varname>$db_pass</varname> to your requirements. Set <varname>$db_pass</varname> to your
<quote>bugs_password</quote> from <xref <quote>bugs_password</quote> from <xref linkend="ntbugs-password">, and <varname>$webservergroup</varname> to <quote>8</quote>.</para>
linkend="ntbugs-password">, and <varname>$webservergroup</varname> to <quote>8</quote>.</para>
<note> <note>
<para>Not sure on the <quote>8</quote> for <para>Not sure on the <quote>8</quote> for
<varname>$webservergroup</varname> above. If it's <varname>$webservergroup</varname> above. If it's
...@@ -1455,8 +1555,7 @@ bash# ./checksetup.pl ...@@ -1455,8 +1555,7 @@ bash# ./checksetup.pl
<procedure> <procedure>
<step> <step>
<para> <para>
Download NTsendmail, available from<ulink Download NTsendmail, available from<ulink url="http://www.ntsendmail.com/"> www.ntsendmail.com</ulink>. You must have a "real" mail server which allows you to relay off it in your $ENV{"NTsendmail"} (which you should probably place in globals.pl)
url="http://www.ntsendmail.com/"> www.ntsendmail.com</ulink>. You must have a "real" mail server which allows you to relay off it in your $ENV{"NTsendmail"} (which you should probably place in globals.pl)
</para> </para>
</step> </step>
...@@ -1503,7 +1602,15 @@ $mail->send($from,$to,$subject,$msg); ...@@ -1503,7 +1602,15 @@ $mail->send($from,$to,$subject,$msg);
</programlisting> </programlisting>
</para> </para>
<note> <note>
<para>The code above needs testing as well to make sure it is correct.</para> <para>
Some have found success using the commercial product,
<productname>Windmail</productname>.
You could try replacing your sendmail calls with:
<programlisting>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.log";
</programlisting>
or something to that effect.
</para>
</note> </note>
</step> </step>
</procedure> </procedure>
...@@ -1568,9 +1675,9 @@ exit; ...@@ -1568,9 +1675,9 @@ exit;
<step> <step>
<note> <note>
<para> <para>
This step is completely optional if you are using IIS or This step is optional if you are using IIS or another
another web server which only decides on an interpreter web server which only decides on an interpreter based
based upon the file extension (.pl), rather than the upon the file extension (.pl), rather than the
<quote>shebang</quote> line (#/usr/bonsaitools/bin/perl) <quote>shebang</quote> line (#/usr/bonsaitools/bin/perl)
</para> </para>
</note> </note>
...@@ -1583,8 +1690,7 @@ exit; ...@@ -1583,8 +1690,7 @@ exit;
utility to speed part of this procedure, available in the utility to speed part of this procedure, available in the
<xref linkend="patches"> section of The Bugzilla Guide. <xref linkend="patches"> section of The Bugzilla Guide.
However, it requires the Cygwin GNU-compatible environment However, it requires the Cygwin GNU-compatible environment
for Win32 be set up in order to work. See <ulink for Win32 be set up in order to work. See <ulink url="http://www.cygwin.com/">http://www.cygwin.com/</ulink> for details on obtaining Cygwin.
url="http://www.cygwin.com/">http://www.cygwin.com/</ulink> for details on obtaining Cygwin.
</para> </para>
</step> </step>
...@@ -1604,10 +1710,11 @@ system ("perl processmail.pl",@ARGLIST); ...@@ -1604,10 +1710,11 @@ system ("perl processmail.pl",@ARGLIST);
<tip> <tip>
<para> <para>
If you are using IIS 5.0 or higher, you must add cgi If you are using IIS or Personal Web Server, you must add cgi
relationships to Properties -> Home directory (tab) -> relationships to Properties -> Home directory (tab) ->
Application Settings (section) -> Configuration (button), Application Settings (section) -> Configuration (button),
such as: <programlisting> such as:
<programlisting>
.cgi to: &lt;perl install directory&gt;\perl.exe %s %s .cgi to: &lt;perl install directory&gt;\perl.exe %s %s
.pl to: &lt;perl install directory&gt;\perl.exe %s %s .pl to: &lt;perl install directory&gt;\perl.exe %s %s
GET,HEAD,POST GET,HEAD,POST
...@@ -1625,11 +1732,10 @@ GET,HEAD,POST ...@@ -1625,11 +1732,10 @@ GET,HEAD,POST
From Andrew Pearson: From Andrew Pearson:
<blockquote> <blockquote>
<para> <para>
"You can make Bugzilla work with Personal Web Server for You can make Bugzilla work with Personal Web Server for
Windows 98 and higher, as well as for IIS 4.0. Microsoft has Windows 98 and higher, as well as for IIS 4.0.
information available at Microsoft has information available at <ulink url="
<ulink url=" http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP"> http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP"> http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</ulink>
http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</ulink>
</para> </para>
<para> <para>
Basically you need to add two String Keys in the Basically you need to add two String Keys in the
...@@ -1651,40 +1757,18 @@ GET,HEAD,POST ...@@ -1651,40 +1757,18 @@ GET,HEAD,POST
</para> </para>
</tip> </tip>
<tip> <tip>
<para>"Brian" had this to add, about upgrading to Bugzilla 2.12 from previous versions:</para>
<blockquote>
<para>
Hi - I am updating bugzilla to 2.12 so I can tell you what I did (after I
deleted the current dir and copied the files in).
</para>
<para>
In checksetup.pl, I did the following...
</para>
<procedure>
<step>
<programlisting>
my $webservergid = getgrnam($my_webservergroup);
</programlisting>
<para>to</para>
<programlisting>
my $webservergid = 'Administrators'
</programlisting>
</step>
<step>
<para>
I then ran checksetup.pl
</para>
</step>
<step>
<para> <para>
I removed all the encrypt() If attempting to run Bugzilla 2.12 or older, you will need
to remove encrypt() calls from the Perl source. This is
<emphasis>not necessary</emphasis> for Bugzilla 2.13 and
later.
<example> <example>
<title>Removing encrypt() for Windows NT installations</title> <title>Removing encrypt() for Windows NT Bugzilla version
2.12 or earlier</title>
<para> <para>
Replace this: Replace this:
<programlisting> <programlisting>
SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn(); my $enteredcryptpwd = FetchOneColumn();
</programlisting> </programlisting>
with this: with this:
...@@ -1695,75 +1779,6 @@ my $enteredcryptpwd = $enteredpwd ...@@ -1695,75 +1779,6 @@ my $enteredcryptpwd = $enteredpwd
</para> </para>
</example> </example>
</para> </para>
</step>
<step>
<para>
I renamed processmail to processmail.pl
</para>
</step>
<step>
<para>
I altered the sendmail statements to windmail:
<programlisting>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.log";
</programlisting>
</para>
<para>
The quotes around the dir is for the spaces. mail.log is for the output
</para>
</step>
</procedure>
</blockquote>
</tip>
<tip>
<para>
This was some late breaking information from Jan Evert. Sorry for the lack of formatting.
</para>
<literallayout>
I'm busy installing bugzilla on a WinNT machine and I thought I'd notify you
at this moment of the commments I have to section 2.2.1 of the bugzilla
guide (at http://www.trilobyte.net/barnsons/html/).
Step 1:
I've used apache, installation is really straightforward.
After reading the Unix installation instructions, I found that it is
necessary to add the ExecCGI option to the bugzilla directory. Also the
'AddHandler' line for .cgi is by default commented out.
Step 3: although just a detail, 'ppm install &lt;module%gt;' will also work
(without .ppd). And, it can also download these automatically from
ActiveState.
Step 4: although I have cygwin installed, it seems that it is not necessary.
On my machine cygwin is not in the PATH and everything seems to work as
expected.
However, I've not used everything yet.
Step 6: the 'bugs_password' given in SQL command d needs to be edited into
localconfig later on (Step 7) if the password is not empty. I've also edited
it into globals.pl, but I'm not sure that is needed. In both places, the
variable is named db_pass.
Step 8: all the sendmail replacements mentioned are not as simple as
described there. Since I am not familiar (yet) with perl, I don't have any
mail working yet.
Step 9: in globals.pl the encrypt() call can be replaced by just the
unencrypted password. In CGI.pl, the complete SQL command can be removed.
Step 11: I've only changed the #! lines in *.cgi. I haven't noticed problems
with the system() call yet.
There seem to be only four system() called programs: processmail.pl (handled
by step 10), syncshadowdb (which should probably get the same treatment as
processmail.pl), diff and mysqldump. The last one is only needed with the
shadowdb feature (which I don't use).
There seems to be one step missing: copying the bugzilla files somehwere
that apache can serve them.
Just noticed the updated guide... Brian's comment is new. His first comment
will work, but opens up a huge security hole.
</literallayout>
</tip> </tip>
</section> </section>
</section> </section>
......
...@@ -5,49 +5,59 @@ ...@@ -5,49 +5,59 @@
<chapter id="integration"> <chapter id="integration">
<title>Integrating Bugzilla with Third-Party Tools</title> <title>Integrating Bugzilla with Third-Party Tools</title>
<section id="bonsai"> <section id="bonsai" xreflabel="Bonsai, the Mozilla automated CVS management system">
<title>Bonsai</title> <title>Bonsai</title>
<para>We need Bonsai integration information.</para> <para>Bonsai is a web-based tool for managing <xref
linkend="cvs">
. Using Bonsai, administrators can control open/closed status
of trees, query a fast relational database back-end for change,
branch, and comment information, and view changes made since the
last time the tree was closed. These kinds of changes cause the
engineer responsible to be <quote>on the hook</quote> (include
cool URL link here for Hook policies at mozilla.org). Bonsai
also includes gateways to <xref
linkend="tinderbox"> and Bugzilla </para>
</section> </section>
<section id="cvs"> <section id="cvs" xreflabel="CVS, the Concurrent Versioning System">
<title>CVS</title> <title>CVS</title>
<para>CVS integration is best accomplished, at this point, using the Bugzilla Email Gateway.</para> <para>CVS integration is best accomplished, at this point, using
the Bugzilla Email Gateway. There have been some files
submitted to allow greater CVS integration, but we need to make
certain that Bugzilla is not tied into one particular software
management package.</para>
<para>
Follow the instructions in the FAQ for enabling Bugzilla e-mail
integration. Ensure that your check-in script sends an email to
your Bugzilla e-mail gateway with the subject of <quote>[Bug
XXXX]</quote>, and you can have CVS check-in comments append
to your Bugzilla bug. If you have your check-in script include
an @resolution field, you can even change the Bugzilla bug
state.
</para>
</section> </section>
<section id="scm"> <section id="scm" xreflabel="Perforce SCM (Fast Software Configuration Management System, a powerful commercial alternative to CVS">
<title>Perforce SCM</title> <title>Perforce SCM</title>
<para> <para>
You can find the project page for Bugzilla and Teamtrack Perforce integration at: You can find the project page for Bugzilla and Teamtrack
<ulink url="http://www.ravenbrook.com/project/p4dti/"> Perforce integration (p4dti) at: <ulink
http://www.ravenbrook.com/project/p4dti</ulink>. "p4dti" is now an officially url="http://www.ravenbrook.com/project/p4dti/"> http://www.ravenbrook.com/project/p4dti</ulink> . <quote>p4dti</quote> is now an officially supported product from Perforce, and you can find the "Perforce Public Depot" p4dti page at <ulink url="http://public.perforce.com/public/perforce/p4dti/index.html"> http://public.perforce.com/public/perforce/p4dti/index.html</ulink>.
supported product from Perforce, and you can find the "Perforce Public Depot"
p4dti page at <ulink url="http://public.perforce.com/public/perforce/p4dti/index.html">
http://public.perforce.com/public/perforce/p4dti/index.html</ulink>.
</para>
<para>
Integration of Perforce with Bugzilla, once patches are applied, is fairly seamless. However,
p4dti is a patch against the Bugzilla 2.10 release, not the current 2.12 release. I anticipate
patches for 2.12 will be out shortly. Check the project page regularly for updates, or
take the given patches and patch it manually. p4dti is designed to support multiple defect
trackers, and maintains its own documentation for it. Please consult the pages linked
above for further information.
</para> </para>
<para> <para>
Right now, there is no way to synchronize the Bug ID and the Perforce Transaction Number, or Integration of Perforce with Bugzilla, once patches are applied,
to change the Bug ID to read (PRODUCT).bugID unless you hack it in. Additionally, if you is seamless. Perforce replication information will appear below
have synchronization problems, the easiest way to avoid them is to only put the bug the comments of each bug. Be certain you have a matching set of
information, comments, etc. into Bugzilla, and not into the Perforce change records. patches for the Bugzilla version you are installing. p4dti is
They will link anyway; merely reference the bug ID fixed in your change description, designed to support multiple defect trackers, and maintains its
and put a comment into Bugzilla own documentation for it. Please consult the pages linked above
giving the change ID that fixed the Bugzilla bug. It's a process issue, not a technology for further information.
question.
</para> </para>
</section> </section>
<section id="tinderbox"> <section id="tinderbox" xreflabel="Tinderbox, the Mozilla automated build management system">
<title>Tinderbox</title> <title>Tinderbox/Tinderbox2</title>
<para>We need Tinderbox integration information</para> <para>We need Tinderbox integration information.</para>
</section> </section>
</chapter> </chapter>
......
...@@ -3,6 +3,40 @@ ...@@ -3,6 +3,40 @@
<appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla"> <appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
<title>Useful Patches and Utilities for Bugzilla</title> <title>Useful Patches and Utilities for Bugzilla</title>
<para>Are you looking for a way to put your Bugzilla into overdrive? Catch some of the niftiest tricks here in this section.</para>
<section id="rewrite" xreflabel="Apache mod_rewrite magic">
<title>Apache <filename>mod_rewrite</filename> magic</title>
<para>Apache's <filename>mod_rewrite</filename> module lets you do some truly amazing things with URL rewriting. Here are a couple of examples of what you can do.</para>
<orderedlist>
<listitem>
<para>
Make it so if someone types
<computeroutput>http://www.foo.com/12345</computeroutput>,
Bugzilla spits back
http://www.foo.com/show_bug.cgi?id=12345. Try setting up
your VirtualHost section for Bugzilla with a rule like
this:</para>
<programlisting>
<![CDATA[
<VirtualHost 12.34.56.78>
RewriteEngine On
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
</VirtualHost>
]]>
</programlisting>
</listitem>
<listitem>
<para>There are many, many more things you can do with
mod_rewrite. As time goes on, I will include many more in
the Guide. For now, though, please refer to the mod_rewrite
documentation at <ulink
url="http://www.apache.org">http://www.apache.org</ulink></para>
</listitem>
</orderedlist>
</section>
<section id="setperl" xreflabel="The setperl.csh Utility"> <section id="setperl" xreflabel="The setperl.csh Utility">
<title>The setperl.csh Utility</title> <title>The setperl.csh Utility</title>
<para> You can use the "setperl.csh" utility to quickly and <para> You can use the "setperl.csh" utility to quickly and
......
...@@ -31,7 +31,7 @@ Chapter: Using Bugzilla ...@@ -31,7 +31,7 @@ Chapter: Using Bugzilla
<title>Using Bugzilla</title> <title>Using Bugzilla</title>
<epigraph> <epigraph>
<para> <para>
What, Why, How, & What's in it for me? What, Why, How, & Where?
</para> </para>
</epigraph> </epigraph>
...@@ -92,8 +92,10 @@ system against which all others are measured. ...@@ -92,8 +92,10 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
available integration with automated software configuration management systems, including available integration with automated software
Perforce and CVS configuration management systems, including Perforce and
CVS (through the Bugzilla email interface and
checkin/checkout scripts)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -104,23 +106,28 @@ system against which all others are measured. ...@@ -104,23 +106,28 @@ system against which all others are measured.
</itemizedlist> </itemizedlist>
</para> </para>
<para> <para>
Despite its current robustness and popularity, however, Bugzilla Despite its current robustness and popularity, Bugzilla faces
faces some near-term challenges, such as reliance on a single database, a lack of some near-term challenges, such as reliance on a single
abstraction of the user interface and program logic, verbose email bug database, a lack of abstraction of the user interface and
notifications, a powerful but daunting query interface, little reporting configurability, program logic, verbose email bug notifications, a powerful but
problems with extremely large queries, some unsupportable bug resolution options, daunting query interface, little reporting configurability,
no internationalization, and dependence on some nonstandard libraries. problems with extremely large queries, some unsupportable bug
resolution options, little internationalization (although non-US
character sets are accepted for comments), and dependence on
some nonstandard libraries.
</para> </para>
<para> <para>
Some recent headway has been made on the query front, however. If you are using the latest Some recent headway has been made on the query front, however.
version of Bugzilla, you should see a "simple search" form on the default front page of If you are using the latest version of Bugzilla, you should see
your Bugzilla install. Type in two or three search terms and you should pull up some a <quote>simple search</quote> form on the default front page of
relevant information. This is also available as "queryhelp.cgi". your Bugzilla install. Type in two or three search terms and
you should pull up some relevant information. This is also
available as "queryhelp.cgi".
</para> </para>
<para> <para>
Despite these small problems, Bugzilla is very hard to beat. It is under <emphasis>very</emphasis> Despite these small problems, Bugzilla is very hard to beat. It
active development to address the current issues, and a long-awaited overhaul in the form is under <emphasis>very</emphasis> active development to address
of Bugzilla 3.0 is expected sometime later this year. the current issues, and continually gains new features.
</para> </para>
</section> </section>
...@@ -132,50 +139,57 @@ system against which all others are measured. ...@@ -132,50 +139,57 @@ system against which all others are measured.
</para> </para>
</epigraph> </epigraph>
<para> <para>
For many years, defect-tracking software has remained principally the domain For many years, defect-tracking software has remained
of large software development houses. Even then, most shops never bothered principally the domain of large software development houses.
with bug-tracking software, and instead simply relied on shared lists and Even then, most shops never bothered with bug-tracking software,
email to monitor the status of defects. This procedure is error-prone and and instead simply relied on shared lists and email to monitor
tends to cause those bugs judged least significant by developers to be the status of defects. This procedure is error-prone and tends
to cause those bugs judged least significant by developers to be
dropped or ignored. dropped or ignored.
</para> </para>
<para> <para>
These days, many companies are finding that integrated defect-tracking These days, many companies are finding that integrated
systems reduce downtime, increase productivity, and raise customer defect-tracking systems reduce downtime, increase productivity,
satisfaction with their systems. Along with full disclosure, an open and raise customer satisfaction with their systems. Along with
bug-tracker allows manufacturers to keep in touch with their clients full disclosure, an open bug-tracker allows manufacturers to
and resellers, to communicate about problems effectively throughout keep in touch with their clients and resellers, to communicate
the data management chain. Many corporations have also discovered that about problems effectively throughout the data management chain.
defect-tracking helps reduce costs by providing IT support accountability, Many corporations have also discovered that defect-tracking
telephone support knowledge bases, and a common, well-understood system helps reduce costs by providing IT support accountability,
for accounting for unusual system or software issues. telephone support knowledge bases, and a common, well-understood
system for accounting for unusual system or software issues.
</para> </para>
<para> <para>
But why should <emphasis>you</emphasis> use Bugzilla? But why should <emphasis>you</emphasis> use Bugzilla?
</para> </para>
<para> <para>
Bugzilla is very adaptable to various situations. Known uses currently Bugzilla is very adaptable to various situations. Known uses
include IT support queues, Systems Administration deployment management, currently include IT support queues, Systems Administration
chip design and development problem tracking (both pre-and-post fabrication), deployment management, chip design and development problem
and software and hardware bug tracking for luminaries such as Redhat, Loki software, tracking (both pre-and-post fabrication), and software and
Linux-Mandrake, and VA Systems. Combined with systems such as CVS, Bonsai, hardware bug tracking for luminaries such as Redhat, Loki
or Perforce SCM, Bugzilla provides a powerful, easy-to-use solution to software, Linux-Mandrake, and VA Systems. Combined with systems
configuration management and replication problems such as CVS, Bonsai, or Perforce SCM, Bugzilla provides a
powerful, easy-to-use solution to configuration management and
replication problems
</para> </para>
<para> <para>
Bugzilla can dramatically increase the productivity and accountability Bugzilla can dramatically increase the productivity and
of individual employees by providing a documented workflow and positive accountability of individual employees by providing a documented
feedback for good performance. How many times do you wake up in the workflow and positive feedback for good performance. How many
morning, remembering that you were supposed to do *something* today, times do you wake up in the morning, remembering that you were
but you just can't quite remember? Put it in Bugzilla, and you have a record supposed to do <emphasis>something</emphasis> today, but you
of it from which you can extrapolate milestones, predict product versions just can't quite remember? Put it in Bugzilla, and you have a
for integration, and by using Bugzilla's e-mail integration features record of it from which you can extrapolate milestones, predict
be able to follow the discussion trail that led to critical decisions. product versions for integration, and by using Bugzilla's e-mail
integration features be able to follow the discussion trail that
led to critical decisions.
</para> </para>
<para> <para>
Ultimately, Bugzilla puts the power in your hands to improve your value Ultimately, Bugzilla puts the power in your hands to improve
to your employer or business while providing a usable framework for your natural your value to your employer or business while providing a usable
attention to detail and knowledge store to flourish. framework for your natural attention to detail and knowledge
store to flourish.
</para> </para>
</section> </section>
...@@ -189,46 +203,45 @@ system against which all others are measured. ...@@ -189,46 +203,45 @@ system against which all others are measured.
<para> <para>
Bugzilla is a large, complex system. Describing how to use it Bugzilla is a large, complex system. Describing how to use it
requires some time. If you are only interested in installing or administering requires some time. If you are only interested in installing or
a Bugzilla installation, please consult the Installing and Administering administering a Bugzilla installation, please consult the
Bugzilla portions of this Guide. This section is principally aimed towards Installing and Administering Bugzilla portions of this Guide.
developing end-user mastery of Bugzilla, so you may fully enjoy the benefits This section is principally aimed towards developing end-user
afforded by using this reliable open-source bug-tracking software. mastery of Bugzilla, so you may fully enjoy the benefits
afforded by using this reliable open-source bug-tracking
software.
</para> </para>
<para> <para>
Throughout this portion of the Guide, we will refer to user account Throughout this portion of the Guide, we will refer to user
options available at the Bugzilla test installation, account options available at the Bugzilla test installation,
<ulink url="http://landfill.tequilarista.org/"> <ulink url="http://landfill.tequilarista.org/">
landfill.tequilarista.org</ulink>. landfill.tequilarista.org</ulink>.
<note> <note>
<para> <para>
Some people have run into difficulties completing this tutorial. If Some people have run into difficulties completing this
you run into problems, please check the updated, online documentation available tutorial. If you run into problems, please check the
at <ulink url="http://www.trilobyte.net/barnsons/">http://www.trilobyte.net/barnsons</ulink>. updated online documentation available at <ulink
If you're still stumped, please subscribe to the newsgroup and provide details of exactly url="http://www.trilobyte.net/barnsons/">http://www.trilobyte.net/barnsons</ulink>. If you're still stumped, please subscribe to the newsgroup and provide details of exactly what's stumping you! If enough people complain, I'll have to fix it in the next version of this Guide. You can subscribe to the newsgroup at <ulink url="news://news.mozilla.org/netscape.public.mozilla.webtools"> news://news.mozilla.org/netscape.public.mozilla.webtools</ulink>
what's stumping you! If enough people complain, I'll have to fix it in the next
version of this Guide. You can subscribe to the newsgroup at
<ulink url="news://news.mozilla.org/netscape.public.mozilla.webtools">
news://news.mozilla.org/netscape.public.mozilla.webtools</ulink>
</para> </para>
</note> </note> Although Landfill serves as a great introduction to
Although Landfill serves as a great introduction to Bugzilla, it does not offer Bugzilla, it does not offer all the options you would have as a
all the options you would have as a user on your own installation of Bugzilla, user on your own installation of Bugzilla, nor can it do more
nor can it do more than serve as a general introduction to Bugzilla. Additionally, than serve as a general introduction to Bugzilla. Additionally,
Landfill often runs cutting-edge versions of Bugzilla for testing, so some things Landfill often runs cutting-edge versions of Bugzilla for
may work slightly differently than mentioned here. testing, so some things may work slightly differently than
mentioned here.
</para> </para>
<section id="myaccount"> <section id="myaccount">
<title>Create a Bugzilla Account</title> <title>Create a Bugzilla Account</title>
<para> <para>
First things first! If you want to use Bugzilla, first you need to create First things first! If you want to use Bugzilla, first you
an account. Consult with the administrator responsible for your installation need to create an account. Consult with the administrator
of Bugzilla for the URL you should use to access it. responsible for your installation of Bugzilla for the URL you
If you're test-driving the end-user Bugzilla experience, use this URL: should use to access it. If you're test-driving the end-user
<ulink url="http://landfill.tequilarista.org/bugzilla-tip/"> Bugzilla experience, use this URL: <ulink
http://landfill.tequilarista.org/bugzilla-tip/</ulink> url="http://landfill.tequilarista.org/bugzilla-tip/"> http://landfill.tequilarista.org/bugzilla-tip/</ulink>
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
...@@ -238,64 +251,81 @@ system against which all others are measured. ...@@ -238,64 +251,81 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enter your "E-mail address" and "Real Name" (or whatever name you want to call yourself) Enter your "E-mail address" and "Real Name" (or whatever
in the spaces provided, then select the "Create Account" button. name you want to call yourself) in the spaces provided,
then select the "Create Account" button.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Within 5-10 minutes, you should receive an email to the address you provided above, Within moments, you should receive an email to the address
which contains your login name (generally the same as the email address), and you provided above, which contains your login name
a password you can use to access your account. This password is randomly generated, (generally the same as the email address), and a password
and should be changed at your nearest opportunity (we'll go into how to do it later). you can use to access your account. This password is
randomly generated, and should be changed at your nearest
opportunity (we'll go into how to do it later).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Click the "Log In" link in the yellow area at the bottom of the page in your browser, Click the <quote>Log In</quote> link in the yellow area at
then enter your "E-mail address" and "Password" you just received into the spaces provided, the bottom of the page in your browser, then enter your
and select "Login". <quote>E-mail address</quote> and <quote>Password</quote>
you just received into the spaces provided, and select
<quote>Login</quote>.
<note> <note>
<para> <para>
If you ever forget your password, you can come back to this page, enter your If you ever forget your password, you can come back to
"E-mail address", then select the "E-mail me a password" button to have your password this page, enter your <quote>E-mail address</quote>,
mailed to you again so that you can login. then select the <quote>E-mail me a password</quote>
button to have your password mailed to you again so
that you can login.
</para> </para>
</note> </note>
<caution> <caution>
<para> <para>
Many modern browsers include an "Auto-Complete" or "Form Fill" feature to Many modern browsers include an
remember the user names and passwords you type in at many sites. Unfortunately, <quote>Auto-Complete</quote> or <quote>Form
sometimes they attempt to "guess" what you will put in as your password, and guess Fill</quote> feature to remember the user names and
wrong. If you notice a text box is already filled out, please overwrite the contents passwords you type in at many sites. Unfortunately,
of the text box so you can be sure to input the correct information. sometimes they attempt to guess what you will put in
as your password, and guess wrong. If you notice a
text box is already filled out, please overwrite the
contents of the text box so you can be sure to input
the correct information.
</para> </para>
</caution> </caution>
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
Congratulations! If you followed these directions, you now are the Congratulations! If you followed these directions, you now
proud owner of a user account on landfill.tequilarista.org (Landfill) or are the proud owner of a user account on
your local Bugzilla install. You should now see in your browser a landfill.tequilarista.org (Landfill) or your local Bugzilla
page called the "Bugzilla Query Page". It may look daunting, but install. You should now see in your browser a page called the
with this Guide to walk you through it, you will master it in no time. <quote>Bugzilla Query Page</quote>. It may look daunting, but with this
Guide to walk you through it, you will master it in no time.
</para> </para>
</section> </section>
<section id="query"> <section id="query">
<title>The Bugzilla Query Page</title> <title>The Bugzilla Query Page</title>
<para> <para>
The Bugzilla Query Page is the heart and soul of Bugzilla. It is the master The Bugzilla Query Page is the heart and soul of the Bugzilla
interface where you can find any bug report, comment, or patch currently in the Bugzilla user experience. It is the master interface where you can
system. We'll go into how to create your own bug report later on. find any bug report, comment, or patch currently in the
Bugzilla system. We'll go into how to create your own bug
report later on.
</para> </para>
<para> <para>
There are efforts underway to simplify query usage. If you have a local installation There are efforts underway to simplify query usage. If you
of Bugzilla 2.12 or higher, you should have "quicksearch.html" available have a local installation of Bugzilla 2.12 or higher, you
to use and simplify your searches. There is also, or shortly will be, a helper should have <filename>quicksearch.html</filename> available to
for the query interface, called "queryhelp.cgi". Landfill tends to run the latest code, use and simplify your searches. There is also a helper for
so these two utilities should be available there for your perusal. the query interface, called
<filename>queryhelp.cgi</filename>. Landfill tends to run the
latest code, so these two utilities should be available there
for your perusal.
</para> </para>
<para> <para>
At this point, please visit the main Bugzilla site, At this point, please visit the main Bugzilla site,
...@@ -303,47 +333,57 @@ system against which all others are measured. ...@@ -303,47 +333,57 @@ system against which all others are measured.
bugzilla.mozilla.org</ulink>, to see a more fleshed-out query page. bugzilla.mozilla.org</ulink>, to see a more fleshed-out query page.
</para> </para>
<para> <para>
The first thing you need to notice about the Bugzilla Query Page is that The first thing you need to notice about the Bugzilla Query
nearly every box you see on your screen has a hyperlink nearby, explaining what Page is that nearly every box you see on your screen has a
it is or what it does. Near the upper-left-hand corner of your browser window hyperlink nearby, explaining what it is or what it does. Near
you should see the word "Status" underlined. Select it. the upper-left-hand corner of your browser window you should
see the word <quote>Status</quote> underlined. Select it.
</para> </para>
<para> <para>
Notice the page that popped up? Every underlined word you see on your screen Notice the page that popped up? Every underlined word you see
is a hyperlink that will take you to context-sensitive help. on your screen is a hyperlink that will take you to
Click around for a while, and learn what everything here does. To return context-sensitive help. Click around for a while, and learn
to the query interface after pulling up a help page, use the "Back" button in what everything here does. To return to the query interface
your browser. after pulling up a help page, use the <quote>Back</quote>
button in your browser.
</para> </para>
<para> <para>
I'm sure that after checking out the online help, you are now an Expert I'm sure that after checking out the online help, you are now
on the Bugzilla Query Page. If, however, you feel you haven't mastered it yet, an expert on the Bugzilla Query Page. If, however, you feel
let me walk you through making a few successful queries to find out what there you haven't mastered it yet, let me walk you through making a
are in the Bugzilla bug-tracking system itself. few successful queries to find out what there are in the
Bugzilla bug-tracking system itself.
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Ensure you are back on the "Bugzilla Query Page" Ensure you are back on the <quote>Bugzilla Query
Do nothing in the boxes marked "Status", "Resolution", "Platform", "OpSys", Page</quote>. Do nothing in the boxes marked "Status",
"Priority", or "Severity". The default query for "Status" is to find all bugs that "Resolution", "Platform", "OpSys", "Priority", or
are NEW, ASSIGNED, or REOPENED, which is what we want. If you don't select anything "Severity". The default query for "Status" is to find all
in the other 5 scrollboxes there, then you are saying that "any of these are OK"; bugs that are NEW, ASSIGNED, or REOPENED, which is what we
we're not locking ourselves into only finding bugs on the "DEC" Platform, or "Windows 95" want. If you don't select anything in the other 5
OpSys (Operating System). You're smart, I think you have it figured out. scrollboxes there, then you are saying that "any of these
are OK"; we're not locking ourselves into only finding
bugs on the "DEC" Platform, or "Windows 95" OpSys
(Operating System). You're smart, I think you have it
figured out.
</para> </para>
<para> <para>
Basically, selecting <emphasis>anything</emphasis> on the query page narrows your search Basically, selecting <emphasis>anything</emphasis> on the
down. Leaving stuff unselected, or text boxes unfilled, broadens your search! query page narrows your search down. Leaving stuff
unselected, or text boxes unfilled, broadens your search.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
You see the box immediately below the top six boxes that contains an "Email" text box, You see the box immediately below the top six boxes that
with the words "matching as", a drop-down selection box, then some checkboxes with contains an "Email" text box, with the words "matching
"Assigned To" checked by default? This allows you to filter your search down based upon as", a drop-down selection box, then some checkboxes with
email address. Let's put my email address in there, and see what happens. "Assigned To" checked by default? This allows you to
filter your search down based upon email address. Let's
put my email address in there, and see what happens.
</para> </para>
<para> <para>
Type "barnboy@trilobyte.net" in the top Email text box. Type "barnboy@trilobyte.net" in the top Email text box.
...@@ -352,47 +392,55 @@ system against which all others are measured. ...@@ -352,47 +392,55 @@ system against which all others are measured.
<listitem> <listitem>
<para> <para>
Let's narrow the search some more. Scroll down until you find the box with the word Let's narrow the search some more. Scroll down until you
"Program" over the top of it. This is where we can narrow our search down to only find the box with the word "Program" over the top of it.
specific products (software programs or product lines) in our Bugzilla database. This is where we can narrow our search down to only
Please notice the box is a <emphasis>scrollbox</emphasis>. Using the down arrow on the specific products (software programs or product lines) in
scrollbox, scroll down until you can see an entry called "Webtools". Select this entry. our Bugzilla database. Please notice the box is a
<emphasis>scrollbox</emphasis>. Using the down arrow on
the scrollbox, scroll down until you can see an entry
called "Webtools". Select this entry.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Did you notice that some of the boxes to the right changed when you selected "Webtools"? Did you notice that some of the boxes to the right changed
Every Program (or Product) has different Versions, Components, and Target Milestones associated when you selected "Webtools"? Every Program (or Product)
with it. A "Version" is the number of a software program. has different Versions, Components, and Target Milestones
associated with it. A "Version" is the number of a
software program.
<example> <example>
<title>Some Famous Software Versions</title> <title>Some Famous Software Versions</title>
<informalexample> <informalexample>
<para> <para>
Do you remember the hype in 1995 when Microsoft Windows 95(r) was released? Do you remember the hype in 1995 when Microsoft
It may have been several years Windows 95(r) was released? It may have been several
ago, but Microsoft(tm) spent over $300 Million advertising this new Version of their years ago, but Microsoft(tm) spent over $300 Million
software. Three years later, they released Microsoft Windows 98(r), advertising this new Version of their software.
another new version, to great fanfare, and then in 2000 quietly Three years later, they released Microsoft Windows
released Microsoft Windows ME(Millenium Edition)(r). 98(r), another new version, to great fanfare, and
</para> then in 2000 quietly released Microsoft Windows
<para> ME(Millenium Edition)(r).
Software "Versions" help a manufacturer differentiate </para>
their current product from their <para>
previous products. Most do not identify their products Software "Versions" help a manufacturer
by the year they were released. differentiate their current product from their
Instead, the "original" version of their software will previous products. Most do not identify their
often be numbered "1.0", with products by the year they were released. Instead,
small bug-fix releases on subsequent tenths of a digit. In most cases, it's not the "original" version of their software will often
a decimal number; for instance, often 1.9 is an <emphasis>older</emphasis> version be numbered "1.0", with small bug-fix releases on
of the software than 1.11, subsequent tenths of a digit. In most cases, it's
but is a <emphasis>newer</emphasis> version than 1.1.1. not a decimal number; for instance, often 1.9 is an
<emphasis>older</emphasis> version of the software
than 1.11, but is a <emphasis>newer</emphasis>
version than 1.1.1.
</para> </para>
<para> <para>
In general, a "Version" in Bugzilla should refer to In general, a "Version" in Bugzilla should refer to
<emphasis>released</emphasis> <emphasis>released</emphasis> products, not products
products, not products that have not yet been released that have not yet been released to the public.
to the public. Forthcoming products Forthcoming products are what the Target Milestone
are what the Target Milestone field is for. field is for.
</para> </para>
</informalexample> </informalexample>
</example> </example>
...@@ -438,26 +486,25 @@ system against which all others are measured. ...@@ -438,26 +486,25 @@ system against which all others are measured.
</example> </example>
</para> </para>
<para> <para>
A "Milestone", or "Target Milestone" is a often a planned future "Version" of a A "Milestone", or "Target Milestone" is a often a planned
product. In many cases, though, Milestones simply represent significant dates for future "Version" of a product. In many cases, though,
a developer. Having certain features in your Product is frequently Milestones simply represent significant dates for a
tied to revenue (money) developer. Having certain features in your Product is
the developer will receive if the features work by the time she frequently tied to revenue (money) the developer will
reaches the Target Milestone. receive if the features work by the time she reaches the
Target Milestones are a great tool to organize your time. Target Milestone. Target Milestones are a great tool to
If someone will pay you $100,000 for organize your time. If someone will pay you $100,000 for
incorporating certain features by a certain date, incorporating certain features by a certain date, those
those features by that Milestone date become features by that Milestone date become a very high
a very high priority. Milestones tend to be highly malleable creatures, priority. Milestones tend to be highly malleable
though, that appear creatures, though, that appear to be in reach but are out
to be in reach but are out of reach by the time the important day arrives. of reach by the time the important day arrives.
</para> </para>
<para> <para>
The Bugzilla Project has set up Milestones for future The Bugzilla Project has set up Milestones for future
Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However, Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However, a
a Target Milestone can just as easily be a specific date, Target Milestone can just as easily be a specific date,
code name, or weird alphanumeric code name, or weird alphanumeric combination, like "M19".
combination, like "M19".
</para> </para>
</listitem> </listitem>
...@@ -475,56 +522,54 @@ system against which all others are measured. ...@@ -475,56 +522,54 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Congratulations! You've completed your first Query, and have before you the Bug List Congratulations! You've completed your first Query, and
of the author of this Guide, Matthew P. Barnson (barnboy@trilobyte.net). If I'm have before you the Bug List of the author of this Guide,
doing well, Matthew P. Barnson (barnboy@trilobyte.net). If I'm doing
you'll have a cryptic "Zarro Boogs Found" message on your screen. It is just well, you'll have a cryptic "Zarro Boogs Found" message on
a happy hacker's way of saying "Zero Bugs Found". However, I am fairly certain I will your screen. It is just a happy hacker's way of saying
"Zero Bugs Found". However, I am fairly certain I will
always have some bugs assigned to me that aren't done yet, always have some bugs assigned to me that aren't done yet,
so you won't often see that message! so you won't often see that message!
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
I encourage you to click the bug numbers in the left-hand column and examine I encourage you to click the bug numbers in the left-hand
my bugs. Also notice that if you click the underlined column and examine my bugs. Also notice that if you click the
links near the top of this page, they do underlined links near the top of this page, they do not take
not take you to context-sensitive help here, you to context-sensitive help here, but instead sort the
but instead sort the columns of bugs on the screen! columns of bugs on the screen! When you need to sort your bugs
When you need to sort your bugs by priority, severity, by priority, severity, or the people they are assigned to,
or the people they are assigned to, this this is a tremendous timesaver.
is a tremendous timesaver.
</para> </para>
<para> <para>
A couple more interesting things about the Bug List page: A couple more interesting things about the Bug List page:
<simplelist> <simplelist>
<member><emphasis>Change Columns</emphasis>: <member><emphasis>Change Columns</emphasis>: by selecting
by selecting this link, you can show all kinds this link, you can show all kinds of information in the
of information in the Bug List</member> Bug List</member>
<member><emphasis>Change several bugs at once</emphasis>: <member><emphasis>Change several bugs at once</emphasis>: If
If you have sufficient rights to change all you have sufficient rights to change all the bugs shown in
the bugs shown in the Bug List, you can mass-modify them. the Bug List, you can mass-modify them. This is a big
This is a big time-saver.</member> time-saver.</member>
<member><emphasis>Send mail to bug owners</emphasis>: <member><emphasis>Send mail to bug owners</emphasis>: If you
If you have many related bugs, you can request have many related bugs, you can request an update from
an update from every person who owns the bugs in every person who owns the bugs in the Bug List asking them
the Bug List asking them the status.</member> the status.</member>
<member><emphasis>Edit this query</emphasis>: <member><emphasis>Edit this query</emphasis>: If you didn't
If you didn't get exactly the results you were looking for, get exactly the results you were looking for, you can
you can return to the Query page through this link and make return to the Query page through this link and make small
small revisions to the query you just made so revisions to the query you just made so you get more
you get more accurate results.</member> accurate results.</member>
</simplelist> </simplelist>
</para> </para>
<note> <note>
<para> <para>
There are many more options to the Bugzilla Query Page There are many more options to the Bugzilla Query Page and
and the Bug List than I have shown you. the Bug List than I have shown you. But this should be
But this should be enough for you to learn to get around. enough for you to learn to get around. I encourage you to
I encourage you to check out the check out the <ulink
<ulink url="http://www.mozilla.org/bugs/">Bugzilla Home Page</ulink> url="http://www.mozilla.org/bugs/">Bugzilla Home Page</ulink> to learn about the Anatomy and Life Cycle of a Bug before continuing.
to learn about the Anatomy
and Life Cycle of a Bug before continuing.
</para> </para>
</note> </note>
</section> </section>
...@@ -539,37 +584,35 @@ system against which all others are measured. ...@@ -539,37 +584,35 @@ system against which all others are measured.
<section id="bug_writing"> <section id="bug_writing">
<title>Writing a Great Bug Report</title> <title>Writing a Great Bug Report</title>
<para> <para>
Before we plunge into writing your first bug report, I encourage you to read Before we plunge into writing your first bug report, I
<ulink url="http://www.mozilla.org/quality/bug-writing-guidelines.html">Mozilla.org's Bug encourage you to read some bug-writing guidelines. If you
Writing Guidelines</ulink>. While some of the advice is Mozilla-specific, the basic are reading this document as part of a Bugzilla CVS checkout
principles of reporting Reproducible, Specific bugs, isolating the Product you are or un-tarred Bugzilla distribution, you should be able to
using, the Version of the Product, the Component which failed, the Hardware Platform, and read them by clicking <ulink
Operating System you were using at the time of the failure go a long way toward ensuring accurate, url="../../bugwritinghelp.html">here</ulink>. If you are reading this online, check out the Mozilla.org bug-writing guidelines at <ulink url="http://www.mozilla.org/quality/bug-writing-guidelines.html">http://www.mozilla.org/quality/bug-writing-guidelines.html</ulink>. While some of the advice is Mozilla-specific, the basic principles of reporting Reproducible, Specific bugs, isolating the Product you are using, the Version of the Product, the Component which failed, the Hardware Platform, and Operating System you were using at the time of the failure go a long way toward ensuring accurate, responsible fixes for the bug that bit you.
responsible fixes for the bug that bit you.
</para> </para>
<para> <para>
While you are at it, why not learn how to find previously reported bugs? Mozilla.org While you are at it, why not learn how to find previously
has published a great tutorial on finding duplicate bugs, available at reported bugs? Mozilla.org has published a great tutorial
<ulink url="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html"> on finding duplicate bugs, available at <ulink
http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</ulink>. url="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html"> http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</ulink>.
</para> </para>
<para> <para>
I realize this was a lot to read. However, understanding the mentality of writing I realize this was a lot to read. However, understanding
great bug reports will help us on the next part! the mentality of writing great bug reports will help us on
the next part!
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Go back to <ulink url="http://landfill.tequilarista.org/bugzilla-tip/"> Go back to <ulink
http://landfill.tequilarista.org/bugzilla-tip/</ulink> url="http://landfill.tequilarista.org/bugzilla-tip/"> http://landfill.tequilarista.org/bugzilla-tip/</ulink> in your browser.
in your browser.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Select the Select the <ulink
<ulink url="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi"> url="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi"> Enter a new bug report</ulink> link.
Enter a new bug report</ulink> link.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -579,11 +622,11 @@ system against which all others are measured. ...@@ -579,11 +622,11 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Now you should be at the "Enter Bug" form. Now you should be at the "Enter Bug" form. The
The "reporter" should have been automatically filled out "reporter" should have been automatically filled out for
for you (or else Bugzilla prompted you to Log In again you (or else Bugzilla prompted you to Log In again --
-- you did keep the email with your username you did keep the email with your username and password,
and password, didn't you?). didn't you?).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -593,107 +636,97 @@ system against which all others are measured. ...@@ -593,107 +636,97 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Bugzilla should have made reasonable guesses, based upon your browser, Bugzilla should have made reasonable guesses, based upon
for the "Platform" and "OS" drop-down your browser, for the "Platform" and "OS" drop-down
boxes. If those are wrong, change them -- if you're on an SGI box boxes. If those are wrong, change them -- if you're on
running IRIX, we want to know! an SGI box running IRIX, we want to know!
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fill in the "Assigned To" box with the email address you provided earlier. Fill in the "Assigned To" box with the email address you
This way you don't end up sending copies of your bug to lots of other people, provided earlier. This way you don't end up sending
since it's just a test bug. copies of your bug to lots of other people, since it's
just a test bug.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Leave the "CC" text box blank. Leave the "CC" text box blank. Fill in the "URL" box
Fill in the "URL" box with "http://www.mozilla.org". with "http://www.mozilla.org".
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enter "The Bugzilla Guide" in the Summary text box, Enter "The Bugzilla Guide" in the Summary text box, and
and place any comments you have on this place any comments you have on this tutorial, or the
tutorial, or the Guide in general, into the Description box. Guide in general, into the Description box.
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
Voila! Select "Commit" and send in your bug report! Voila! Select "Commit" and send in your bug report! Next
Next we'll look at resolving bugs. we'll look at resolving bugs.
</para> </para>
</section> </section>
<section id="bug_manage"> <section id="bug_manage">
<title>Managing your Bug Reports</title> <title>Managing your Bug Reports</title>
<para> <para>
OK, you should have a link to the bug you just created near the top of your page. OK, you should have a link to the bug you just created near
It should say the top of your page. It should say "Bug XXXX posted", with
"Bug XXXX posted", with a link to the right saying "Back to BUG# XXXX". a link to the right saying "Back to BUG# XXXX". Select this
Select this link. link.
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Scroll down a bit on the subsequent page, Scroll down a bit on the subsequent page, until you see
until you see the "Resolve bug, changing resolution to (dropdown box). the "Resolve bug, changing resolution to (dropdown box).
Normally, you would Normally, you would "Accept bug (change status to
"Accept bug (change status to ASSIGNED)", fix it, and then resolve. ASSIGNED)", fix it, and then resolve. But in this case,
But in this case, we're we're going to short-circuit the process because this
going to short-circuit the process because this wasn't a real bug. wasn't a real bug. Change the dropdown next to "Resolve
Change the dropdown next to Bug" to "INVALID", make sure the radio button is marked
"Resolve Bug" to "INVALID", make sure the radio button is next to "Resolve Bug", then click "Commit".
marked next to "Resolve Bug", then
click "Commit".
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Hey! It said it couldn't take the change in a big red box! Hey! It said it couldn't take the change in a big red
That's right, you must specify box! That's right, you must specify a Comment in order
a Comment in order to make this change. Select the "Back" to make this change. Select the "Back" button in your
button in your browser, add a browser, add a Comment, then try Resolving the bug with
Comment, then try Resolving the bug with INVALID status again. INVALID status again. This time it should work.
This time it should work.
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
You have now learned the basics of Bugzilla navigation, You have now learned the basics of Bugzilla navigation,
entering a bug, and bug maintenance. entering a bug, and bug maintenance. I encourage you to
I encourage you to explore these features, and see what you can do with them! explore these features, and see what you can do with them!
We'll spend no more time on individual Bugs or Queries from this point on, so you are We'll spend no more time on individual Bugs or Queries from
on your own there. this point on, so you are on your own there.
</para> </para>
<para> <para>
But I'll give a few last hints! But I'll give a few last hints!
</para> </para>
<para> <para>
There is a <ulink url="http://bugzilla.mozilla.org/help.html">CLUE</ulink> There is a <ulink
on the Query page url="http://bugzilla.mozilla.org/help.html">CLUE</ulink> on the Query page that will teach you more how to use the form.
that will teach you more how to use the form.
</para> </para>
<para> <para>
If you click the hyperlink on the If you click the hyperlink on the <ulink
<ulink url="http://bugzilla.mozilla.org/describecomponents.cgi">Component</ulink> url="http://bugzilla.mozilla.org/describecomponents.cgi">Component</ulink> box of the Query page, you will be presented a form that will describe what all the components are.
box of the Query page, you will be presented a form that will describe what all
the components are.
</para> </para>
<para> <para>
Possibly the most powerful feature of the Query page is the Possibly the most powerful feature of the Query page is the
<ulink url="http://bugzilla.mozilla.org/booleanchart.html">Boolean Chart</ulink> section. <ulink
It's a bit confusing to use the first time, but can provide unparalleled url="http://bugzilla.mozilla.org/booleanchart.html">Boolean Chart</ulink> section. It's a bit confusing to use the first time, but can provide unparalleled flexibility in your queries, allowing you to build extremely powerful requests.
flexibility in your queries,
allowing you to build extremely powerful requests.
</para> </para>
<para> <para>
Finally, you can build some nifty Finally, you can build some nifty <ulink
<ulink url="http://bugzilla.mozilla.org/reports.cgi">Reports</ulink> url="http://bugzilla.mozilla.org/reports.cgi">Reports</ulink> using the "Bug Reports" link near the bottom of the query page, and also available via the "Reports" link at the footer of each page.
using the "Bug Reports" link near the bottom of the query page, and also
available via the "Reports" link
at the footer of each page.
</para> </para>
</section> </section>
</section> </section>
...@@ -701,7 +734,7 @@ system against which all others are measured. ...@@ -701,7 +734,7 @@ system against which all others are measured.
</section> </section>
<section id="init4me"> <section id="init4me">
<title>What's in it for me?</title> <title>Where can I find my user preferences?</title>
<epigraph> <epigraph>
<para> <para>
Indiana, it feels like we walking on fortune cookies! Indiana, it feels like we walking on fortune cookies!
...@@ -711,98 +744,95 @@ system against which all others are measured. ...@@ -711,98 +744,95 @@ system against which all others are measured.
</para> </para>
</epigraph> </epigraph>
<para> <para>
Customized User Preferences offer tremendous versatility to Customized User Preferences offer tremendous versatility to your
your individual Bugzilla experience. individual Bugzilla experience. Let's plunge into what you can
Let's plunge into what you can do! The first step is to click do! The first step is to click the "Edit prefs" link at the
the "Edit prefs" link at the footer of each page once you footer of each page once you have logged in to <ulink
have logged in to url="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1"> Landfill</ulink>.
<ulink url="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1">
Landfill</ulink>.
</para> </para>
<section id="accountsettings"> <section id="accountsettings" xreflabel="Account Settings">
<title>Account Settings</title> <title>Account Settings</title>
<para> <para>
On this page, you can change your basic Account Settings, On this page, you can change your basic Account Settings,
including your password and full name. including your password and full name. For security reasons,
For security reasons, in order to change anything on this page you in order to change anything on this page you must type your
must type your <emphasis>current</emphasis> <emphasis>current</emphasis> password into the <quote>Old
password into the "Old Password" field. Password</quote> field. If you wish to change your
If you wish to change your password, type the new password you password, type the new password you want into the <quote>New
want into the "New Password" field and again into the "Re-enter Password</quote> field and again into the <quote>Re-enter
new password" field to ensure new password</quote> field to ensure you typed your new
you typed your new password correctly. Select the "Submit" button and you're done! password correctly. Select the <quote>Submit</quote> button
and you are done.
</para> </para>
</section> </section>
<section id="emailsettings"> <section id="emailsettings" >
<title>Email Settings</title> <title>Email Settings</title>
<section id="notification"> <section id="notification" xreflabel="">
<title>Email Notification</title> <title>Email Notification</title>
<note>
<para> <para>
The email notification settings described below have been obsoleted in Bugzilla 2.12, and Here you can reduce or increase the amount of email sent you
this section will be replaced with a comprehensive description of the amazing array of from Bugzilla. Although this is referred to as
new options at your disposal. However, in the meantime, throw this chunk out the window <quote>Advanced Email Filtering Options</quote>, they are,
and go crazy with goofing around with different notification options. in fact, the standard email filter set. All of them are
</para> self-explanatory, but you can use the filters in interesting
</note> ways. For instance, some people (notably Quality Assurance
<para> personnel) often only care to receive updates regarding a
Ahh, here you can reduce or increase the amount of email sent you from Bugzilla! bug when the bug changes state, so they can track bugs on
In the drop-down "Notify me of changes to", select one of their flow charts and know when it is time to pull the bug
<simplelist> onto a quality assurance platform for inspection. Other
<member><emphasis>All qualifying bugs</emphasis>: sends you every change to every bug people set up email gateways to
where your name is somewhere on it, regardless of who changed it.</member> <xref linkend="bonsai"> or <xref linkend="tinderbox">, and
<member><emphasis>Only those bugs which I am listed in the CC line</emphasis>: prevents restrict which types of Bugzilla information are fed to
you from receiving mail for which you are the reporter,' these systems..
owner, or QA contact. If you are on the CC
list, presumably someone had a <emphasis>good</emphasis>
reason for you to get the email.</member>
<member><emphasis>All qulifying bugs except those which I change</emphasis>:
This is the default, and
a sensible setting. If someone else changes your bugs, you will get emailed,
but if you change bugs
yourself you will receive no notification of the change.</member>
</simplelist>
</para> </para>
</section> </section>
<section id="newemailtech"> <section id="newemailtech">
<title>New Email Technology</title> <title>New Email Technology</title>
<note> <note>
<para> <para>
This option may not be available in all Bugzilla installations, depending upon This option may not be available in all Bugzilla
the preferences of the systems administrator responsible for the setup of your Bugzilla. installations, depending upon the preferences of the
However, if you really want this functionality, ask her to "enable newemailtech systems administrator responsible for the setup of your
in Params" Bugzilla. However, if you really want this functionality,
and "make it the default for all new users", referring her to the Administration section ask her to "enable newemailtech in Params" and "make it
of this Guide. the default for all new users", referring her to the
Administration section of this Guide.
</para> </para>
</note> </note>
<para> <para>
Disregard the warnings about "experimental and bleeding edge"; the code to handle email Disregard the warnings about "experimental and bleeding
in a cleaner manner than that historically used for Bugzilla is edge"; the code to handle email in a cleaner manner than
quite robust and well-tested now. that historically used for Bugzilla is quite robust and
well-tested now.
</para> </para>
<para> <para>
I recommend you enable the option, "Click here to sign up (and risk any bugs)". I recommend you enable the option, "Click here to sign up
Your email-box (and risk any bugs)". Your email-box will thank you for it.
will thank you for it. The fundamental shift in "newemailtech" is away from standard UNIX The fundamental shift in "newemailtech" is away from
"diff" output, which is quite ugly, to a prettier, better laid-out email. standard UNIX "diff" output, which is quite ugly, to a
prettier, better laid-out email.
</para> </para>
</section> </section>
<section id="watchsettings"> <section id="watchsettings">
<title>"Watching" Users</title> <title>"Watching" Users</title>
<note> <note>
<para> <para>
This option may not be available in all Bugzilla installations, depending upon This option may not be available in all Bugzilla
the preferences of the systems administrator responsible for the setup of your Bugzilla. installations, depending upon the preferences of the
However, if you really want this functionality, ask her to "enable watchers in Params". systems administrator responsible for the setup of your
Bugzilla. However, if you really want this functionality,
ask her to "enable watchers in Params".
</para> </para>
</note> </note>
<para> <para>
By entering user email names into the "Users to watch" text entry box, delineated by commas, By entering user email names into the "Users to watch" text
you can watch bugs of other users. This powerful functionality enables seamless transitions entry box, delineated by commas, you can watch bugs of other
as developers change projects, managers wish to get in touch with the issues faced by their users. This powerful functionality enables seamless
direct reports, or users go on vacation. If any of these three situations apply transitions as developers change projects, managers wish to
to you, you will undoubtedly find this feature quite convenient. get in touch with the issues faced by their direct reports,
or users go on vacation. If any of these three situations
apply to you, you will undoubtedly find this feature quite
convenient.
</para> </para>
</section> </section>
</section> </section>
...@@ -810,36 +840,46 @@ system against which all others are measured. ...@@ -810,36 +840,46 @@ system against which all others are measured.
<title>Page Footer</title> <title>Page Footer</title>
<note> <note>
<para> <para>
By default, this page is quite barren. However, go explore the Query Page some more; you will By default, this page is quite barren. However, go explore
find that you can store numerous queries on the server, so if you regularly run a particular query the Query Page some more; you will find that you can store
it is just a drop-down menu away. On this page of Preferences, if you have many stored numerous queries on the server, so if you regularly run a
queries you can elect to have them always one-click away! particular query it is just a drop-down menu away. On this
page of Preferences, if you have many stored queries you can
elect to have them always one-click away!
</para> </para>
</note> </note>
<para> <para>
If you have many stored queries on the server, here you will find individual drop-downs for each If you have many stored queries on the server, here you will
stored query. Each drop-down gives you the option of that query appearing on the footer of every find individual drop-downs for each stored query. Each
page in Bugzilla! This gives you powerful one-click access to any complex searches you may set up, drop-down gives you the option of that query appearing on the
and is an excellent way to impress your boss... footer of every page in Bugzilla! This gives you powerful
one-click access to any complex searches you may set up, and
is an excellent way to impress your boss...
</para> </para>
<tip> <tip>
<para>By default, the "My Bugs" link appears at the bottom of each page. However, this query <para>By default, the "My Bugs" link appears at the bottom of
gives you both the bugs you have reported, as well as those you are assigned. One of the most each page. However, this query gives you both the bugs you
common uses for this page is to remove the "My Bugs" link, replacing it with two other queries, have reported, as well as those you are assigned. One of
commonly called "My Bug Reports" and "My Bugs" (but only referencing bugs assigned to you). This the most common uses for this page is to remove the "My
allows you to distinguish those bugs you have reported from those you are assigned. I commonly Bugs" link, replacing it with two other queries, commonly
set up complex Boolean queries in the Query page and link them to my footer in this page. When called "My Bug Reports" and "My Bugs" (but only referencing
they are significantly complex, a one-click reference can save hours of work.</para> bugs assigned to you). This allows you to distinguish those
bugs you have reported from those you are assigned. I
commonly set up complex Boolean queries in the Query page
and link them to my footer in this page. When they are
significantly complex, a one-click reference can save hours
of work.</para>
</tip> </tip>
</section> </section>
<section id="permissionsettings"> <section id="permissionsettings">
<title>Permissions</title> <title>Permissions</title>
<para> <para>
This is a purely informative page which outlines your current permissions on This is a purely informative page which outlines your current
this installation of Bugzilla. If you have permissions to grant certain permissions to permissions on this installation of Bugzilla. If you have
other users, the "other users" link appears on this page as well as the footer. permissions to grant certain permissions to other users, the
For more information regarding user administration, please consult the Administration "other users" link appears on this page as well as the footer.
section of this Guide. For more information regarding user administration, please
consult the Administration section of this Guide.
</para> </para>
</section> </section>
</section> </section>
...@@ -847,12 +887,11 @@ system against which all others are measured. ...@@ -847,12 +887,11 @@ system against which all others are measured.
<section id="usingbz-conc"> <section id="usingbz-conc">
<title>Using Bugzilla-Conclusion</title> <title>Using Bugzilla-Conclusion</title>
<para> <para>
Thank you for reading through this portion of the Bugzilla Guide. I anticipate Thank you for reading through this portion of the Bugzilla
it may not yet meet the needs of all readers. If you have additional comments or Guide. I anticipate it may not yet meet the needs of all
corrections to make, please submit your contributions to the readers. If you have additional comments or corrections to
<ulink url="mailto://mozilla-webtools@mozilla.org">mozilla-webtools</ulink> make, please submit your contributions to the <ulink
mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools url="mailto://mozilla-webtools@mozilla.org">mozilla-webtools</ulink> mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
</para> </para>
</section> </section>
</chapter> </chapter>
......
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN">--> <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN">-->
<chapter id="variants"> <chapter id="variants" xreflabel="Bugzilla Variants and Competitors">
<title>Bugzilla Variants</title> <title>Bugzilla Variants and Competitors</title>
<note> <para>I created this section to answer questions about Bugzilla
<para> competitors and variants, then found a wonderful site which covers
I <emphasis>know</emphasis> there are more variants than just RedHat Bugzilla out there. an awful lot of what I wanted to discuss. Rather than quote it in
Please help me get information about them, their project status, and benefits there its entirety, I'll simply refer you here: <ulink
might be in using them or in using their code in main-tree Bugzilla. url="http://linas.org/linux/pm.html">http://linas.org/linux/pm.html</ulink></para>
</para>
</note>
<section id="rhbugzilla"> <section id="rhbugzilla" xreflabel="Red Hat Bugzilla">
<title>Red Hat Bugzilla</title> <title>Red Hat Bugzilla</title>
<para> <para>
Red Hat Bugzilla is probably the most popular Bugzilla variant, aside from Mozilla Bugzilla, Red Hat Bugzilla is probably the most popular Bugzilla variant
on the planet. on the planet. One of the major benefits of Red Hat Bugzilla is
One of the major benefits of Red Hat Bugzilla is the ability to work with Oracle as a the ability to work with Oracle, MySQL, and PostGreSQL databases
database, as well as MySQL. serving as the back-end, instead of just MySQL. Dave Lawrence
Here's what Dave Lawrence had to say about the status of Red Hat Bugzilla, has worked very hard to keep Red Hat Bugzilla up-to-date, and
<blockquote> many people prefer the snappier-looking page layout of Red Hat
<literallayout> Bugzilla to the default Mozilla-standard formatting.
Hello. I apologize that I am getting back to you so late. It has been difficult to keep </para>
up with email this past week. I have checked out your updated documentation and I will <para>URL: <ulink
have to say very good work. A few notes and additions as follows. url="http://bugzilla.redhat.com/bugzilla/">http://bugzilla.redhat.com/bugzilla/</ulink></para>
</section>
(ed: from the FAQ)
>For the record, we are not using any template type implementation for the cosmetic changes
>maded to Bugzilla. It is just alot of html changes in the code itself. I admit I may have
>gotten a little carried away with it but the corporate types asked for a more standardized
>interface to match up with other projects relating to Red Hat web sites. A lot of other web
>based internal tools I am working on also look like Bugzilla.
This should probably be changed since we are now in fact using Text::Template for most <section id="variant_fenris" xreflabel="Loki Bugzilla, a.k.a. Fenris">
of the html rendering. You actually state this later in your numbered list. <title>Loki Bugzilla (Fenris)</title>
<para>Fenris can be found at <ulink
url="http://fenris.lokigames.com/">http://fenris.lokigames.com</ulink>. It is a fork from Bugzilla.</para>
</section>
Also number 6 contradicts number 8 where number 6 would be the most up to date status <section id="variant_issuezilla" xreflabel="Issuezilla">
on the Oracle port. <title>Issuezilla</title>
<para>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, <xref linkend="variant_scarab">, is under heavy development
and looks promising!</para>
<para>URL: <ulink url="http://issuezilla.tigris.org/servlets/ProjectHome">http://issuezilla.tigris.org/servlets/ProjectHome</ulink></para>
</section>
Additional Information: <section id="variant_scarab" xreflabel="Scarab, a newfangled Java-based issue tracker">
----------------------------- <title>Scarab</title>
1. Comments are now stored in varchar fields of 4k in size each. If the comment is more <para>Scarab is a promising new bug-tracking system built using
than 4k it is broken up into chunks and given a sort number so each comment can be re Java Serlet technology. As of this writing, no source code has
assembled in the correct order. This was done because originally I was storing the comments been released as a package, but you can obtain the code from
in a long datatype which unfortunately cannot be indexed or joined with another table. This CVS.
cause the search of text within the long description to be disabled for a long time. That </para>
is now working and is nto showing any noticeble performance hit that I can tell. <para>URL: <ulink url="http://scarab.tigris.org/">http://scarab.tigris.org</ulink></para>
</section>
2. Work is being started on internationalizing the Bugzilla source we have to allow our <section id="variant_perforce" xreflabel="Using Perforce to track bugs">
Japanese customers to enter bug reports into a single bugzilla system. This will probably <title>Perforce SCM</title>
be done by using the nvarchar data types supported by Oracle which allows storage of <para>Although Perforce isn't really a bug tracker, it can be used
double byte characters and also the use of the Accept-Language in the http header for as such through the <quote>jobs</quote> functionality.</para>
detection by Bugilla of which language to render. <para><ulink
url="http://www.perforce.com/perforce/technotes/note052.html"></ulink>http://www.perforce.com/perforce/technotes/note052.html</para>
</section>
3. Of course even more cosmetic changes. It is difficult to keep up with the ever <section id="variant_sourceforge" xreflabel="SourceForge">
changing faces of www.redhat.com. <title>SourceForge</title>
<para>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!</para>
<para>URL: <ulink
url="http://www.sourceforge.net">http://www.sourceforge.net</ulink></para>
</section>
4. Some convenience enhancements in the administration utilities. And more integration
with other internal/external Red Hat web sites.
I hope this information may prove helpful for your documentation. Please contact
me if you have any more question or I can do anything else.
Regards
</literallayout>
</blockquote>
</para>
</section>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
......
...@@ -7,11 +7,6 @@ Matthew P. Barnson ...@@ -7,11 +7,6 @@ Matthew P. Barnson
Zach Lipton Zach Lipton
zach@NOSPAM.zachlipton.com zach@NOSPAM.zachlipton.com
Edited by
I. P. Freely
Revision History Revision History
Revision v2.11 20 December 2000 Revised by: MPB Revision v2.11 20 December 2000 Revised by: MPB
Converted the README, FAQ, and DATABASE information into SGML docbook Converted the README, FAQ, and DATABASE information into SGML docbook
...@@ -52,6 +47,11 @@ I. P. Freely ...@@ -52,6 +47,11 @@ I. P. Freely
responsible for installing and maintaining this software is a responsible for installing and maintaining this software is a
qualified professional on operating system upon which you install qualified professional on operating system upon which you install
Bugzilla. Bugzilla.
THIS DOCUMENTATION IS MAINTAINED IN DOCBOOK 4.1 SGML FORMAT. IF YOU
WISH TO MAKE CORRECTIONS, PLEASE MAKE THEM IN PLAIN TEXT OR SGML DIFFS
AGAINST THE SOURCE. I CANNOT ACCEPT ADDITIONS TO THE GUIDE WRITTEN IN
HTML!
_________________________________________________________________ _________________________________________________________________
Table of Contents Table of Contents
...@@ -80,7 +80,7 @@ I. P. Freely ...@@ -80,7 +80,7 @@ I. P. Freely
2.3.3.1. Writing a Great Bug Report 2.3.3.1. Writing a Great Bug Report
2.3.3.2. Managing your Bug Reports 2.3.3.2. Managing your Bug Reports
2.4. What's in it for me? 2.4. Where can I find my user preferences?
2.4.1. Account Settings 2.4.1. Account Settings
2.4.2. Email Settings 2.4.2. Email Settings
...@@ -113,7 +113,7 @@ I. P. Freely ...@@ -113,7 +113,7 @@ I. P. Freely
3.2.12. HTTP Server 3.2.12. HTTP Server
3.2.13. Installing the Bugzilla Files 3.2.13. Installing the Bugzilla Files
3.2.14. Setting Up the MySQL Database 3.2.14. Setting Up the MySQL Database
3.2.15. Tweaking "localconfig" 3.2.15. Tweaking localconfig
3.2.16. Setting Up Maintainers Manually (Optional) 3.2.16. Setting Up Maintainers Manually (Optional)
3.2.17. The Whining Cron (Optional) 3.2.17. The Whining Cron (Optional)
3.2.18. Bug Graphs (Optional) 3.2.18. Bug Graphs (Optional)
...@@ -126,7 +126,11 @@ I. P. Freely ...@@ -126,7 +126,11 @@ I. P. Freely
3.5.1. Modifying Your Running System 3.5.1. Modifying Your Running System
3.5.2. Upgrading From Previous Versions 3.5.2. Upgrading From Previous Versions
3.5.3. .htaccess files and security 3.5.3. .htaccess files and security
3.5.4. UNIX Installation Instructions History 3.5.4. mod_throttle and Security
3.5.5. Preventing untrusted Bugzilla content from executing
malicious Javascript code
3.5.6. UNIX Installation Instructions History
3.6. Win32 Installation Notes 3.6. Win32 Installation Notes
...@@ -162,7 +166,7 @@ I. P. Freely ...@@ -162,7 +166,7 @@ I. P. Freely
5.1. Bonsai 5.1. Bonsai
5.2. CVS 5.2. CVS
5.3. Perforce SCM 5.3. Perforce SCM
5.4. Tinderbox 5.4. Tinderbox/Tinderbox2
6. The Future of Bugzilla 6. The Future of Bugzilla
A. The Bugzilla FAQ A. The Bugzilla FAQ
...@@ -178,15 +182,21 @@ I. P. Freely ...@@ -178,15 +182,21 @@ I. P. Freely
C.3. MySQL Permissions & Grant Tables C.3. MySQL Permissions & Grant Tables
7. Bugzilla Variants 7. Bugzilla Variants and Competitors
7.1. Red Hat Bugzilla 7.1. Red Hat Bugzilla
7.2. Loki Bugzilla (Fenris)
7.3. Issuezilla
7.4. Scarab
7.5. Perforce SCM
7.6. SourceForge
D. Useful Patches and Utilities for Bugzilla D. Useful Patches and Utilities for Bugzilla
D.1. The setperl.csh Utility D.1. Apache mod_rewrite magic
D.2. Command-line Bugzilla Queries D.2. The setperl.csh Utility
D.3. The Quicksearch Utility D.3. Command-line Bugzilla Queries
D.4. The Quicksearch Utility
E. GNU Free Documentation License E. GNU Free Documentation License
...@@ -211,7 +221,9 @@ I. P. Freely ...@@ -211,7 +221,9 @@ I. P. Freely
3-1. Setting up bonsaitools symlink 3-1. Setting up bonsaitools symlink
3-2. Running checksetup.pl as the web user 3-2. Running checksetup.pl as the web user
3-3. Installing ActivePerl ppd Modules on Microsoft Windows 3-3. Installing ActivePerl ppd Modules on Microsoft Windows
3-4. Removing encrypt() for Windows NT installations 3-4. Removing encrypt() for Windows NT Bugzilla version 2.12 or
earlier
4-1. Creating some Components 4-1. Creating some Components
4-2. Common Use of Versions 4-2. Common Use of Versions
4-3. A Different Use of Versions 4-3. A Different Use of Versions
...@@ -231,14 +243,13 @@ Chapter 1. About This Guide ...@@ -231,14 +243,13 @@ Chapter 1. About This Guide
I left untouched for nearly half a year. After numerous complete I left untouched for nearly half a year. After numerous complete
rewrites and reformatting, it is the document you see today. rewrites and reformatting, it is the document you see today.
Despite the lack of updates, Bugzilla is simply the best piece of Bugzilla is simply the best piece of bug-tracking software the world
bug-tracking software the world has ever seen. This document is has ever seen. This document is intended to be the comprehensive guide
intended to be the comprehensive guide to the installation, to the installation, administration, maintenance, and use of the
administration, maintenance, and use of the Bugzilla bug-tracking Bugzilla bug-tracking system.
system.
This release of the Bugzilla Guide is the 2.14.0 release. It is so This release of the Bugzilla Guide is the 2.14 release. It is so named
named that it may match the current version of Bugzilla. The numbering that it may match the current version of Bugzilla. The numbering
tradition stems from that used for many free software projects, in tradition stems from that used for many free software projects, in
which even-numbered point releases (1.2, 1.14, etc.) are considered which even-numbered point releases (1.2, 1.14, etc.) are considered
"stable releases", intended for public consumption; on the other hand, "stable releases", intended for public consumption; on the other hand,
...@@ -253,7 +264,7 @@ Chapter 1. About This Guide ...@@ -253,7 +264,7 @@ Chapter 1. About This Guide
of Bugzilla, as of this writing (August 10, 2001) is 2.14; if of Bugzilla, as of this writing (August 10, 2001) is 2.14; if
something were seriously wrong with that edition of the Guide, something were seriously wrong with that edition of the Guide,
subsequent releases would receive an additional dotted-decimal digit subsequent releases would receive an additional dotted-decimal digit
to indicate the update (2.14.0.1, 2.14.0.2, etc.). Got it? Good. to indicate the update (2.14.1, 2.14.2, etc.). Got it? Good.
I wrote this in response to the enormous demand for decent Bugzilla I wrote this in response to the enormous demand for decent Bugzilla
documentation. I have incorporated instructions from the Bugzilla documentation. I have incorporated instructions from the Bugzilla
...@@ -322,7 +333,7 @@ Chapter 1. About This Guide ...@@ -322,7 +333,7 @@ Chapter 1. About This Guide
1.4. New Versions 1.4. New Versions
This is the 2.14.0 version of The Bugzilla Guide. If you are reading This is the 2.14 version of The Bugzilla Guide. If you are reading
this from any source other than those below, please check one of these this from any source other than those below, please check one of these
mirrors to make sure you are reading an up-to-date version of the mirrors to make sure you are reading an up-to-date version of the
Guide. Guide.
...@@ -431,7 +442,7 @@ Chapter 2. Using Bugzilla ...@@ -431,7 +442,7 @@ Chapter 2. Using Bugzilla
What, Why, How, & What's in it for me? What, Why, How, & Where?
_________________________________________________________________ _________________________________________________________________
2.1. What is Bugzilla? 2.1. What is Bugzilla?
...@@ -461,16 +472,18 @@ Chapter 2. Using Bugzilla ...@@ -461,16 +472,18 @@ Chapter 2. Using Bugzilla
protocol protocol
* email, XML, console, and HTTP APIs * email, XML, console, and HTTP APIs
* available integration with automated software configuration * available integration with automated software configuration
management systems, including Perforce and CVS management systems, including Perforce and CVS (through the
Bugzilla email interface and checkin/checkout scripts)
* too many more features to list * too many more features to list
Despite its current robustness and popularity, however, Bugzilla faces Despite its current robustness and popularity, Bugzilla faces some
some near-term challenges, such as reliance on a single database, a near-term challenges, such as reliance on a single database, a lack of
lack of abstraction of the user interface and program logic, verbose abstraction of the user interface and program logic, verbose email bug
email bug notifications, a powerful but daunting query interface, notifications, a powerful but daunting query interface, little
little reporting configurability, problems with extremely large reporting configurability, problems with extremely large queries, some
queries, some unsupportable bug resolution options, no unsupportable bug resolution options, little internationalization
internationalization, and dependence on some nonstandard libraries. (although non-US character sets are accepted for comments), and
dependence on some nonstandard libraries.
Some recent headway has been made on the query front, however. If you Some recent headway has been made on the query front, however. If you
are using the latest version of Bugzilla, you should see a "simple are using the latest version of Bugzilla, you should see a "simple
...@@ -479,9 +492,8 @@ Chapter 2. Using Bugzilla ...@@ -479,9 +492,8 @@ Chapter 2. Using Bugzilla
information. This is also available as "queryhelp.cgi". information. This is also available as "queryhelp.cgi".
Despite these small problems, Bugzilla is very hard to beat. It is Despite these small problems, Bugzilla is very hard to beat. It is
under very active development to address the current issues, and a under very active development to address the current issues, and
long-awaited overhaul in the form of Bugzilla 3.0 is expected sometime continually gains new features.
later this year.
_________________________________________________________________ _________________________________________________________________
2.2. Why Should We Use Bugzilla? 2.2. Why Should We Use Bugzilla?
...@@ -522,7 +534,7 @@ Chapter 2. Using Bugzilla ...@@ -522,7 +534,7 @@ Chapter 2. Using Bugzilla
Bugzilla can dramatically increase the productivity and accountability Bugzilla can dramatically increase the productivity and accountability
of individual employees by providing a documented workflow and of individual employees by providing a documented workflow and
positive feedback for good performance. How many times do you wake up positive feedback for good performance. How many times do you wake up
in the morning, remembering that you were supposed to do *something* in the morning, remembering that you were supposed to do something
today, but you just can't quite remember? Put it in Bugzilla, and you today, but you just can't quite remember? Put it in Bugzilla, and you
have a record of it from which you can extrapolate milestones, predict have a record of it from which you can extrapolate milestones, predict
product versions for integration, and by using Bugzilla's e-mail product versions for integration, and by using Bugzilla's e-mail
...@@ -555,7 +567,7 @@ Chapter 2. Using Bugzilla ...@@ -555,7 +567,7 @@ Chapter 2. Using Bugzilla
Note Note
Some people have run into difficulties completing this tutorial. If Some people have run into difficulties completing this tutorial. If
you run into problems, please check the updated, online documentation you run into problems, please check the updated online documentation
available at http://www.trilobyte.net/barnsons. If you're still available at http://www.trilobyte.net/barnsons. If you're still
stumped, please subscribe to the newsgroup and provide details of stumped, please subscribe to the newsgroup and provide details of
exactly what's stumping you! If enough people complain, I'll have to exactly what's stumping you! If enough people complain, I'll have to
...@@ -581,10 +593,10 @@ Chapter 2. Using Bugzilla ...@@ -581,10 +593,10 @@ Chapter 2. Using Bugzilla
2. Enter your "E-mail address" and "Real Name" (or whatever name you 2. Enter your "E-mail address" and "Real Name" (or whatever name you
want to call yourself) in the spaces provided, then select the want to call yourself) in the spaces provided, then select the
"Create Account" button. "Create Account" button.
3. Within 5-10 minutes, you should receive an email to the address 3. Within moments, you should receive an email to the address you
you provided above, which contains your login name (generally the provided above, which contains your login name (generally the same
same as the email address), and a password you can use to access as the email address), and a password you can use to access your
your account. This password is randomly generated, and should be account. This password is randomly generated, and should be
changed at your nearest opportunity (we'll go into how to do it changed at your nearest opportunity (we'll go into how to do it
later). later).
4. Click the "Log In" link in the yellow area at the bottom of the 4. Click the "Log In" link in the yellow area at the bottom of the
...@@ -603,8 +615,8 @@ Chapter 2. Using Bugzilla ...@@ -603,8 +615,8 @@ Chapter 2. Using Bugzilla
Many modern browsers include an "Auto-Complete" or "Form Fill" feature Many modern browsers include an "Auto-Complete" or "Form Fill" feature
to remember the user names and passwords you type in at many sites. to remember the user names and passwords you type in at many sites.
Unfortunately, sometimes they attempt to "guess" what you will put in Unfortunately, sometimes they attempt to guess what you will put in as
as your password, and guess wrong. If you notice a text box is already your password, and guess wrong. If you notice a text box is already
filled out, please overwrite the contents of the text box so you can filled out, please overwrite the contents of the text box so you can
be sure to input the correct information. be sure to input the correct information.
...@@ -617,17 +629,17 @@ Chapter 2. Using Bugzilla ...@@ -617,17 +629,17 @@ Chapter 2. Using Bugzilla
2.3.2. The Bugzilla Query Page 2.3.2. The Bugzilla Query Page
The Bugzilla Query Page is the heart and soul of Bugzilla. It is the The Bugzilla Query Page is the heart and soul of the Bugzilla user
master interface where you can find any bug report, comment, or patch experience. It is the master interface where you can find any bug
currently in the Bugzilla system. We'll go into how to create your own report, comment, or patch currently in the Bugzilla system. We'll go
bug report later on. into how to create your own bug report later on.
There are efforts underway to simplify query usage. If you have a There are efforts underway to simplify query usage. If you have a
local installation of Bugzilla 2.12 or higher, you should have local installation of Bugzilla 2.12 or higher, you should have
"quicksearch.html" available to use and simplify your searches. There quicksearch.html available to use and simplify your searches. There is
is also, or shortly will be, a helper for the query interface, called also a helper for the query interface, called queryhelp.cgi. Landfill
"queryhelp.cgi". Landfill tends to run the latest code, so these two tends to run the latest code, so these two utilities should be
utilities should be available there for your perusal. available there for your perusal.
At this point, please visit the main Bugzilla site, At this point, please visit the main Bugzilla site,
bugzilla.mozilla.org, to see a more fleshed-out query page. bugzilla.mozilla.org, to see a more fleshed-out query page.
...@@ -645,13 +657,13 @@ Chapter 2. Using Bugzilla ...@@ -645,13 +657,13 @@ Chapter 2. Using Bugzilla
"Back" button in your browser. "Back" button in your browser.
I'm sure that after checking out the online help, you are now an I'm sure that after checking out the online help, you are now an
Expert on the Bugzilla Query Page. If, however, you feel you haven't expert on the Bugzilla Query Page. If, however, you feel you haven't
mastered it yet, let me walk you through making a few successful mastered it yet, let me walk you through making a few successful
queries to find out what there are in the Bugzilla bug-tracking system queries to find out what there are in the Bugzilla bug-tracking system
itself. itself.
1. Ensure you are back on the "Bugzilla Query Page" Do nothing in the 1. Ensure you are back on the "Bugzilla Query Page". Do nothing in
boxes marked "Status", "Resolution", "Platform", "OpSys", the boxes marked "Status", "Resolution", "Platform", "OpSys",
"Priority", or "Severity". The default query for "Status" is to "Priority", or "Severity". The default query for "Status" is to
find all bugs that are NEW, ASSIGNED, or REOPENED, which is what find all bugs that are NEW, ASSIGNED, or REOPENED, which is what
we want. If you don't select anything in the other 5 scrollboxes we want. If you don't select anything in the other 5 scrollboxes
...@@ -661,7 +673,7 @@ Chapter 2. Using Bugzilla ...@@ -661,7 +673,7 @@ Chapter 2. Using Bugzilla
have it figured out. have it figured out.
Basically, selecting anything on the query page narrows your Basically, selecting anything on the query page narrows your
search down. Leaving stuff unselected, or text boxes unfilled, search down. Leaving stuff unselected, or text boxes unfilled,
broadens your search! broadens your search.
2. You see the box immediately below the top six boxes that contains 2. You see the box immediately below the top six boxes that contains
an "Email" text box, with the words "matching as", a drop-down an "Email" text box, with the words "matching as", a drop-down
selection box, then some checkboxes with "Assigned To" checked by selection box, then some checkboxes with "Assigned To" checked by
...@@ -786,13 +798,17 @@ Chapter 2. Using Bugzilla ...@@ -786,13 +798,17 @@ Chapter 2. Using Bugzilla
2.3.3.1. Writing a Great Bug Report 2.3.3.1. Writing a Great Bug Report
Before we plunge into writing your first bug report, I encourage you Before we plunge into writing your first bug report, I encourage you
to read Mozilla.org's Bug Writing Guidelines. While some of the advice to read some bug-writing guidelines. If you are reading this document
is Mozilla-specific, the basic principles of reporting Reproducible, as part of a Bugzilla CVS checkout or un-tarred Bugzilla distribution,
Specific bugs, isolating the Product you are using, the Version of the you should be able to read them by clicking here. If you are reading
Product, the Component which failed, the Hardware Platform, and this online, check out the Mozilla.org bug-writing guidelines at
Operating System you were using at the time of the failure go a long http://www.mozilla.org/quality/bug-writing-guidelines.html. While some
way toward ensuring accurate, responsible fixes for the bug that bit of the advice is Mozilla-specific, the basic principles of reporting
you. Reproducible, Specific bugs, isolating the Product you are using, the
Version of the Product, the Component which failed, the Hardware
Platform, and Operating System you were using at the time of the
failure go a long way toward ensuring accurate, responsible fixes for
the bug that bit you.
While you are at it, why not learn how to find previously reported While you are at it, why not learn how to find previously reported
bugs? Mozilla.org has published a great tutorial on finding duplicate bugs? Mozilla.org has published a great tutorial on finding duplicate
...@@ -872,7 +888,7 @@ Chapter 2. Using Bugzilla ...@@ -872,7 +888,7 @@ Chapter 2. Using Bugzilla
"Reports" link at the footer of each page. "Reports" link at the footer of each page.
_________________________________________________________________ _________________________________________________________________
2.4. What's in it for me? 2.4. Where can I find my user preferences?
...@@ -894,34 +910,25 @@ Chapter 2. Using Bugzilla ...@@ -894,34 +910,25 @@ Chapter 2. Using Bugzilla
"Old Password" field. If you wish to change your password, type the "Old Password" field. If you wish to change your password, type the
new password you want into the "New Password" field and again into the new password you want into the "New Password" field and again into the
"Re-enter new password" field to ensure you typed your new password "Re-enter new password" field to ensure you typed your new password
correctly. Select the "Submit" button and you're done! correctly. Select the "Submit" button and you are done.
_________________________________________________________________ _________________________________________________________________
2.4.2. Email Settings 2.4.2. Email Settings
2.4.2.1. Email Notification 2.4.2.1. Email Notification
Note Here you can reduce or increase the amount of email sent you from
Bugzilla. Although this is referred to as "Advanced Email Filtering
The email notification settings described below have been obsoleted in Options", they are, in fact, the standard email filter set. All of
Bugzilla 2.12, and this section will be replaced with a comprehensive them are self-explanatory, but you can use the filters in interesting
description of the amazing array of new options at your disposal. ways. For instance, some people (notably Quality Assurance personnel)
However, in the meantime, throw this chunk out the window and go crazy often only care to receive updates regarding a bug when the bug
with goofing around with different notification options. changes state, so they can track bugs on their flow charts and know
when it is time to pull the bug onto a quality assurance platform for
Ahh, here you can reduce or increase the amount of email sent you from inspection. Other people set up email gateways to Bonsai, the Mozilla
Bugzilla! In the drop-down "Notify me of changes to", select one of automated CVS management system or Tinderbox, the Mozilla automated
build management system, and restrict which types of Bugzilla
All qualifying bugs: sends you every change to every bug where your information are fed to these systems..
name is somewhere on it, regardless of who changed it.
Only those bugs which I am listed in the CC line: prevents you from
receiving mail for which you are the reporter,' owner, or QA contact.
If you are on the CC list, presumably someone had a good reason for
you to get the email.
All qulifying bugs except those which I change: This is the default,
and a sensible setting. If someone else changes your bugs, you will
get emailed, but if you change bugs yourself you will receive no
notification of the change.
_________________________________________________________________ _________________________________________________________________
2.4.2.2. New Email Technology 2.4.2.2. New Email Technology
...@@ -1126,32 +1133,49 @@ Chapter 3. Installation ...@@ -1126,32 +1133,49 @@ Chapter 3. Installation
Internet. Many installation steps require an active Internet Internet. Many installation steps require an active Internet
connection to complete, but you must take care to ensure that at no connection to complete, but you must take care to ensure that at no
point is your machine vulnerable to an attack. point is your machine vulnerable to an attack.
Note
Linux-Mandrake 8.0, the author's test system, includes every required
and optional library for Bugzilla. The easiest way to install them is
by using the urpmi utility. If you follow these commands, you should
have everything you need for Bugzilla, and checksetup.pl should not
complain about any missing libraries. You may already have some of
these installed.
bash# urpmi perl-mysql
bash# urpmi perl-chart
bash# urpmi perl-gd
bash# urpmi perl-MailTools (for Bugzilla email integration)
bash# urpmi apache-modules
_________________________________________________________________ _________________________________________________________________
3.2.3. Installing MySQL Database 3.2.3. Installing MySQL Database
Visit MySQL homepage at http://www.mysql.com/ and grab the latest Visit MySQL homepage at www.mysql.com and grab the latest stable
stable release of the server. Both binaries and source are available release of the server. Many of the binary versions of MySQL store
and which you get shouldn't matter. Be aware that many of the binary their data files in /var which is often part of a smaller root
versions of MySQL store their data files in /var which on many partition. If you decide to build from sources you can easily set the
installations (particularly common with linux installations) is part dataDir as an option to configure.
of a smaller root partition. If you decide to build from sources you
can easily set the dataDir as an option to configure. If you install from source or non-package (RPM, deb, etc.) binaries
you need to add mysqld to your init scripts so the server daemon will
If you've installed from source or non-package (RPM, deb, etc.) come back up whenever your machine reboots. Further discussion of UNIX
binaries you'll want to make sure to add mysqld to your init scripts init sequences are beyond the scope of this guide.
so the server daemon will come back up whenever your machine reboots.
You also may want to edit those init scripts, to make sure that mysqld Note
will accept large packets. By default, mysqld is set up to only accept
packets up to 64K long. This limits the size of attachments you may You should have your init script start mysqld with the ability to
put on bugs. If you add something like "-O max_allowed_packet=1M" to accept large packets. By default, mysqld only accepts packets up to
the command that starts mysqld (or safe_mysqld), then you will be able 64K long. This limits the size of attachments you may put on bugs. If
to have attachments up to about 1 megabyte. you add -O max_allowed_packet=1M to the command that starts mysqld (or
safe_mysqld), then you will be able to have attachments up to about 1
megabyte.
Note Note
If you plan on running Bugzilla and MySQL on the same machine, If you plan on running Bugzilla and MySQL on the same machine,
consider using the "--skip-networking" option in the init script. This consider using the --skip-networking option in the init script. This
enhances security by preventing network access to MySQL. enhances security by preventing network access to MySQL.
_________________________________________________________________ _________________________________________________________________
...@@ -1188,7 +1212,7 @@ Chapter 3. Installation ...@@ -1188,7 +1212,7 @@ Chapter 3. Installation
Tip Tip
You can skip the following Perl module installation steps by You can skip the following Perl module installation steps by
installing "Bundle::Bugzilla" from CPAN, which includes them. All Perl installing Bundle::Bugzilla from CPAN, which includes them. All Perl
module installation steps require you have an active Internet module installation steps require you have an active Internet
connection. If you wish to use Bundle::Bugzilla, however, you must be connection. If you wish to use Bundle::Bugzilla, however, you must be
using the latest version of Perl (at this writing, version 5.6.1) using the latest version of Perl (at this writing, version 5.6.1)
...@@ -1212,8 +1236,7 @@ Chapter 3. Installation ...@@ -1212,8 +1236,7 @@ Chapter 3. Installation
Like almost all Perl modules DBI can be found on the Comprehensive Like almost all Perl modules DBI can be found on the Comprehensive
Perl Archive Network (CPAN) at http://www.cpan.org. The CPAN servers Perl Archive Network (CPAN) at http://www.cpan.org. The CPAN servers
have a real tendency to bog down, so please use mirrors. The current have a real tendency to bog down, so please use mirrors. The current
location at the time of this writing (02/17/99) can be found in location at the time of this writing can be found in Appendix B.
Appendix A.
Quality, general Perl module installation instructions can be found on Quality, general Perl module installation instructions can be found on
the CPAN website, but the easy thing to do is to just use the CPAN the CPAN website, but the easy thing to do is to just use the CPAN
...@@ -1251,8 +1274,8 @@ Chapter 3. Installation ...@@ -1251,8 +1274,8 @@ Chapter 3. Installation
hurt anything. hurt anything.
Data::Dumper is used by the MySQL-related Perl modules. It can be Data::Dumper is used by the MySQL-related Perl modules. It can be
found on CPAN (link in Appendix A) and can be installed by following found on CPAN (see Appendix B) and can be installed by following the
the same four step make sequence used for the DBI module. same four step make sequence used for the DBI module.
_________________________________________________________________ _________________________________________________________________
3.2.7. MySQL related Perl Module Collection 3.2.7. MySQL related Perl Module Collection
...@@ -1285,31 +1308,30 @@ Chapter 3. Installation ...@@ -1285,31 +1308,30 @@ Chapter 3. Installation
Many of the more common date/time/calendar related Perl modules have Many of the more common date/time/calendar related Perl modules have
been grouped into a bundle similar to the MySQL modules bundle. This been grouped into a bundle similar to the MySQL modules bundle. This
bundle is stored on the CPAN under the name TimeDate. A link link may bundle is stored on the CPAN under the name TimeDate (see link:
be found in Appendix B, Software Download Links. The component module Appendix B). The component module we're most interested in is the
we're most interested in is the Date::Format module, but installing Date::Format module, but installing all of them is probably a good
all of them is probably a good idea anyway. The standard Perl module idea anyway. The standard Perl module installation instructions should
installation instructions should work perfectly for this simple work perfectly for this simple package.
package.
_________________________________________________________________ _________________________________________________________________
3.2.9. GD Perl Module (1.8.3) 3.2.9. GD Perl Module (1.8.3)
The GD library was written by Thomas Boutell a long while ago to The GD library was written by Thomas Boutell a long while ago to
programatically generate images in C. Since then it's become almost a programatically generate images in C. Since then it's become the
defacto standard for programatic image construction. The Perl bindings defacto standard for programatic image construction. The Perl bindings
to it found in the GD library are used on a million web pages to to it found in the GD library are used on millions of web pages to
generate graphs on the fly. That's what bugzilla will be using it for generate graphs on the fly. That's what bugzilla will be using it for
so you'd better install it if you want any of the graphing to work. so you must install it if you want any of the graphing to work.
Actually bugzilla uses the Graph module which relies on GD itself, but Actually bugzilla uses the Graph module which relies on GD itself.
isn't that always the way with OOP. At any rate, you can find the GD Isn't that always the way with object-oriented programming? At any
library on CPAN (link in Appendix B, Software Download Links). rate, you can find the GD library on CPAN in Appendix B.
Note Note
The Perl GD library requires some other libraries that may or may not The Perl GD library requires some other libraries that may or may not
be installed on your system, including "libpng" and "libgd". The full be installed on your system, including libpng and libgd. The full
requirements are listed in the Perl GD library README. Just realize requirements are listed in the Perl GD library README. Just realize
that if compiling GD fails, it's probably because you're missing a that if compiling GD fails, it's probably because you're missing a
required library. required library.
...@@ -1319,11 +1341,10 @@ Chapter 3. Installation ...@@ -1319,11 +1341,10 @@ Chapter 3. Installation
The Chart module provides bugzilla with on-the-fly charting abilities. The Chart module provides bugzilla with on-the-fly charting abilities.
It can be installed in the usual fashion after it has been fetched It can be installed in the usual fashion after it has been fetched
from CPAN where it is found as the Chart-x.x... tarball in a directory from CPAN where it is found as the Chart-x.x... tarball, linked in
to be listed in Appendix B, "Software Download Links". Note that as Appendix B. Note that as with the GD perl module, only the version
with the GD perl module, only the version listed above, or newer, will listed above, or newer, will work. Earlier versions used GIF's, which
work. Earlier versions used GIF's, which are no longer supported by are no longer supported by the latest versions of GD.
the latest versions of GD.
_________________________________________________________________ _________________________________________________________________
3.2.11. DB_File Perl Module 3.2.11. DB_File Perl Module
...@@ -1341,27 +1362,42 @@ Chapter 3. Installation ...@@ -1341,27 +1362,42 @@ Chapter 3. Installation
different machine than MySQL, but need to adjust the MySQL "bugs" user different machine than MySQL, but need to adjust the MySQL "bugs" user
permissions accordingly. permissions accordingly.
Note
I strongly recommend Apache as the web server to use. The Bugzilla
Guide installation instructions, in general, assume you are using
Apache. As more users use different webservers and send me information
on the peculiarities of installing using their favorite webserver, I
will provide notes for them.
You'll want to make sure that your web server will run any file with You'll want to make sure that your web server will run any file with
the .cgi extension as a cgi and not just display it. If you're using the .cgi extension as a cgi and not just display it. If you're using
apache that means uncommenting the following line in the srm.conf apache that means uncommenting the following line in the srm.conf
file: AddHandler cgi-script .cgi file:
AddHandler cgi-script .cgi
With apache you'll also want to make sure that within the access.conf With apache you'll also want to make sure that within the access.conf
file the line: Options ExecCGI is in the stanza that covers the file the line:
directories you intend to put the bugzilla .html and .cgi files into. Options ExecCGI
If you are using a newer version of Apache, both of the above lines is in the stanza that covers the directories into which you intend to
will be (or will need to be) in the httpd.conf file, rather than put the bugzilla .html and .cgi files.
srm.conf or access.conf.
Note
Users of newer versions of Apache will generally find both of the
above lines will be in the httpd.conf file, rather than srm.conf or
access.conf.
Warning Warning
There are two critical directories and a file that should not be a There are important files and directories that should not be a served
served by the HTTP server. These are the "data" and "shadow" by the HTTP server. These are most files in the "data" and "shadow"
directories and the "localconfig" file. You should configure your HTTP directories and the "localconfig" file. You should configure your HTTP
server to not serve content from these files. Failure to do so will server to not serve content from these files. Failure to do so will
expose critical passwords and other data. Please see .htaccess files expose critical passwords and other data. Please see .htaccess files
and security for details. and security for details on how to do this for Apache. I appreciate
notes on how to get this same functionality using other webservers.
_________________________________________________________________ _________________________________________________________________
3.2.13. Installing the Bugzilla Files 3.2.13. Installing the Bugzilla Files
...@@ -1370,34 +1406,32 @@ Chapter 3. Installation ...@@ -1370,34 +1406,32 @@ Chapter 3. Installation
willing to make writable by the default web server user (probably willing to make writable by the default web server user (probably
"nobody"). You may decide to put the files off of the main web space "nobody"). You may decide to put the files off of the main web space
for your web server or perhaps off of /usr/local with a symbolic link for your web server or perhaps off of /usr/local with a symbolic link
in the web space that points to the bugzilla directory. At any rate, in the web space that points to the Bugzilla directory. At any rate,
just dump all the files in the same place (optionally omitting the CVS just dump all the files in the same place, and make sure you can
directories if they were accidentally tarred up with the rest of access the files in that directory through your web server.
Bugzilla) and make sure you can access the files in that directory
through your web server.
Tip Tip
If you symlink the bugzilla directory into your Apache's HTML If you symlink the bugzilla directory into your Apache's HTML
heirarchy, you may receive "Forbidden" errors unless you add the heirarchy, you may receive Forbidden errors unless you add the
"FollowSymLinks" directive to the <Directory> entry for the HTML root. "FollowSymLinks" directive to the <Directory> entry for the HTML root.
Once all the files are in a web accessible directory, make that Once all the files are in a web accessible directory, make that
directory writable by your webserver's user (which may require just directory writable by your webserver's user. This is a temporary step
making it world writable). This is a temporary step until you run the until you run the post-install checksetup.pl script, which locks down
post-install "checksetup.pl" script, which locks down your your installation.
installation.
Lastly, you'll need to set up a symbolic link to Lastly, you'll need to set up a symbolic link to
/usr/bonsaitools/bin/perl for the correct location of your perl /usr/bonsaitools/bin/perl for the correct location of your perl
executable (probably /usr/bin/perl). Otherwise you must hack all the executable (probably /usr/bin/perl). Otherwise you must hack all the
.cgi files to change where they look for perl. To make future upgrades .cgi files to change where they look for perl, or use The setperl.csh
easier, you should use the symlink approach. Utility, found in Useful Patches and Utilities for Bugzilla. I suggest
using the symlink approach for future release compatability.
Example 3-1. Setting up bonsaitools symlink Example 3-1. Setting up bonsaitools symlink
Here's how you set up the Perl symlink on Linux to make Bugzilla work. Here's how you set up the Perl symlink on Linux to make Bugzilla work.
Your mileage may vary; if you are running on Solaris, you probably Your mileage may vary. For some UNIX operating systems, you probably
need to subsitute "/usr/local/bin/perl" for "/usr/bin/perl" below; if need to subsitute "/usr/local/bin/perl" for "/usr/bin/perl" below; if
on certain other UNIX systems, Perl may live in weird places like on certain other UNIX systems, Perl may live in weird places like
"/opt/perl". As root, run these commands: "/opt/perl". As root, run these commands:
...@@ -1440,7 +1474,7 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -1440,7 +1474,7 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
mysql> FLUSH PRIVILEGES; mysql> FLUSH PRIVILEGES;
From this point on, if you need to access MySQL as the MySQL root From this point on, if you need to access MySQL as the MySQL root
user, you will need to use "mysql -u root -p" and enter your user, you will need to use mysql -u root -p and enter your
new_password. Remember that MySQL user names have nothing to do with new_password. Remember that MySQL user names have nothing to do with
Unix user names (login names). Unix user names (login names).
...@@ -1461,14 +1495,14 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -1461,14 +1495,14 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
Next, run the magic checksetup.pl script. (Many thanks to Holger Next, run the magic checksetup.pl script. (Many thanks to Holger
Schurig <holgerschurig@nikocity.de> for writing this script!) It will Schurig <holgerschurig@nikocity.de> for writing this script!) It will
make sure Bugzilla files and directories have reasonable permissions, make sure Bugzilla files and directories have reasonable permissions,
set up the "data" directory, and create all the MySQL tables. set up the data directory, and create all the MySQL tables.
bash# ./checksetup.pl bash# ./checksetup.pl
The first time you run it, it will create a file called "localconfig". The first time you run it, it will create a file called localconfig.
_________________________________________________________________ _________________________________________________________________
3.2.15. Tweaking "localconfig" 3.2.15. Tweaking localconfig
This file contains a variety of settings you may need to tweak This file contains a variety of settings you may need to tweak
including how Bugzilla should connect to the MySQL database. including how Bugzilla should connect to the MySQL database.
...@@ -1480,7 +1514,7 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -1480,7 +1514,7 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
3. MySQL username: "bugs" if you're following these directions 3. MySQL username: "bugs" if you're following these directions
4. Password for the "bugs" MySQL account above 4. Password for the "bugs" MySQL account above
You may also install .htaccess files that the Apache webserver will You should also install .htaccess files that the Apache webserver will
use to restrict access to Bugzilla data files. See .htaccess files and use to restrict access to Bugzilla data files. See .htaccess files and
security. security.
...@@ -1489,17 +1523,11 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -1489,17 +1523,11 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
for which you will be prompted to provide information. for which you will be prompted to provide information.
When logged into an administrator account once Bugzilla is running, if When logged into an administrator account once Bugzilla is running, if
you go to the query page (off of the bugzilla main menu), you'll find you go to the query page (off of the Bugzilla main menu), you'll find
an 'edit parameters' option that is filled with editable treats. an "edit parameters" option that is filled with editable treats.
Should everything work, you should have a nearly empty copy of the bug Should everything work, you will have a nearly empty Bugzilla database
tracking setup. and a newly-created localconfig file in your Bugzilla root directory.
The second time around, checksetup.pl will stall if it is on a
filesystem that does not fully support file locking via flock(), such
as NFS mounts. This support is required for Bugzilla to operate safely
with multiple instances. If flock() is not fully supported, it will
stall at: Now regenerating the shadow database for all bugs.
Note Note
...@@ -1516,6 +1544,7 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -1516,6 +1544,7 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
installed in "/usr/local/bugzilla", here's one way to run installed in "/usr/local/bugzilla", here's one way to run
checksetup.pl as the web server user. As root, for the second run of checksetup.pl as the web server user. As root, for the second run of
checksetup.pl, do this: checksetup.pl, do this:
bash# chown -R apache:apache /usr/local/bugzilla bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache bash# su - apache
bash# cd /usr/local/bugzilla bash# cd /usr/local/bugzilla
...@@ -1531,12 +1560,12 @@ bash# ./checksetup.pl ...@@ -1531,12 +1560,12 @@ bash# ./checksetup.pl
3.2.16. Setting Up Maintainers Manually (Optional) 3.2.16. Setting Up Maintainers Manually (Optional)
If you want to add someone else to every group by hand, you can do it If you want to add someone else to every group by hand, you can do it
by typing the appropriate MySQL commands. Run ' mysql -u root -p bugs' by typing the appropriate MySQL commands. Run mysql -u root -p bugs
You may need different parameters, depending on your security You may need different parameters, depending on your security
settings. Then: settings. Then:
mysql> update profiles set groupset=0x7fffffffffffffff where mysql> update profiles set groupset=0x7fffffffffffffff where
login_name = 'XXX'; login_name = 'XXX'; (yes, that's fifteen"f"'s.
replacing XXX with the Bugzilla email address. replacing XXX with the Bugzilla email address.
_________________________________________________________________ _________________________________________________________________
...@@ -1774,7 +1803,48 @@ sr/local/lib); ...@@ -1774,7 +1803,48 @@ sr/local/lib);
by editing localconfig and setting the $create_htaccess variable to 0. by editing localconfig and setting the $create_htaccess variable to 0.
_________________________________________________________________ _________________________________________________________________
3.5.4. UNIX Installation Instructions History 3.5.4. mod_throttle and Security
It is possible for a user, by mistake or on purpose, to access the
database many times in a row which can result in very slow access
speeds for other users. If your Bugzilla installation is experiencing
this problem , you may install the Apache module mod_throttle which
can limit connections by ip-address. You may download this module at
http://www.snert.com/Software/Throttle/. Follow the instructions to
install into your Apache install. This module only functions with the
Apache web server!. You may use the ThrottleClientIP command provided
by this module to accomplish this goal. See the Module Instructions
for more information.
_________________________________________________________________
3.5.5. Preventing untrusted Bugzilla content from executing malicious
Javascript code
It is possible for a Bugzilla to execute malicious Javascript code.
Due to internationalization concerns, we are unable to incorporate the
code changes necessary to fulfill the CERT advisory requirements
mentioned in
http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3.
Executing the following code snippet from a UNIX command shell will
rectify the problem if your Bugzilla installation is intended for an
English-speaking audience. As always, be sure your Bugzilla
installation has a good backup before making changes, and I recommend
you understand what the script is doing before executing it.
bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
do cat $i | sed 's/Content-type\: text\/html/Content-Type: text\/html
\; charset=ISO-8859-1/' >$i.tmp; \
mv $i.tmp $i; done
All this one-liner command does is search for all instances of
"Content-type: text/html" and replaces it with "Content-Type:
text/html; charset=ISO-8859-1". This specification prevents possible
Javascript attacks on the browser, and is suggested for all
English-speaking sites. For non-english-speaking Bugzilla sites, I
suggest changing "ISO-8859-1", above, to "UTF-8".
_________________________________________________________________
3.5.6. UNIX Installation Instructions History
This document was originally adapted from the Bonsai installation This document was originally adapted from the Bonsai installation
instructions by Terry Weissman <terry@mozilla.org>. instructions by Terry Weissman <terry@mozilla.org>.
...@@ -1821,24 +1891,29 @@ sr/local/lib); ...@@ -1821,24 +1891,29 @@ sr/local/lib);
Note Note
You should be familiar with, and cross-reference, the rest of the You should be familiar with, and cross-reference, the rest of the
Chapter 3 section while performing your Win32 installation. Bugzilla Installation section while performing your Win32
installation.
Making Bugzilla work on Microsoft Windows is no picnic. Support for Making Bugzilla work on Microsoft Windows is no picnic. Support for
Win32 has improved dramatically in the last few releases, but, if you Win32 has improved dramatically in the last few releases, but, if you
choose to proceed, you should be a very skilled Windows Systems choose to proceed, you should be a very skilled Windows Systems
Administrator with both strong troubleshooting abilities and a high Administrator with strong troubleshooting abilities, a high tolerance
tolerance for pain. Bugzilla on NT requires hacking source code and for pain, and moderate perl skills. Bugzilla on NT requires hacking
implementing some advanced utilities. What follows is the recommended source code and implementing some advanced utilities. What follows is
installation procedure for Win32; additional suggestions are provided the recommended installation procedure for Win32; additional
in The Bugzilla FAQ. suggestions are provided in Appendix A.
1. Install Apache Web Server for Windows. 1. Install Apache Web Server for Windows, and copy the Bugzilla files
somewhere Apache can serve them. Please follow all the
instructions referenced in Bugzilla Installation regarding your
Apache configuration, particularly instructions regarding the
"AddHandler" parameter and "ExecCGI".
Note Note
You may also use Internet Information Server or Personal Web Server You may also use Internet Information Server or Personal Web Server
for this purpose. However, setup is slightly more difficult. If for this purpose. However, setup is quite different. If ActivePerl
ActivePerl doesn't seem to handle your file associations correctly doesn't seem to handle your file associations correctly (for .cgi and
(for .cgi and .pl files), please consult The Bugzilla FAQ. .pl files), please consult Appendix A.
If you are going to use IIS, if on Windows NT you must be updated to If you are going to use IIS, if on Windows NT you must be updated to
at least Service Pack 4. Windows 2000 ships with a sufficient version at least Service Pack 4. Windows 2000 ships with a sufficient version
of IIS. of IIS.
...@@ -1888,9 +1963,20 @@ sr/local/lib); ...@@ -1888,9 +1963,20 @@ sr/local/lib);
g. mysql> exit; g. mysql> exit;
h. C:> C:\mysql\bin\mysqladmin -u root -p reload h. C:> C:\mysql\bin\mysqladmin -u root -p reload
6. Edit checksetup.pl in your Bugzilla directory. Change this line: 6. Edit checksetup.pl in your Bugzilla directory. Change this line:
"my $webservergid = getgrnam($my_webservergroup); "
my $webservergid = getgrnam($my_webservergroup);
to to
"my $webservergid = $my_webservergroup; "
my $webservergid = $my_webservergroup;
or the name of the group you wish to own the files explicitly:
my $webservergid = 'Administrators'
7. Run checksetup.pl from the Bugzilla directory. 7. Run checksetup.pl from the Bugzilla directory.
8. Edit localconfig to suit your requirements. Set $db_pass to your 8. Edit localconfig to suit your requirements. Set $db_pass to your
"bugs_password" from step 5.d, and $webservergroup to "8". "bugs_password" from step 5.d, and $webservergroup to "8".
...@@ -1951,7 +2037,13 @@ $mail->send($from,$to,$subject,$msg); ...@@ -1951,7 +2037,13 @@ $mail->send($from,$to,$subject,$msg);
Note Note
The code above needs testing as well to make sure it is correct. Some have found success using the commercial product, Windmail. You
could try replacing your sendmail calls with:
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.
log";
or something to that effect.
11. Change all references in all files from processmail to 11. Change all references in all files from processmail to
processmail.pl, and rename processmail to processmail.pl. processmail.pl, and rename processmail to processmail.pl.
...@@ -1996,10 +2088,9 @@ exit; ...@@ -1996,10 +2088,9 @@ exit;
Note Note
This step is completely optional if you are using IIS or another web This step is optional if you are using IIS or another web server which
server which only decides on an interpreter based upon the file only decides on an interpreter based upon the file extension (.pl),
extension (.pl), rather than the "shebang" line rather than the "shebang" line (#/usr/bonsaitools/bin/perl)
(#/usr/bonsaitools/bin/perl)
Modify the path to perl on the first line (#!) of all files to Modify the path to perl on the first line (#!) of all files to
point to your Perl installation, and add "perl" to the beginning point to your Perl installation, and add "perl" to the beginning
of all Perl system calls that use a perl script as an argument. of all Perl system calls that use a perl script as an argument.
...@@ -2023,9 +2114,9 @@ system ("perl processmail.pl",@ARGLIST); ...@@ -2023,9 +2114,9 @@ system ("perl processmail.pl",@ARGLIST);
Tip Tip
If you are using IIS 5.0 or higher, you must add cgi relationships to If you are using IIS or Personal Web Server, you must add cgi
Properties -> Home directory (tab) -> Application Settings (section) relationships to Properties -> Home directory (tab) -> Application
-> Configuration (button), such as: Settings (section) -> Configuration (button), such as:
.cgi to: <perl install directory>\perl.exe %s %s .cgi to: <perl install directory>\perl.exe %s %s
.pl to: <perl install directory>\perl.exe %s %s .pl to: <perl install directory>\perl.exe %s %s
...@@ -2040,7 +2131,7 @@ GET,HEAD,POST ...@@ -2040,7 +2131,7 @@ GET,HEAD,POST
From Andrew Pearson: From Andrew Pearson:
"You can make Bugzilla work with Personal Web Server for Windows 98 You can make Bugzilla work with Personal Web Server for Windows 98
and higher, as well as for IIS 4.0. Microsoft has information and higher, as well as for IIS 4.0. Microsoft has information
available at available at
http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP
...@@ -2059,106 +2150,24 @@ GET,HEAD,POST ...@@ -2059,106 +2150,24 @@ GET,HEAD,POST
Tip Tip
"Brian" had this to add, about upgrading to Bugzilla 2.12 from If attempting to run Bugzilla 2.12 or older, you will need to remove
previous versions: encrypt() calls from the Perl source. This is not necessary for
Bugzilla 2.13 and later.
Hi - I am updating bugzilla to 2.12 so I can tell you what I did Example 3-4. Removing encrypt() for Windows NT Bugzilla version 2.12
(after I deleted the current dir and copied the files in). or earlier
In checksetup.pl, I did the following...
1.
my $webservergid = getgrnam($my_webservergroup);
to
my $webservergid = 'Administrators'
2. I then ran checksetup.pl
3. I removed all the encrypt()
Example 3-4. Removing encrypt() for Windows NT installations
Replace this: Replace this:
SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SqlQuote(substr($rea
SqlQuote(substr($realcryptpwd, 0, 2)) . ")"); lcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn(); my $enteredcryptpwd = FetchOneColumn();
with this: with this:
my $enteredcryptpwd = $enteredpwd my $enteredcryptpwd = $enteredpwd
in cgi.pl. in cgi.pl.
4. I renamed processmail to processmail.pl
5. I altered the sendmail statements to windmail:
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.
log";
The quotes around the dir is for the spaces. mail.log is for the
output
Tip
This was some late breaking information from Jan Evert. Sorry for the
lack of formatting.
I'm busy installing bugzilla on a WinNT machine and I thought I'd noti
fy you
at this moment of the commments I have to section 2.2.1 of the bugzill
a
guide (at http://www.trilobyte.net/barnsons/html/).
Step 1:
I've used apache, installation is really straightforward.
After reading the Unix installation instructions, I found that it is
necessary to add the ExecCGI option to the bugzilla directory. Also th
e
'AddHandler' line for .cgi is by default commented out.
Step 3: although just a detail, 'ppm install <module%gt;' will also wo
rk
(without .ppd). And, it can also download these automatically from
ActiveState.
Step 4: although I have cygwin installed, it seems that it is not nece
ssary.
On my machine cygwin is not in the PATH and everything seems to work a
s
expected.
However, I've not used everything yet.
Step 6: the 'bugs_password' given in SQL command d needs to be edited
into
localconfig later on (Step 7) if the password is not empty. I've also
edited
it into globals.pl, but I'm not sure that is needed. In both places, t
he
variable is named db_pass.
Step 8: all the sendmail replacements mentioned are not as simple as
described there. Since I am not familiar (yet) with perl, I don't have
any
mail working yet.
Step 9: in globals.pl the encrypt() call can be replaced by just the
unencrypted password. In CGI.pl, the complete SQL command can be remov
ed.
Step 11: I've only changed the #! lines in *.cgi. I haven't noticed pr
oblems
with the system() call yet.
There seem to be only four system() called programs: processmail.pl (h
andled
by step 10), syncshadowdb (which should probably get the same treatmen
t as
processmail.pl), diff and mysqldump. The last one is only needed with
the
shadowdb feature (which I don't use).
There seems to be one step missing: copying the bugzilla files somehwe
re
that apache can serve them.
Just noticed the updated guide... Brian's comment is new. His first co
mment
will work, but opens up a huge security hole.
_________________________________________________________________ _________________________________________________________________
Chapter 4. Administering Bugzilla Chapter 4. Administering Bugzilla
...@@ -2166,38 +2175,66 @@ Chapter 4. Administering Bugzilla ...@@ -2166,38 +2175,66 @@ Chapter 4. Administering Bugzilla
Or, I just got this cool thing installed. Now what the heck do I do Or, I just got this cool thing installed. Now what the heck do I do
with it? with it?
So you followed the installation instructions to the letter, and just So you followed "Bugzilla Installation" to the letter, and logged into
logged into bugzilla with your super-duper god account and you are Bugzilla for the very first time with your super-duper god account.
sitting at the query screen. Yet, you have nothing to query. Your You sit, contentedly staring at the Bugzilla Query Screen, the worst
first act of business needs to be to setup the operating parameters of the whole mad business of installing this terrific program behind
for bugzilla. you. It seems, though, you have nothing yet to query! Your first act
of business should be to setup the operating parameters for Bugzilla
so you can get busy getting data into your bug tracker.
_________________________________________________________________ _________________________________________________________________
4.1. Post-Installation Checklist 4.1. Post-Installation Checklist
After installation, follow the checklist below to ensure that you have After installation, follow the checklist below to help ensure that you
a successful installation. If you do not see a recommended setting for have a successful installation. If you do not see a recommended
a parameter, consider leaving it at the default while you perform your setting for a parameter, consider leaving it at the default while you
initial tests on your Bugzilla setup. perform your initial tests on your Bugzilla setup.
1. Bring up "editparams.cgi" in your web browser. For instance, to 1. Bring up editparams.cgi in your web browser. This should be
edit parameters at mozilla.org, the URL would be available as the "edit parameters" link from any Bugzilla screen
http://bugzilla.mozilla.org/editparams.cgi, also available under once you have logged in.
the "edit parameters" link on your query page. 2. The "maintainer" is the email address of the person responsible
2. Set "maintainer" to your email address. This allows Bugzilla's for maintaining this Bugzilla installation. The maintainer need
not be a valid Bugzilla user. Error pages, error emails, and
administrative mail will be sent with the maintainer as the return
email address.
Set "maintainer" to your email address. This allows Bugzilla's
error messages to display your email address and allow people to error messages to display your email address and allow people to
contact you for help. contact you for help.
3. Set "urlbase" to the URL reference for your Bugzilla installation. 3. The "urlbase" parameter defines the fully qualified domain name
If your bugzilla query page is at and web server path to your Bugzilla installation.
http://www.foo.com/bugzilla/query.cgi, your url base is For example, if your bugzilla query page is
http://www.foo.com/bugzilla/ http://www.foo.com/bugzilla/query.cgi, set your "urlbase" is
4. Set "usebuggroups" to "on" only if you need to restrict access to http://www.foo.com/bugzilla/.
products. I suggest leaving this parameter off while initially 4. "usebuggroups" dictates whether or not to implement group-based
security for Bugzilla. If set, Bugzilla bugs can have an
associated groupmask defining which groups of users are allowed to
see and edit the bug.
Set "usebuggroups" to "on" only if you may wish to restrict access
to products. I suggest leaving this parameter off while initially
testing your Bugzilla. testing your Bugzilla.
5. Set "usebuggroupsentry" to "on" if you want to restrict access to 5. "usebuggroupsentry", when set to "on", requires that all bugs have
products. Once again, if you are simply testing your installation, an associated groupmask when submitted. This parameter is made for
I suggest against turning this parameter on; the strict security those installations where product isolation is a necessity.
checking may stop you from being able to modify your new entries. Set "usebuggroupsentry" to "on" if you absolutely need to restrict
6. Set "shadowdb" to "bug_shadowdb" if you will be running a *very* access to bugs from the moment they are submitted through
resolution. Once again, if you are simply testing your
installation, I suggest against turning this parameter on; the
strict security checking may stop you from being able to modify
your new entries.
6. You run into an interesting problem when Bugzilla reaches a high
level of continuous activity. MySQL supports only table-level
write locking. What this means is that if someone needs to make a
change to a bug, they will lock the entire table until the
operation is complete. Locking for write also blocks reads until
the write is complete. The "shadowdb" parameter was designed to
get around this limitation. While only a single user is allowed to
write to a table at a time, reads can continue unimpeded on a
read-only shadow copy of the database. Although your database size
will double, a shadow database can cause an enormous performance
improvement when implemented on extremely high-traffic Bugzilla
databases.
Set "shadowdb" to "bug_shadowdb" if you will be running a *very*
large installation of Bugzilla. The shadow database enables many large installation of Bugzilla. The shadow database enables many
simultaneous users to read and write to the database without simultaneous users to read and write to the database without
interfering with one another. interfering with one another.
...@@ -2205,17 +2242,30 @@ Chapter 4. Administering Bugzilla ...@@ -2205,17 +2242,30 @@ Chapter 4. Administering Bugzilla
Note Note
Enabling "shadowdb" can adversely affect the stability of your Enabling "shadowdb" can adversely affect the stability of your
installation of Bugzilla. You may frequently need to manually installation of Bugzilla. You should regularly check that your
synchronize your databases, or schedule nightly syncs via "cron" database is in sync. It is often advisable to force a shadow database
sync nightly via "cron".
Once again, in testing you should avoid this option -- use it if Once again, in testing you should avoid this option -- use it if
or when you need to use it, and have repeatedly run into the or when you need to use it, and have repeatedly run into the
problem it was designed to solve -- very long wait times while problem it was designed to solve -- very long wait times while
attempting to commit a change to the database. attempting to commit a change to the database. Mozilla.org began
needing "shadowdb" when they reached around 40,000 Bugzilla users
with several hundred Bugzilla bug changes and comments per day.
If you use the "shadowdb" option, it is only natural that you If you use the "shadowdb" option, it is only natural that you
should turn the "queryagainstshadowdb" option "On" as well. should turn the "queryagainstshadowdb" option "On" as well.
Otherwise you are replicating data into a shadow database for no Otherwise you are replicating data into a shadow database for no
reason! reason!
7. If you have custom logos or HTML you must put in place to fit 7. "headerhtml", "footerhtml", "errorhtml", "bannerhtml", and
"blurbhtml" are all templates which control display of headers,
footers, errors, banners, and additional data. We could go into
some detail regarding the usage of these, but it is really best
just to monkey around with them a bit to see what they do. I
strongly recommend you copy your data/params file somewhere safe
before playing with these values, though. If they are changed
dramatically, it may make it impossible for you to display
Bugzilla pages to fix the problem until you have restored your
data/params file.
If you have custom logos or HTML you must put in place to fit
within your site design guidelines, place the code in the within your site design guidelines, place the code in the
"headerhtml", "footerhtml", "errorhtml", "bannerhtml", or "headerhtml", "footerhtml", "errorhtml", "bannerhtml", or
"blurbhtml" text boxes. "blurbhtml" text boxes.
...@@ -2223,28 +2273,52 @@ Chapter 4. Administering Bugzilla ...@@ -2223,28 +2273,52 @@ Chapter 4. Administering Bugzilla
Note Note
The "headerhtml" text box is the HTML printed out before any other The "headerhtml" text box is the HTML printed out before any other
code on the page. If you have a special banner, put the code for it in code on the page, except the CONTENT-TYPE header sent by the Bugzilla
engine. If you have a special banner, put the code for it in
"bannerhtml". You may want to leave these settings at the defaults "bannerhtml". You may want to leave these settings at the defaults
initially. initially.
8. Add any text you wish to the "passwordmail" parameter box. For 8. "passwordmail" is rather simple. Every time a user creates an
account, the text of this parameter is read as the text to send to
the new user along with their password message.
Add any text you wish to the "passwordmail" parameter box. For
instance, many people choose to use this box to give a quick instance, many people choose to use this box to give a quick
training blurb about how to use Bugzilla at your site. training blurb about how to use Bugzilla at your site.
9. Ensure "newemailtech" is "on". Your users will thank you. This is 9. "useqacontact" allows you to define an email address for each
the default in the post-2.12 world, and is only an issue if you component, in addition to that of the default owner, who will be
are upgrading. sent carbon copies of incoming bugs. The critical difference
10. Do you want to use the QA Contact ("useqacontact") and status between a QA Contact and an Owner is that the QA Contact follows
the component. If you reassign a bug from component A to component
B, the QA Contact for that bug will change with the reassignment,
regardless of owner.
"usestatuswhiteboard" defines whether you wish to have a
free-form, overwritable field associated with each bug. The
advantage of the Status Whiteboard is that it can be deleted or
modified with ease, and provides an easily-searchable field for
indexing some bugs that have some trait in common. Many people
will put "help wanted", "stalled", or "waiting on reply from
somebody" messages into the Status Whiteboard field so those who
peruse the bugs are aware of their status even more than that
which can be indicated by the Resolution fields.
Do you want to use the QA Contact ("useqacontact") and status
whiteboard ("usestatuswhiteboard") fields? These fields are useful whiteboard ("usestatuswhiteboard") fields? These fields are useful
because they allow for more flexibility, particularly when you because they allow for more flexibility, particularly when you
have an existing Quality Assurance and/or Release Engineering have an existing Quality Assurance and/or Release Engineering
team, but they may not be needed for smaller installations. team, but they may not be needed for many smaller installations.
11. Set "whinedays" to the amount of days you want to let bugs go in 10. Set "whinedays" to the amount of days you want to let bugs go in
the "New" or "Reopened" state before notifying people they have the "New" or "Reopened" state before notifying people they have
untouched new bugs. If you do not plan to use this feature, simply untouched new bugs. If you do not plan to use this feature, simply
do not set up the whining cron job described in the installation do not set up the whining cron job described in the installation
instructions, or set this value to "0". instructions, or set this value to "0" (never whine).
12. Set the "commenton" options according to your site policy. It is a 11. "commenton" fields allow you to dictate what changes can pass
without comment, and which must have a comment from the person who
changed them. Often, administrators will allow users to add
themselves to the CC list, accept bugs, or change the Status
Whiteboard without adding a comment as to their reasons for the
change, yet require that most other changes come with an
explanation.
Set the "commenton" options according to your site policy. It is a
wise idea to require comments when users resolve, reassign, or wise idea to require comments when users resolve, reassign, or
reopen bugs. reopen bugs at the very least.
Note Note
...@@ -2252,11 +2326,22 @@ Chapter 4. Administering Bugzilla ...@@ -2252,11 +2326,22 @@ Chapter 4. Administering Bugzilla
resolving bugs than not. Few things are more annoying to bug database resolving bugs than not. Few things are more annoying to bug database
users than having a developer mark a bug "fixed" without any comment users than having a developer mark a bug "fixed" without any comment
as to what the fix was (or even that it was truly fixed!) as to what the fix was (or even that it was truly fixed!)
13. Set "supportwatchers" to "On". This feature is helpful for team 12. The "supportwatchers" option can be an exceptionally powerful tool
leads to monitor progress in their respective areas, and can offer in the hands of a power Bugzilla user. By enabling this option,
many other benefits, such as allowing a developer to pick up a you allow users to receive email updates whenever other users
former engineer's bugs without requiring her to change all the receive email updates. This is, of course, subject to the groupset
information in the bug. restrictions on the bug; if the "watcher" would not normally be
allowed to view a bug, the watcher cannot get around the system by
setting herself up to watch the bugs of someone with bugs outside
her priveleges. She would still only receive email updates for
those bugs she could normally view.
For Bugzilla sites which require strong inter-Product security to
prevent snooping, watchers are not a good idea.
However, for most sites you should set "supportwatchers" to "On".
This feature is helpful for team leads to monitor progress in
their respective areas, and can offer many other benefits, such as
allowing a developer to pick up a former engineer's bugs without
requiring her to change all the information in the bug.
_________________________________________________________________ _________________________________________________________________
4.2. User Administration 4.2. User Administration
...@@ -2280,6 +2365,9 @@ Chapter 4. Administering Bugzilla ...@@ -2280,6 +2365,9 @@ Chapter 4. Administering Bugzilla
("mysql>" denotes the mysql prompt, not something you should type in): ("mysql>" denotes the mysql prompt, not something you should type in):
mysql> use bugs; mysql> update profiles set groupset=0x7ffffffffffffff mysql> use bugs; mysql> update profiles set groupset=0x7ffffffffffffff
where login_name = "(user's login name)"; where login_name = "(user's login name)";
Yes, that is fourteen "f"'s. A whole lot of f-ing going on if you want
to create a new administator.
_________________________________________________________________ _________________________________________________________________
4.2.2. Managing Other Users 4.2.2. Managing Other Users
...@@ -2314,10 +2402,10 @@ Chapter 4. Administering Bugzilla ...@@ -2314,10 +2402,10 @@ Chapter 4. Administering Bugzilla
More functionality is available via the list on the right-hand side of More functionality is available via the list on the right-hand side of
the text entry box. You can match what you type as a case-insensitive the text entry box. You can match what you type as a case-insensitive
substring (the default) of all users on your system, a case-sensitive substring (the default) of all users on your system, a case-sensitive
regular expression (please see the "man regexp" manual page for regular expression (please see the man regexp manual page for details
details on regular expression syntax), or a reverse regular expression on regular expression syntax), or a reverse regular expression match,
match, where every user name which does NOT match the regular where every user name which does NOT match the regular expression is
expression is selected. selected.
3. Click the "Add New User" link at the bottom of the user list 3. Click the "Add New User" link at the bottom of the user list
4. Fill out the form presented. This page is self-explanatory. When 4. Fill out the form presented. This page is self-explanatory. When
done, click "submit". done, click "submit".
...@@ -2325,10 +2413,12 @@ Chapter 4. Administering Bugzilla ...@@ -2325,10 +2413,12 @@ Chapter 4. Administering Bugzilla
Note Note
Adding a user this way will not send an email informing them of their Adding a user this way will not send an email informing them of their
username and password. In general, it is preferable to log out and use username and password. While useful for creating dummy accounts
the "New Account" button to create users, as it will pre-populate all (watchers which shuttle mail to another system, for instance, or email
the required fields and also notify the user of her account name and addresses which are a mailing list), in general it is preferable to
password. log out and use the "New Account" button to create users, as it will
pre-populate all the required fields and also notify the user of her
account name and password.
_________________________________________________________________ _________________________________________________________________
4.2.2.3. Disabling Users 4.2.2.3. Disabling Users
...@@ -2343,6 +2433,11 @@ Chapter 4. Administering Bugzilla ...@@ -2343,6 +2433,11 @@ Chapter 4. Administering Bugzilla
Warning Warning
Don't disable your own administrative account, or you will hate life! Don't disable your own administrative account, or you will hate life!
At this time, "Disabled Text" does not prevent a user from using the
email interface. If you have the email interface enabled, they can
still continue to submit bugs and comments that way. We need a patch
to fix this.
_________________________________________________________________ _________________________________________________________________
4.2.2.4. Modifying Users 4.2.2.4. Modifying Users
...@@ -2359,9 +2454,8 @@ Chapter 4. Administering Bugzilla ...@@ -2359,9 +2454,8 @@ Chapter 4. Administering Bugzilla
For compatability reasons, you should probably stick with email For compatability reasons, you should probably stick with email
addresses as user login names. It will make your life easier. addresses as user login names. It will make your life easier.
* Real Name: Duh! * Real Name: Duh!
* Password: You will only see asterisks in versions of Bugzilla * Password: You can change the user password here. It is normal to
newer than 2.10 or early 2.11. You can change the user password only see asterisks.
here.
* Email Notification: You may choose from one of three options: * Email Notification: You may choose from one of three options:
1. All qualifying bugs except those which I change: The user 1. All qualifying bugs except those which I change: The user
will be notified of any change to any bug for which she is will be notified of any change to any bug for which she is
...@@ -2895,45 +2989,50 @@ Chapter 5. Integrating Bugzilla with Third-Party Tools ...@@ -2895,45 +2989,50 @@ Chapter 5. Integrating Bugzilla with Third-Party Tools
5.1. Bonsai 5.1. Bonsai
We need Bonsai integration information. Bonsai is a web-based tool for managing CVS, the Concurrent Versioning
System . Using Bonsai, administrators can control open/closed status
of trees, query a fast relational database back-end for change,
branch, and comment information, and view changes made since the last
time the tree was closed. These kinds of changes cause the engineer
responsible to be "on the hook" (include cool URL link here for Hook
policies at mozilla.org). Bonsai also includes gateways to Tinderbox,
the Mozilla automated build management system and Bugzilla
_________________________________________________________________ _________________________________________________________________
5.2. CVS 5.2. CVS
CVS integration is best accomplished, at this point, using the CVS integration is best accomplished, at this point, using the
Bugzilla Email Gateway. Bugzilla Email Gateway. There have been some files submitted to allow
greater CVS integration, but we need to make certain that Bugzilla is
not tied into one particular software management package.
Follow the instructions in the FAQ for enabling Bugzilla e-mail
integration. Ensure that your check-in script sends an email to your
Bugzilla e-mail gateway with the subject of "[Bug XXXX]", and you can
have CVS check-in comments append to your Bugzilla bug. If you have
your check-in script include an @resolution field, you can even change
the Bugzilla bug state.
_________________________________________________________________ _________________________________________________________________
5.3. Perforce SCM 5.3. Perforce SCM
You can find the project page for Bugzilla and Teamtrack Perforce You can find the project page for Bugzilla and Teamtrack Perforce
integration at: http://www.ravenbrook.com/project/p4dti. "p4dti" is integration (p4dti) at: http://www.ravenbrook.com/project/p4dti .
now an officially supported product from Perforce, and you can find "p4dti" is now an officially supported product from Perforce, and you
the "Perforce Public Depot" p4dti page at can find the "Perforce Public Depot" p4dti page at
http://public.perforce.com/public/perforce/p4dti/index.html. http://public.perforce.com/public/perforce/p4dti/index.html.
Integration of Perforce with Bugzilla, once patches are applied, is Integration of Perforce with Bugzilla, once patches are applied, is
fairly seamless. However, p4dti is a patch against the Bugzilla 2.10 seamless. Perforce replication information will appear below the
release, not the current 2.12 release. I anticipate patches for 2.12 comments of each bug. Be certain you have a matching set of patches
will be out shortly. Check the project page regularly for updates, or for the Bugzilla version you are installing. p4dti is designed to
take the given patches and patch it manually. p4dti is designed to
support multiple defect trackers, and maintains its own documentation support multiple defect trackers, and maintains its own documentation
for it. Please consult the pages linked above for further information. for it. Please consult the pages linked above for further information.
Right now, there is no way to synchronize the Bug ID and the Perforce
Transaction Number, or to change the Bug ID to read (PRODUCT).bugID
unless you hack it in. Additionally, if you have synchronization
problems, the easiest way to avoid them is to only put the bug
information, comments, etc. into Bugzilla, and not into the Perforce
change records. They will link anyway; merely reference the bug ID
fixed in your change description, and put a comment into Bugzilla
giving the change ID that fixed the Bugzilla bug. It's a process
issue, not a technology question.
_________________________________________________________________ _________________________________________________________________
5.4. Tinderbox 5.4. Tinderbox/Tinderbox2
We need Tinderbox integration information We need Tinderbox integration information.
_________________________________________________________________ _________________________________________________________________
Chapter 6. The Future of Bugzilla Chapter 6. The Future of Bugzilla
...@@ -2978,9 +3077,7 @@ Appendix A. The Bugzilla FAQ ...@@ -2978,9 +3077,7 @@ Appendix A. The Bugzilla FAQ
3. Loki Bugzilla (AKA Fenris) 3. Loki Bugzilla (AKA Fenris)
A.3.1. What about Loki Bugzilla? A.3.1. What is Loki Bugzilla (Fenris)?
A.3.2. Who maintains Fenris (Loki Bugzilla) now?
A.3.3.
4. Pointy-Haired-Boss Questions 4. Pointy-Haired-Boss Questions
...@@ -3242,14 +3339,8 @@ Appendix A. The Bugzilla FAQ ...@@ -3242,14 +3339,8 @@ Appendix A. The Bugzilla FAQ
A.1.5. Who maintains Bugzilla? A.1.5. Who maintains Bugzilla?
There are many, many contributors from around the world maintaining Bugzilla maintenance has been in a state of flux recently. Please
Bugzilla. The designated "Maintainer" is Tara Hernandez, with QA check the Bugzilla Project Page for the latest details.
support by Matthew Tuck. Dan Mosedale and Dawn Endico are employees of
Mozilla.org responsible for the installation of Bugzilla there, and
are very frequent code contributors. Terry Weissman originally ported
Bugzilla, but "these days, Terry just hangs around and heckles." The
rest of us are mostly transient developers; Bugzilla suits our needs,
and we contribute code as we have needs for updates.
A.1.6. How does Bugzilla stack up against other bug-tracking A.1.6. How does Bugzilla stack up against other bug-tracking
databases? databases?
...@@ -3262,10 +3353,10 @@ Appendix A. The Bugzilla FAQ ...@@ -3262,10 +3353,10 @@ Appendix A. The Bugzilla FAQ
email integration, and platform independence), improved scalability, email integration, and platform independence), improved scalability,
open source code, greater flexibility, and superior ease-of-use. open source code, greater flexibility, and superior ease-of-use.
If you happen to be a commercial Bugzilla vendor, please step forward If you happen to be a commercial bug-tracker vendor, please step
with a rebuttal so I can include it in the FAQ. We're not in pursuit forward with a rebuttal so I can include it in the FAQ. We're not in
of Bugzilla ueber alles; we simply love having a powerful, open-source pursuit of Bugzilla ueber alles; we simply love having a powerful,
tool to get our jobs done. open-source tool to get our jobs done.
A.1.7. How do I change my user name in Bugzilla? A.1.7. How do I change my user name in Bugzilla?
...@@ -3492,42 +3583,16 @@ Appendix A. The Bugzilla FAQ ...@@ -3492,42 +3583,16 @@ Appendix A. The Bugzilla FAQ
3. Loki Bugzilla (AKA Fenris) 3. Loki Bugzilla (AKA Fenris)
Note A.3.1. What is Loki Bugzilla (Fenris)?
Loki's "Fenris" Bugzilla is based upon the (now ancient) Bugzilla 2.8
tree, and is no longer actively maintained. It works well enough for
Loki. Additionally, the major differences in Fenris have now been
integrated into the main source tree of Bugzilla, so there's not much
reason to go grab the source. I leave this section of the FAQ
principally for historical interest, but unless Loki has further input
into Bugzilla's future, it will be deprecated in future versions of
the Guide.
A.3.1. What about Loki Bugzilla?
Loki Games has a customized version of Bugzilla available at Loki Games has a customized version of Bugzilla available at
http://fenris.lokigames.com. From that page, http://fenris.lokigames.com. There are some advantages to using
Fenris, chief being separation of comments based upon user privacy
You may have noticed that Fenris is a fork from Bugzilla-- our level, data hiding, forced login for any data retrieval, and some
patches weren't suitable for integration --and a few people have additional fields. Loki has mainted their code, originally a fork from
expressed interest in the code. Fenris has one major improvement the Bugzilla 2.8 code base, and it is quite a bit different than stock
over Bugzilla, and that is individual comments are not appended Bugzilla at this point. I recommend you stick with official Bugzilla
onto a string blob, they are stored as a record in a separate version 2.14 rather than using a fork, but it's up to you.
table. This allows you to, for instance, separate comments out
according to privilege levels in case your bug database could
contain sensitive information not for public eyes. We also provide
things like email hiding to protect user's privacy, additional
fields such as 'user_affected' in case someone enters someone
else's bug, comment editing and deletion, and more conditional
system variables than Bugzilla does (turn off attachments,
qacontact, etc.).
A.3.2. Who maintains Fenris (Loki Bugzilla) now?
Raphael Barrerro <raistlin@lokigames.com>. Michael Vance created the
initial fork, but no longer maintains the project.
A.3.3.
4. Pointy-Haired-Boss Questions 4. Pointy-Haired-Boss Questions
...@@ -3547,10 +3612,7 @@ Appendix A. The Bugzilla FAQ ...@@ -3547,10 +3612,7 @@ Appendix A. The Bugzilla FAQ
with Perforce (SCM software)? with Perforce (SCM software)?
Yes! You can find more information elsewhere in "The Bugzilla Guide" Yes! You can find more information elsewhere in "The Bugzilla Guide"
in the "Integration with Third-Party Products" section. The section on in the "Integration with Third-Party Products" section.
Perforce isn't very large, but as the maintainer of the Guide is
charged with Perforce/Bugzilla integration by his company, you can
expect this section to grow.
A.4.3. Does Bugzilla allow the user to track multiple projects? A.4.3. Does Bugzilla allow the user to track multiple projects?
...@@ -3590,27 +3652,44 @@ Appendix A. The Bugzilla FAQ ...@@ -3590,27 +3652,44 @@ Appendix A. The Bugzilla FAQ
This was a late-breaking question for the Guide, so I just have to This was a late-breaking question for the Guide, so I just have to
quote the relevant newsgroup thread on it. quote the relevant newsgroup thread on it.
> AFAIK, most sites (even if they have SSI enabled) won't have #exec > AFAIK, most sites (even if they have SSI enabled) won't have #exec c
cmd > enabled. Perhaps what would be better is a #include md
virtual and a > footer.cgi the basically has the "require > enabled. Perhaps what would be better is a #include virtual and a
'CGI.pl' and PutFooter command. > > Please note that under > footer.cgi the basically has the "require 'CGI.pl' and PutFooter com
most configurations, this also requires naming > the file mand.
from index.html to index.shtml (and making sure that it >
will > still be reconized as an index). Personally, I > Please note that under most configurations, this also requires namin
think this is better on > a per-installation basis g
(perhaps add something to the FAQ that says how > to do > the file from index.html to index.shtml (and making sure that it wil
this). Good point. Yeah, easy enough to do, that it l
shouldn't be a big deal for someone to take it on if they > still be reconized as an index). Personally, I think this is better
want it. FAQ is a good place for it. > Dave Miller wrote: on
> >> I did a little experimenting with getting the command > a per-installation basis (perhaps add something to the FAQ that says
menu and footer on >> the end of the index page while how
leaving it as an HTML file... >> >> I was successful. :) > to do this).
>> >> I added this line: >> >> >> >> Just before the Good point. Yeah, easy enough to do, that it shouldn't be a big deal
</BODY> </HTML> at the end of the file. And for
it worked. >> >> Thought I'd toss that out there. Should someone to take it on if they want it. FAQ is a good place for it.
I check this in? For those that >> have SSI disabled, > Dave Miller wrote:
it'll act like a comment, so I wouldn't think it would >> >
break anything. >> I did a little experimenting with getting the command menu and foot
er on
>> the end of the index page while leaving it as an HTML file...
>>
>> I was successful. :)
>>
>> I added this line:
>>
>>
>>
>> Just before the </BODY> </HTML> at the end of the file. And it wor
ked.
>>
>> Thought I'd toss that out there. Should I check this in? For thos
e that
>> have SSI disabled, it'll act like a comment, so I wouldn't think it
would
>> break anything.
A.4.8. Does Bugzilla provide any reporting features, metrics, graphs, A.4.8. Does Bugzilla provide any reporting features, metrics, graphs,
etc? You know, the type of stuff that management likes to see. :) etc? You know, the type of stuff that management likes to see. :)
...@@ -4034,67 +4113,103 @@ Appendix A. The Bugzilla FAQ ...@@ -4034,67 +4113,103 @@ Appendix A. The Bugzilla FAQ
"The Bugzilla Guide". However, they are provided here for historical "The Bugzilla Guide". However, they are provided here for historical
interest and insight. interest and insight.
1. #!C:/perl/bin/perl had to be 1. #!C:/perl/bin/perl had to be added to every perl file.
added to every perl file. 2. Converted to Net::SMTP to 2. Converted to Net::SMTP to handle mail messages instead of
handle mail messages instead of /usr/bin/sendmail. 3. /usr/bin/sendmail.
The crypt function isn't available on Windows NT (at 3. The crypt function isn't available on Windows NT (at least none t
least none that I am aware), so I made encrypted hat I
passwords = plaintext passwords. 4. The system call to am aware), so I made encrypted passwords = plaintext passwords.
diff had to be changed to the Cygwin diff. 5. This was 4. The system call to diff had to be changed to the Cygwin diff.
just to get a demo running under NT, it seems to be 5. This was just to get a demo running under NT, it seems to be work
working good, and I have inserted almost 100 bugs from ing
another bug tracking system. Since this work was done good, and I have inserted almost 100 bugs from another bug tracki
just to get an in-house demo, I am NOT planning on ng
making a patch for submission to Bugzilla. If you would system. Since this work was done just to get an in-house demo, I
like a zip file, let me know. Q: Hmm, couldn't figure it am NOT
out from the general instructions above. How about planning on making a patch for submission to Bugzilla. If you wou
step-by-step? A: Sure! Here ya go! 1. Install IIS 4.0 ld
from the NT Option Pack #4. 2. Download and install like a zip file, let me know.
Active Perl. 3. Install the Windows GNU tools from Q: Hmm, couldn't figure it out from the general instructions above. H
Cygwin. Make sure to add the bin directory to your ow
system path. (Everyone should have these, whether they about step-by-step?
decide to use Bugzilla or not. :-) ) 4. Download A: Sure! Here ya go!
relevant packages from ActiveState at 1. Install IIS 4.0 from the NT Option Pack #4.
http://www.activestate.com/packages/zips/. + 2. Download and install Active Perl.
DBD-Mysql.zip 5. Extract each zip file with WinZip, and 3. Install the Windows GNU tools from Cygwin. Make sure to add the b
install each ppd file using the notation: ppm install in
<module>.ppd 6. Install Mysql. *Note: If you move directory to your system path. (Everyone should have these, wheth
the default install from c:\mysql, you must add the er
appropriate startup parameters to the NT service. (ex. they decide to use Bugzilla or not. :-) )
-b e:\\programs\\mysql) 7. Download any Mysql client. 4. Download relevant packages from ActiveState at
http://www.mysql.com/download_win.html 8. Setup MySql. http://www.activestate.com/packages/zips/. + DBD-Mysql.zip
(These are the commands that I used.) I. Cleanup default 5. Extract each zip file with WinZip, and install each ppd file usin
database settings. C:\mysql\bin\mysql -u root mysql g the
mysql> DELETE FROM user WHERE Host='localhost' AND notation: ppm install <module>.ppd
User=''; mysql> quit C:\mysql\bin\mysqladmin reload II. 6. Install Mysql. *Note: If you move the default install from c:\my
Set password for root. C:\mysql\bin\mysql -u root mysql sql,
you must add the appropriate startup parameters to the NT service
. (ex.
-b e:\\programs\\mysql)
7. Download any Mysql client. http://www.mysql.com/download_win.html
8. Setup MySql. (These are the commands that I used.)
I. Cleanup default database settings.
C:\mysql\bin\mysql -u root mysql
mysql> DELETE FROM user WHERE Host='localhost' AND User='';
mysql> quit
C:\mysql\bin\mysqladmin reload
II. Set password for root.
C:\mysql\bin\mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password') mysql> UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> quit WHERE user='root';
C:\mysql\bin\mysqladmin -u root reload III. Create bugs mysql> FLUSH PRIVILEGES;
user. C:\mysql\bin\mysql -u root -p mysql> insert into mysql> quit
user (host,user,password) values('localhost','bugs',''); C:\mysql\bin\mysqladmin -u root reload
mysql> quit C:\mysql\bin\mysqladmin -u root reload IV. III. Create bugs user.
Create the bugs database. C:\mysql\bin\mysql -u root -p C:\mysql\bin\mysql -u root -p
mysql> create database bugs; V. Give the bugs user mysql> insert into user (host,user,password)
access to the bugs database. mysql> insert into db values('localhost','bugs','');
(host,db,user,select_priv,insert_priv,update_priv,delete_priv,cr mysql> quit
eate_priv,drop_priv) values('localhost','bugs','bugs','Y','Y','Y','Y', C:\mysql\bin\mysqladmin -u root reload
'Y','N') mysql> quit C:\mysql\bin\mysqladmin -u root reload 9. Run the IV. Create the bugs database.
table scripts to setup the bugs database. 10. Change CGI.pm to use th C:\mysql\bin\mysql -u root -p
e following regular expression because of differing backslashes in NT mysql> create database bugs;
versus UNIX. o $0 =~ m:[^\\]*$:; 11. Had to make the crypt password = V. Give the bugs user access to the bugs database.
plain text password in the database. (Thanks to Andrew Lahser" <andrew mysql> insert into db
_lahser@merck.com>" on this one.) The files that I changed were: o glo (host,db,user,select_priv,insert_priv,update_priv,delete_pri
bals.pl o CGI.pl o alternately, you can try commenting all references v,create_priv,drop_priv)
to 'crypt' string and replace them with similar lines but without encr values('localhost','bugs','bugs','Y','Y','Y','Y','Y','N')
ypt() or crypr() functions insida all files. 12. Replaced sendmail wit mysql> quit
h Windmail. Basically, you have to come up with a sendmail substitute C:\mysql\bin\mysqladmin -u root reload
for NT. Someone said that they used a Perl module (Net::SMTP), but I w 9. Run the table scripts to setup the bugs database.
as trying to save time and do as little Perl coding as possible. 13. A 10. Change CGI.pm to use the following regular expression because of
dded "perl" to the beginning of all Perl system calls that use a perl differing backslashes in NT versus UNIX.
script as an argument and renamed processmail to processmail.pl. 14. I o $0 =~ m:[^\\]*$:;
n processmail.pl, I added binmode(HANDLE) before all read() calls. I'm 11. Had to make the crypt password = plain text password in the datab
not sure about this one, but the read() under NT wasn't counting the ase.
(Thanks to Andrew Lahser" <andrew_lahser@merck.com>" on this one.
) The
files that I changed were:
o globals.pl
o CGI.pl
o alternately, you can try commenting all references to 'crypt
'
string and replace them with similar lines but without encry
pt()
or crypr() functions insida all files.
12. Replaced sendmail with Windmail. Basically, you have to come up w
ith a
sendmail substitute for NT. Someone said that they used a Perl mo
dule
(Net::SMTP), but I was trying to save time and do as little Perl
coding
as possible.
13. Added "perl" to the beginning of all Perl system calls that use a
perl
script as an argument and renamed processmail to processmail.pl.
14. In processmail.pl, I added binmode(HANDLE) before all read() call
s. I'm
not sure about this one, but the read() under NT wasn't counting
the
EOLs without the binary read." EOLs without the binary read."
A.9.5. I'm having trouble with the perl modules for NT not being able A.9.5. I'm having trouble with the perl modules for NT not being able
...@@ -4789,84 +4904,101 @@ C.3. MySQL Permissions & Grant Tables ...@@ -4789,84 +4904,101 @@ C.3. MySQL Permissions & Grant Tables
http://www.mysql.com/Manual/manual.html. http://www.mysql.com/Manual/manual.html.
_________________________________________________________________ _________________________________________________________________
Chapter 7. Bugzilla Variants Chapter 7. Bugzilla Variants and Competitors
Note I created this section to answer questions about Bugzilla competitors
and variants, then found a wonderful site which covers an awful lot of
I know there are more variants than just RedHat Bugzilla out there. what I wanted to discuss. Rather than quote it in its entirety, I'll
Please help me get information about them, their project status, and simply refer you here: http://linas.org/linux/pm.html
benefits there might be in using them or in using their code in
main-tree Bugzilla.
_________________________________________________________________ _________________________________________________________________
7.1. Red Hat Bugzilla 7.1. Red Hat Bugzilla
Red Hat Bugzilla is probably the most popular Bugzilla variant, aside Red Hat Bugzilla is probably the most popular Bugzilla variant on the
from Mozilla Bugzilla, on the planet. One of the major benefits of Red planet. One of the major benefits of Red Hat Bugzilla is the ability
Hat Bugzilla is the ability to work with Oracle as a database, as well to work with Oracle, MySQL, and PostGreSQL databases serving as the
as MySQL. Here's what Dave Lawrence had to say about the status of Red back-end, instead of just MySQL. Dave Lawrence has worked very hard to
Hat Bugzilla, keep Red Hat Bugzilla up-to-date, and many people prefer the
snappier-looking page layout of Red Hat Bugzilla to the default
Hello. I apologize that I am getting back to you so late. It has Mozilla-standard formatting.
been difficult to keep
up with email this past week. I have checked out your updated docum URL: http://bugzilla.redhat.com/bugzilla/
entation and I will _________________________________________________________________
have to say very good work. A few notes and additions as follows.
(ed: from the FAQ) 7.2. Loki Bugzilla (Fenris)
>For the record, we are not using any template type implementation
for the cosmetic changes Fenris can be found at http://fenris.lokigames.com. It is a fork from
>maded to Bugzilla. It is just alot of html changes in the code its Bugzilla.
elf. I admit I may have _________________________________________________________________
>gotten a little carried away with it but the corporate types asked
for a more standardized 7.3. Issuezilla
>interface to match up with other projects relating to Red Hat web
sites. A lot of other web Issuezilla is another fork from Bugzilla, and seems nearly as popular
>based internal tools I am working on also look like Bugzilla. as the Red Hat Bugzilla fork. Some Issuezilla team members are regular
This should probably be changed since we are now in fact using Text contributors to the Bugzilla mailing list/newsgroup. Issuezilla is not
::Template for most the primary focus of bug-tracking at tigris.org, however. Their
of the html rendering. You actually state this later in your number Java-based bug-tracker, Scarab, a newfangled Java-based issue tracker,
ed list. is under heavy development and looks promising!
Also number 6 contradicts number 8 where number 6 would be the most
up to date status URL: http://issuezilla.tigris.org/servlets/ProjectHome
on the Oracle port. _________________________________________________________________
Additional Information:
----------------------------- 7.4. Scarab
1. Comments are now stored in varchar fields of 4k in size each. If
the comment is more Scarab is a promising new bug-tracking system built using Java Serlet
than 4k it is broken up into chunks and given a sort number so each technology. As of this writing, no source code has been released as a
comment can be re package, but you can obtain the code from CVS.
assembled in the correct order. This was done because originally I
was storing the comments URL: http://scarab.tigris.org
in a long datatype which unfortunately cannot be indexed or joined _________________________________________________________________
with another table. This
cause the search of text within the long description to be disabled 7.5. Perforce SCM
for a long time. That
is now working and is nto showing any noticeble performance hit tha Although Perforce isn't really a bug tracker, it can be used as such
t I can tell. through the "jobs" functionality.
2. Work is being started on internationalizing the Bugzilla source
we have to allow our http://www.perforce.com/perforce/technotes/note052.htmlhttp://www.perf
Japanese customers to enter bug reports into a single bugzilla syst orce.com/perforce/technotes/note052.html
em. This will probably _________________________________________________________________
be done by using the nvarchar data types supported by Oracle which
allows storage of 7.6. SourceForge
double byte characters and also the use of the Accept-Language in t
he http header for SourceForge is more of a way of coordinating geographically
detection by Bugilla of which language to render. distributed free software and open source projects over the Internet
3. Of course even more cosmetic changes. It is difficult to keep up than strictly a bug tracker, but if you're hunting for bug-tracking
with the ever for your open project, it may be just what the software engineer
changing faces of www.redhat.com. ordered!
4. Some convenience enhancements in the administration utilities. A
nd more integration URL: http://www.sourceforge.net
with other internal/external Red Hat web sites.
I hope this information may prove helpful for your documentation. P
lease contact
me if you have any more question or I can do anything else.
Regards
_________________________________________________________________ _________________________________________________________________
Appendix D. Useful Patches and Utilities for Bugzilla Appendix D. Useful Patches and Utilities for Bugzilla
D.1. The setperl.csh Utility Are you looking for a way to put your Bugzilla into overdrive? Catch
some of the niftiest tricks here in this section.
_________________________________________________________________
D.1. Apache mod_rewrite magic
Apache's mod_rewrite module lets you do some truly amazing things with
URL rewriting. Here are a couple of examples of what you can do.
1. Make it so if someone types http://www.foo.com/12345, Bugzilla
spits back http://www.foo.com/show_bug.cgi?id=12345. Try setting
up your VirtualHost section for Bugzilla with a rule like this:
<VirtualHost 12.34.56.78>
RewriteEngine On
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
</VirtualHost>
2. There are many, many more things you can do with mod_rewrite. As
time goes on, I will include many more in the Guide. For now,
though, please refer to the mod_rewrite documentation at
http://www.apache.org
_________________________________________________________________
D.2. The setperl.csh Utility
You can use the "setperl.csh" utility to quickly and easily change the You can use the "setperl.csh" utility to quickly and easily change the
path to perl on all your Bugzilla files. This is a C-shell script; if path to perl on all your Bugzilla files. This is a C-shell script; if
...@@ -4889,7 +5021,7 @@ D.1. The setperl.csh Utility ...@@ -4889,7 +5021,7 @@ D.1. The setperl.csh Utility
bash# ./setperl.csh /usr/bin/perl bash# ./setperl.csh /usr/bin/perl
_________________________________________________________________ _________________________________________________________________
D.2. Command-line Bugzilla Queries D.3. Command-line Bugzilla Queries
Users can query Bugzilla from the command line using this suite of Users can query Bugzilla from the command line using this suite of
utilities. utilities.
...@@ -4932,7 +5064,7 @@ D.2. Command-line Bugzilla Queries ...@@ -4932,7 +5064,7 @@ D.2. Command-line Bugzilla Queries
2. Make your utilities executable: bash$ chmod u+x buglist bugs 2. Make your utilities executable: bash$ chmod u+x buglist bugs
_________________________________________________________________ _________________________________________________________________
D.3. The Quicksearch Utility D.4. The Quicksearch Utility
Quicksearch is a new, experimental feature of the 2.12 release. It Quicksearch is a new, experimental feature of the 2.12 release. It
consist of two Javascript files, "quicksearch.js" and consist of two Javascript files, "quicksearch.js" and
...@@ -5342,7 +5474,13 @@ Glossary ...@@ -5342,7 +5474,13 @@ Glossary
A A
There are no entries for A Apache
In this context, Apache is the web server most commonly used
for serving up Bugzilla pages. Contrary to popular belief, the
apache web server has nothing to do with the ancient and noble
Native American tribe, but instead derived its name from the
fact that it was "a patchy" version of the original NCSA
world-wide-web server.
B B
...@@ -5364,11 +5502,53 @@ B ...@@ -5364,11 +5502,53 @@ B
verification. The "Bug Life Cycle" is moderately flexible verification. The "Bug Life Cycle" is moderately flexible
according to the needs of the organization using it, though. according to the needs of the organization using it, though.
Bugzilla
Bugzilla is the industry-standard bug tracking system. It is
quite popular among Open Source enthusiasts.
Component
A Component is a subsection of a Product. It should be a narrow
category, tailored to your organization. All Products must
contain at least one Component (and, as a matter of fact,
creating a Product with no Components will create an error in
Bugzilla).
CPAN
CPAN stands for the "Comprehensive Perl Archive Network". CPAN
maintains a large number of extremely useful Perl modules. By
themselves, Perl modules generally do nothing, but when used as
part of a larger program, they provide much-needed algorithms
and functionality.
D
daemon
A daemon is a computer program which runs in the background. In
general, most daemons are started at boot time via System V
init scripts, or through RC scripts on BSD-based systems.
mysqld, the MySQL server, and apache, a web server, are
generally run as daemons.
Groups
The word "Groups" has a very special meaning to Bugzilla.
Bugzilla's main security mechanism comes by lumping users into
groups, and assigning those groups certain privileges to
Products and Components in the Bugzilla database.
I I
Infinite Loop Infinite Loop
A loop of information that never ends; see recursion. A loop of information that never ends; see recursion.
M
mysqld
mysqld is the name of the daemon for the MySQL database. In
general, it is invoked automatically through the use of the
System V init scripts on GNU/Linux and AT&T System V-based
systems, such as Solaris and HP/UX, or through the RC scripts
on BSD-based systems.
P P
Product Product
...@@ -5387,6 +5567,13 @@ P ...@@ -5387,6 +5567,13 @@ P
permissions so that only those people who are members of Group permissions so that only those people who are members of Group
"Z" can see components and bugs under Product "Z". "Z" can see components and bugs under Product "Z".
Perl
First written by Larry Wall, Perl is a remarkable program
language. It has the benefits of the flexibility of an
interpreted scripting language (such as shell script), combined
with the speed and power of a compiled language, such as C.
Bugzilla is maintained in Perl.
Q Q
QA QA
...@@ -5405,6 +5592,29 @@ R ...@@ -5405,6 +5592,29 @@ R
thus recursing upon itself for definition. For further clarity, thus recursing upon itself for definition. For further clarity,
see Infinite Loop. see Infinite Loop.
S
SGML
SGML stands for "Standard Generalized Markup Language". Created
in the 1980's to provide an extensible means to maintain
documentation based upon content instead of presentation, SGML
has withstood the test of time as a robust, powerful language.
XML is the "baby brother" of SGML; any valid XML document it,
by definition, a valid SGML document. The document you are
reading is written and maintained in SGML, and is also valid
XML if you modify the Document Type Definition.
T
Target Milestone
Target Milestones are Product goals. They are configurable on a
per-Product basis. Most software development houses have a
concept of "milestones" where the people funding a project
expect certain functionality on certain dates. Bugzilla
facilitates meeting these milestones by giving you the ability
to declare by which milestone a bug will be fixed, or an
enhancement will be implemented.
Z Z
Zarro Boogs Found Zarro Boogs Found
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<!ENTITY bz-ver "2.14"> <!ENTITY bz-ver "2.14">
<!ENTITY bz-cvs-ver "2.15"> <!ENTITY bz-cvs-ver "2.15">
<!ENTITY bzg-date "August 10, 2001"> <!ENTITY bzg-date "August 10, 2001">
<!ENTITY bzg-ver "2.14.0"> <!ENTITY bzg-ver "2.14">
<!ENTITY bzg-cvs-ver "2.15.0"> <!ENTITY bzg-cvs-ver "2.15.0">
<!ENTITY bzg-auth "Matthew P. Barnson"> <!ENTITY bzg-auth "Matthew P. Barnson">
<!ENTITY bzg-auth-email "<email>barnboy@NOSPAM.trilobyte.net</email>"> <!ENTITY bzg-auth-email "<email>barnboy@NOSPAM.trilobyte.net</email>">
...@@ -137,15 +137,6 @@ try to avoid clutter and feel free to waste space in the code to make it more re ...@@ -137,15 +137,6 @@ try to avoid clutter and feel free to waste space in the code to make it more re
</affiliation> </affiliation>
</collab> </collab>
<editor>
<firstname>I.</firstname>
<surname>Freely</surname>
<othername>P.</othername>
<affiliation>
<address><email>ipfreely@freely.eye-p.net</email></address>
</affiliation>
</editor>
</authorgroup> </authorgroup>
<abstract> <abstract>
...@@ -165,6 +156,12 @@ try to avoid clutter and feel free to waste space in the code to make it more re ...@@ -165,6 +156,12 @@ try to avoid clutter and feel free to waste space in the code to make it more re
professional on operating system upon which you install professional on operating system upon which you install
Bugzilla. Bugzilla.
</para> </para>
<para>
THIS DOCUMENTATION IS MAINTAINED IN DOCBOOK 4.1 SGML FORMAT.
IF YOU WISH TO MAKE CORRECTIONS, PLEASE MAKE THEM IN PLAIN
TEXT OR SGML DIFFS AGAINST THE SOURCE. I CANNOT ACCEPT
ADDITIONS TO THE GUIDE WRITTEN IN HTML!
</para>
</abstract> </abstract>
......
...@@ -14,11 +14,10 @@ ...@@ -14,11 +14,10 @@
document you see today. document you see today.
</para> </para>
<para> <para>
Despite the lack of updates, Bugzilla is simply the best piece Bugzilla is simply the best piece of bug-tracking software the
of bug-tracking software the world has ever seen. This document world has ever seen. This document is intended to be the
is intended to be the comprehensive guide to the installation, comprehensive guide to the installation, administration,
administration, maintenance, and use of the Bugzilla maintenance, and use of the Bugzilla bug-tracking system.
bug-tracking system.
</para> </para>
<para> <para>
This release of the Bugzilla Guide is the This release of the Bugzilla Guide is the
......
...@@ -8,18 +8,21 @@ ...@@ -8,18 +8,21 @@
</subtitle> </subtitle>
<para> <para>
So you followed the installation instructions to the letter, and So you followed <quote><xref linkend="installation"></quote> to the
just logged into bugzilla with your super-duper god account and letter, and logged into Bugzilla for the very first time with your
you are sitting at the query screen. Yet, you have nothing to super-duper god account. You sit, contentedly staring at the
query. Your first act of business needs to be to setup the Bugzilla Query Screen, the worst of the whole mad business of
operating parameters for bugzilla. installing this terrific program behind you. It seems, though, you
have nothing yet to query! Your first act of business should be to
setup the operating parameters for Bugzilla so you can get busy
getting data into your bug tracker.
</para> </para>
<section id="postinstall-check"> <section id="postinstall-check">
<title>Post-Installation Checklist</title> <title>Post-Installation Checklist</title>
<para> <para>
After installation, follow the checklist below to ensure that After installation, follow the checklist below to help ensure
you have a successful installation. If you do not see a that you have a successful installation. If you do not see a
recommended setting for a parameter, consider leaving it at the recommended setting for a parameter, consider leaving it at the
default while you perform your initial tests on your Bugzilla default while you perform your initial tests on your Bugzilla
setup. setup.
...@@ -30,41 +33,59 @@ ...@@ -30,41 +33,59 @@
<procedure> <procedure>
<step> <step>
<para> <para>
Bring up "editparams.cgi" in your web browser. For Bring up <filename>editparams.cgi</filename> in your web
instance, to edit parameters at mozilla.org, the URL would browser. This should be available as the <quote>edit
be <ulink url="http://bugzilla.mozilla.org/editparams.cgi"> parameters</quote> link from any Bugzilla screen once you
http://bugzilla.mozilla.org/editparams.cgi</ulink>, also have logged in.
available under the "edit parameters" link on your query
page.
</para> </para>
</step> </step>
<step> <step>
<para> <para>The <quote>maintainer</quote> is the email address of
Set "maintainer" to <emphasis>your</emphasis> email address. the person responsible for maintaining this Bugzilla
installation. The maintainer need not be a valid Bugzilla
user. Error pages, error emails, and administrative mail
will be sent with the maintainer as the return email
address.</para>
<para>
Set <quote>maintainer</quote> to <emphasis>your</emphasis> email address.
This allows Bugzilla's error messages to display your email This allows Bugzilla's error messages to display your email
address and allow people to contact you for help. address and allow people to contact you for help.
</para> </para>
</step> </step>
<step> <step>
<para>The <quote>urlbase</quote> parameter defines the fully
qualified domain name and web server path to your Bugzilla
installation.</para>
<para> <para>
Set "urlbase" to the URL reference for your Bugzilla For example, if your bugzilla query page is
installation. If your bugzilla query page is at http://www.foo.com/bugzilla/query.cgi, set your
http://www.foo.com/bugzilla/query.cgi, your url base is <quote>urlbase</quote> is http://www.foo.com/bugzilla/.
http://www.foo.com/bugzilla/
</para> </para>
</step> </step>
<step> <step>
<para><quote>usebuggroups</quote> dictates whether or not to
implement group-based security for Bugzilla. If set,
Bugzilla bugs can have an associated groupmask defining
which groups of users are allowed to see and edit the
bug.</para>
<para> <para>
Set "usebuggroups" to "on" <emphasis>only</emphasis> if you Set "usebuggroups" to "on" <emphasis>only</emphasis> if you
need to restrict access to products. I suggest leaving this may wish to restrict access to products. I suggest leaving
parameter <emphasis>off</emphasis> while initially testing this parameter <emphasis>off</emphasis> while initially
your Bugzilla. testing your Bugzilla.
</para> </para>
</step> </step>
<step> <step>
<para> <para>
Set "usebuggroupsentry" to "on" if you want to restrict <quote>usebuggroupsentry</quote>, when set to
access to products. Once again, if you are simply testing <quote>on</quote>, requires that all bugs have an associated
groupmask when submitted. This parameter is made for those
installations where product isolation is a necessity.
</para>
<para>
Set "usebuggroupsentry" to "on" if you absolutely need to
restrict access to bugs from the moment they are submitted
through resolution. Once again, if you are simply testing
your installation, I suggest against turning this parameter your installation, I suggest against turning this parameter
on; the strict security checking may stop you from being on; the strict security checking may stop you from being
able to modify your new entries. able to modify your new entries.
...@@ -72,6 +93,21 @@ ...@@ -72,6 +93,21 @@
</step> </step>
<step> <step>
<para> <para>
You run into an interesting problem when Bugzilla reaches a
high level of continuous activity. MySQL supports only
table-level write locking. What this means is that if
someone needs to make a change to a bug, they will lock the
entire table until the operation is complete. Locking for
write also blocks reads until the write is complete. The
<quote>shadowdb</quote> parameter was designed to get around
this limitation. While only a single user is allowed to
write to a table at a time, reads can continue unimpeded on
a read-only shadow copy of the database. Although your
database size will double, a shadow database can cause an
enormous performance improvement when implemented on
extremely high-traffic Bugzilla databases.
</para>
<para>
Set "shadowdb" to "bug_shadowdb" if you will be running a Set "shadowdb" to "bug_shadowdb" if you will be running a
*very* large installation of Bugzilla. The shadow database *very* large installation of Bugzilla. The shadow database
enables many simultaneous users to read and write to the enables many simultaneous users to read and write to the
...@@ -79,15 +115,19 @@ ...@@ -79,15 +115,19 @@
<note> <note>
<para> <para>
Enabling "shadowdb" can adversely affect the stability Enabling "shadowdb" can adversely affect the stability
of your installation of Bugzilla. You may frequently of your installation of Bugzilla. You should regularly
need to manually synchronize your databases, or schedule check that your database is in sync. It is often
nightly syncs via "cron" advisable to force a shadow database sync nightly via
<quote>cron</quote>.
</para> </para>
</note> Once again, in testing you should avoid this option </note> Once again, in testing you should avoid this option
-- use it if or when you <emphasis>need</emphasis> to use -- use it if or when you <emphasis>need</emphasis> to use
it, and have repeatedly run into the problem it was designed it, and have repeatedly run into the problem it was designed
to solve -- very long wait times while attempting to commit to solve -- very long wait times while attempting to commit
a change to the database. a change to the database. Mozilla.org began needing
<quote>shadowdb</quote> when they reached around 40,000
Bugzilla users with several hundred Bugzilla bug changes and
comments per day.
</para> </para>
<para> <para>
If you use the "shadowdb" option, it is only natural that If you use the "shadowdb" option, it is only natural that
...@@ -97,6 +137,18 @@ ...@@ -97,6 +137,18 @@
</para> </para>
</step> </step>
<step> <step>
<para><quote>headerhtml</quote>, <quote>footerhtml</quote>,
<quote>errorhtml</quote>, <quote>bannerhtml</quote>, and
<quote>blurbhtml</quote> are all templates which control
display of headers, footers, errors, banners, and additional
data. We could go into some detail regarding the usage of
these, but it is really best just to monkey around with them
a bit to see what they do. I strongly recommend you copy
your <filename>data/params</filename> file somewhere safe
before playing with these values, though. If they are
changed dramatically, it may make it impossible for you to
display Bugzilla pages to fix the problem until you have
restored your <filename>data/params</filename> file.</para>
<para> <para>
If you have custom logos or HTML you must put in place to If you have custom logos or HTML you must put in place to
fit within your site design guidelines, place the code in fit within your site design guidelines, place the code in
...@@ -105,15 +157,20 @@ ...@@ -105,15 +157,20 @@
<note> <note>
<para> <para>
The "headerhtml" text box is the HTML printed out The "headerhtml" text box is the HTML printed out
<emphasis>before</emphasis> any other code on the page. <emphasis>before</emphasis> any other code on the page,
If you have a special banner, put the code for it in except the CONTENT-TYPE header sent by the Bugzilla
"bannerhtml". You may want to leave these settings at engine. If you have a special banner, put the code for
the defaults initially. it in "bannerhtml". You may want to leave these settings
at the defaults initially.
</para> </para>
</note> </note>
</para> </para>
</step> </step>
<step> <step>
<para><quote>passwordmail</quote> is rather simple. Every
time a user creates an account, the text of this parameter
is read as the text to send to the new user along with their
password message.</para>
<para> <para>
Add any text you wish to the "passwordmail" parameter box. Add any text you wish to the "passwordmail" parameter box.
For instance, many people choose to use this box to give a For instance, many people choose to use this box to give a
...@@ -121,20 +178,32 @@ ...@@ -121,20 +178,32 @@
</para> </para>
</step> </step>
<step> <step>
<para> <para><quote>useqacontact</quote> allows you to define an
Ensure "newemailtech" is "on". Your users will thank you. email address for each component, in addition to that of the
This is the default in the post-2.12 world, and is only an default owner, who will be sent carbon copies of incoming
issue if you are upgrading. bugs. The critical difference between a QA Contact and an
</para> Owner is that the QA Contact follows the component. If you
</step> reassign a bug from component A to component B, the QA
<step> Contact for that bug will change with the reassignment,
regardless of owner.</para>
<para><quote>usestatuswhiteboard</quote> defines whether you
wish to have a free-form, overwritable field associated with
each bug. The advantage of the Status Whiteboard is that it
can be deleted or modified with ease, and provides an
easily-searchable field for indexing some bugs that have
some trait in common. Many people will put <quote>help
wanted</quote>, <quote>stalled</quote>, or <quote>waiting
on reply from somebody</quote> messages into the Status
Whiteboard field so those who peruse the bugs are aware of
their status even more than that which can be indicated by
the Resolution fields.</para>
<para> <para>
Do you want to use the QA Contact ("useqacontact") and Do you want to use the QA Contact ("useqacontact") and
status whiteboard ("usestatuswhiteboard") fields? These status whiteboard ("usestatuswhiteboard") fields? These
fields are useful because they allow for more flexibility, fields are useful because they allow for more flexibility,
particularly when you have an existing Quality Assurance particularly when you have an existing Quality Assurance
and/or Release Engineering team, but they may not be needed and/or Release Engineering team, but they may not be needed
for smaller installations. for many smaller installations.
</para> </para>
</step> </step>
<step> <step>
...@@ -144,14 +213,22 @@ ...@@ -144,14 +213,22 @@
they have untouched new bugs. If you do not plan to use they have untouched new bugs. If you do not plan to use
this feature, simply do not set up the whining cron job this feature, simply do not set up the whining cron job
described in the installation instructions, or set this described in the installation instructions, or set this
value to "0". value to "0" (never whine).
</para> </para>
</step> </step>
<step> <step>
<para><quote>commenton</quote> fields allow you to dictate
what changes can pass without comment, and which must have a
comment from the person who changed them. Often,
administrators will allow users to add themselves to the CC
list, accept bugs, or change the Status Whiteboard without
adding a comment as to their reasons for the change, yet
require that most other changes come with an
explanation.</para>
<para> <para>
Set the "commenton" options according to your site policy. Set the "commenton" options according to your site policy.
It is a wise idea to require comments when users resolve, It is a wise idea to require comments when users resolve,
reassign, or reopen bugs. reassign, or reopen bugs at the very least.
<note> <note>
<para> <para>
It is generally far better to require a developer It is generally far better to require a developer
...@@ -164,12 +241,28 @@ ...@@ -164,12 +241,28 @@
</para> </para>
</step> </step>
<step> <step>
<para> <para>The <quote>supportwatchers</quote> option can be an
Set "supportwatchers" to "On". This feature is helpful for exceptionally powerful tool in the hands of a power Bugzilla
team leads to monitor progress in their respective areas, user. By enabling this option, you allow users to receive
and can offer many other benefits, such as allowing a email updates whenever other users receive email updates.
developer to pick up a former engineer's bugs without This is, of course, subject to the groupset restrictions on
requiring her to change all the information in the bug. the bug; if the <quote>watcher</quote> would not normally be
allowed to view a bug, the watcher cannot get around the
system by setting herself up to watch the bugs of someone
with bugs outside her priveleges. She would still only
receive email updates for those bugs she could normally
view.</para>
<para>For Bugzilla sites which require strong inter-Product
security to prevent snooping, watchers are not a good
idea.</para>
<para>
However, for most sites you should set
<quote>supportwatchers</quote> to "On". This feature is
helpful for team leads to monitor progress in their
respective areas, and can offer many other benefits, such as
allowing a developer to pick up a former engineer's bugs
without requiring her to change all the information in the
bug.
</para> </para>
</step> </step>
</procedure> </procedure>
...@@ -205,6 +298,9 @@ ...@@ -205,6 +298,9 @@
groupset=0x7ffffffffffffff where login_name = "(user's groupset=0x7ffffffffffffff where login_name = "(user's
login name)"; </command> login name)"; </command>
</para> </para>
<para>Yes, that is <emphasis>fourteen</emphasis>
<quote>f</quote>'s. A whole lot of f-ing going on if you
want to create a new administator.</para>
</tip> </tip>
</section> </section>
...@@ -269,11 +365,11 @@ ...@@ -269,11 +365,11 @@
right-hand side of the text entry box. You can match right-hand side of the text entry box. You can match
what you type as a case-insensitive substring (the what you type as a case-insensitive substring (the
default) of all users on your system, a case-sensitive default) of all users on your system, a case-sensitive
regular expression (please see the "man regexp" manual regular expression (please see the <command>man
page for details on regular expression syntax), or a regexp</command> manual page for details on regular
<emphasis>reverse</emphasis> regular expression match, expression syntax), or a <emphasis>reverse</emphasis>
where every user name which does NOT match the regular regular expression match, where every user name which
expression is selected. does NOT match the regular expression is selected.
</para> </para>
</tip> </tip>
</listitem> </listitem>
...@@ -292,10 +388,14 @@ ...@@ -292,10 +388,14 @@
<para> <para>
Adding a user this way will <emphasis>not</emphasis> Adding a user this way will <emphasis>not</emphasis>
send an email informing them of their username and send an email informing them of their username and
password. In general, it is preferable to log out and password. While useful for creating dummy accounts
use the "New Account" button to create users, as it (watchers which shuttle mail to another system, for
will pre-populate all the required fields and also instance, or email addresses which are a mailing
notify the user of her account name and password. list), in general it is preferable to log out and use
the <quote>New Account</quote> button to create users,
as it will pre-populate all the required fields and
also notify the user of her account name and
password.
</para> </para>
</note> </note>
</listitem> </listitem>
...@@ -317,6 +417,11 @@ ...@@ -317,6 +417,11 @@
Don't disable your own administrative account, or you Don't disable your own administrative account, or you
will hate life! will hate life!
</para> </para>
<para>At this time, <quote>Disabled Text</quote> does not
prevent a user from using the email interface. If you
have the email interface enabled, they can still
continue to submit bugs and comments that way. We need
a patch to fix this.</para>
</warning> </warning>
</para> </para>
</section> </section>
...@@ -350,9 +455,8 @@ ...@@ -350,9 +455,8 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis>Password</emphasis>: You will only see <emphasis>Password</emphasis>: You can change the user
asterisks in versions of Bugzilla newer than 2.10 or password here. It is normal to only see asterisks.
early 2.11. You can change the user password here.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -26,9 +26,16 @@ ...@@ -26,9 +26,16 @@
<glossdiv id="gloss_a"> <glossdiv id="gloss_a">
<title>A</title> <title>A</title>
<glossentry> <glossentry>
<glossterm>There are no entries for A</glossterm> <glossterm>Apache</glossterm>
<glossdef> <glossdef>
<para></para> <para>In this context, Apache is the web server most
commonly used for serving up
<glossterm>Bugzilla</glossterm> pages. Contrary to
popular belief, the apache web server has nothing to do
with the ancient and noble Native American tribe, but
instead derived its name from the fact that it was
<quote>a patchy</quote> version of the original
<acronym>NCSA</acronym> world-wide-web server.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
</glossdiv> </glossdiv>
...@@ -70,6 +77,75 @@ ...@@ -70,6 +77,75 @@
the needs of the organization using it, though.</para> the needs of the organization using it, though.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry>
<glossterm>Bugzilla</glossterm>
<glossdef>
<para>
Bugzilla is the industry-standard bug tracking system. It
is quite popular among Open Source enthusiasts.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_c">
<title></title>
<glossentry id="gloss_component">
<glossterm>Component</glossterm>
<glossdef>
<para>
A Component is a subsection of a Product. It should be a
narrow category, tailored to your organization. All
Products must contain at least one Component (and, as a
matter of fact, creating a Product with no Components will
create an error in Bugzilla).
</para>
</glossdef>
</glossentry>
<glossentry id="gloss_cpan">
<glossterm><acronym>CPAN</acronym></glossterm>
<glossdef>
<para><acronym>CPAN</acronym> stands for the
<quote>Comprehensive Perl Archive Network</quote>. CPAN
maintains a large number of extremely useful
<glossterm>Perl</glossterm> modules. By themselves, Perl
modules generally do nothing, but when used as part of a
larger program, they provide much-needed algorithms and
functionality.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_d">
<title>D</title>
<glossentry>
<glossterm>daemon</glossterm>
<glossdef>
<para>A daemon is a computer program which runs in the
background. In general, most daemons are started at boot
time via System V init scripts, or through RC scripts on
BSD-based systems. <glossterm>mysqld</glossterm>, the
MySQL server, and <glossterm>apache</glossterm>, a web
server, are generally run as daemons.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_g">
<title></title>
<glossentry>
<glossterm>Groups</glossterm>
<glossdef>
<para>The word <quote>Groups</quote> has a very special
meaning to Bugzilla. Bugzilla's main security mechanism
comes by lumping users into groups, and assigning those
groups certain privileges to
<glossterm>Products</glossterm> and
<glossterm>Components</glossterm> in the
<glossterm>Bugzilla</glossterm> database.</para>
</glossdef>
</glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_i"> <glossdiv id="gloss_i">
...@@ -82,6 +158,21 @@ ...@@ -82,6 +158,21 @@
</glossentry> </glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_m">
<title>M</title>
<glossentry>
<glossterm>mysqld</glossterm>
<glossdef>
<para>mysqld is the name of the
<glossterm>daemon</glossterm> for the MySQL database. In
general, it is invoked automatically through the use of
the System V init scripts on GNU/Linux and AT&amp;T System
V-based systems, such as Solaris and HP/UX, or through the
RC scripts on BSD-based systems.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_p"> <glossdiv id="gloss_p">
<title>P</title> <title>P</title>
<glossentry> <glossentry>
...@@ -108,6 +199,17 @@ ...@@ -108,6 +199,17 @@
</example> </example>
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry>
<glossterm>Perl</glossterm>
<glossdef>
<para>First written by Larry Wall, Perl is a remarkable
program language. It has the benefits of the flexibility
of an interpreted scripting language (such as shell
script), combined with the speed and power of a compiled
language, such as C. <glossterm>Bugzilla</glossterm> is
maintained in Perl.</para>
</glossdef>
</glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_q"> <glossdiv id="gloss_q">
...@@ -129,8 +231,8 @@ ...@@ -129,8 +231,8 @@
<glossdiv id="gloss_r"> <glossdiv id="gloss_r">
<title>R</title> <title>R</title>
<glossentry> <glossentry id="gloss_recursion" xreflabel="Recursion">
<glossterm id="gloss_recursion">Recursion</glossterm> <glossterm>Recursion</glossterm>
<glossdef> <glossdef>
<para>The property of a function looking back at itself for <para>The property of a function looking back at itself for
something. <quote>GNU</quote>, for instance, stands for something. <quote>GNU</quote>, for instance, stands for
...@@ -141,9 +243,51 @@ ...@@ -141,9 +243,51 @@
</glossentry> </glossentry>
</glossdiv> </glossdiv>
<glossdiv id="gloss_s">
<title>S</title>
<glossentry>
<glossterm><acronym>SGML</acronym></glossterm>
<glossdef>
<para><acronym>SGML</acronym> stands for <quote>Standard
Generalized Markup Language</quote>. Created in the
1980's to provide an extensible means to maintain
documentation based upon content instead of presentation,
<acronym>SGML</acronym> has withstood the test of time as
a robust, powerful language.
<glossterm><acronym>XML</acronym></glossterm> is the
<quote>baby brother</quote> of SGML; any valid
<acronym>XML</acronym> document it, by definition, a valid
<acronym>SGML</acronym> document. The document you are
reading is written and maintained in
<acronym>SGML</acronym>, and is also valid
<acronym>XML</acronym> if you modify the Document Type
Definition.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_t">
<title>T</title>
<glossentry id="gloss_target_milestone" xreflabel="Target Milestone">
<glossterm>Target Milestone</glossterm>
<glossdef>
<para>
Target Milestones are Product goals. They are
configurable on a per-Product basis. Most software
development houses have a concept of
<quote>milestones</quote> where the people funding a
project expect certain functionality on certain dates.
Bugzilla facilitates meeting these milestones by giving
you the ability to declare by which milestone a bug will be
fixed, or an enhancement will be implemented.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id="gloss_z"> <glossdiv id="gloss_z">
<title>Z</title> <title>Z</title>
<glossentry> <glossentry id="zarro-boogs-found" xreflabel="Zarro Boogs Found">
<glossterm>Zarro Boogs Found</glossterm> <glossterm>Zarro Boogs Found</glossterm>
<glossdef> <glossdef>
<para>This is the cryptic response sent by Bugzilla when a <para>This is the cryptic response sent by Bugzilla when a
......
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> --> <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<chapter id="installation"> <chapter id="installation" xreflabel="Bugzilla Installation">
<title>Installation</title> <title>Installation</title>
<para> <para>
These installation instructions are presented assuming you are These installation instructions are presented assuming you are
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
refer to these documents when installing, configuring, and refer to these documents when installing, configuring, and
maintaining your Bugzilla installation. maintaining your Bugzilla installation.
</member> </member>
</simplelist> </simplelist>
<warning> <warning>
...@@ -108,8 +109,7 @@ ...@@ -108,8 +109,7 @@
the CPAN dependencies listed below, and are running the very the CPAN dependencies listed below, and are running the very
most recent version of Perl and MySQL (both the executables most recent version of Perl and MySQL (both the executables
and development libraries) on your system, check out and development libraries) on your system, check out
Bundle::Bugzilla in <xref Bundle::Bugzilla in <xref linkend="bundlebugzilla"></para>
linkend="bundlebugzilla"></para>
</note> </note>
<para> <para>
The software packages necessary for the proper running of bugzilla are: The software packages necessary for the proper running of bugzilla are:
...@@ -185,39 +185,64 @@ ...@@ -185,39 +185,64 @@
attack. attack.
</para> </para>
</warning> </warning>
<note>
<para>Linux-Mandrake 8.0, the author's test system, includes
every required and optional library for Bugzilla. The
easiest way to install them is by using the
<filename>urpmi</filename> utility. If you follow these
commands, you should have everything you need for
Bugzilla, and <filename>checksetup.pl</filename> should
not complain about any missing libraries. You may already
have some of these installed.</para>
<simplelist>
<member><prompt>bash#</prompt><command> urpmi
perl-mysql</command></member>
<member><prompt>bash#</prompt><command> urpmi
perl-chart</command></member>
<member><prompt>bash#</prompt><command> urpmi
perl-gd</command></member>
<member><prompt>bash#</prompt><command> urpmi
perl-MailTools</command> (for Bugzilla email
integration)</member>
<member><prompt>bash#</prompt><command> urpmi
apache-modules</command></member>
</simplelist>
</note>
</para> </para>
</section> </section>
<section id="install-mysql"> <section id="install-mysql">
<title>Installing MySQL Database</title> <title>Installing MySQL Database</title>
<para> <para>
Visit MySQL homepage at http://www.mysql.com/ and grab the Visit MySQL homepage at <ulink
latest stable release of the server. Both binaries and source url="http://www.mysql.com">www.mysql.com</ulink> and grab the latest stable release of the server. Many of the binary versions of MySQL store their data files in <filename>/var</filename> which is often part of a smaller root partition. If you decide to build from sources you can easily set the dataDir as an option to <filename>configure</filename>.
are available and which you get shouldn't matter. Be aware
that many of the binary versions of MySQL store their data
files in /var which on many installations (particularly common
with linux installations) is part of a smaller root partition.
If you decide to build from sources you can easily set the
dataDir as an option to configure.
</para> </para>
<para> <para>
If you've installed from source or non-package (RPM, deb, If you install from source or non-package (RPM, deb, etc.)
etc.) binaries you'll want to make sure to add mysqld to your binaries you need to add
<firstterm>mysqld</firstterm> to your
init scripts so the server daemon will come back up whenever init scripts so the server daemon will come back up whenever
your machine reboots. You also may want to edit those init your machine reboots. Further discussion of UNIX init
scripts, to make sure that mysqld will accept large packets. sequences are beyond the scope of this guide.
By default, mysqld is set up to only accept packets up to 64K <note>
long. This limits the size of attachments you may put on <para>You should have your init script start
bugs. If you add something like "-O max_allowed_packet=1M" to <glossterm>mysqld</glossterm> with the ability to accept
the command that starts mysqld (or safe_mysqld), then you will large packets. By default, <filename>mysqld</filename>
be able to have attachments up to about 1 megabyte. only accepts packets up to 64K long. This limits the size
of attachments you may put on bugs. If you add <option>-O
max_allowed_packet=1M</option> to the command that starts
<filename>mysqld</filename> (or
<filename>safe_mysqld</filename>), then you will be able
to have attachments up to about 1 megabyte.</para>
</note>
</para> </para>
<note> <note>
<para> <para>
If you plan on running Bugzilla and MySQL on the same If you plan on running Bugzilla and MySQL on the same
machine, consider using the "--skip-networking" option in machine, consider using the <option>--skip-networking</option>
the init script. This enhances security by preventing option in the init script. This enhances security by
network access to MySQL. preventing network access to MySQL.
</para> </para>
</note> </note>
</section> </section>
...@@ -260,9 +285,10 @@ ...@@ -260,9 +285,10 @@
<tip id="bundlebugzilla" xreflabel="Using Bundle::Bugzilla instead of manually installing Perl modules"> <tip id="bundlebugzilla" xreflabel="Using Bundle::Bugzilla instead of manually installing Perl modules">
<para> <para>
You can skip the following Perl module installation steps by You can skip the following Perl module installation steps by
installing "Bundle::Bugzilla" from CPAN, which includes installing <productname>Bundle::Bugzilla</productname> from
them. All Perl module installation steps require you have an <glossterm linkend="gloss_cpan">CPAN</glossterm>, which
active Internet connection. If you wish to use includes them. All Perl module installation steps require
you have an active Internet connection. If you wish to use
Bundle::Bugzilla, however, you must be using the latest Bundle::Bugzilla, however, you must be using the latest
version of Perl (at this writing, version &perl-ver;) version of Perl (at this writing, version &perl-ver;)
</para> </para>
...@@ -293,7 +319,7 @@ ...@@ -293,7 +319,7 @@
Like almost all Perl modules DBI can be found on the Comprehensive Perl Like almost all Perl modules DBI can be found on the Comprehensive Perl
Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a Archive Network (CPAN) at http://www.cpan.org. The CPAN servers have a
real tendency to bog down, so please use mirrors. The current location real tendency to bog down, so please use mirrors. The current location
at the time of this writing (02/17/99) can be found in Appendix A. at the time of this writing can be found in <xref linkend="downloadlinks">.
</para> </para>
<para> <para>
Quality, general Perl module installation instructions can be found on Quality, general Perl module installation instructions can be found on
...@@ -370,9 +396,11 @@ ...@@ -370,9 +396,11 @@
hurt anything. hurt anything.
</para> </para>
<para> <para>
Data::Dumper is used by the MySQL-related Perl modules. It can be Data::Dumper is used by the MySQL-related Perl modules. It
found on CPAN (link in Appendix A) and can be installed by following can be found on CPAN (see <xref linkend="downloadlinks">) and
the same four step make sequence used for the DBI module. can be
installed by following the same four step make sequence used
for the DBI module.
</para> </para>
</section> </section>
...@@ -414,37 +442,42 @@ ...@@ -414,37 +442,42 @@
<section> <section>
<title>TimeDate Perl Module Collection</title> <title>TimeDate Perl Module Collection</title>
<para> <para>
Many of the more common date/time/calendar related Perl modules have Many of the more common date/time/calendar related Perl
been grouped into a bundle similar to the MySQL modules bundle. This modules have been grouped into a bundle similar to the MySQL
bundle is stored on the CPAN under the name TimeDate. A link modules bundle. This bundle is stored on the CPAN under the
link may be found in Appendix B, Software Download Links. name TimeDate (see link: <xref linkend="downloadlinks">). The
The component module we're component module we're most interested in is the Date::Format
most interested in is the Date::Format module, but installing all of them module, but installing all of them is probably a good idea
is probably a good idea anyway. The standard Perl module installation anyway. The standard Perl module installation instructions
instructions should work perfectly for this simple package. should work perfectly for this simple package.
</para> </para>
</section> </section>
<section> <section>
<title>GD Perl Module (1.8.3)</title> <title>GD Perl Module (1.8.3)</title>
<para> <para>
The GD library was written by Thomas Boutell a long while ago to The GD library was written by Thomas Boutell a long while
programatically generate images in C. Since then it's become almost a ago to programatically generate images in C. Since then it's
defacto standard for programatic image construction. The Perl bindings become the defacto standard for programatic image
to it found in the GD library are used on a million web pages to generate construction. The Perl bindings to it found in the GD library
graphs on the fly. That's what bugzilla will be using it for so you'd are used on millions of web pages to generate graphs on the
better install it if you want any of the graphing to work. fly. That's what bugzilla will be using it for so you must
install it if you want any of the graphing to work.
</para> </para>
<para> <para>
Actually bugzilla uses the Graph module which relies on GD itself, Actually bugzilla uses the Graph module which relies on GD
but isn't that always the way with OOP. At any rate, you can find the itself. Isn't that always the way with object-oriented
GD library on CPAN (link in Appendix B, Software Download Links). programming? At any rate, you can find the GD library on CPAN
in <xref linkend="downloadlinks">.
</para> </para>
<note> <note>
<para> <para>
The Perl GD library requires some other libraries that may or may not be The Perl GD library requires some other libraries that may
installed on your system, including "libpng" and "libgd". The full requirements or may not be installed on your system, including
are listed in the Perl GD library README. Just realize that if compiling GD fails, <classname>libpng</classname> and
it's probably because you're missing a required library. <classname>libgd</classname>. The full requirements are
listed in the Perl GD library README. Just realize that if
compiling GD fails, it's probably because you're missing a
required library.
</para> </para>
</note> </note>
</section> </section>
...@@ -453,62 +486,78 @@ ...@@ -453,62 +486,78 @@
<title>Chart::Base Perl Module (0.99c)</title> <title>Chart::Base Perl Module (0.99c)</title>
<para> <para>
The Chart module provides bugzilla with on-the-fly charting The Chart module provides bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it has been abilities. It can be installed in the usual fashion after it
fetched from CPAN where it is found as the Chart-x.x... tarball in a has been fetched from CPAN where it is found as the
directory to be listed in Appendix B, "Software Download Links". Chart-x.x... tarball, linked in <xref linkend="downloadlinks">. Note that
Note that as with the GD perl as with the GD perl module, only the version listed above, or
module, only the version listed above, or newer, will work. newer, will work. Earlier versions used GIF's, which are no
Earlier longer supported by the latest versions of GD.
versions used GIF's, which are no longer supported by the latest
versions of GD.
</para> </para>
</section> </section>
<section> <section>
<title>DB_File Perl Module</title> <title>DB_File Perl Module</title>
<para> <para>
DB_File is a module which allows Perl programs to make use of the facilities provided by DB_File is a module which allows Perl programs to make use
Berkeley DB version 1.x. This module is required by collectstats.pl which is used for of the facilities provided by Berkeley DB version 1.x. This
bug charting. If you plan to make use of bug charting, you must install this module. module is required by collectstats.pl which is used for bug
charting. If you plan to make use of bug charting, you must
install this module.
</para> </para>
</section> </section>
<section> <section>
<title>HTTP Server</title> <title>HTTP Server</title>
<para> <para>
You have a freedom of choice here - Apache, Netscape or any other You have a freedom of choice here - Apache, Netscape or any
server on UNIX would do. You can easily run the web server on a different other server on UNIX would do. You can easily run the web
machine than MySQL, but need to adjust the MySQL "bugs" user permissions server on a different machine than MySQL, but need to adjust
accordingly. the MySQL <quote>bugs</quote> user permissions accordingly.
<note>
<para>I strongly recommend Apache as the web server to use.
The Bugzilla Guide installation instructions, in general,
assume you are using Apache. As more users use different
webservers and send me information on the peculiarities of
installing using their favorite webserver, I will provide
notes for them.</para>
</note>
</para> </para>
<para> <para>
You'll want to make sure that your web server will run any file You'll want to make sure that your web server will run any
with the .cgi extension as a cgi and not just display it. If you're using file with the .cgi extension as a cgi and not just display it.
apache that means uncommenting the following line in the srm.conf file: If you're using apache that means uncommenting the following
<computeroutput>AddHandler cgi-script .cgi</computeroutput> line in the srm.conf file:
<programlisting>
AddHandler cgi-script .cgi
</programlisting>
</para> </para>
<para> <para>
With apache you'll also want to make sure that within the access.conf With apache you'll also want to make sure that within the
file the line: access.conf file the line:
<computeroutput> <programlisting>
Options ExecCGI Options ExecCGI
</computeroutput> </programlisting>
is in the stanza that covers the directories you intend to put the bugzilla is in the stanza that covers the directories into which
.html and .cgi files into. you intend to put the bugzilla .html and .cgi files.
</para> </para>
<note>
<para> <para>
If you are using a newer version of Apache, both of the above lines will be Users of newer versions of Apache will generally find both
(or will need to be) in the httpd.conf file, rather than srm.conf or of the above lines will be in the httpd.conf file, rather
access.conf. than srm.conf or access.conf.
</para> </para>
</note>
<warning> <warning>
<para> <para>
There are two critical directories and a file that should not be a served by There are important files and directories that should not
the HTTP server. These are the <quote>data</quote> and <quote>shadow</quote> be a served by the HTTP server. These are most files in the
directories and the <quote>data</quote> and <quote>shadow</quote> directories
<quote>localconfig</quote> file. You should configure your HTTP server to not serve and the <quote>localconfig</quote> file. You should
content from these files. Failure to do so will expose critical passwords configure your HTTP server to not serve content from these
and other data. Please see <xref linkend="htaccess"> for details. files. Failure to do so will expose critical passwords and
other data. Please see <xref linkend="htaccess"> for details
on how to do this for Apache. I appreciate notes on how to
get this same functionality using other webservers.
</para> </para>
</warning> </warning>
</section> </section>
...@@ -516,45 +565,51 @@ ...@@ -516,45 +565,51 @@
<section> <section>
<title>Installing the Bugzilla Files</title> <title>Installing the Bugzilla Files</title>
<para> <para>
You should untar the Bugzilla files into a directory that you're You should untar the Bugzilla files into a directory that
willing to make writable by the default web server user (probably you're willing to make writable by the default web server user
<quote>nobody</quote>). You may decide to put the files off of the main web space (probably <quote>nobody</quote>). You may decide to put the
for your web server or perhaps off of /usr/local with a symbolic link files off of the main web space for your web server or perhaps
in the web space that points to the bugzilla directory. At any rate, off of <filename>/usr/local</filename> with a symbolic link in
just dump all the files in the same place (optionally omitting the CVS the web space that points to the Bugzilla directory. At any
directories if they were accidentally tarred up with the rest of Bugzilla) rate, just dump all the files in the same place, and make sure
and make sure you can access the files in that directory through your you can access the files in that directory through your web
web server. server.
</para> </para>
<tip> <tip>
<para> <para>
If you symlink the bugzilla directory into your Apache's If you symlink the bugzilla directory into your Apache's
HTML heirarchy, you may receive "Forbidden" errors unless you HTML heirarchy, you may receive
add the "FollowSymLinks" directive to the &lt;Directory&gt; entry <errorname>Forbidden</errorname> errors unless you add the
for the HTML root. <quote>FollowSymLinks</quote> directive to the
&lt;Directory&gt; entry for the HTML root.
</para> </para>
</tip> </tip>
<para> <para>
Once all the files are in a web accessible directory, make that Once all the files are in a web accessible directory, make
directory writable by your webserver's user (which may require just that directory writable by your webserver's user. This is a
making it world writable). This is a temporary step until you run temporary step until you run the post-install
the post-install <quote>checksetup.pl</quote> script, which locks down your <filename>checksetup.pl</filename> script, which locks down your
installation. installation.
</para> </para>
<para> <para>
Lastly, you'll need to set up a symbolic link to /usr/bonsaitools/bin/perl Lastly, you'll need to set up a symbolic link to
for the correct location of your perl executable (probably /usr/bin/perl). <filename>/usr/bonsaitools/bin/perl</filename> for the correct
Otherwise you must hack all the .cgi files to change where they look location of your perl executable (probably
for perl. To make future upgrades easier, you should use the symlink <filename>/usr/bin/perl</filename>). Otherwise you must hack
approach. all the .cgi files to change where they look for perl, or use
<xref linkend="setperl">, found in
<xref linkend="patches">. I suggest using the symlink
approach for future release compatability.
<example> <example>
<title>Setting up bonsaitools symlink</title> <title>Setting up bonsaitools symlink</title>
<para> <para>
Here's how you set up the Perl symlink on Linux to make Bugzilla work. Here's how you set up the Perl symlink on Linux to make
Your mileage may vary; if you are running on Solaris, you probably need to subsitute Bugzilla work. Your mileage may vary. For some UNIX
<quote>/usr/local/bin/perl</quote> for <quote>/usr/bin/perl</quote> operating systems, you probably need to subsitute
below; if on certain other UNIX systems, <quote>/usr/local/bin/perl</quote> for
Perl may live in weird places like <quote>/opt/perl</quote>. As root, run these commands: <quote>/usr/bin/perl</quote> below; if on certain other
UNIX systems, Perl may live in weird places like
<quote>/opt/perl</quote>. As root, run these commands:
<programlisting> <programlisting>
bash# mkdir /usr/bonsaitools bash# mkdir /usr/bonsaitools
bash# mkdir /usr/bonsaitools/bin bash# mkdir /usr/bonsaitools/bin
...@@ -566,8 +621,8 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -566,8 +621,8 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
<para> <para>
If you don't have root access to set this symlink up, If you don't have root access to set this symlink up,
check out the check out the
<xref linkend="setperl">, listed in <xref linkend="patches">. <xref linkend="setperl">, listed in <xref
It will change the path to perl in all your Bugzilla files for you. linkend="patches">. It will change the path to perl in all your Bugzilla files for you.
</para> </para>
</tip> </tip>
</para> </para>
...@@ -581,9 +636,10 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -581,9 +636,10 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
quality bug tracker. quality bug tracker.
</para> </para>
<para> <para>
First, you'll want to fix MySQL permissions to allow access from First, you'll want to fix MySQL permissions to allow access
Bugzilla. For the purpose of this Installation section, the Bugzilla username from Bugzilla. For the purpose of this Installation section,
will be "bugs", and will have minimal permissions. the Bugzilla username will be <quote>bugs</quote>, and will
have minimal permissions.
<warning> <warning>
<para> <para>
...@@ -601,40 +657,33 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -601,40 +657,33 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
limited to 16 characters. limited to 16 characters.
<simplelist> <simplelist>
<member> <member>
<computeroutput> <computeroutput> <prompt>bash#</prompt> <command>mysql
<prompt>bash#</prompt> -u root mysql</command> </computeroutput>
<command>mysql -u root mysql</command>
</computeroutput>
</member> </member>
<member> <member>
<computeroutput> <computeroutput> <prompt>mysql></prompt> <command>
<prompt>mysql></prompt>
<command>
UPDATE user SET Password=PASSWORD ('new_password') UPDATE user SET Password=PASSWORD ('new_password')
WHERE user='root'; WHERE user='root'; </command> </computeroutput>
</command>
</computeroutput>
</member> </member>
<member> <member>
<computeroutput> <computeroutput> <prompt>mysql></prompt> <command>FLUSH
<prompt>mysql></prompt> PRIVILEGES;</command> </computeroutput>
<command>FLUSH PRIVILEGES;</command>
</computeroutput>
</member> </member>
</simplelist> </simplelist> From this point on, if you need to access
From this point on, if you need to access MySQL as the MySQL as the MySQL root user, you will need to use
MySQL root user, you will need to use "mysql -u root -p" and <command>mysql -u root -p</command> and enter your
enter your new_password. Remember that MySQL user names have new_password. Remember that MySQL user names have nothing to
nothing to do with Unix user names (login names). do with Unix user names (login names).
</para> </para>
<para> <para>
Next, we create the "bugs" user, and grant sufficient Next, we create the <quote>bugs</quote> user, and grant
permissions for checksetup.pl, which we'll use later, to work sufficient permissions for checksetup.pl, which we'll use
its magic. This also restricts the "bugs" user to operations later, to work its magic. This also restricts the
within a database called "bugs", and only allows the account <quote>bugs</quote> user to operations within a database
to connect from "localhost". Modify it to reflect your setup called <quote>bugs</quote>, and only allows the account to
if you will be connecting from another machine or as a different connect from <quote>localhost</quote>. Modify it to reflect
user. your setup if you will be connecting from another machine or
as a different user.
</para> </para>
<para> <para>
Remember to set bugs_password to some unique password. Remember to set bugs_password to some unique password.
...@@ -661,25 +710,24 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -661,25 +710,24 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
</simplelist> </simplelist>
</para> </para>
<para> <para>
Next, run the magic checksetup.pl script. (Many thanks to Holger Next, run the magic checksetup.pl script. (Many thanks to
Schurig &lt;holgerschurig@nikocity.de&gt; for writing this script!) Holger Schurig &lt;holgerschurig@nikocity.de&gt; for writing
It will make sure Bugzilla files and directories have reasonable this script!) It will make sure Bugzilla files and directories
permissions, set up the "data" directory, and create all the MySQL have reasonable permissions, set up the
<filename>data</filename> directory, and create all the MySQL
tables. tables.
<simplelist> <simplelist>
<member> <member>
<computeroutput> <computeroutput> <prompt>bash#</prompt>
<prompt>bash#</prompt> <command>./checksetup.pl</command> </computeroutput>
<command>./checksetup.pl</command>
</computeroutput>
</member> </member>
</simplelist> </simplelist> The first time you run it, it will create a
The first time you run it, it will create a file called "localconfig". file called <filename>localconfig</filename>.
</para> </para>
</section> </section>
<section> <section>
<title>Tweaking "localconfig"</title> <title>Tweaking <filename>localconfig</filename></title>
<para> <para>
This file contains a variety of settings you may need to tweak including This file contains a variety of settings you may need to tweak including
how Bugzilla should connect to the MySQL database. how Bugzilla should connect to the MySQL database.
...@@ -689,71 +737,70 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -689,71 +737,70 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
server's host: just use "localhost" if the MySQL server is server's host: just use <quote>localhost</quote> if the
local MySQL server is local
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
database name: "bugs" if you're following these directions database name: <quote>bugs</quote> if you're following
these directions
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
MySQL username: "bugs" if you're following these directions MySQL username: <quote>bugs</quote> if you're following
these directions
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Password for the "bugs" MySQL account above Password for the <quote>bugs</quote> MySQL account above
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</para> </para>
<para> <para>
You may also install .htaccess files that the Apache webserver will use You should also install .htaccess files that the Apache
to restrict access to Bugzilla data files. See <xref linkend="htaccess">. webserver will use to restrict access to Bugzilla data files.
See <xref
linkend="htaccess">.
</para> </para>
<para> <para>
Once you are happy with the settings, re-run checksetup.pl. On this Once you are happy with the settings, re-run
second run, it will create the database and an administrator account <filename>checksetup.pl</filename>. On this second run, it will
for which you will be prompted to provide information. create the database and an administrator account for which
you will be prompted to provide information.
</para> </para>
<para> <para>
When logged into an administrator account once Bugzilla is running, When logged into an administrator account once Bugzilla is
if you go to the query page (off of the bugzilla main menu), you'll running, if you go to the query page (off of the Bugzilla main
find an 'edit parameters' option that is filled with editable treats. menu), you'll find an <quote>edit parameters</quote> option
that is filled with editable treats.
</para> </para>
<para> <para>
Should everything work, you should have a nearly empty copy of the bug Should everything work, you will have a nearly empty Bugzilla
tracking setup. database and a newly-created <filename>localconfig</filename>
file in your Bugzilla root directory.
</para> </para>
<para> <para>
The second time around, checksetup.pl will stall if it is on a
filesystem that does not fully support file locking via flock(), such as
NFS mounts. This support is required for Bugzilla to operate safely with
multiple instances. If flock() is not fully supported, it will stall at:
<errorcode>Now regenerating the shadow database for all bugs.</errorcode>
<note> <note>
<para> <para>
The second time you run checksetup.pl, you should become the The second time you run checksetup.pl, you should become
user your web server runs as, and that you ensure that you set the the user your web server runs as, and that you ensure that
"webservergroup" parameter in localconfig to match the web you set the <quote>webservergroup</quote> parameter in localconfig to
server's group match the web server's group name, if any. I believe,
name, if any. I believe, for the next release of Bugzilla, for the next release of Bugzilla, this will be fixed so
this will that Bugzilla supports a <quote>webserveruser</quote> parameter in
be fixed so that Bugzilla supports a "webserveruser" parameter localconfig as well.
in localconfig
as well.
<example> <example>
<title>Running checksetup.pl as the web user</title> <title>Running checksetup.pl as the web user</title>
<para> <para>
Assuming your web server runs as user "apache", Assuming your web server runs as user "apache", and
and Bugzilla is installed in Bugzilla is installed in "/usr/local/bugzilla", here's
"/usr/local/bugzilla", here's one way to run checksetup.pl one way to run checksetup.pl as the web server user.
as the web server user. As root, for the <emphasis>second run</emphasis> of
As root, for the <emphasis>second run</emphasis> checksetup.pl, do this:
of checksetup.pl, do this:
<programlisting> <programlisting>
bash# chown -R apache:apache /usr/local/bugzilla bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache bash# su - apache
...@@ -779,14 +826,14 @@ bash# ./checksetup.pl ...@@ -779,14 +826,14 @@ bash# ./checksetup.pl
<para> <para>
If you want to add someone else to every group by hand, you If you want to add someone else to every group by hand, you
can do it by typing the appropriate MySQL commands. Run can do it by typing the appropriate MySQL commands. Run
'<computeroutput> mysql -u root -p bugs</computeroutput>' You <command> mysql -u root -p bugs</command> You
may need different parameters, depending on your security may need different parameters, depending on your security
settings. Then: settings. Then:
<simplelist> <simplelist>
<member> <member>
<computeroutput> <prompt>mysql></prompt> <command>update <computeroutput> <prompt>mysql></prompt> <command>update
profiles set groupset=0x7fffffffffffffff where profiles set groupset=0x7fffffffffffffff where
login_name = 'XXX';</command> </computeroutput> login_name = 'XXX';</command> </computeroutput> (yes, that's <emphasis>fifteen</emphasis><quote>f</quote>'s.
</member> </member>
</simplelist> replacing XXX with the Bugzilla email address. </simplelist> replacing XXX with the Bugzilla email address.
</para> </para>
...@@ -1157,32 +1204,73 @@ bash# ./checksetup.pl ...@@ -1157,32 +1204,73 @@ bash# ./checksetup.pl
</para> </para>
</section> </section>
<section id="mod_throttle" xreflabel="Using mod_throttle to prevent Denial of Service attacks">
<title><filename>mod_throttle</filename> and Security</title>
<para>
It is possible for a user, by mistake or on purpose, to access
the database many times in a row which can result in very slow
access speeds for other users. If your Bugzilla installation
is experiencing this problem , you may install the Apache
module <filename>mod_throttle</filename> which can limit
connections by ip-address. You may download this module at
<ulink
url="http://www.snert.com/Software/Throttle/">http://www.snert.com/Software/Throttle/</ulink>. Follow the instructions to install into your Apache install. <emphasis>This module only functions with the Apache web server!</emphasis>. You may use the <command>ThrottleClientIP</command> command provided by this module to accomplish this goal. See the <ulink url="http://www.snert.com/Software/Throttle/">Module Instructions</ulink> for more information. </para>
</section>
<section id="content_type" xreflabel="Preventing untrusted Bugzilla contentfrom executing malicious Javascript code">
<title>Preventing untrusted Bugzilla content from executing malicious Javascript code</title>
<para>It is possible for a Bugzilla to execute malicious
Javascript code. Due to internationalization concerns, we are
unable to incorporate the code changes necessary to fulfill
the CERT advisory requirements mentioned in <ulink
url="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3">http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</ulink>. Executing the following code snippet from a UNIX command shell will rectify the problem if your Bugzilla installation is intended for an English-speaking audience. As always, be sure your Bugzilla installation has a good backup before making changes, and I recommend you understand what the script is doing before executing it. </para>
<para><programlisting>
bash# cd $BUGZILLA_HOME; for i in `ls *.cgi`; \
do cat $i | sed 's/Content-type\: text\/html/Content-Type: text\/html\; charset=ISO-8859-1/' >$i.tmp; \
mv $i.tmp $i; done
</programlisting></para>
<para>
All this one-liner command does is search for all instances of
<quote>Content-type: text/html</quote> and replaces it with
<quote>Content-Type: text/html; charset=ISO-8859-1</quote>.
This specification prevents possible Javascript attacks on the
browser, and is suggested for all English-speaking sites. For
non-english-speaking Bugzilla sites, I suggest changing
<quote>ISO-8859-1</quote>, above, to <quote>UTF-8</quote>.
</para>
</section>
<section> <section>
<title>UNIX Installation Instructions History</title> <title>UNIX Installation Instructions History</title>
<para> <para>
This document was originally adapted from the Bonsai installation This document was originally adapted from the Bonsai
instructions by Terry Weissman &lt;terry@mozilla.org&gt;. installation instructions by Terry Weissman
&lt;terry@mozilla.org&gt;.
</para> </para>
<para> <para>
The February 25, 1999 re-write of this page was done by Ry4an Brase The February 25, 1999 re-write of this page was done by Ry4an
&lt;ry4an@ry4an.org&gt;, with some edits by Terry Weissman, Bryce Nesbitt, Brase &lt;ry4an@ry4an.org&gt;, with some edits by Terry
Martin Pool, & Dan Mosedale (But don't send bug reports to them; Weissman, Bryce Nesbitt, Martin Pool, & Dan Mosedale (But
report them using bugzilla, at http://bugzilla.mozilla.org/enter_bug.cgi , don't send bug reports to them; report them using bugzilla, at
project Webtools, component Bugzilla). http://bugzilla.mozilla.org/enter_bug.cgi , project Webtools,
component Bugzilla).
</para> </para>
<para> <para>
This document was heavily modified again Wednesday, March 07 2001 to This document was heavily modified again Wednesday, March 07
reflect changes for Bugzilla 2.12 release by Matthew P. Barnson. The 2001 to reflect changes for Bugzilla 2.12 release by Matthew
securing MySQL section should be changed to become standard procedure P. Barnson. The securing MySQL section should be changed to
for Bugzilla installations. become standard procedure for Bugzilla installations.
</para> </para>
<para> <para>
Finally, the README in its entirety was marked up in SGML and included into Finally, the README in its entirety was marked up in SGML and
the Guide on April 24, 2001 by Matt Barnson. Since that time, it's undergone included into the Guide on April 24, 2001 by Matt Barnson.
extensive modification as Bugzilla grew. Since that time, it's undergone extensive modification as
Bugzilla grew.
</para> </para>
<para> <para>
Comments from people using this Guide for the first time are particularly welcome. Comments from people using this Guide for the first time are
particularly welcome.
</para> </para>
</section> </section>
</section> </section>
...@@ -1217,27 +1305,33 @@ bash# ./checksetup.pl ...@@ -1217,27 +1305,33 @@ bash# ./checksetup.pl
picnic. Support for Win32 has improved dramatically in the picnic. Support for Win32 has improved dramatically in the
last few releases, but, if you choose to proceed, you should last few releases, but, if you choose to proceed, you should
be a <emphasis>very</emphasis> skilled Windows Systems be a <emphasis>very</emphasis> skilled Windows Systems
Administrator with both strong troubleshooting abilities and Administrator with strong troubleshooting abilities, a high
a high tolerance for pain. Bugzilla on NT requires hacking tolerance for pain, and moderate perl skills. Bugzilla on NT
source code and implementing some advanced utilities. What requires hacking source code and implementing some advanced
follows is the recommended installation procedure for Win32; utilities. What follows is the recommended installation
additional suggestions are provided in <xref linkend="faq">. procedure for Win32; additional suggestions are provided in
<xref linkend="faq">.
</para> </para>
</note> </note>
<procedure> <procedure>
<step> <step>
<para> <para>
Install <ulink url="http://www.apache.org/">Apache Web Server</ulink> Install <ulink url="http://www.apache.org/">Apache Web
for Windows. Server</ulink> for Windows, and copy the Bugzilla files
somewhere Apache can serve them. Please follow all the
instructions referenced in <xref linkend="installation">
regarding your Apache configuration, particularly
instructions regarding the <quote>AddHandler</quote>
parameter and <quote>ExecCGI</quote>.
</para> </para>
<note> <note>
<para> <para>
You may also use Internet Information Server or Personal Web You may also use Internet Information Server or Personal
Server for this purpose. However, setup is slightly more Web Server for this purpose. However, setup is quite
difficult. If ActivePerl doesn't seem to handle your file different. If ActivePerl doesn't seem to handle your
associations correctly (for .cgi and .pl files), please file associations correctly (for .cgi and .pl files),
consult <xref linkend="faq">. please consult <xref linkend="faq">.
</para> </para>
<para> <para>
If you are going to use IIS, if on Windows NT you must If you are going to use IIS, if on Windows NT you must
...@@ -1299,8 +1393,7 @@ bash# ./checksetup.pl ...@@ -1299,8 +1393,7 @@ bash# ./checksetup.pl
Install MySQL for NT. Install MySQL for NT.
<note> <note>
<para> <para>
You can download MySQL for Windows NT from <ulink You can download MySQL for Windows NT from <ulink url="http://www.mysql.com/">MySQL.com</ulink>. Some find it helpful to use the WinMySqlAdmin utility, included with the download, to set up the database.
url="http://www.mysql.com/">MySQL.com</ulink>. Some find it helpful to use the WinMySqlAdmin utility, included with the download, to set up the database.
</para> </para>
</note> </note>
</para> </para>
...@@ -1393,13 +1486,21 @@ bash# ./checksetup.pl ...@@ -1393,13 +1486,21 @@ bash# ./checksetup.pl
this line: this line:
</para> </para>
<para> <para>
"my $webservergid = getgrnam($my_webservergroup); " <programlisting>
my $webservergid = getgrnam($my_webservergroup);
</programlisting>
</para> </para>
<para> <para>
to to
</para> </para>
<para> <para>
"my $webservergid = $my_webservergroup; " <programlisting>
my $webservergid = $my_webservergroup;
</programlisting>
or the name of the group you wish to own the files explicitly:
<programlisting>
my $webservergid = 'Administrators'
</programlisting>
</para> </para>
</step> </step>
...@@ -1412,8 +1513,7 @@ bash# ./checksetup.pl ...@@ -1412,8 +1513,7 @@ bash# ./checksetup.pl
<step> <step>
<para>Edit <filename>localconfig</filename> to suit your <para>Edit <filename>localconfig</filename> to suit your
requirements. Set <varname>$db_pass</varname> to your requirements. Set <varname>$db_pass</varname> to your
<quote>bugs_password</quote> from <xref <quote>bugs_password</quote> from <xref linkend="ntbugs-password">, and <varname>$webservergroup</varname> to <quote>8</quote>.</para>
linkend="ntbugs-password">, and <varname>$webservergroup</varname> to <quote>8</quote>.</para>
<note> <note>
<para>Not sure on the <quote>8</quote> for <para>Not sure on the <quote>8</quote> for
<varname>$webservergroup</varname> above. If it's <varname>$webservergroup</varname> above. If it's
...@@ -1455,8 +1555,7 @@ bash# ./checksetup.pl ...@@ -1455,8 +1555,7 @@ bash# ./checksetup.pl
<procedure> <procedure>
<step> <step>
<para> <para>
Download NTsendmail, available from<ulink Download NTsendmail, available from<ulink url="http://www.ntsendmail.com/"> www.ntsendmail.com</ulink>. You must have a "real" mail server which allows you to relay off it in your $ENV{"NTsendmail"} (which you should probably place in globals.pl)
url="http://www.ntsendmail.com/"> www.ntsendmail.com</ulink>. You must have a "real" mail server which allows you to relay off it in your $ENV{"NTsendmail"} (which you should probably place in globals.pl)
</para> </para>
</step> </step>
...@@ -1503,7 +1602,15 @@ $mail->send($from,$to,$subject,$msg); ...@@ -1503,7 +1602,15 @@ $mail->send($from,$to,$subject,$msg);
</programlisting> </programlisting>
</para> </para>
<note> <note>
<para>The code above needs testing as well to make sure it is correct.</para> <para>
Some have found success using the commercial product,
<productname>Windmail</productname>.
You could try replacing your sendmail calls with:
<programlisting>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.log";
</programlisting>
or something to that effect.
</para>
</note> </note>
</step> </step>
</procedure> </procedure>
...@@ -1568,9 +1675,9 @@ exit; ...@@ -1568,9 +1675,9 @@ exit;
<step> <step>
<note> <note>
<para> <para>
This step is completely optional if you are using IIS or This step is optional if you are using IIS or another
another web server which only decides on an interpreter web server which only decides on an interpreter based
based upon the file extension (.pl), rather than the upon the file extension (.pl), rather than the
<quote>shebang</quote> line (#/usr/bonsaitools/bin/perl) <quote>shebang</quote> line (#/usr/bonsaitools/bin/perl)
</para> </para>
</note> </note>
...@@ -1583,8 +1690,7 @@ exit; ...@@ -1583,8 +1690,7 @@ exit;
utility to speed part of this procedure, available in the utility to speed part of this procedure, available in the
<xref linkend="patches"> section of The Bugzilla Guide. <xref linkend="patches"> section of The Bugzilla Guide.
However, it requires the Cygwin GNU-compatible environment However, it requires the Cygwin GNU-compatible environment
for Win32 be set up in order to work. See <ulink for Win32 be set up in order to work. See <ulink url="http://www.cygwin.com/">http://www.cygwin.com/</ulink> for details on obtaining Cygwin.
url="http://www.cygwin.com/">http://www.cygwin.com/</ulink> for details on obtaining Cygwin.
</para> </para>
</step> </step>
...@@ -1604,10 +1710,11 @@ system ("perl processmail.pl",@ARGLIST); ...@@ -1604,10 +1710,11 @@ system ("perl processmail.pl",@ARGLIST);
<tip> <tip>
<para> <para>
If you are using IIS 5.0 or higher, you must add cgi If you are using IIS or Personal Web Server, you must add cgi
relationships to Properties -> Home directory (tab) -> relationships to Properties -> Home directory (tab) ->
Application Settings (section) -> Configuration (button), Application Settings (section) -> Configuration (button),
such as: <programlisting> such as:
<programlisting>
.cgi to: &lt;perl install directory&gt;\perl.exe %s %s .cgi to: &lt;perl install directory&gt;\perl.exe %s %s
.pl to: &lt;perl install directory&gt;\perl.exe %s %s .pl to: &lt;perl install directory&gt;\perl.exe %s %s
GET,HEAD,POST GET,HEAD,POST
...@@ -1625,11 +1732,10 @@ GET,HEAD,POST ...@@ -1625,11 +1732,10 @@ GET,HEAD,POST
From Andrew Pearson: From Andrew Pearson:
<blockquote> <blockquote>
<para> <para>
"You can make Bugzilla work with Personal Web Server for You can make Bugzilla work with Personal Web Server for
Windows 98 and higher, as well as for IIS 4.0. Microsoft has Windows 98 and higher, as well as for IIS 4.0.
information available at Microsoft has information available at <ulink url="
<ulink url=" http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP"> http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP"> http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</ulink>
http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</ulink>
</para> </para>
<para> <para>
Basically you need to add two String Keys in the Basically you need to add two String Keys in the
...@@ -1651,40 +1757,18 @@ GET,HEAD,POST ...@@ -1651,40 +1757,18 @@ GET,HEAD,POST
</para> </para>
</tip> </tip>
<tip> <tip>
<para>"Brian" had this to add, about upgrading to Bugzilla 2.12 from previous versions:</para>
<blockquote>
<para>
Hi - I am updating bugzilla to 2.12 so I can tell you what I did (after I
deleted the current dir and copied the files in).
</para>
<para>
In checksetup.pl, I did the following...
</para>
<procedure>
<step>
<programlisting>
my $webservergid = getgrnam($my_webservergroup);
</programlisting>
<para>to</para>
<programlisting>
my $webservergid = 'Administrators'
</programlisting>
</step>
<step>
<para>
I then ran checksetup.pl
</para>
</step>
<step>
<para> <para>
I removed all the encrypt() If attempting to run Bugzilla 2.12 or older, you will need
to remove encrypt() calls from the Perl source. This is
<emphasis>not necessary</emphasis> for Bugzilla 2.13 and
later.
<example> <example>
<title>Removing encrypt() for Windows NT installations</title> <title>Removing encrypt() for Windows NT Bugzilla version
2.12 or earlier</title>
<para> <para>
Replace this: Replace this:
<programlisting> <programlisting>
SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn(); my $enteredcryptpwd = FetchOneColumn();
</programlisting> </programlisting>
with this: with this:
...@@ -1695,75 +1779,6 @@ my $enteredcryptpwd = $enteredpwd ...@@ -1695,75 +1779,6 @@ my $enteredcryptpwd = $enteredpwd
</para> </para>
</example> </example>
</para> </para>
</step>
<step>
<para>
I renamed processmail to processmail.pl
</para>
</step>
<step>
<para>
I altered the sendmail statements to windmail:
<programlisting>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t > mail.log";
</programlisting>
</para>
<para>
The quotes around the dir is for the spaces. mail.log is for the output
</para>
</step>
</procedure>
</blockquote>
</tip>
<tip>
<para>
This was some late breaking information from Jan Evert. Sorry for the lack of formatting.
</para>
<literallayout>
I'm busy installing bugzilla on a WinNT machine and I thought I'd notify you
at this moment of the commments I have to section 2.2.1 of the bugzilla
guide (at http://www.trilobyte.net/barnsons/html/).
Step 1:
I've used apache, installation is really straightforward.
After reading the Unix installation instructions, I found that it is
necessary to add the ExecCGI option to the bugzilla directory. Also the
'AddHandler' line for .cgi is by default commented out.
Step 3: although just a detail, 'ppm install &lt;module%gt;' will also work
(without .ppd). And, it can also download these automatically from
ActiveState.
Step 4: although I have cygwin installed, it seems that it is not necessary.
On my machine cygwin is not in the PATH and everything seems to work as
expected.
However, I've not used everything yet.
Step 6: the 'bugs_password' given in SQL command d needs to be edited into
localconfig later on (Step 7) if the password is not empty. I've also edited
it into globals.pl, but I'm not sure that is needed. In both places, the
variable is named db_pass.
Step 8: all the sendmail replacements mentioned are not as simple as
described there. Since I am not familiar (yet) with perl, I don't have any
mail working yet.
Step 9: in globals.pl the encrypt() call can be replaced by just the
unencrypted password. In CGI.pl, the complete SQL command can be removed.
Step 11: I've only changed the #! lines in *.cgi. I haven't noticed problems
with the system() call yet.
There seem to be only four system() called programs: processmail.pl (handled
by step 10), syncshadowdb (which should probably get the same treatment as
processmail.pl), diff and mysqldump. The last one is only needed with the
shadowdb feature (which I don't use).
There seems to be one step missing: copying the bugzilla files somehwere
that apache can serve them.
Just noticed the updated guide... Brian's comment is new. His first comment
will work, but opens up a huge security hole.
</literallayout>
</tip> </tip>
</section> </section>
</section> </section>
......
...@@ -5,49 +5,59 @@ ...@@ -5,49 +5,59 @@
<chapter id="integration"> <chapter id="integration">
<title>Integrating Bugzilla with Third-Party Tools</title> <title>Integrating Bugzilla with Third-Party Tools</title>
<section id="bonsai"> <section id="bonsai" xreflabel="Bonsai, the Mozilla automated CVS management system">
<title>Bonsai</title> <title>Bonsai</title>
<para>We need Bonsai integration information.</para> <para>Bonsai is a web-based tool for managing <xref
linkend="cvs">
. Using Bonsai, administrators can control open/closed status
of trees, query a fast relational database back-end for change,
branch, and comment information, and view changes made since the
last time the tree was closed. These kinds of changes cause the
engineer responsible to be <quote>on the hook</quote> (include
cool URL link here for Hook policies at mozilla.org). Bonsai
also includes gateways to <xref
linkend="tinderbox"> and Bugzilla </para>
</section> </section>
<section id="cvs"> <section id="cvs" xreflabel="CVS, the Concurrent Versioning System">
<title>CVS</title> <title>CVS</title>
<para>CVS integration is best accomplished, at this point, using the Bugzilla Email Gateway.</para> <para>CVS integration is best accomplished, at this point, using
the Bugzilla Email Gateway. There have been some files
submitted to allow greater CVS integration, but we need to make
certain that Bugzilla is not tied into one particular software
management package.</para>
<para>
Follow the instructions in the FAQ for enabling Bugzilla e-mail
integration. Ensure that your check-in script sends an email to
your Bugzilla e-mail gateway with the subject of <quote>[Bug
XXXX]</quote>, and you can have CVS check-in comments append
to your Bugzilla bug. If you have your check-in script include
an @resolution field, you can even change the Bugzilla bug
state.
</para>
</section> </section>
<section id="scm"> <section id="scm" xreflabel="Perforce SCM (Fast Software Configuration Management System, a powerful commercial alternative to CVS">
<title>Perforce SCM</title> <title>Perforce SCM</title>
<para> <para>
You can find the project page for Bugzilla and Teamtrack Perforce integration at: You can find the project page for Bugzilla and Teamtrack
<ulink url="http://www.ravenbrook.com/project/p4dti/"> Perforce integration (p4dti) at: <ulink
http://www.ravenbrook.com/project/p4dti</ulink>. "p4dti" is now an officially url="http://www.ravenbrook.com/project/p4dti/"> http://www.ravenbrook.com/project/p4dti</ulink> . <quote>p4dti</quote> is now an officially supported product from Perforce, and you can find the "Perforce Public Depot" p4dti page at <ulink url="http://public.perforce.com/public/perforce/p4dti/index.html"> http://public.perforce.com/public/perforce/p4dti/index.html</ulink>.
supported product from Perforce, and you can find the "Perforce Public Depot"
p4dti page at <ulink url="http://public.perforce.com/public/perforce/p4dti/index.html">
http://public.perforce.com/public/perforce/p4dti/index.html</ulink>.
</para>
<para>
Integration of Perforce with Bugzilla, once patches are applied, is fairly seamless. However,
p4dti is a patch against the Bugzilla 2.10 release, not the current 2.12 release. I anticipate
patches for 2.12 will be out shortly. Check the project page regularly for updates, or
take the given patches and patch it manually. p4dti is designed to support multiple defect
trackers, and maintains its own documentation for it. Please consult the pages linked
above for further information.
</para> </para>
<para> <para>
Right now, there is no way to synchronize the Bug ID and the Perforce Transaction Number, or Integration of Perforce with Bugzilla, once patches are applied,
to change the Bug ID to read (PRODUCT).bugID unless you hack it in. Additionally, if you is seamless. Perforce replication information will appear below
have synchronization problems, the easiest way to avoid them is to only put the bug the comments of each bug. Be certain you have a matching set of
information, comments, etc. into Bugzilla, and not into the Perforce change records. patches for the Bugzilla version you are installing. p4dti is
They will link anyway; merely reference the bug ID fixed in your change description, designed to support multiple defect trackers, and maintains its
and put a comment into Bugzilla own documentation for it. Please consult the pages linked above
giving the change ID that fixed the Bugzilla bug. It's a process issue, not a technology for further information.
question.
</para> </para>
</section> </section>
<section id="tinderbox"> <section id="tinderbox" xreflabel="Tinderbox, the Mozilla automated build management system">
<title>Tinderbox</title> <title>Tinderbox/Tinderbox2</title>
<para>We need Tinderbox integration information</para> <para>We need Tinderbox integration information.</para>
</section> </section>
</chapter> </chapter>
......
...@@ -3,6 +3,40 @@ ...@@ -3,6 +3,40 @@
<appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla"> <appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
<title>Useful Patches and Utilities for Bugzilla</title> <title>Useful Patches and Utilities for Bugzilla</title>
<para>Are you looking for a way to put your Bugzilla into overdrive? Catch some of the niftiest tricks here in this section.</para>
<section id="rewrite" xreflabel="Apache mod_rewrite magic">
<title>Apache <filename>mod_rewrite</filename> magic</title>
<para>Apache's <filename>mod_rewrite</filename> module lets you do some truly amazing things with URL rewriting. Here are a couple of examples of what you can do.</para>
<orderedlist>
<listitem>
<para>
Make it so if someone types
<computeroutput>http://www.foo.com/12345</computeroutput>,
Bugzilla spits back
http://www.foo.com/show_bug.cgi?id=12345. Try setting up
your VirtualHost section for Bugzilla with a rule like
this:</para>
<programlisting>
<![CDATA[
<VirtualHost 12.34.56.78>
RewriteEngine On
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
</VirtualHost>
]]>
</programlisting>
</listitem>
<listitem>
<para>There are many, many more things you can do with
mod_rewrite. As time goes on, I will include many more in
the Guide. For now, though, please refer to the mod_rewrite
documentation at <ulink
url="http://www.apache.org">http://www.apache.org</ulink></para>
</listitem>
</orderedlist>
</section>
<section id="setperl" xreflabel="The setperl.csh Utility"> <section id="setperl" xreflabel="The setperl.csh Utility">
<title>The setperl.csh Utility</title> <title>The setperl.csh Utility</title>
<para> You can use the "setperl.csh" utility to quickly and <para> You can use the "setperl.csh" utility to quickly and
......
...@@ -31,7 +31,7 @@ Chapter: Using Bugzilla ...@@ -31,7 +31,7 @@ Chapter: Using Bugzilla
<title>Using Bugzilla</title> <title>Using Bugzilla</title>
<epigraph> <epigraph>
<para> <para>
What, Why, How, & What's in it for me? What, Why, How, & Where?
</para> </para>
</epigraph> </epigraph>
...@@ -92,8 +92,10 @@ system against which all others are measured. ...@@ -92,8 +92,10 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
available integration with automated software configuration management systems, including available integration with automated software
Perforce and CVS configuration management systems, including Perforce and
CVS (through the Bugzilla email interface and
checkin/checkout scripts)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -104,23 +106,28 @@ system against which all others are measured. ...@@ -104,23 +106,28 @@ system against which all others are measured.
</itemizedlist> </itemizedlist>
</para> </para>
<para> <para>
Despite its current robustness and popularity, however, Bugzilla Despite its current robustness and popularity, Bugzilla faces
faces some near-term challenges, such as reliance on a single database, a lack of some near-term challenges, such as reliance on a single
abstraction of the user interface and program logic, verbose email bug database, a lack of abstraction of the user interface and
notifications, a powerful but daunting query interface, little reporting configurability, program logic, verbose email bug notifications, a powerful but
problems with extremely large queries, some unsupportable bug resolution options, daunting query interface, little reporting configurability,
no internationalization, and dependence on some nonstandard libraries. problems with extremely large queries, some unsupportable bug
resolution options, little internationalization (although non-US
character sets are accepted for comments), and dependence on
some nonstandard libraries.
</para> </para>
<para> <para>
Some recent headway has been made on the query front, however. If you are using the latest Some recent headway has been made on the query front, however.
version of Bugzilla, you should see a "simple search" form on the default front page of If you are using the latest version of Bugzilla, you should see
your Bugzilla install. Type in two or three search terms and you should pull up some a <quote>simple search</quote> form on the default front page of
relevant information. This is also available as "queryhelp.cgi". your Bugzilla install. Type in two or three search terms and
you should pull up some relevant information. This is also
available as "queryhelp.cgi".
</para> </para>
<para> <para>
Despite these small problems, Bugzilla is very hard to beat. It is under <emphasis>very</emphasis> Despite these small problems, Bugzilla is very hard to beat. It
active development to address the current issues, and a long-awaited overhaul in the form is under <emphasis>very</emphasis> active development to address
of Bugzilla 3.0 is expected sometime later this year. the current issues, and continually gains new features.
</para> </para>
</section> </section>
...@@ -132,50 +139,57 @@ system against which all others are measured. ...@@ -132,50 +139,57 @@ system against which all others are measured.
</para> </para>
</epigraph> </epigraph>
<para> <para>
For many years, defect-tracking software has remained principally the domain For many years, defect-tracking software has remained
of large software development houses. Even then, most shops never bothered principally the domain of large software development houses.
with bug-tracking software, and instead simply relied on shared lists and Even then, most shops never bothered with bug-tracking software,
email to monitor the status of defects. This procedure is error-prone and and instead simply relied on shared lists and email to monitor
tends to cause those bugs judged least significant by developers to be the status of defects. This procedure is error-prone and tends
to cause those bugs judged least significant by developers to be
dropped or ignored. dropped or ignored.
</para> </para>
<para> <para>
These days, many companies are finding that integrated defect-tracking These days, many companies are finding that integrated
systems reduce downtime, increase productivity, and raise customer defect-tracking systems reduce downtime, increase productivity,
satisfaction with their systems. Along with full disclosure, an open and raise customer satisfaction with their systems. Along with
bug-tracker allows manufacturers to keep in touch with their clients full disclosure, an open bug-tracker allows manufacturers to
and resellers, to communicate about problems effectively throughout keep in touch with their clients and resellers, to communicate
the data management chain. Many corporations have also discovered that about problems effectively throughout the data management chain.
defect-tracking helps reduce costs by providing IT support accountability, Many corporations have also discovered that defect-tracking
telephone support knowledge bases, and a common, well-understood system helps reduce costs by providing IT support accountability,
for accounting for unusual system or software issues. telephone support knowledge bases, and a common, well-understood
system for accounting for unusual system or software issues.
</para> </para>
<para> <para>
But why should <emphasis>you</emphasis> use Bugzilla? But why should <emphasis>you</emphasis> use Bugzilla?
</para> </para>
<para> <para>
Bugzilla is very adaptable to various situations. Known uses currently Bugzilla is very adaptable to various situations. Known uses
include IT support queues, Systems Administration deployment management, currently include IT support queues, Systems Administration
chip design and development problem tracking (both pre-and-post fabrication), deployment management, chip design and development problem
and software and hardware bug tracking for luminaries such as Redhat, Loki software, tracking (both pre-and-post fabrication), and software and
Linux-Mandrake, and VA Systems. Combined with systems such as CVS, Bonsai, hardware bug tracking for luminaries such as Redhat, Loki
or Perforce SCM, Bugzilla provides a powerful, easy-to-use solution to software, Linux-Mandrake, and VA Systems. Combined with systems
configuration management and replication problems such as CVS, Bonsai, or Perforce SCM, Bugzilla provides a
powerful, easy-to-use solution to configuration management and
replication problems
</para> </para>
<para> <para>
Bugzilla can dramatically increase the productivity and accountability Bugzilla can dramatically increase the productivity and
of individual employees by providing a documented workflow and positive accountability of individual employees by providing a documented
feedback for good performance. How many times do you wake up in the workflow and positive feedback for good performance. How many
morning, remembering that you were supposed to do *something* today, times do you wake up in the morning, remembering that you were
but you just can't quite remember? Put it in Bugzilla, and you have a record supposed to do <emphasis>something</emphasis> today, but you
of it from which you can extrapolate milestones, predict product versions just can't quite remember? Put it in Bugzilla, and you have a
for integration, and by using Bugzilla's e-mail integration features record of it from which you can extrapolate milestones, predict
be able to follow the discussion trail that led to critical decisions. product versions for integration, and by using Bugzilla's e-mail
integration features be able to follow the discussion trail that
led to critical decisions.
</para> </para>
<para> <para>
Ultimately, Bugzilla puts the power in your hands to improve your value Ultimately, Bugzilla puts the power in your hands to improve
to your employer or business while providing a usable framework for your natural your value to your employer or business while providing a usable
attention to detail and knowledge store to flourish. framework for your natural attention to detail and knowledge
store to flourish.
</para> </para>
</section> </section>
...@@ -189,46 +203,45 @@ system against which all others are measured. ...@@ -189,46 +203,45 @@ system against which all others are measured.
<para> <para>
Bugzilla is a large, complex system. Describing how to use it Bugzilla is a large, complex system. Describing how to use it
requires some time. If you are only interested in installing or administering requires some time. If you are only interested in installing or
a Bugzilla installation, please consult the Installing and Administering administering a Bugzilla installation, please consult the
Bugzilla portions of this Guide. This section is principally aimed towards Installing and Administering Bugzilla portions of this Guide.
developing end-user mastery of Bugzilla, so you may fully enjoy the benefits This section is principally aimed towards developing end-user
afforded by using this reliable open-source bug-tracking software. mastery of Bugzilla, so you may fully enjoy the benefits
afforded by using this reliable open-source bug-tracking
software.
</para> </para>
<para> <para>
Throughout this portion of the Guide, we will refer to user account Throughout this portion of the Guide, we will refer to user
options available at the Bugzilla test installation, account options available at the Bugzilla test installation,
<ulink url="http://landfill.tequilarista.org/"> <ulink url="http://landfill.tequilarista.org/">
landfill.tequilarista.org</ulink>. landfill.tequilarista.org</ulink>.
<note> <note>
<para> <para>
Some people have run into difficulties completing this tutorial. If Some people have run into difficulties completing this
you run into problems, please check the updated, online documentation available tutorial. If you run into problems, please check the
at <ulink url="http://www.trilobyte.net/barnsons/">http://www.trilobyte.net/barnsons</ulink>. updated online documentation available at <ulink
If you're still stumped, please subscribe to the newsgroup and provide details of exactly url="http://www.trilobyte.net/barnsons/">http://www.trilobyte.net/barnsons</ulink>. If you're still stumped, please subscribe to the newsgroup and provide details of exactly what's stumping you! If enough people complain, I'll have to fix it in the next version of this Guide. You can subscribe to the newsgroup at <ulink url="news://news.mozilla.org/netscape.public.mozilla.webtools"> news://news.mozilla.org/netscape.public.mozilla.webtools</ulink>
what's stumping you! If enough people complain, I'll have to fix it in the next
version of this Guide. You can subscribe to the newsgroup at
<ulink url="news://news.mozilla.org/netscape.public.mozilla.webtools">
news://news.mozilla.org/netscape.public.mozilla.webtools</ulink>
</para> </para>
</note> </note> Although Landfill serves as a great introduction to
Although Landfill serves as a great introduction to Bugzilla, it does not offer Bugzilla, it does not offer all the options you would have as a
all the options you would have as a user on your own installation of Bugzilla, user on your own installation of Bugzilla, nor can it do more
nor can it do more than serve as a general introduction to Bugzilla. Additionally, than serve as a general introduction to Bugzilla. Additionally,
Landfill often runs cutting-edge versions of Bugzilla for testing, so some things Landfill often runs cutting-edge versions of Bugzilla for
may work slightly differently than mentioned here. testing, so some things may work slightly differently than
mentioned here.
</para> </para>
<section id="myaccount"> <section id="myaccount">
<title>Create a Bugzilla Account</title> <title>Create a Bugzilla Account</title>
<para> <para>
First things first! If you want to use Bugzilla, first you need to create First things first! If you want to use Bugzilla, first you
an account. Consult with the administrator responsible for your installation need to create an account. Consult with the administrator
of Bugzilla for the URL you should use to access it. responsible for your installation of Bugzilla for the URL you
If you're test-driving the end-user Bugzilla experience, use this URL: should use to access it. If you're test-driving the end-user
<ulink url="http://landfill.tequilarista.org/bugzilla-tip/"> Bugzilla experience, use this URL: <ulink
http://landfill.tequilarista.org/bugzilla-tip/</ulink> url="http://landfill.tequilarista.org/bugzilla-tip/"> http://landfill.tequilarista.org/bugzilla-tip/</ulink>
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
...@@ -238,64 +251,81 @@ system against which all others are measured. ...@@ -238,64 +251,81 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enter your "E-mail address" and "Real Name" (or whatever name you want to call yourself) Enter your "E-mail address" and "Real Name" (or whatever
in the spaces provided, then select the "Create Account" button. name you want to call yourself) in the spaces provided,
then select the "Create Account" button.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Within 5-10 minutes, you should receive an email to the address you provided above, Within moments, you should receive an email to the address
which contains your login name (generally the same as the email address), and you provided above, which contains your login name
a password you can use to access your account. This password is randomly generated, (generally the same as the email address), and a password
and should be changed at your nearest opportunity (we'll go into how to do it later). you can use to access your account. This password is
randomly generated, and should be changed at your nearest
opportunity (we'll go into how to do it later).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Click the "Log In" link in the yellow area at the bottom of the page in your browser, Click the <quote>Log In</quote> link in the yellow area at
then enter your "E-mail address" and "Password" you just received into the spaces provided, the bottom of the page in your browser, then enter your
and select "Login". <quote>E-mail address</quote> and <quote>Password</quote>
you just received into the spaces provided, and select
<quote>Login</quote>.
<note> <note>
<para> <para>
If you ever forget your password, you can come back to this page, enter your If you ever forget your password, you can come back to
"E-mail address", then select the "E-mail me a password" button to have your password this page, enter your <quote>E-mail address</quote>,
mailed to you again so that you can login. then select the <quote>E-mail me a password</quote>
button to have your password mailed to you again so
that you can login.
</para> </para>
</note> </note>
<caution> <caution>
<para> <para>
Many modern browsers include an "Auto-Complete" or "Form Fill" feature to Many modern browsers include an
remember the user names and passwords you type in at many sites. Unfortunately, <quote>Auto-Complete</quote> or <quote>Form
sometimes they attempt to "guess" what you will put in as your password, and guess Fill</quote> feature to remember the user names and
wrong. If you notice a text box is already filled out, please overwrite the contents passwords you type in at many sites. Unfortunately,
of the text box so you can be sure to input the correct information. sometimes they attempt to guess what you will put in
as your password, and guess wrong. If you notice a
text box is already filled out, please overwrite the
contents of the text box so you can be sure to input
the correct information.
</para> </para>
</caution> </caution>
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
Congratulations! If you followed these directions, you now are the Congratulations! If you followed these directions, you now
proud owner of a user account on landfill.tequilarista.org (Landfill) or are the proud owner of a user account on
your local Bugzilla install. You should now see in your browser a landfill.tequilarista.org (Landfill) or your local Bugzilla
page called the "Bugzilla Query Page". It may look daunting, but install. You should now see in your browser a page called the
with this Guide to walk you through it, you will master it in no time. <quote>Bugzilla Query Page</quote>. It may look daunting, but with this
Guide to walk you through it, you will master it in no time.
</para> </para>
</section> </section>
<section id="query"> <section id="query">
<title>The Bugzilla Query Page</title> <title>The Bugzilla Query Page</title>
<para> <para>
The Bugzilla Query Page is the heart and soul of Bugzilla. It is the master The Bugzilla Query Page is the heart and soul of the Bugzilla
interface where you can find any bug report, comment, or patch currently in the Bugzilla user experience. It is the master interface where you can
system. We'll go into how to create your own bug report later on. find any bug report, comment, or patch currently in the
Bugzilla system. We'll go into how to create your own bug
report later on.
</para> </para>
<para> <para>
There are efforts underway to simplify query usage. If you have a local installation There are efforts underway to simplify query usage. If you
of Bugzilla 2.12 or higher, you should have "quicksearch.html" available have a local installation of Bugzilla 2.12 or higher, you
to use and simplify your searches. There is also, or shortly will be, a helper should have <filename>quicksearch.html</filename> available to
for the query interface, called "queryhelp.cgi". Landfill tends to run the latest code, use and simplify your searches. There is also a helper for
so these two utilities should be available there for your perusal. the query interface, called
<filename>queryhelp.cgi</filename>. Landfill tends to run the
latest code, so these two utilities should be available there
for your perusal.
</para> </para>
<para> <para>
At this point, please visit the main Bugzilla site, At this point, please visit the main Bugzilla site,
...@@ -303,47 +333,57 @@ system against which all others are measured. ...@@ -303,47 +333,57 @@ system against which all others are measured.
bugzilla.mozilla.org</ulink>, to see a more fleshed-out query page. bugzilla.mozilla.org</ulink>, to see a more fleshed-out query page.
</para> </para>
<para> <para>
The first thing you need to notice about the Bugzilla Query Page is that The first thing you need to notice about the Bugzilla Query
nearly every box you see on your screen has a hyperlink nearby, explaining what Page is that nearly every box you see on your screen has a
it is or what it does. Near the upper-left-hand corner of your browser window hyperlink nearby, explaining what it is or what it does. Near
you should see the word "Status" underlined. Select it. the upper-left-hand corner of your browser window you should
see the word <quote>Status</quote> underlined. Select it.
</para> </para>
<para> <para>
Notice the page that popped up? Every underlined word you see on your screen Notice the page that popped up? Every underlined word you see
is a hyperlink that will take you to context-sensitive help. on your screen is a hyperlink that will take you to
Click around for a while, and learn what everything here does. To return context-sensitive help. Click around for a while, and learn
to the query interface after pulling up a help page, use the "Back" button in what everything here does. To return to the query interface
your browser. after pulling up a help page, use the <quote>Back</quote>
button in your browser.
</para> </para>
<para> <para>
I'm sure that after checking out the online help, you are now an Expert I'm sure that after checking out the online help, you are now
on the Bugzilla Query Page. If, however, you feel you haven't mastered it yet, an expert on the Bugzilla Query Page. If, however, you feel
let me walk you through making a few successful queries to find out what there you haven't mastered it yet, let me walk you through making a
are in the Bugzilla bug-tracking system itself. few successful queries to find out what there are in the
Bugzilla bug-tracking system itself.
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Ensure you are back on the "Bugzilla Query Page" Ensure you are back on the <quote>Bugzilla Query
Do nothing in the boxes marked "Status", "Resolution", "Platform", "OpSys", Page</quote>. Do nothing in the boxes marked "Status",
"Priority", or "Severity". The default query for "Status" is to find all bugs that "Resolution", "Platform", "OpSys", "Priority", or
are NEW, ASSIGNED, or REOPENED, which is what we want. If you don't select anything "Severity". The default query for "Status" is to find all
in the other 5 scrollboxes there, then you are saying that "any of these are OK"; bugs that are NEW, ASSIGNED, or REOPENED, which is what we
we're not locking ourselves into only finding bugs on the "DEC" Platform, or "Windows 95" want. If you don't select anything in the other 5
OpSys (Operating System). You're smart, I think you have it figured out. scrollboxes there, then you are saying that "any of these
are OK"; we're not locking ourselves into only finding
bugs on the "DEC" Platform, or "Windows 95" OpSys
(Operating System). You're smart, I think you have it
figured out.
</para> </para>
<para> <para>
Basically, selecting <emphasis>anything</emphasis> on the query page narrows your search Basically, selecting <emphasis>anything</emphasis> on the
down. Leaving stuff unselected, or text boxes unfilled, broadens your search! query page narrows your search down. Leaving stuff
unselected, or text boxes unfilled, broadens your search.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
You see the box immediately below the top six boxes that contains an "Email" text box, You see the box immediately below the top six boxes that
with the words "matching as", a drop-down selection box, then some checkboxes with contains an "Email" text box, with the words "matching
"Assigned To" checked by default? This allows you to filter your search down based upon as", a drop-down selection box, then some checkboxes with
email address. Let's put my email address in there, and see what happens. "Assigned To" checked by default? This allows you to
filter your search down based upon email address. Let's
put my email address in there, and see what happens.
</para> </para>
<para> <para>
Type "barnboy@trilobyte.net" in the top Email text box. Type "barnboy@trilobyte.net" in the top Email text box.
...@@ -352,47 +392,55 @@ system against which all others are measured. ...@@ -352,47 +392,55 @@ system against which all others are measured.
<listitem> <listitem>
<para> <para>
Let's narrow the search some more. Scroll down until you find the box with the word Let's narrow the search some more. Scroll down until you
"Program" over the top of it. This is where we can narrow our search down to only find the box with the word "Program" over the top of it.
specific products (software programs or product lines) in our Bugzilla database. This is where we can narrow our search down to only
Please notice the box is a <emphasis>scrollbox</emphasis>. Using the down arrow on the specific products (software programs or product lines) in
scrollbox, scroll down until you can see an entry called "Webtools". Select this entry. our Bugzilla database. Please notice the box is a
<emphasis>scrollbox</emphasis>. Using the down arrow on
the scrollbox, scroll down until you can see an entry
called "Webtools". Select this entry.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Did you notice that some of the boxes to the right changed when you selected "Webtools"? Did you notice that some of the boxes to the right changed
Every Program (or Product) has different Versions, Components, and Target Milestones associated when you selected "Webtools"? Every Program (or Product)
with it. A "Version" is the number of a software program. has different Versions, Components, and Target Milestones
associated with it. A "Version" is the number of a
software program.
<example> <example>
<title>Some Famous Software Versions</title> <title>Some Famous Software Versions</title>
<informalexample> <informalexample>
<para> <para>
Do you remember the hype in 1995 when Microsoft Windows 95(r) was released? Do you remember the hype in 1995 when Microsoft
It may have been several years Windows 95(r) was released? It may have been several
ago, but Microsoft(tm) spent over $300 Million advertising this new Version of their years ago, but Microsoft(tm) spent over $300 Million
software. Three years later, they released Microsoft Windows 98(r), advertising this new Version of their software.
another new version, to great fanfare, and then in 2000 quietly Three years later, they released Microsoft Windows
released Microsoft Windows ME(Millenium Edition)(r). 98(r), another new version, to great fanfare, and
</para> then in 2000 quietly released Microsoft Windows
<para> ME(Millenium Edition)(r).
Software "Versions" help a manufacturer differentiate </para>
their current product from their <para>
previous products. Most do not identify their products Software "Versions" help a manufacturer
by the year they were released. differentiate their current product from their
Instead, the "original" version of their software will previous products. Most do not identify their
often be numbered "1.0", with products by the year they were released. Instead,
small bug-fix releases on subsequent tenths of a digit. In most cases, it's not the "original" version of their software will often
a decimal number; for instance, often 1.9 is an <emphasis>older</emphasis> version be numbered "1.0", with small bug-fix releases on
of the software than 1.11, subsequent tenths of a digit. In most cases, it's
but is a <emphasis>newer</emphasis> version than 1.1.1. not a decimal number; for instance, often 1.9 is an
<emphasis>older</emphasis> version of the software
than 1.11, but is a <emphasis>newer</emphasis>
version than 1.1.1.
</para> </para>
<para> <para>
In general, a "Version" in Bugzilla should refer to In general, a "Version" in Bugzilla should refer to
<emphasis>released</emphasis> <emphasis>released</emphasis> products, not products
products, not products that have not yet been released that have not yet been released to the public.
to the public. Forthcoming products Forthcoming products are what the Target Milestone
are what the Target Milestone field is for. field is for.
</para> </para>
</informalexample> </informalexample>
</example> </example>
...@@ -438,26 +486,25 @@ system against which all others are measured. ...@@ -438,26 +486,25 @@ system against which all others are measured.
</example> </example>
</para> </para>
<para> <para>
A "Milestone", or "Target Milestone" is a often a planned future "Version" of a A "Milestone", or "Target Milestone" is a often a planned
product. In many cases, though, Milestones simply represent significant dates for future "Version" of a product. In many cases, though,
a developer. Having certain features in your Product is frequently Milestones simply represent significant dates for a
tied to revenue (money) developer. Having certain features in your Product is
the developer will receive if the features work by the time she frequently tied to revenue (money) the developer will
reaches the Target Milestone. receive if the features work by the time she reaches the
Target Milestones are a great tool to organize your time. Target Milestone. Target Milestones are a great tool to
If someone will pay you $100,000 for organize your time. If someone will pay you $100,000 for
incorporating certain features by a certain date, incorporating certain features by a certain date, those
those features by that Milestone date become features by that Milestone date become a very high
a very high priority. Milestones tend to be highly malleable creatures, priority. Milestones tend to be highly malleable
though, that appear creatures, though, that appear to be in reach but are out
to be in reach but are out of reach by the time the important day arrives. of reach by the time the important day arrives.
</para> </para>
<para> <para>
The Bugzilla Project has set up Milestones for future The Bugzilla Project has set up Milestones for future
Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However, Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However, a
a Target Milestone can just as easily be a specific date, Target Milestone can just as easily be a specific date,
code name, or weird alphanumeric code name, or weird alphanumeric combination, like "M19".
combination, like "M19".
</para> </para>
</listitem> </listitem>
...@@ -475,56 +522,54 @@ system against which all others are measured. ...@@ -475,56 +522,54 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Congratulations! You've completed your first Query, and have before you the Bug List Congratulations! You've completed your first Query, and
of the author of this Guide, Matthew P. Barnson (barnboy@trilobyte.net). If I'm have before you the Bug List of the author of this Guide,
doing well, Matthew P. Barnson (barnboy@trilobyte.net). If I'm doing
you'll have a cryptic "Zarro Boogs Found" message on your screen. It is just well, you'll have a cryptic "Zarro Boogs Found" message on
a happy hacker's way of saying "Zero Bugs Found". However, I am fairly certain I will your screen. It is just a happy hacker's way of saying
"Zero Bugs Found". However, I am fairly certain I will
always have some bugs assigned to me that aren't done yet, always have some bugs assigned to me that aren't done yet,
so you won't often see that message! so you won't often see that message!
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
I encourage you to click the bug numbers in the left-hand column and examine I encourage you to click the bug numbers in the left-hand
my bugs. Also notice that if you click the underlined column and examine my bugs. Also notice that if you click the
links near the top of this page, they do underlined links near the top of this page, they do not take
not take you to context-sensitive help here, you to context-sensitive help here, but instead sort the
but instead sort the columns of bugs on the screen! columns of bugs on the screen! When you need to sort your bugs
When you need to sort your bugs by priority, severity, by priority, severity, or the people they are assigned to,
or the people they are assigned to, this this is a tremendous timesaver.
is a tremendous timesaver.
</para> </para>
<para> <para>
A couple more interesting things about the Bug List page: A couple more interesting things about the Bug List page:
<simplelist> <simplelist>
<member><emphasis>Change Columns</emphasis>: <member><emphasis>Change Columns</emphasis>: by selecting
by selecting this link, you can show all kinds this link, you can show all kinds of information in the
of information in the Bug List</member> Bug List</member>
<member><emphasis>Change several bugs at once</emphasis>: <member><emphasis>Change several bugs at once</emphasis>: If
If you have sufficient rights to change all you have sufficient rights to change all the bugs shown in
the bugs shown in the Bug List, you can mass-modify them. the Bug List, you can mass-modify them. This is a big
This is a big time-saver.</member> time-saver.</member>
<member><emphasis>Send mail to bug owners</emphasis>: <member><emphasis>Send mail to bug owners</emphasis>: If you
If you have many related bugs, you can request have many related bugs, you can request an update from
an update from every person who owns the bugs in every person who owns the bugs in the Bug List asking them
the Bug List asking them the status.</member> the status.</member>
<member><emphasis>Edit this query</emphasis>: <member><emphasis>Edit this query</emphasis>: If you didn't
If you didn't get exactly the results you were looking for, get exactly the results you were looking for, you can
you can return to the Query page through this link and make return to the Query page through this link and make small
small revisions to the query you just made so revisions to the query you just made so you get more
you get more accurate results.</member> accurate results.</member>
</simplelist> </simplelist>
</para> </para>
<note> <note>
<para> <para>
There are many more options to the Bugzilla Query Page There are many more options to the Bugzilla Query Page and
and the Bug List than I have shown you. the Bug List than I have shown you. But this should be
But this should be enough for you to learn to get around. enough for you to learn to get around. I encourage you to
I encourage you to check out the check out the <ulink
<ulink url="http://www.mozilla.org/bugs/">Bugzilla Home Page</ulink> url="http://www.mozilla.org/bugs/">Bugzilla Home Page</ulink> to learn about the Anatomy and Life Cycle of a Bug before continuing.
to learn about the Anatomy
and Life Cycle of a Bug before continuing.
</para> </para>
</note> </note>
</section> </section>
...@@ -539,37 +584,35 @@ system against which all others are measured. ...@@ -539,37 +584,35 @@ system against which all others are measured.
<section id="bug_writing"> <section id="bug_writing">
<title>Writing a Great Bug Report</title> <title>Writing a Great Bug Report</title>
<para> <para>
Before we plunge into writing your first bug report, I encourage you to read Before we plunge into writing your first bug report, I
<ulink url="http://www.mozilla.org/quality/bug-writing-guidelines.html">Mozilla.org's Bug encourage you to read some bug-writing guidelines. If you
Writing Guidelines</ulink>. While some of the advice is Mozilla-specific, the basic are reading this document as part of a Bugzilla CVS checkout
principles of reporting Reproducible, Specific bugs, isolating the Product you are or un-tarred Bugzilla distribution, you should be able to
using, the Version of the Product, the Component which failed, the Hardware Platform, and read them by clicking <ulink
Operating System you were using at the time of the failure go a long way toward ensuring accurate, url="../../bugwritinghelp.html">here</ulink>. If you are reading this online, check out the Mozilla.org bug-writing guidelines at <ulink url="http://www.mozilla.org/quality/bug-writing-guidelines.html">http://www.mozilla.org/quality/bug-writing-guidelines.html</ulink>. While some of the advice is Mozilla-specific, the basic principles of reporting Reproducible, Specific bugs, isolating the Product you are using, the Version of the Product, the Component which failed, the Hardware Platform, and Operating System you were using at the time of the failure go a long way toward ensuring accurate, responsible fixes for the bug that bit you.
responsible fixes for the bug that bit you.
</para> </para>
<para> <para>
While you are at it, why not learn how to find previously reported bugs? Mozilla.org While you are at it, why not learn how to find previously
has published a great tutorial on finding duplicate bugs, available at reported bugs? Mozilla.org has published a great tutorial
<ulink url="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html"> on finding duplicate bugs, available at <ulink
http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</ulink>. url="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html"> http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</ulink>.
</para> </para>
<para> <para>
I realize this was a lot to read. However, understanding the mentality of writing I realize this was a lot to read. However, understanding
great bug reports will help us on the next part! the mentality of writing great bug reports will help us on
the next part!
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Go back to <ulink url="http://landfill.tequilarista.org/bugzilla-tip/"> Go back to <ulink
http://landfill.tequilarista.org/bugzilla-tip/</ulink> url="http://landfill.tequilarista.org/bugzilla-tip/"> http://landfill.tequilarista.org/bugzilla-tip/</ulink> in your browser.
in your browser.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Select the Select the <ulink
<ulink url="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi"> url="http://landfill.tequilarista.org/bugzilla-tip/enter_bug.cgi"> Enter a new bug report</ulink> link.
Enter a new bug report</ulink> link.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -579,11 +622,11 @@ system against which all others are measured. ...@@ -579,11 +622,11 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Now you should be at the "Enter Bug" form. Now you should be at the "Enter Bug" form. The
The "reporter" should have been automatically filled out "reporter" should have been automatically filled out for
for you (or else Bugzilla prompted you to Log In again you (or else Bugzilla prompted you to Log In again --
-- you did keep the email with your username you did keep the email with your username and password,
and password, didn't you?). didn't you?).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -593,107 +636,97 @@ system against which all others are measured. ...@@ -593,107 +636,97 @@ system against which all others are measured.
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Bugzilla should have made reasonable guesses, based upon your browser, Bugzilla should have made reasonable guesses, based upon
for the "Platform" and "OS" drop-down your browser, for the "Platform" and "OS" drop-down
boxes. If those are wrong, change them -- if you're on an SGI box boxes. If those are wrong, change them -- if you're on
running IRIX, we want to know! an SGI box running IRIX, we want to know!
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fill in the "Assigned To" box with the email address you provided earlier. Fill in the "Assigned To" box with the email address you
This way you don't end up sending copies of your bug to lots of other people, provided earlier. This way you don't end up sending
since it's just a test bug. copies of your bug to lots of other people, since it's
just a test bug.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Leave the "CC" text box blank. Leave the "CC" text box blank. Fill in the "URL" box
Fill in the "URL" box with "http://www.mozilla.org". with "http://www.mozilla.org".
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enter "The Bugzilla Guide" in the Summary text box, Enter "The Bugzilla Guide" in the Summary text box, and
and place any comments you have on this place any comments you have on this tutorial, or the
tutorial, or the Guide in general, into the Description box. Guide in general, into the Description box.
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
Voila! Select "Commit" and send in your bug report! Voila! Select "Commit" and send in your bug report! Next
Next we'll look at resolving bugs. we'll look at resolving bugs.
</para> </para>
</section> </section>
<section id="bug_manage"> <section id="bug_manage">
<title>Managing your Bug Reports</title> <title>Managing your Bug Reports</title>
<para> <para>
OK, you should have a link to the bug you just created near the top of your page. OK, you should have a link to the bug you just created near
It should say the top of your page. It should say "Bug XXXX posted", with
"Bug XXXX posted", with a link to the right saying "Back to BUG# XXXX". a link to the right saying "Back to BUG# XXXX". Select this
Select this link. link.
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Scroll down a bit on the subsequent page, Scroll down a bit on the subsequent page, until you see
until you see the "Resolve bug, changing resolution to (dropdown box). the "Resolve bug, changing resolution to (dropdown box).
Normally, you would Normally, you would "Accept bug (change status to
"Accept bug (change status to ASSIGNED)", fix it, and then resolve. ASSIGNED)", fix it, and then resolve. But in this case,
But in this case, we're we're going to short-circuit the process because this
going to short-circuit the process because this wasn't a real bug. wasn't a real bug. Change the dropdown next to "Resolve
Change the dropdown next to Bug" to "INVALID", make sure the radio button is marked
"Resolve Bug" to "INVALID", make sure the radio button is next to "Resolve Bug", then click "Commit".
marked next to "Resolve Bug", then
click "Commit".
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Hey! It said it couldn't take the change in a big red box! Hey! It said it couldn't take the change in a big red
That's right, you must specify box! That's right, you must specify a Comment in order
a Comment in order to make this change. Select the "Back" to make this change. Select the "Back" button in your
button in your browser, add a browser, add a Comment, then try Resolving the bug with
Comment, then try Resolving the bug with INVALID status again. INVALID status again. This time it should work.
This time it should work.
</para> </para>
</listitem> </listitem>
</orderedlist> </orderedlist>
<para> <para>
You have now learned the basics of Bugzilla navigation, You have now learned the basics of Bugzilla navigation,
entering a bug, and bug maintenance. entering a bug, and bug maintenance. I encourage you to
I encourage you to explore these features, and see what you can do with them! explore these features, and see what you can do with them!
We'll spend no more time on individual Bugs or Queries from this point on, so you are We'll spend no more time on individual Bugs or Queries from
on your own there. this point on, so you are on your own there.
</para> </para>
<para> <para>
But I'll give a few last hints! But I'll give a few last hints!
</para> </para>
<para> <para>
There is a <ulink url="http://bugzilla.mozilla.org/help.html">CLUE</ulink> There is a <ulink
on the Query page url="http://bugzilla.mozilla.org/help.html">CLUE</ulink> on the Query page that will teach you more how to use the form.
that will teach you more how to use the form.
</para> </para>
<para> <para>
If you click the hyperlink on the If you click the hyperlink on the <ulink
<ulink url="http://bugzilla.mozilla.org/describecomponents.cgi">Component</ulink> url="http://bugzilla.mozilla.org/describecomponents.cgi">Component</ulink> box of the Query page, you will be presented a form that will describe what all the components are.
box of the Query page, you will be presented a form that will describe what all
the components are.
</para> </para>
<para> <para>
Possibly the most powerful feature of the Query page is the Possibly the most powerful feature of the Query page is the
<ulink url="http://bugzilla.mozilla.org/booleanchart.html">Boolean Chart</ulink> section. <ulink
It's a bit confusing to use the first time, but can provide unparalleled url="http://bugzilla.mozilla.org/booleanchart.html">Boolean Chart</ulink> section. It's a bit confusing to use the first time, but can provide unparalleled flexibility in your queries, allowing you to build extremely powerful requests.
flexibility in your queries,
allowing you to build extremely powerful requests.
</para> </para>
<para> <para>
Finally, you can build some nifty Finally, you can build some nifty <ulink
<ulink url="http://bugzilla.mozilla.org/reports.cgi">Reports</ulink> url="http://bugzilla.mozilla.org/reports.cgi">Reports</ulink> using the "Bug Reports" link near the bottom of the query page, and also available via the "Reports" link at the footer of each page.
using the "Bug Reports" link near the bottom of the query page, and also
available via the "Reports" link
at the footer of each page.
</para> </para>
</section> </section>
</section> </section>
...@@ -701,7 +734,7 @@ system against which all others are measured. ...@@ -701,7 +734,7 @@ system against which all others are measured.
</section> </section>
<section id="init4me"> <section id="init4me">
<title>What's in it for me?</title> <title>Where can I find my user preferences?</title>
<epigraph> <epigraph>
<para> <para>
Indiana, it feels like we walking on fortune cookies! Indiana, it feels like we walking on fortune cookies!
...@@ -711,98 +744,95 @@ system against which all others are measured. ...@@ -711,98 +744,95 @@ system against which all others are measured.
</para> </para>
</epigraph> </epigraph>
<para> <para>
Customized User Preferences offer tremendous versatility to Customized User Preferences offer tremendous versatility to your
your individual Bugzilla experience. individual Bugzilla experience. Let's plunge into what you can
Let's plunge into what you can do! The first step is to click do! The first step is to click the "Edit prefs" link at the
the "Edit prefs" link at the footer of each page once you footer of each page once you have logged in to <ulink
have logged in to url="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1"> Landfill</ulink>.
<ulink url="http://landfill.tequilarista.org/bugzilla-tip/query.cgi?GoAheadAndLogIn=1">
Landfill</ulink>.
</para> </para>
<section id="accountsettings"> <section id="accountsettings" xreflabel="Account Settings">
<title>Account Settings</title> <title>Account Settings</title>
<para> <para>
On this page, you can change your basic Account Settings, On this page, you can change your basic Account Settings,
including your password and full name. including your password and full name. For security reasons,
For security reasons, in order to change anything on this page you in order to change anything on this page you must type your
must type your <emphasis>current</emphasis> <emphasis>current</emphasis> password into the <quote>Old
password into the "Old Password" field. Password</quote> field. If you wish to change your
If you wish to change your password, type the new password you password, type the new password you want into the <quote>New
want into the "New Password" field and again into the "Re-enter Password</quote> field and again into the <quote>Re-enter
new password" field to ensure new password</quote> field to ensure you typed your new
you typed your new password correctly. Select the "Submit" button and you're done! password correctly. Select the <quote>Submit</quote> button
and you are done.
</para> </para>
</section> </section>
<section id="emailsettings"> <section id="emailsettings" >
<title>Email Settings</title> <title>Email Settings</title>
<section id="notification"> <section id="notification" xreflabel="">
<title>Email Notification</title> <title>Email Notification</title>
<note>
<para> <para>
The email notification settings described below have been obsoleted in Bugzilla 2.12, and Here you can reduce or increase the amount of email sent you
this section will be replaced with a comprehensive description of the amazing array of from Bugzilla. Although this is referred to as
new options at your disposal. However, in the meantime, throw this chunk out the window <quote>Advanced Email Filtering Options</quote>, they are,
and go crazy with goofing around with different notification options. in fact, the standard email filter set. All of them are
</para> self-explanatory, but you can use the filters in interesting
</note> ways. For instance, some people (notably Quality Assurance
<para> personnel) often only care to receive updates regarding a
Ahh, here you can reduce or increase the amount of email sent you from Bugzilla! bug when the bug changes state, so they can track bugs on
In the drop-down "Notify me of changes to", select one of their flow charts and know when it is time to pull the bug
<simplelist> onto a quality assurance platform for inspection. Other
<member><emphasis>All qualifying bugs</emphasis>: sends you every change to every bug people set up email gateways to
where your name is somewhere on it, regardless of who changed it.</member> <xref linkend="bonsai"> or <xref linkend="tinderbox">, and
<member><emphasis>Only those bugs which I am listed in the CC line</emphasis>: prevents restrict which types of Bugzilla information are fed to
you from receiving mail for which you are the reporter,' these systems..
owner, or QA contact. If you are on the CC
list, presumably someone had a <emphasis>good</emphasis>
reason for you to get the email.</member>
<member><emphasis>All qulifying bugs except those which I change</emphasis>:
This is the default, and
a sensible setting. If someone else changes your bugs, you will get emailed,
but if you change bugs
yourself you will receive no notification of the change.</member>
</simplelist>
</para> </para>
</section> </section>
<section id="newemailtech"> <section id="newemailtech">
<title>New Email Technology</title> <title>New Email Technology</title>
<note> <note>
<para> <para>
This option may not be available in all Bugzilla installations, depending upon This option may not be available in all Bugzilla
the preferences of the systems administrator responsible for the setup of your Bugzilla. installations, depending upon the preferences of the
However, if you really want this functionality, ask her to "enable newemailtech systems administrator responsible for the setup of your
in Params" Bugzilla. However, if you really want this functionality,
and "make it the default for all new users", referring her to the Administration section ask her to "enable newemailtech in Params" and "make it
of this Guide. the default for all new users", referring her to the
Administration section of this Guide.
</para> </para>
</note> </note>
<para> <para>
Disregard the warnings about "experimental and bleeding edge"; the code to handle email Disregard the warnings about "experimental and bleeding
in a cleaner manner than that historically used for Bugzilla is edge"; the code to handle email in a cleaner manner than
quite robust and well-tested now. that historically used for Bugzilla is quite robust and
well-tested now.
</para> </para>
<para> <para>
I recommend you enable the option, "Click here to sign up (and risk any bugs)". I recommend you enable the option, "Click here to sign up
Your email-box (and risk any bugs)". Your email-box will thank you for it.
will thank you for it. The fundamental shift in "newemailtech" is away from standard UNIX The fundamental shift in "newemailtech" is away from
"diff" output, which is quite ugly, to a prettier, better laid-out email. standard UNIX "diff" output, which is quite ugly, to a
prettier, better laid-out email.
</para> </para>
</section> </section>
<section id="watchsettings"> <section id="watchsettings">
<title>"Watching" Users</title> <title>"Watching" Users</title>
<note> <note>
<para> <para>
This option may not be available in all Bugzilla installations, depending upon This option may not be available in all Bugzilla
the preferences of the systems administrator responsible for the setup of your Bugzilla. installations, depending upon the preferences of the
However, if you really want this functionality, ask her to "enable watchers in Params". systems administrator responsible for the setup of your
Bugzilla. However, if you really want this functionality,
ask her to "enable watchers in Params".
</para> </para>
</note> </note>
<para> <para>
By entering user email names into the "Users to watch" text entry box, delineated by commas, By entering user email names into the "Users to watch" text
you can watch bugs of other users. This powerful functionality enables seamless transitions entry box, delineated by commas, you can watch bugs of other
as developers change projects, managers wish to get in touch with the issues faced by their users. This powerful functionality enables seamless
direct reports, or users go on vacation. If any of these three situations apply transitions as developers change projects, managers wish to
to you, you will undoubtedly find this feature quite convenient. get in touch with the issues faced by their direct reports,
or users go on vacation. If any of these three situations
apply to you, you will undoubtedly find this feature quite
convenient.
</para> </para>
</section> </section>
</section> </section>
...@@ -810,36 +840,46 @@ system against which all others are measured. ...@@ -810,36 +840,46 @@ system against which all others are measured.
<title>Page Footer</title> <title>Page Footer</title>
<note> <note>
<para> <para>
By default, this page is quite barren. However, go explore the Query Page some more; you will By default, this page is quite barren. However, go explore
find that you can store numerous queries on the server, so if you regularly run a particular query the Query Page some more; you will find that you can store
it is just a drop-down menu away. On this page of Preferences, if you have many stored numerous queries on the server, so if you regularly run a
queries you can elect to have them always one-click away! particular query it is just a drop-down menu away. On this
page of Preferences, if you have many stored queries you can
elect to have them always one-click away!
</para> </para>
</note> </note>
<para> <para>
If you have many stored queries on the server, here you will find individual drop-downs for each If you have many stored queries on the server, here you will
stored query. Each drop-down gives you the option of that query appearing on the footer of every find individual drop-downs for each stored query. Each
page in Bugzilla! This gives you powerful one-click access to any complex searches you may set up, drop-down gives you the option of that query appearing on the
and is an excellent way to impress your boss... footer of every page in Bugzilla! This gives you powerful
one-click access to any complex searches you may set up, and
is an excellent way to impress your boss...
</para> </para>
<tip> <tip>
<para>By default, the "My Bugs" link appears at the bottom of each page. However, this query <para>By default, the "My Bugs" link appears at the bottom of
gives you both the bugs you have reported, as well as those you are assigned. One of the most each page. However, this query gives you both the bugs you
common uses for this page is to remove the "My Bugs" link, replacing it with two other queries, have reported, as well as those you are assigned. One of
commonly called "My Bug Reports" and "My Bugs" (but only referencing bugs assigned to you). This the most common uses for this page is to remove the "My
allows you to distinguish those bugs you have reported from those you are assigned. I commonly Bugs" link, replacing it with two other queries, commonly
set up complex Boolean queries in the Query page and link them to my footer in this page. When called "My Bug Reports" and "My Bugs" (but only referencing
they are significantly complex, a one-click reference can save hours of work.</para> bugs assigned to you). This allows you to distinguish those
bugs you have reported from those you are assigned. I
commonly set up complex Boolean queries in the Query page
and link them to my footer in this page. When they are
significantly complex, a one-click reference can save hours
of work.</para>
</tip> </tip>
</section> </section>
<section id="permissionsettings"> <section id="permissionsettings">
<title>Permissions</title> <title>Permissions</title>
<para> <para>
This is a purely informative page which outlines your current permissions on This is a purely informative page which outlines your current
this installation of Bugzilla. If you have permissions to grant certain permissions to permissions on this installation of Bugzilla. If you have
other users, the "other users" link appears on this page as well as the footer. permissions to grant certain permissions to other users, the
For more information regarding user administration, please consult the Administration "other users" link appears on this page as well as the footer.
section of this Guide. For more information regarding user administration, please
consult the Administration section of this Guide.
</para> </para>
</section> </section>
</section> </section>
...@@ -847,12 +887,11 @@ system against which all others are measured. ...@@ -847,12 +887,11 @@ system against which all others are measured.
<section id="usingbz-conc"> <section id="usingbz-conc">
<title>Using Bugzilla-Conclusion</title> <title>Using Bugzilla-Conclusion</title>
<para> <para>
Thank you for reading through this portion of the Bugzilla Guide. I anticipate Thank you for reading through this portion of the Bugzilla
it may not yet meet the needs of all readers. If you have additional comments or Guide. I anticipate it may not yet meet the needs of all
corrections to make, please submit your contributions to the readers. If you have additional comments or corrections to
<ulink url="mailto://mozilla-webtools@mozilla.org">mozilla-webtools</ulink> make, please submit your contributions to the <ulink
mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools url="mailto://mozilla-webtools@mozilla.org">mozilla-webtools</ulink> mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
</para> </para>
</section> </section>
</chapter> </chapter>
......
<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN">--> <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN">-->
<chapter id="variants"> <chapter id="variants" xreflabel="Bugzilla Variants and Competitors">
<title>Bugzilla Variants</title> <title>Bugzilla Variants and Competitors</title>
<note> <para>I created this section to answer questions about Bugzilla
<para> competitors and variants, then found a wonderful site which covers
I <emphasis>know</emphasis> there are more variants than just RedHat Bugzilla out there. an awful lot of what I wanted to discuss. Rather than quote it in
Please help me get information about them, their project status, and benefits there its entirety, I'll simply refer you here: <ulink
might be in using them or in using their code in main-tree Bugzilla. url="http://linas.org/linux/pm.html">http://linas.org/linux/pm.html</ulink></para>
</para>
</note>
<section id="rhbugzilla"> <section id="rhbugzilla" xreflabel="Red Hat Bugzilla">
<title>Red Hat Bugzilla</title> <title>Red Hat Bugzilla</title>
<para> <para>
Red Hat Bugzilla is probably the most popular Bugzilla variant, aside from Mozilla Bugzilla, Red Hat Bugzilla is probably the most popular Bugzilla variant
on the planet. on the planet. One of the major benefits of Red Hat Bugzilla is
One of the major benefits of Red Hat Bugzilla is the ability to work with Oracle as a the ability to work with Oracle, MySQL, and PostGreSQL databases
database, as well as MySQL. serving as the back-end, instead of just MySQL. Dave Lawrence
Here's what Dave Lawrence had to say about the status of Red Hat Bugzilla, has worked very hard to keep Red Hat Bugzilla up-to-date, and
<blockquote> many people prefer the snappier-looking page layout of Red Hat
<literallayout> Bugzilla to the default Mozilla-standard formatting.
Hello. I apologize that I am getting back to you so late. It has been difficult to keep </para>
up with email this past week. I have checked out your updated documentation and I will <para>URL: <ulink
have to say very good work. A few notes and additions as follows. url="http://bugzilla.redhat.com/bugzilla/">http://bugzilla.redhat.com/bugzilla/</ulink></para>
</section>
(ed: from the FAQ)
>For the record, we are not using any template type implementation for the cosmetic changes
>maded to Bugzilla. It is just alot of html changes in the code itself. I admit I may have
>gotten a little carried away with it but the corporate types asked for a more standardized
>interface to match up with other projects relating to Red Hat web sites. A lot of other web
>based internal tools I am working on also look like Bugzilla.
This should probably be changed since we are now in fact using Text::Template for most <section id="variant_fenris" xreflabel="Loki Bugzilla, a.k.a. Fenris">
of the html rendering. You actually state this later in your numbered list. <title>Loki Bugzilla (Fenris)</title>
<para>Fenris can be found at <ulink
url="http://fenris.lokigames.com/">http://fenris.lokigames.com</ulink>. It is a fork from Bugzilla.</para>
</section>
Also number 6 contradicts number 8 where number 6 would be the most up to date status <section id="variant_issuezilla" xreflabel="Issuezilla">
on the Oracle port. <title>Issuezilla</title>
<para>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, <xref linkend="variant_scarab">, is under heavy development
and looks promising!</para>
<para>URL: <ulink url="http://issuezilla.tigris.org/servlets/ProjectHome">http://issuezilla.tigris.org/servlets/ProjectHome</ulink></para>
</section>
Additional Information: <section id="variant_scarab" xreflabel="Scarab, a newfangled Java-based issue tracker">
----------------------------- <title>Scarab</title>
1. Comments are now stored in varchar fields of 4k in size each. If the comment is more <para>Scarab is a promising new bug-tracking system built using
than 4k it is broken up into chunks and given a sort number so each comment can be re Java Serlet technology. As of this writing, no source code has
assembled in the correct order. This was done because originally I was storing the comments been released as a package, but you can obtain the code from
in a long datatype which unfortunately cannot be indexed or joined with another table. This CVS.
cause the search of text within the long description to be disabled for a long time. That </para>
is now working and is nto showing any noticeble performance hit that I can tell. <para>URL: <ulink url="http://scarab.tigris.org/">http://scarab.tigris.org</ulink></para>
</section>
2. Work is being started on internationalizing the Bugzilla source we have to allow our <section id="variant_perforce" xreflabel="Using Perforce to track bugs">
Japanese customers to enter bug reports into a single bugzilla system. This will probably <title>Perforce SCM</title>
be done by using the nvarchar data types supported by Oracle which allows storage of <para>Although Perforce isn't really a bug tracker, it can be used
double byte characters and also the use of the Accept-Language in the http header for as such through the <quote>jobs</quote> functionality.</para>
detection by Bugilla of which language to render. <para><ulink
url="http://www.perforce.com/perforce/technotes/note052.html"></ulink>http://www.perforce.com/perforce/technotes/note052.html</para>
</section>
3. Of course even more cosmetic changes. It is difficult to keep up with the ever <section id="variant_sourceforge" xreflabel="SourceForge">
changing faces of www.redhat.com. <title>SourceForge</title>
<para>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!</para>
<para>URL: <ulink
url="http://www.sourceforge.net">http://www.sourceforge.net</ulink></para>
</section>
4. Some convenience enhancements in the administration utilities. And more integration
with other internal/external Red Hat web sites.
I hope this information may prove helpful for your documentation. Please contact
me if you have any more question or I can do anything else.
Regards
</literallayout>
</blockquote>
</para>
</section>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment