Commit ac2e474d 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 a07f84f3
...@@ -2,33 +2,35 @@ Welcome to the Bugzilla documentation project! ...@@ -2,33 +2,35 @@ Welcome to the Bugzilla documentation project!
You'll find these directories and files here: You'll find these directories and files here:
README.docs # This README file README.docs # This README file
html/ # The compiled HTML docs from XML sources (do not edit) html/ # The compiled HTML docs from SGML sources (do not edit)
txt/ # The compiled text docs from XML sources (do not edit) sgml/ # The original SGML doc sources (edit these)
xml/ # The original XML doc sources (edit these) txt/ # The compiled text docs from SGML sources
ps/ # The compiled PostScript docs from SGML sources
A note about the XML: pdf/ # The compiled Adobe PDF docs from SGML sources
The documentation is written in DocBook 4.1.2, and attempts to adhere
to the LinuxDoc standards where applicable (http://www.tldp.org). A note about SGML:
Please consult "The LDP Author Guide" at tldp.org for details on how The documentation is written in DocBook 3.1/4.1 SGML, and attempts to adhere
to set up your personal environment for compiling XML files. to the LinuxDoc standards everywhere applicable (http://www.linuxdoc.org).
Please consult "The LDP Author Guide" at linuxdoc.org for details on how
to set up your personal environment for compiling SGML files.
If you need to make corrections to typographical errors, or other minor If you need to make corrections to typographical errors, or other minor
editing duties, feel free to use any text editor to make the changes. XML editing duties, feel free to use any text editor to make the changes. SGML
is not rocket science -- simply make sure your text appears between is not rocket science -- simply make sure your text appears between
appropriate tags (like <para>This is a paragraph</para>) and we'll be fine. appropriate tags (like <para>This is a paragraph</para>) and we'll be fine.
If you are making more extensive changes, please ensure you at least validate If you are making more extensive changes, please ensure you at least validate
your XML before checking it in with something like: your SGML before checking it in with something like:
nsgmls -s $JADE_PUB/xml.dcl Bugzilla-Guide.xml nsgmls -s Bugzilla-Guide.sgml
When you validate, please validate the master document (Bugzilla-Guide.xml) When you validate, please validate the master document (Bugzilla-Guide.sgml)
as well as the document you edited to ensure there are no critical errors. as well as the document you edited to ensure there are no critical errors.
The following errors are considered "normal" when validating with nsgmls: The following errors are considered "normal" when validating with nsgmls:
DTDDECL catalog entries are not supported DTDDECL catalog entries are not supported
"DOCTYPE" declaration not allowed in instance "DOCTYPE" declaration not allowed in instance
The reason these occur is that free sgml/xml validators do not yet support The reason these occur is that free sgml validators do not yet support
the DTDDECL catalog entries, and I've included DOCTYPE declarations in the DTDDECL catalog entries, and I've included DOCTYPE declarations in
entities referenced from Bugzilla-Guide.xml so these entities can compile entities referenced from Bugzilla-Guide.sgml so these entities can compile
individually, if necessary. I suppose I ought to comment them out at some individually, if necessary. I suppose I ought to comment them out at some
point, but for now they are convenient and don't hurt anything. point, but for now they are convenient and don't hurt anything.
...@@ -37,13 +39,13 @@ documentation. Please address comments and questions to the newsgroup: ...@@ -37,13 +39,13 @@ 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 XML EDITING ENVIRONMENT: HOW TO SET UP YOUR OWN SGML EDITING ENVIRONMENT:
========== ==========
Trying to set up an XML Docbook editing environment the Trying to set up an SGML/XML Docbook editing environment the
first time can be a daunting task. first time can be a daunting task.
I use Linux-Mandrake, in part, because it has a fully-functional I use Linux-Mandrake, in part, because it has a fully-functional
XML Docbook editing environment included as part of the SGML/XML Docbook editing environment included as part of the
distribution CD's. If you have easier instructions for how to distribution CD's. If you have easier instructions for how to
do this for a particular Linux distribution or platform, please do this for a particular Linux distribution or platform, please
let the team know at the mailing list: mozilla-webtools@mozilla.org. let the team know at the mailing list: mozilla-webtools@mozilla.org.
...@@ -60,96 +62,68 @@ rpms: ...@@ -60,96 +62,68 @@ rpms:
openjade openjade
jadetex jadetex
docbook-dtds docbook-dtd41-sgml
docbook-style-dsssl docbook-style-dsssl
docbook-dtd31-sgml
docbook-style-dsssl-doc docbook-style-dsssl-doc
docbook-utils
xemacs xemacs
psgml psgml
sgml-tools sgml-tools
sgml-common sgml-common
Set up environment:
If you're getting these from RedHat, make sure you get the ones in the in your .bashrc add this line (after installing above RPMS):
rawhide area. The ones in the 7.2 distribution are too old and don't export SGML_CATALOG_FILES=/etc/sgml/catalog
include the XML stuff. The packages distrubuted with RedHat 8.0 and 9
and known to work.
Download "ldp.dsl" from the Resources page on tldp.org. This is the 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 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 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 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, 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 /usr/share/sgml/docbook/ldp, and put the ldp.dsl file there. I then edited
ldp.dsl and changed two lines near the top: ldp.dsl and changed two lines near the top:
<!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets/html/docbook.dsl" CDATA <!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets-1.62/html/docbook.dsl" CDATA
dsssl> dsssl>
...and... ...and...
<!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets/print/docbook.dsl" CDATA <!ENTITY docbook.dsl SYSTEM "../dsssl-stylesheets-1.62/print/docbook.dsl" CDATA
dsssl> dsssl>
Note the difference is the top one points to the HTML docbook stylesheet, Note the difference is the top one points to the HTML docbook stylesheet,
and the next one points to the PRINT docbook stylesheet. and the next one points to the PRINT docbook stylesheet.
Also note that modifying ldp.dsl doesn't seem to be needed on RedHat 9. You know, this sure looks awful involved. Anyway, once you have this in
You know, this sure looks awful involved. Anyway, once you have this in
place, add to your .bashrc: place, add to your .bashrc:
export SGML_CATALOG_FILES=/etc/sgml/catalog
export LDP_HOME=/usr/share/sgml/docbook/ldp export LDP_HOME=/usr/share/sgml/docbook/ldp
export JADE_PUB=/usr/share/doc/openjade-1.3.1/pubtext
or in .tcshrc:
setenv SGML_CATALOG_FILES /etc/sgml/catalog
setenv LDP_HOME /usr/share/sgml/docbook/ldp
setenv JADE_PUB /usr/share/doc/openjade-1.3.1/pubtext
If you have root access and want to set this up for anyone on your box,
you can add those lines to /etc/profile for bash users and /etc/csh.login
for tcsh users.
Make sure you edit the paths in the above environment variables if those I suggest xemacs for editing your SGML/XML Docbook documents. The darn
folders are anywhere else on your system (for example, the openjade version thing just works, and generally includes PSGML mode by default. You can
might change if you get a new version at some point). download psgml at http://www.sourceforge.net/projects/psgml.
I suggest xemacs for editing your XML Docbook documents. The darn
thing just works, and generally includes PSGML mode by default. Not to
mention you can validate the SGML from right within it without having to
remember the command-line syntax for nsgml (not that it's that hard
anyway). If not, you can download psgml at
http://www.sourceforge.net/projects/psgml.
Another good editor is the latest releases of vim and gvim. Vim will
recognize DocBook tags and give them a different color than unreconized tags.
========== ==========
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.2 set up correctly in order for this to work. You MUST have DocBook 4.1 set up correctly in order for this to work.
Substitute your own path to "ldp.dsl" for "$LDP_HOME".
These commands can be run all at once using the ./makedocs.pl script.
To create HTML documentation: To create HTML documentation:
bash$ cd html bash$ cd html
bash$ jade -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \ bash$ jade -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \
$JADE_PUB/xml.dcl ../xml/Bugzilla-Guide.xml ../sgml/Bugzilla-Guide.sgml
To create HTML documentation as a single big HTML file: To create HTML documentation as a single big HTML file:
bash$ cd html bash$ cd html
bash$ jade -V nochunks -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \ bash$ jade -V nochunks -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \
$JADE_PUB/xml.dcl ../xml/Bugzilla-Guide.xml >Bugzilla-Guide.html ../sgml/Bugzilla-Guide.sgml >Bugzilla-Guide.html
To create TXT documentation as a single big TXT file: To create TXT documentation as a single big TXT file:
bash$ cd txt bash$ cd txt
bash$ lynx -dump -nolist ../html/Bugzilla-Guide.html >Bugzilla-Guide.txt bash$ lynx -dump -nolist ../html/Bugzilla-Guide.html >Bugzilla-Guide.txt
Sincerely, Sincerely,
Matthew P. Barnson Matthew P. Barnson
The Bugzilla "Doc Knight" The Bugzilla "Doc Knight"
mbarnson@sisna.com barnboy@trilobyte.net
with major edits by Dave Miller <justdave@syndicomm.com> based on
experience setting this up on the Landfill test server.
...@@ -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,47 +33,80 @@ ...@@ -30,47 +33,80 @@
<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>The <quote>maintainer</quote> 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.</para>
<para> <para>
Set "maintainer" to <emphasis>your</emphasis> email address. 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.
</para> </para>
</step> </step>
<step> <step>
<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> <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
...@@ -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>The <quote>supportwatchers</quote> option can be an
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 <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> <para>
Set "supportwatchers" to "On". This feature is helpful for However, for most sites you should set
team leads to monitor progress in their respective areas, <quote>supportwatchers</quote> to "On". This feature is
and can offer many other benefits, such as allowing a helpful for team leads to monitor progress in their
developer to pick up a former engineer's bugs without respective areas, and can offer many other benefits, such as
requiring her to change all the information in the bug. 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>
......
...@@ -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,8 +77,77 @@ ...@@ -70,8 +77,77 @@
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>
<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 id="gloss_i"> <glossdiv id="gloss_i">
<title>I</title> <title>I</title>
<glossentry id="gloss_infiniteloop"> <glossentry id="gloss_infiniteloop">
...@@ -81,7 +157,22 @@ ...@@ -81,7 +157,22 @@
</glossdef> </glossdef>
</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
...@@ -140,10 +242,52 @@ ...@@ -140,10 +242,52 @@
</glossdef> </glossdef>
</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,59 +565,65 @@ ...@@ -516,59 +565,65 @@
<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
<example> <xref linkend="setperl">, found in
<title>Setting up bonsaitools symlink</title> <xref linkend="patches">. I suggest using the symlink
<para> approach for future release compatability.
Here's how you set up the Perl symlink on Linux to make Bugzilla work. <example>
Your mileage may vary; if you are running on Solaris, you probably need to subsitute <title>Setting up bonsaitools symlink</title>
<quote>/usr/local/bin/perl</quote> for <quote>/usr/bin/perl</quote> <para>
below; if on certain other UNIX systems, Here's how you set up the Perl symlink on Linux to make
Perl may live in weird places like <quote>/opt/perl</quote>. As root, run these commands: Bugzilla work. Your mileage may vary. For some UNIX
<programlisting> operating systems, you probably need to subsitute
bash# mkdir /usr/bonsaitools <quote>/usr/local/bin/perl</quote> for
bash# mkdir /usr/bonsaitools/bin <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>
bash# mkdir /usr/bonsaitools
bash# mkdir /usr/bonsaitools/bin
bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
</programlisting> </programlisting>
</para> </para>
</example> </example>
<tip> <tip>
<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>
</section> </section>
...@@ -581,10 +636,11 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -581,10 +636,11 @@ 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>
Bugzilla has not undergone a thorough security audit. It Bugzilla has not undergone a thorough security audit. It
...@@ -594,199 +650,190 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl ...@@ -594,199 +650,190 @@ bash# ln -s /usr/bin/perl /usr/bosaitools/bin/perl
</para> </para>
<para>That would be bad.</para> <para>That would be bad.</para>
</warning> </warning>
</para> </para>
<para> <para>
Give the MySQL root user a password. MySQL passwords are Give the MySQL root user a password. MySQL passwords are
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> </member>
</computeroutput> <member>
</member> <computeroutput> <prompt>mysql></prompt> <command>
<member> UPDATE user SET Password=PASSWORD ('new_password')
<computeroutput> WHERE user='root'; </command> </computeroutput>
<prompt>mysql></prompt> </member>
<command> <member>
UPDATE user SET Password=PASSWORD ('new_password') <computeroutput> <prompt>mysql></prompt> <command>FLUSH
WHERE user='root'; PRIVILEGES;</command> </computeroutput>
</command> </member>
</computeroutput> </simplelist> From this point on, if you need to access
</member> MySQL as the MySQL root user, you will need to use
<member> <command>mysql -u root -p</command> and enter your
<computeroutput> new_password. Remember that MySQL user names have nothing to
<prompt>mysql></prompt> do with Unix user names (login names).
<command>FLUSH PRIVILEGES;</command> </para>
</computeroutput> <para>
</member> Next, we create the <quote>bugs</quote> user, and grant
</simplelist> sufficient permissions for checksetup.pl, which we'll use
From this point on, if you need to access MySQL as the later, to work its magic. This also restricts the
MySQL root user, you will need to use "mysql -u root -p" and <quote>bugs</quote> user to operations within a database
enter your new_password. Remember that MySQL user names have called <quote>bugs</quote>, and only allows the account to
nothing to do with Unix user names (login names). connect from <quote>localhost</quote>. Modify it to reflect
</para> your setup if you will be connecting from another machine or
<para> as a different user.
Next, we create the "bugs" user, and grant sufficient </para>
permissions for checksetup.pl, which we'll use later, to work <para>
its magic. This also restricts the "bugs" user to operations Remember to set bugs_password to some unique password.
within a database called "bugs", and only allows the account <simplelist>
to connect from "localhost". Modify it to reflect your setup <member>
if you will be connecting from another machine or as a different <computeroutput>
user. <prompt>mysql></prompt>
</para> <command>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
<para> ALTER,CREATE,DROP,REFERENCES
Remember to set bugs_password to some unique password. ON bugs.* TO bugs@localhost
<simplelist> IDENTIFIED BY 'bugs_password';</command>
<member> </computeroutput>
<computeroutput> </member>
<prompt>mysql></prompt> <member>
<command>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, <computeroutput>
ALTER,CREATE,DROP,REFERENCES <prompt>
ON bugs.* TO bugs@localhost mysql>
IDENTIFIED BY 'bugs_password';</command> </prompt>
</computeroutput> <command>
</member> FLUSH PRIVILEGES;
<member> </command>
<computeroutput> </computeroutput>
<prompt> </member>
mysql> </simplelist>
</prompt> </para>
<command> <para>
FLUSH PRIVILEGES; Next, run the magic checksetup.pl script. (Many thanks to
</command> Holger Schurig &lt;holgerschurig@nikocity.de&gt; for writing
</computeroutput> this script!) It will make sure Bugzilla files and directories
</member> have reasonable permissions, set up the
</simplelist> <filename>data</filename> directory, and create all the MySQL
</para> tables.
<para> <simplelist>
Next, run the magic checksetup.pl script. (Many thanks to Holger <member>
Schurig &lt;holgerschurig@nikocity.de&gt; for writing this script!) <computeroutput> <prompt>bash#</prompt>
It will make sure Bugzilla files and directories have reasonable <command>./checksetup.pl</command> </computeroutput>
permissions, set up the "data" directory, and create all the MySQL </member>
tables. </simplelist> The first time you run it, it will create a
<simplelist> file called <filename>localconfig</filename>.
<member> </para>
<computeroutput> </section>
<prompt>bash#</prompt>
<command>./checksetup.pl</command> <section>
</computeroutput> <title>Tweaking <filename>localconfig</filename></title>
</member> <para>
</simplelist> This file contains a variety of settings you may need to tweak including
The first time you run it, it will create a file called "localconfig". how Bugzilla should connect to the MySQL database.
</para> </para>
</section> <para>
The connection settings include:
<section> <orderedlist>
<title>Tweaking "localconfig"</title> <listitem>
<para>
This file contains a variety of settings you may need to tweak including
how Bugzilla should connect to the MySQL database.
</para>
<para>
The connection settings include:
<orderedlist>
<listitem>
<para>
server's host: just use "localhost" if the MySQL server is
local
</para>
</listitem>
<listitem>
<para>
database name: "bugs" if you're following these directions
</para>
</listitem>
<listitem>
<para>
MySQL username: "bugs" if you're following these directions
</para>
</listitem>
<listitem>
<para>
Password for the "bugs" MySQL account above
</para>
</listitem>
</orderedlist>
</para>
<para>
You may also install .htaccess files that the Apache webserver will use
to restrict access to Bugzilla data files. See <xref linkend="htaccess">.
</para>
<para>
Once you are happy with the settings, re-run checksetup.pl. On this
second run, it will create the database and an administrator account
for which you will be prompted to provide information.
</para>
<para>
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 an 'edit parameters' option that is filled with editable treats.
</para>
<para>
Should everything work, you should have a nearly empty copy of the bug
tracking setup.
</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>
<para> <para>
The second time you run checksetup.pl, you should become the server's host: just use <quote>localhost</quote> if the
user your web server runs as, and that you ensure that you set the MySQL server is local
"webservergroup" parameter in localconfig to match the web
server's group
name, if any. I believe, for the next release of Bugzilla,
this will
be fixed so that Bugzilla supports a "webserveruser" parameter
in localconfig
as well.
<example>
<title>Running checksetup.pl as the web user</title>
<para>
Assuming your web server runs as user "apache",
and Bugzilla is installed in
"/usr/local/bugzilla", here's one way to run checksetup.pl
as the web server user.
As root, for the <emphasis>second run</emphasis>
of checksetup.pl, do this:
<programlisting>
bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache
bash# cd /usr/local/bugzilla
bash# ./checksetup.pl
</programlisting>
</para>
</example>
</para> </para>
</note> </listitem>
</para> <listitem>
<para>
database name: <quote>bugs</quote> if you're following
these directions
</para>
</listitem>
<listitem>
<para>
MySQL username: <quote>bugs</quote> if you're following
these directions
</para>
</listitem>
<listitem>
<para>
Password for the <quote>bugs</quote> MySQL account above
</para>
</listitem>
</orderedlist>
</para>
<para>
You should also install .htaccess files that the Apache
webserver will use to restrict access to Bugzilla data files.
See <xref
linkend="htaccess">.
</para>
<para>
Once you are happy with the settings, re-run
<filename>checksetup.pl</filename>. On this second run, it will
create the database and an administrator account for which
you will be prompted to provide information.
</para>
<para>
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 an <quote>edit parameters</quote> option
that is filled with editable treats.
</para>
<para>
Should everything work, you will have a nearly empty Bugzilla
database and a newly-created <filename>localconfig</filename>
file in your Bugzilla root directory.
</para>
<para>
<note> <note>
<para> <para>
The checksetup.pl script is designed so that you can run The second time you run checksetup.pl, you should become
it at any time without causing harm. You should run it the user your web server runs as, and that you ensure that
after any upgrade to Bugzilla. you set the <quote>webservergroup</quote> parameter in localconfig to
match the web server's group name, if any. I believe,
for the next release of Bugzilla, this will be fixed so
that Bugzilla supports a <quote>webserveruser</quote> parameter in
localconfig as well.
<example>
<title>Running checksetup.pl as the web user</title>
<para>
Assuming your web server runs as user "apache", and
Bugzilla is installed in "/usr/local/bugzilla", here's
one way to run checksetup.pl as the web server user.
As root, for the <emphasis>second run</emphasis> of
checksetup.pl, do this:
<programlisting>
bash# chown -R apache:apache /usr/local/bugzilla
bash# su - apache
bash# cd /usr/local/bugzilla
bash# ./checksetup.pl
</programlisting>
</para>
</example>
</para> </para>
</note> </note>
</section> </para>
<note>
<section>
<title>Setting Up Maintainers Manually (Optional)</title>
<para> <para>
If you want to add someone else to every group by hand, you The checksetup.pl script is designed so that you can run
it at any time without causing harm. You should run it
after any upgrade to Bugzilla.
</para>
</note>
</section>
<section>
<title>Setting Up Maintainers Manually (Optional)</title>
<para>
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>
...@@ -1156,33 +1203,74 @@ bash# ./checksetup.pl ...@@ -1156,33 +1203,74 @@ bash# ./checksetup.pl
<parameter>0</parameter>. <parameter>0</parameter>.
</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,119 +1757,28 @@ GET,HEAD,POST ...@@ -1651,119 +1757,28 @@ 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> <para>
<blockquote> If attempting to run Bugzilla 2.12 or older, you will need
<para> to remove encrypt() calls from the Perl source. This is
Hi - I am updating bugzilla to 2.12 so I can tell you what I did (after I <emphasis>not necessary</emphasis> for Bugzilla 2.13 and
deleted the current dir and copied the files in). later.
</para> <example>
<para> <title>Removing encrypt() for Windows NT Bugzilla version
In checksetup.pl, I did the following... 2.12 or earlier</title>
</para> <para>
<procedure> Replace this:
<step> <programlisting>
<programlisting> SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " . SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
my $webservergid = getgrnam($my_webservergroup); my $enteredcryptpwd = FetchOneColumn();
</programlisting> </programlisting>
<para>to</para> with this:
<programlisting> <programlisting>
my $webservergid = 'Administrators' my $enteredcryptpwd = $enteredpwd
</programlisting> </programlisting>
</step> in cgi.pl.
<step> </para>
<para> </example>
I then ran checksetup.pl
</para>
</step>
<step>
<para>
I removed all the encrypt()
<example>
<title>Removing encrypt() for Windows NT installations</title>
<para>
Replace this:
<programlisting>
SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " .
SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn();
</programlisting>
with this:
<programlisting>
my $enteredcryptpwd = $enteredpwd
</programlisting>
in cgi.pl.
</para>
</example>
</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> </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
then in 2000 quietly released Microsoft Windows
ME(Millenium Edition)(r).
</para> </para>
<para> <para>
Software "Versions" help a manufacturer differentiate Software "Versions" help a manufacturer
their current product from their differentiate their current product from their
previous products. Most do not identify their products previous products. Most do not identify their
by the year they were released. products by the year they were released. Instead,
Instead, the "original" version of their software will the "original" version of their software will often
often be numbered "1.0", with be numbered "1.0", with small bug-fix releases on
small bug-fix releases on subsequent tenths of a digit. In most cases, it's not subsequent tenths of a digit. In most cases, it's
a decimal number; for instance, often 1.9 is an <emphasis>older</emphasis> version not a decimal number; for instance, often 1.9 is an
of the software than 1.11, <emphasis>older</emphasis> version of the software
but is a <emphasis>newer</emphasis> version than 1.1.1. 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>
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.
</para>
</note>
<para> <para>
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
<simplelist> <quote>Advanced Email Filtering Options</quote>, they are,
<member><emphasis>All qualifying bugs</emphasis>: sends you every change to every bug in fact, the standard email filter set. All of them are
where your name is somewhere on it, regardless of who changed it.</member> self-explanatory, but you can use the filters in interesting
<member><emphasis>Only those bugs which I am listed in the CC line</emphasis>: prevents ways. For instance, some people (notably Quality Assurance
you from receiving mail for which you are the reporter,' personnel) often only care to receive updates regarding a
owner, or QA contact. If you are on the CC bug when the bug changes state, so they can track bugs on
list, presumably someone had a <emphasis>good</emphasis> their flow charts and know when it is time to pull the bug
reason for you to get the email.</member> onto a quality assurance platform for inspection. Other
<member><emphasis>All qulifying bugs except those which I change</emphasis>: people set up email gateways to
This is the default, and <xref linkend="bonsai"> or <xref linkend="tinderbox">, and
a sensible setting. If someone else changes your bugs, you will get emailed, restrict which types of Bugzilla information are fed to
but if you change bugs these systems..
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>
......
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