Compare commits

..

1 Commits

Author SHA1 Message Date
(no author)
258dc9fead This commit was manufactured by cvs2svn to create branch 'src'.
git-svn-id: svn://10.0.0.236/branches/src@33658 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 23:10:01 +00:00
262 changed files with 18627 additions and 76893 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

View File

@@ -1,523 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dawn Endico <endico@mozilla.org>
# Terry Weissman <terry@mozilla.org>
# Chris Yeh <cyeh@bluemartini.com>
use diagnostics;
use strict;
use DBI;
use RelationSet;
require "globals.pl";
require "CGI.pl";
package Bug;
use CGI::Carp qw(fatalsToBrowser);
my %ok_field;
for my $key (qw (bug_id product version rep_platform op_sys bug_status
resolution priority bug_severity component assigned_to
reporter bug_file_loc short_desc target_milestone
qa_contact status_whiteboard creation_ts groupset
delta_ts votes whoid usergroupset comment query error) ){
$ok_field{$key}++;
}
# create a new empty bug
#
sub new {
my $type = shift();
my %bug;
# create a ref to an empty hash and bless it
#
my $self = {%bug};
bless $self, $type;
# construct from a hash containing a bug's info
#
if ($#_ == 1) {
$self->initBug(@_);
} else {
confess("invalid number of arguments \($#_\)($_)");
}
# bless as a Bug
#
return $self;
}
# dump info about bug into hash unless user doesn't have permission
# user_id 0 is used when person is not logged in.
#
sub initBug {
my $self = shift();
my ($bug_id, $user_id) = (@_);
if ( (! defined $bug_id) || (!$bug_id) ) {
# no bug number given
return {};
}
# default userid 0, or get DBID if you used an email address
unless (defined $user_id) {
$user_id = 0;
}
else {
if ($user_id =~ /^\@/) {
$user_id = &::DBname_to_id($user_id);
}
}
&::ConnectToDatabase();
&::GetVersionTable();
# this verification should already have been done by caller
# my $loginok = quietly_check_login();
$self->{'whoid'} = $user_id;
&::SendSQL("SELECT groupset FROM profiles WHERE userid=$self->{'whoid'}");
my $usergroupset = &::FetchOneColumn();
if (!$usergroupset) { $usergroupset = '0' }
$self->{'usergroupset'} = $usergroupset;
my $query = "
select
bugs.bug_id, product, version, rep_platform, op_sys, bug_status,
resolution, priority, bug_severity, component, assigned_to, reporter,
bug_file_loc, short_desc, target_milestone, qa_contact,
status_whiteboard, date_format(creation_ts,'%Y-%m-%d %H:%i'),
groupset, delta_ts, sum(votes.count)
from bugs left join votes using(bug_id)
where bugs.bug_id = $bug_id
and bugs.groupset & $usergroupset = bugs.groupset
group by bugs.bug_id";
&::SendSQL($query);
my @row;
if (@row = &::FetchSQLData()) {
my $count = 0;
my %fields;
foreach my $field ("bug_id", "product", "version", "rep_platform",
"op_sys", "bug_status", "resolution", "priority",
"bug_severity", "component", "assigned_to", "reporter",
"bug_file_loc", "short_desc", "target_milestone",
"qa_contact", "status_whiteboard", "creation_ts",
"groupset", "delta_ts", "votes") {
$fields{$field} = shift @row;
if ($fields{$field}) {
$self->{$field} = $fields{$field};
}
$count++;
}
} else {
&::SendSQL("select groupset from bugs where bug_id = $bug_id");
if (@row = &::FetchSQLData()) {
$self->{'bug_id'} = $bug_id;
$self->{'error'} = "NotPermitted";
return $self;
} else {
$self->{'bug_id'} = $bug_id;
$self->{'error'} = "NotFound";
return $self;
}
}
if ($self->{'short_desc'}) {
$self->{'short_desc'} = QuoteXMLChars( $self->{'short_desc'} );
}
if (defined $self->{'status_whiteboard'}) {
$self->{'status_whiteboard'} = QuoteXMLChars($self->{'status_whiteboard'});
}
$self->{'assigned_to'} = &::DBID_to_name($self->{'assigned_to'});
$self->{'reporter'} = &::DBID_to_name($self->{'reporter'});
my $ccSet = new RelationSet;
$ccSet->mergeFromDB("select who from cc where bug_id=$bug_id");
my @cc = $ccSet->toArrayOfStrings();
if (@cc) {
$self->{'cc'} = \@cc;
}
if (&::Param("useqacontact") && (defined $self->{'qa_contact'}) ) {
my $name = $self->{'qa_contact'} > 0 ? &::DBID_to_name($self->{'qa_contact'}) :"";
if ($name) {
$self->{'qa_contact'} = $name;
}
}
if (@::legal_keywords) {
&::SendSQL("SELECT keyworddefs.name
FROM keyworddefs, keywords
WHERE keywords.bug_id = $bug_id
AND keyworddefs.id = keywords.keywordid
ORDER BY keyworddefs.name");
my @list;
while (&::MoreSQLData()) {
push(@list, &::FetchOneColumn());
}
if (@list) {
$self->{'keywords'} = &::html_quote(join(', ', @list));
}
}
&::SendSQL("select attach_id, creation_ts, description
from attachments
where bug_id = $bug_id");
my @attachments;
while (&::MoreSQLData()) {
my ($attachid, $date, $desc) = (&::FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
my %attach;
$attach{'attachid'} = $attachid;
$attach{'date'} = $date;
$attach{'desc'} = &::html_quote($desc);
push @attachments, \%attach;
}
}
if (@attachments) {
$self->{'attachments'} = \@attachments;
}
&::SendSQL("select bug_id, who, bug_when, thetext
from longdescs
where bug_id = $bug_id");
my @longdescs;
while (&::MoreSQLData()) {
my ($bug_id, $who, $bug_when, $thetext) = (&::FetchSQLData());
my %longdesc;
$longdesc{'who'} = $who;
$longdesc{'bug_when'} = $bug_when;
$longdesc{'thetext'} = &::html_quote($thetext);
push @longdescs, \%longdesc;
}
if (@longdescs) {
$self->{'longdescs'} = \@longdescs;
}
if (&::Param("usedependencies")) {
my @depends = EmitDependList("blocked", "dependson", $bug_id);
if ( @depends ) {
$self->{'dependson'} = \@depends;
}
my @blocks = EmitDependList("dependson", "blocked", $bug_id);
if ( @blocks ) {
$self->{'blocks'} = \@blocks;
}
}
return $self;
}
# given a bug hash, emit xml for it. with file header provided by caller
#
sub emitXML {
( $#_ == 0 ) || confess("invalid number of arguments");
my $self = shift();
my $xml;
if (exists $self->{'error'}) {
$xml .= "<bug error=\"$self->{'error'}\">\n";
$xml .= " <bug_id>$self->{'bug_id'}</bug_id>\n";
$xml .= "</bug>\n";
return $xml;
}
$xml .= "<bug>\n";
foreach my $field ("bug_id", "urlbase", "bug_status", "product",
"priority", "version", "rep_platform", "assigned_to", "delta_ts",
"component", "reporter", "target_milestone", "bug_severity",
"creation_ts", "qa_contact", "op_sys", "resolution", "bug_file_loc",
"short_desc", "keywords", "status_whiteboard") {
if ($self->{$field}) {
$xml .= " <$field>" . QuoteXMLChars($self->{$field}) . "</$field>\n";
}
}
foreach my $field ("dependson", "blocks", "cc") {
if (defined $self->{$field}) {
for (my $i=0 ; $i < @{$self->{$field}} ; $i++) {
$xml .= " <$field>" . $self->{$field}[$i] . "</$field>\n";
}
}
}
if (defined $self->{'longdescs'}) {
for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) {
$xml .= " <long_desc>\n";
$xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'})
. "</who>\n";
$xml .= " <bug_when>" . $self->{'longdescs'}[$i]->{'bug_when'}
. "</bug_when>\n";
$xml .= " <thetext>" . QuoteXMLChars($self->{'longdescs'}[$i]->{'thetext'})
. "</thetext>\n";
$xml .= " </long_desc>\n";
}
}
if (defined $self->{'attachments'}) {
for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) {
$xml .= " <attachment>\n";
$xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'}
. "</attachid>\n";
$xml .= " <date>" . $self->{'attachments'}[$i]->{'date'} . "</date>\n";
$xml .= " <desc>" . QuoteXMLChars($self->{'attachments'}[$i]->{'desc'}) . "</desc>\n";
# $xml .= " <type>" . $self->{'attachments'}[$i]->{'type'} . "</type>\n";
# $xml .= " <data>" . $self->{'attachments'}[$i]->{'data'} . "</data>\n";
$xml .= " </attachment>\n";
}
}
$xml .= "</bug>\n";
return $xml;
}
sub EmitDependList {
my ($myfield, $targetfield, $bug_id) = (@_);
my @list;
&::SendSQL("select dependencies.$targetfield, bugs.bug_status
from dependencies, bugs
where dependencies.$myfield = $bug_id
and bugs.bug_id = dependencies.$targetfield
order by dependencies.$targetfield");
while (&::MoreSQLData()) {
my ($i, $stat) = (&::FetchSQLData());
push @list, $i;
}
return @list;
}
sub QuoteXMLChars {
$_[0] =~ s/</&lt;/g;
$_[0] =~ s/>/&gt;/g;
$_[0] =~ s/'/&apos;/g;
$_[0] =~ s/"/&quot;/g;
$_[0] =~ s/&/&amp;/g;
# $_[0] =~ s/([\x80-\xFF])/&XmlUtf8Encode(ord($1))/ge;
return($_[0]);
}
sub XML_Header {
my ($urlbase, $version, $maintainer, $exporter) = (@_);
my $xml;
$xml = "<?xml version=\"1.0\" standalone=\"no\"?>\n";
$xml .= "<!DOCTYPE bugzilla SYSTEM \"$urlbase";
if (! ($urlbase =~ /.+\/$/)) {
$xml .= "/";
}
$xml .= "bugzilla.dtd\">\n";
$xml .= "<bugzilla";
if (defined $exporter) {
$xml .= " exporter=\"$exporter\"";
}
$xml .= " version=\"$version\"";
$xml .= " urlbase=\"$urlbase\"";
$xml .= " maintainer=\"$maintainer\">\n";
return ($xml);
}
sub XML_Footer {
return ("</bugzilla>\n");
}
sub UserInGroup {
my $self = shift();
my ($groupname) = (@_);
if ($self->{'usergroupset'} eq "0") {
return 0;
}
&::ConnectToDatabase();
&::SendSQL("select (bit & $self->{'usergroupset'}) != 0 from groups where name = "
. &::SqlQuote($groupname));
my $bit = &::FetchOneColumn();
if ($bit) {
return 1;
}
return 0;
}
sub CanChangeField {
my $self = shift();
my ($f, $oldvalue, $newvalue) = (@_);
my $UserInEditGroupSet = -1;
my $UserInCanConfirmGroupSet = -1;
my $ownerid;
my $reporterid;
my $qacontactid;
if ($f eq "assigned_to" || $f eq "reporter" || $f eq "qa_contact") {
if ($oldvalue =~ /^\d+$/) {
if ($oldvalue == 0) {
$oldvalue = "";
} else {
$oldvalue = &::DBID_to_name($oldvalue);
}
}
}
if ($oldvalue eq $newvalue) {
return 1;
}
if (&::trim($oldvalue) eq &::trim($newvalue)) {
return 1;
}
if ($f =~ /^longdesc/) {
return 1;
}
if ($UserInEditGroupSet < 0) {
$UserInEditGroupSet = UserInGroup($self, "editbugs");
}
if ($UserInEditGroupSet) {
return 1;
}
&::SendSQL("SELECT reporter, assigned_to, qa_contact FROM bugs " .
"WHERE bug_id = $self->{'bug_id'}");
($reporterid, $ownerid, $qacontactid) = (&::FetchSQLData());
# Let reporter change bug status, even if they can't edit bugs.
# If reporter can't re-open their bug they will just file a duplicate.
# While we're at it, let them close their own bugs as well.
if ( ($f eq "bug_status") && ($self->{'whoid'} eq $reporterid) ) {
return 1;
}
if ($f eq "bug_status" && $newvalue ne $::unconfirmedstate &&
&::IsOpenedState($newvalue)) {
# Hmm. They are trying to set this bug to some opened state
# that isn't the UNCONFIRMED state. Are they in the right
# group? Or, has it ever been confirmed? If not, then this
# isn't legal.
if ($UserInCanConfirmGroupSet < 0) {
$UserInCanConfirmGroupSet = &::UserInGroup("canconfirm");
}
if ($UserInCanConfirmGroupSet) {
return 1;
}
&::SendSQL("SELECT everconfirmed FROM bugs WHERE bug_id = $self->{'bug_id'}");
my $everconfirmed = FetchOneColumn();
if ($everconfirmed) {
return 1;
}
} elsif ($reporterid eq $self->{'whoid'} || $ownerid eq $self->{'whoid'} ||
$qacontactid eq $self->{'whoid'}) {
return 1;
}
$self->{'error'} = "
Only the owner or submitter of the bug, or a sufficiently
empowered user, may make that change to the $f field."
}
sub Collision {
my $self = shift();
my $write = "WRITE"; # Might want to make a param to control
# whether we do LOW_PRIORITY ...
&::SendSQL("LOCK TABLES bugs $write, bugs_activity $write, cc $write, " .
"profiles $write, dependencies $write, votes $write, " .
"keywords $write, longdescs $write, fielddefs $write, " .
"keyworddefs READ, groups READ, attachments READ, products READ");
&::SendSQL("SELECT delta_ts FROM bugs where bug_id=$self->{'bug_id'}");
my $delta_ts = &::FetchOneColumn();
&::SendSQL("unlock tables");
if ($self->{'delta_ts'} ne $delta_ts) {
return 1;
}
else {
return 0;
}
}
sub AppendComment {
my $self = shift();
my ($comment) = (@_);
$comment =~ s/\r\n/\n/g; # Get rid of windows-style line endings.
$comment =~ s/\r/\n/g; # Get rid of mac-style line endings.
if ($comment =~ /^\s*$/) { # Nothin' but whitespace.
return;
}
&::SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext) " .
"VALUES($self->{'bug_id'}, $self->{'whoid'}, now(), " . &::SqlQuote($comment) . ")");
&::SendSQL("UPDATE bugs SET delta_ts = now() WHERE bug_id = $self->{'bug_id'}");
}
#from o'reilley's Programming Perl
sub display {
my $self = shift;
my @keys;
if (@_ == 0) { # no further arguments
@keys = sort keys(%$self);
} else {
@keys = @_; # use the ones given
}
foreach my $key (@keys) {
print "\t$key => $self->{$key}\n";
}
}
sub CommitChanges {
#snapshot bug
#snapshot dependencies
#check can change fields
#check collision
#lock and change fields
#notify through mail
}
sub AUTOLOAD {
use vars qw($AUTOLOAD);
my $self = shift;
my $type = ref($self) || $self;
my $attr = $AUTOLOAD;
$attr =~ s/.*:://;
return unless $attr=~ /[^A-Z]/;
if (@_) {
$self->{$attr} = shift;
return;
}
confess ("invalid bug attribute $attr") unless $ok_field{$attr};
if (defined $self->{$attr}) {
return $self->{$attr};
} else {
return '';
}
}
1;

File diff suppressed because it is too large Load Diff

View File

@@ -1,404 +0,0 @@
This file contains only important changes made to Bugzilla. If you
are updating from an older verseion, make sure that you check this file!
For a more complete list of what has changed, use Bonsai
(http://cvs-mirror.mozilla.org/webtools/bonsai/cvsqueryform.cgi) to
query the CVS tree. For example,
http://cvs-mirror.mozilla.org/webtools/bonsai/cvsquery.cgi?module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fwebtools%2Fbugzilla&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=week&mindate=&maxdate=&cvsroot=%2Fcvsroot
will tell you what has been changed in the last week.
10/12/99 The CHANGES file is now obsolete! There is a new file called
checksetup.pl. You should get in the habit of running that file every time
you update your installation of Bugzilla. That file will be constantly
updated to automatically update your installation to match any code changes.
If you're curious as to what is going on, changes are commented in that file,
at the end.
Many thanks to Holger Schurig <holgerschurig@nikocity.de> for writing this
script!
10/11/99 Restructured voting database to add a cached value in each
bug recording how many total votes that bug has. While I'm at it, I
removed the unused "area" field from the bugs database. It is
distressing to realize that the bugs table has reached the maximum
number of indices allowed by MySQL (16), which may make future
enhancements awkward.
You must feed the following to MySQL:
alter table bugs drop column area;
alter table bugs add column votes mediumint not null, add index (votes);
You then *must* delete the data/versioncache file when you make this
change, as it contains references to the "area" field. Deleting it is safe,
bugzilla will correctly regenerate it.
If you have been using the voting feature at all, then you will then
need to update the voting cache. You can do this by visiting the
sanitycheck.cgi page, and taking it up on its offer to rebuild the
votes stuff.
10/7/99 Added voting ability. You must run the new script
"makevotestable.sh". You must also feed the following to mysql:
alter table products add column votesperuser smallint not null;
9/15/99 Apparently, newer alphas of MySQL won't allow you to have
"when" as a column name. So, I have had to rename a column in the
bugs_activity table. You must feed the below to mysql or you won't
work at all.
alter table bugs_activity change column when bug_when datetime not null;
8/16/99 Added "OpenVMS" to the list of OS's. Feed this to mysql:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "BeOS", "OpenVMS", "other") not null;
6/22/99 Added an entry to the attachments table to record who the submitter
was. Nothing uses this yet, but it still should be recorded.
alter table attachments add column submitter_id mediumint not null;
You should also run this script to populate the new field:
#!/usr/bonsaitools/bin/perl -w
use diagnostics;
use strict;
require "globals.pl";
$|=1;
ConnectToDatabase();
SendSQL("select bug_id, attach_id from attachments order by bug_id");
my @list;
while (MoreSQLData()) {
my @row = FetchSQLData();
push(@list, \@row);
}
foreach my $ref (@list) {
my ($bug, $attach) = (@$ref);
SendSQL("select long_desc from bugs where bug_id = $bug");
my $comment = FetchOneColumn() . "Created an attachment (id=$attach)";
if ($comment =~ m@-* Additional Comments From ([^ ]*)[- 0-9/:]*\nCreated an attachment \(id=$attach\)@) {
print "Found $1\n";
SendSQL("select userid from profiles where login_name=" .
SqlQuote($1));
my $userid = FetchOneColumn();
if (defined $userid && $userid > 0) {
SendSQL("update attachments set submitter_id=$userid where attach_id = $attach");
}
} else {
print "Bug $bug can't find comment for attachment $attach\n";
}
}
6/14/99 Added "BeOS" to the list of OS's. Feed this to mysql:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "BeOS", "other") not null;
5/27/99 Added support for dependency information. You must run the new
"makedependenciestable.sh" script. You can turn off dependencies with the new
"usedependencies" param, but it defaults to being on. Also, read very
carefully the description for the new "webdotbase" param; you will almost
certainly need to tweak it.
5/24/99 Added "Mac System 8.6" and "Neutrino" to the list of OS's.
Feed this to mysql:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "Mac System 8.6", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "Neutrino", "OS/2", "other") not null;
5/12/99 Added a pref to control how much email you get. This needs a new
column in the profiles table, so feed the following to mysql:
alter table profiles add column emailnotification enum("ExcludeSelfChanges", "CConly", "All") not null default "ExcludeSelfChanges";
5/5/99 Added the ability to search by creation date. To make this perform
well, you ought to do the following:
alter table bugs change column creation_ts creation_ts datetime not null, add index (creation_ts);
4/30/99 Added a new severity, "blocker". To get this into your running
Bugzilla, do the following:
alter table bugs change column bug_severity bug_severity enum("blocker", "critical", "major", "normal", "minor", "trivial", "enhancement") not null;
4/22/99 There was a bug where the long descriptions of bugs had a variety of
newline characters at the end, depending on the operating system of the browser
that submitted the text. This bug has been fixed, so that no further changes
like that will happen. But to fix problems that have already crept into your
database, you can run the following perl script (which is slow and ugly, but
does work:)
#!/usr/bonsaitools/bin/perl -w
use diagnostics;
use strict;
require "globals.pl";
$|=1;
ConnectToDatabase();
SendSQL("select bug_id from bugs order by bug_id");
my @list;
while (MoreSQLData()) {
push(@list, FetchOneColumn());
}
foreach my $id (@list) {
if ($id % 50 == 0) {
print "\n$id ";
}
SendSQL("select long_desc from bugs where bug_id = $id");
my $comment = FetchOneColumn();
my $orig = $comment;
$comment =~ s/\r\n/\n/g; # Get rid of windows-style line endings.
$comment =~ s/\r/\n/g; # Get rid of mac-style line endings.
if ($comment ne $orig) {
SendSQL("update bugs set long_desc = " . SqlQuote($comment) .
" where bug_id = $id");
print ".";
} else {
print "-";
}
}
4/8/99 Added ability to store patches with bugs. This requires a new table
to store the data, so you will need to run the "makeattachmenttable.sh" script.
3/25/99 Unfortunately, the HTML::FromText CPAN module had too many bugs, and
so I had to roll my own. We no longer use the HTML::FromText CPAN module.
3/24/99 (This entry has been removed. It used to say that we required the
HTML::FromText CPAN module, but that's no longer true.)
3/22/99 Added the ability to query by fields which have changed within a date
range. To make this perform a bit better, we need a new index:
alter table bugs_activity add index (field);
3/10/99 Added 'groups' stuff, where we have different group bits that we can
put on a person or on a bug. Some of the group bits control access to bugzilla
features. And a person can't access a bug unless he has every group bit set
that is also set on the bug. See the comments in makegroupstable.sh for a bit
more info.
The 'maintainer' param is now used only as an email address for people to send
complaints to. The groups table is what is now used to determine permissions.
You will need to run the new script "makegroupstable.sh". And then you need to
feed the following lines to MySQL (replace XXX with the login name of the
maintainer, the person you wish to be all-powerful).
alter table bugs add column groupset bigint not null;
alter table profiles add column groupset bigint not null;
update profiles set groupset=0x7fffffffffffffff where login_name = XXX;
3/8/99 Added params to control how priorities are set in a new bug. You can
now choose whether to let submitters of new bugs choose a priority, or whether
they should just accept the default priority (which is now no longer hardcoded
to "P2", but is instead a param.) The default value of the params will cause
the same behavior as before.
3/3/99 Added a "disallownew" field to the products table. If non-zero, then
don't let people file new bugs against this product. (This is for when a
product is retired, but you want to keep the bug reports around for posterity.)
Feed this to MySQL:
alter table products add column disallownew tinyint not null;
2/8/99 Added FreeBSD to the list of OS's. Feed this to MySQL:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "FreeBSD", "OSF/1", "Solaris", "SunOS", "OS/2", "other") not null;
2/4/99 Added a new column "description" to the components table, and added
links to a new page which will use this to describe the components of a
given product. Feed this to MySQL:
alter table components add column description mediumtext not null;
2/3/99 Added a new column "initialqacontact" to the components table that gives
an initial QA contact field. It may be empty if you wish the initial qa
contact to be empty. If you're not using the QA contact field, you don't need
to add this column, but you might as well be safe and add it anyway:
alter table components add column initialqacontact tinytext not null;
2/2/99 Added a new column "milestoneurl" to the products table that gives a URL
which is to describe the currently defined milestones for a product. If you
don't use target milestone, you might be able to get away without adding this
column, but you might as well be safe and add it anyway:
alter table products add column milestoneurl tinytext not null;
1/29/99 Whoops; had a mispelled op_sys. It was "Mac System 7.1.6"; it should
be "Mac System 7.6.1". It turns out I had no bugs with this value set, so I
could just do the below simple command. If you have bugs with this value, you
may need to do something more complicated.
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.6.1", "Mac System 8.0", "Mac System 8.5", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "OS/2", "other") not null;
1/20/99 Added new fields: Target Milestone, QA Contact, and Status Whiteboard.
These fields are all optional in the UI; there are parameters to turn them on.
However, whether or not you use them, the fields need to be in the DB. There
is some code that needs them, even if you don't.
To update your DB to have these fields, send the following to MySQL:
alter table bugs add column target_milestone varchar(20) not null,
add column qa_contact mediumint not null,
add column status_whiteboard mediumtext not null,
add index (target_milestone), add index (qa_contact);
1/18/99 You can now query by CC. To make this perform reasonably, the CC table
needs some indices. The following MySQL does the necessary stuff:
alter table cc add index (bug_id), add index (who);
1/15/99 The op_sys field can now be queried by (and more easily tweaked).
To make this perform reasonably, it needs an index. The following MySQL
command will create the necessary index:
alter table bugs add index (op_sys);
12/2/98 The op_sys and rep_platform fields have been tweaked. op_sys
is now an enum, rather than having the legal values all hard-coded in
perl. rep_platform now no longer allows a value of "X-Windows".
Here's how I ported to the new world. This ought to work for you too.
Actually, it's probably overkill. I had a lot of illegal values for op_sys
in my tables, from importing bugs from strange places. If you haven't done
anything funky, then much of the below will be a no-op.
First, send the following commands to MySQL to make sure all your values for
rep_platform and op_sys are legal in the new world..
update bugs set rep_platform="Sun" where rep_platform="X-Windows" and op_sys like "Solaris%";
update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "IRIX";
update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "HP-UX";
update bugs set rep_platform="DEC" where rep_platform="X-Windows" and op_sys = "OSF/1";
update bugs set rep_platform="PC" where rep_platform="X-Windows" and op_sys = "Linux";
update bugs set rep_platform="other" where rep_platform="X-Windows";
update bugs set rep_platform="other" where rep_platform="";
update bugs set op_sys="Mac System 7" where op_sys="System 7";
update bugs set op_sys="Mac System 7.5" where op_sys="System 7.5";
update bugs set op_sys="Mac System 8.0" where op_sys="8.0";
update bugs set op_sys="OSF/1" where op_sys="Digital Unix 4.0";
update bugs set op_sys="IRIX" where op_sys like "IRIX %";
update bugs set op_sys="HP-UX" where op_sys like "HP-UX %";
update bugs set op_sys="Windows NT" where op_sys like "NT %";
update bugs set op_sys="OSF/1" where op_sys like "OSF/1 %";
update bugs set op_sys="Solaris" where op_sys like "Solaris %";
update bugs set op_sys="SunOS" where op_sys like "SunOS%";
update bugs set op_sys="other" where op_sys = "Motif";
update bugs set op_sys="other" where op_sys = "Other";
Next, send the following commands to make sure you now have only legal
entries in your table. If either of the queries do not come up empty, then
you have to do more stuff like the above.
select bug_id,op_sys,rep_platform from bugs where rep_platform not regexp "^(All|DEC|HP|Macintosh|PC|SGI|Sun|X-Windows|Other)$";
select bug_id,op_sys,rep_platform from bugs where op_sys not regexp "^(All|Windows 3.1|Windows 95|Windows 98|Windows NT|Mac System 7|Mac System 7.5|Mac System 7.1.6|Mac System 8.0|AIX|BSDI|HP-UX|IRIX|Linux|OSF/1|Solaris|SunOS|other)$";
Finally, once that's all clear, alter the table to make enforce the new legal
entries:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null, change column rep_platform rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other");
11/20/98 Added searching of CC field. To better support this, added
some indexes to the CC table. You probably want to execute the following
mysql commands:
alter table cc add index (bug_id);
alter table cc add index (who);
10/27/98 security check for legal products in place. bug charts are not
available as an option if collectstats.pl has never been run. all products
get daily stats collected now. README updated: Chart::Base is listed as
a requirement, instructions for using collectstats.pl included as
an optional step. also got silly and added optional quips to bug
reports.
10/17/98 modified README installation instructions slightly.
10/7/98 Added a new table called "products". Right now, this is used
only to have a description for each product, and that description is
only used when initially adding a new bug. Anyway, you *must* create
the new table (which you can do by running the new makeproducttable.sh
script). If you just leave it empty, things will work much as they
did before, or you can add descriptions for some or all of your
products.
9/15/98 Everything has been ported to Perl. NO MORE TCL. This
transition should be relatively painless, except for the "params"
file. This is the file that contains parameters you've set up on the
editparams.cgi page. Before changing to Perl, this was a tcl-syntax
file, stored in the same directory as the code; after the change to
Perl, it becomes a perl-syntax file, stored in a subdirectory named
"data". See the README file for more details on what version of Perl
you need.
So, if updating from an older version of Bugzilla, you will need to
edit data/param, change the email address listed for
$::param{'maintainer'}, and then go revisit the editparams.cgi page
and reset all the parameters to your taste. Fortunately, your old
params file will still be around, and so you ought to be able to
cut&paste important bits from there.
Also, note that the "whineatnews" script has changed name (it now has
an extension of .pl instead of .tcl), so you'll need to change your
cron job.
And the "comments" file has been moved to the data directory. Just do
"cat comments >> data/comments" to restore any old comments that may
have been lost.
9/2/98 Changed the way password validation works. We now keep a
crypt'd version of the password in the database, and check against
that. (This is silly, because we're also keeping the plaintext
version there, but I have plans...) Stop passing the plaintext
password around as a cookie; instead, we have a cookie that references
a record in a new database table, logincookies.
IMPORTANT: if updating from an older version of Bugzilla, you must run
the following commands to keep things working:
./makelogincookiestable.sh
echo "alter table profiles add column cryptpassword varchar(64);" | mysql bugs
echo "update profiles set cryptpassword = encrypt(password,substring(rand(),3, 4));" | mysql bugs

View File

@@ -1,15 +0,0 @@
=====================
BUGZILLA 2.12 RELEASE
=====================
* This README is no longer used to house installation instructions. Instead,
it contains pointers to where you may find the information you need.
* Installation instructions are now found in docs/, with a variety of document
types available. Please refer to these documents when installing, configuring,
and maintaining your Bugzilla installation. A helpful starting point is
docs/txt/Bugzilla-Guide.txt, or with a web browser at docs/html/index.html.
* Release Notes for Bugzilla 2.12 are available at docs/rel_notes.txt.
* If you wish to contribute to the documentation, please read docs/README.docs.

View File

@@ -1,262 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dan Mosedale <dmose@mozilla.org>
# Terry Weissman <terry@mozilla.org>
# Dave Miller <justdave@syndicomm.com>
# This object models a set of relations between one item and a group
# of other items. An example is the set of relations between one bug
# and the users CCed on that bug. Currently, the relation objects are
# expected to be bugzilla userids. However, this could and perhaps
# should be generalized to work with non userid objects, such as
# keywords associated with a bug. That shouldn't be hard to do; it
# might involve turning this into a virtual base class, and having
# UserSet and KeywordSet types that inherit from it.
use diagnostics;
use strict;
require "globals.pl";
package RelationSet;
use CGI::Carp qw(fatalsToBrowser);
# create a new empty RelationSet
#
sub new {
my $type = shift();
# create a ref to an empty hash and bless it
#
my $self = {};
bless $self, $type;
# construct from a comma-delimited string
#
if ($#_ == 0) {
$self->mergeFromString($_[0]);
}
# unless this was a constructor for an empty list, somebody screwed up.
#
elsif ( $#_ != -1 ) {
confess("invalid number of arguments");
}
# bless as a RelationSet
#
return $self;
}
# Assumes that the set of relations "FROM $table WHERE $constantSql and
# $column = $value" is currently represented by $self, and this set should
# be updated to look like $other.
#
# Returns an array of two strings, one INSERT and one DELETE, which will
# make this change. Either or both strings may be the empty string,
# meaning that no INSERT or DELETE or both (respectively) need to be done.
#
# THE CALLER IS RESPONSIBLE FOR ANY DESIRED LOCKING AND/OR CONSISTENCY
# CHECKS (not to mention doing the SendSQL() calls).
#
sub generateSqlDeltas {
($#_ == 5) || confess("invalid number of arguments");
my ( $self, # instance ptr to set representing the existing state
$endState, # instance ptr to set representing the desired state
$table, # table where these relations are kept
$invariantName, # column held const for a RelationSet (often "bug_id")
$invariantValue, # what to hold the above column constant at
$columnName # the column which varies (often a userid)
) = @_;
# construct the insert list by finding relations which exist in the
# end state but not the current state.
#
my @endStateRelations = keys(%$endState);
my @insertList = ();
foreach ( @endStateRelations ) {
push ( @insertList, $_ ) if ( ! exists $$self{"$_"} );
}
# we've built the list. If it's non-null, add required sql chrome.
#
my $sqlInsert="";
if ( $#insertList > -1 ) {
$sqlInsert = "INSERT INTO $table ($invariantName, $columnName) VALUES " .
join (",",
map ( "($invariantValue, $_)" , @insertList )
);
}
# construct the delete list by seeing which relations exist in the
# current state but not the end state
#
my @selfRelations = keys(%$self);
my @deleteList = ();
foreach ( @selfRelations ) {
push (@deleteList, $_) if ( ! exists $$endState{"$_"} );
}
# we've built the list. if it's non-empty, add required sql chrome.
#
my $sqlDelete = "";
if ( $#deleteList > -1 ) {
$sqlDelete = "DELETE FROM $table WHERE $invariantName = $invariantValue " .
"AND $columnName IN ( " . join (",", @deleteList) . " )";
}
return ($sqlInsert, $sqlDelete);
}
# compare the current object with another.
#
sub isEqual {
($#_ == 1) || confess("invalid number of arguments");
my $self = shift();
my $other = shift();
# get arrays of the keys for faster processing
#
my @selfRelations = keys(%$self);
my @otherRelations = keys(%$other);
# make sure the arrays are the same size
#
return 0 if ( $#selfRelations != $#otherRelations );
# bail out if any of the elements are different
#
foreach my $relation ( @selfRelations ) {
return 0 if ( !exists $$other{$relation})
}
# we made it!
#
return 1;
}
# merge the results of a SQL command into this set
#
sub mergeFromDB {
( $#_ == 1 ) || confess("invalid number of arguments");
my $self = shift();
&::SendSQL(shift());
while (my @row = &::FetchSQLData()) {
$$self{$row[0]} = 1;
}
return;
}
# merge a set in string form into this set
#
sub mergeFromString {
($#_ == 1) || confess("invalid number of arguments");
my $self = shift();
# do the merge
#
foreach my $person (split(/[ ,]/, shift())) {
if ($person ne "") {
$$self{&::DBNameToIdAndCheck($person)} = 1;
}
}
}
# remove a set in string form from this set
#
sub removeItemsInString {
($#_ == 1) || confess("invalid number of arguments");
my $self = shift();
# do the merge
#
foreach my $person (split(/[ ,]/, shift())) {
if ($person ne "") {
my $dbid = &::DBNameToIdAndCheck($person);
if (exists $$self{$dbid}) {
delete $$self{$dbid};
}
}
}
}
# remove a set in array form from this set
#
sub removeItemsInArray {
($#_ > 0) || confess("invalid number of arguments");
my $self = shift();
# do the merge
#
while (my $person = shift()) {
if ($person ne "") {
my $dbid = &::DBNameToIdAndCheck($person);
if (exists $$self{$dbid}) {
delete $$self{$dbid};
}
}
}
}
# return the number of elements in this set
#
sub size {
my $self = shift();
my @k = keys(%$self);
return $#k++;
}
# return this set in array form
#
sub toArray {
my $self= shift();
return keys(%$self);
}
# return this set as an array of strings
#
sub toArrayOfStrings {
($#_ == 0) || confess("invalid number of arguments");
my $self = shift();
my @result = ();
foreach my $i ( keys %$self ) {
push @result, &::DBID_to_name($i);
}
return sort(@result);
}
# return this set in string form (comma-separated and sorted)
#
sub toString {
($#_ == 0) || confess("invalid number of arguments");
my $self = shift();
my @result = ();
foreach my $i ( keys %$self ) {
push @result, &::DBID_to_name($i);
}
return join(',', sort(@result));
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -1,178 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Provides a silly 'back-door' mechanism to let me automatically insert
# bugs from the netscape bugsystem. Other installations of Bugzilla probably
# don't need to worry about this file any.
use diagnostics;
use strict;
require "CGI.pl";
# Shut up misguided -w warnings about "used only once":
use vars %::versions;
ConnectToDatabase();
print "Content-type: text/plain\n\n";
# while (my ($key,$value) = each %ENV) {
# print "$key=$value\n";
# }
my $host = $ENV{'REMOTE_ADDR'};
# if (open(CODE, ">data/backdoorcode")) {
# print CODE GenerateCode("%::FORM");
# close(CODE);
# }
#
# do "/tmp/backdoorcode";
SendSQL("select passwd from backdoor where host = '$host'");
my $passwd = FetchOneColumn();
if (!defined $passwd || !defined $::FORM{'passwd'} ||
$passwd ne crypt($::FORM{'passwd'}, substr($passwd, 0, 2))) {
print "Who are you?\n";
print "Env:\n";
while (my ($key,$value) = each %ENV) {
print "$key=$value\n";
}
print "\nForm:\n";
while (my ($key,$value) = each %::FORM) {
print "$key=$value\n";
}
exit;
}
my $prod = $::FORM{'product'};
my $comp = $::FORM{'component'};
my $version = $::FORM{'version'};
GetVersionTable();
sub Punt {
my ($label, $value) = (@_);
my $maintainer = Param("maintainer");
print "I don't know how to move into Bugzilla a bug with a $label of $value.
If you really do need to do this, speak to $maintainer and maybe he
can teach me.";
exit;
}
# Do remapping of things from BugSplat world to Bugzilla.
if ($prod eq "Communicator") {
$prod = "Browser";
$version = "other";
}
if ($prod eq "NSS") {
$version = "unspecified";
}
# Validate fields, and whine about things that we apparently couldn't remap
# into something legal.
if (!defined $::components{$prod}) {
Punt("product", $prod);
}
if (lsearch($::components{$prod}, $comp) < 0) {
Punt("component", $comp);
}
if (lsearch($::versions{$prod}, $version) < 0) {
$version = "other";
if (lsearch($::versions{$prod}, $version) < 0) {
Punt("version", $version);
}
}
$::FORM{'product'} = $prod;
$::FORM{'component'} = $comp;
$::FORM{'version'} = $version;
my $longdesc =
"(This bug imported from BugSplat, Netscape's internal bugsystem. It
was known there as bug #$::FORM{'bug_id'}
http://scopus.netscape.com/bugsplat/show_bug.cgi?id=$::FORM{'bug_id'}
Imported into Bugzilla on " . time2str("%D %H:%M", time()) . ")
" . $::FORM{'long_desc'};
$::FORM{'reporter'} =
DBNameToIdAndCheck("$::FORM{'reporter'}\@netscape.com", 1);
$::FORM{'assigned_to'} =
DBNameToIdAndCheck("$::FORM{'assigned_to'}\@netscape.com", 1);
if ($::FORM{'qa_contact'} ne "") {
$::FORM{'qa_contact'} =
DBNameToIdAndCheck("$::FORM{'qa_contact'}\@netscape.com", 1);
} else {
$::FORM{'qa_contact'} = 0;
}
my @list = ('reporter', 'assigned_to', 'product', 'version', 'rep_platform',
'op_sys', 'bug_status', 'bug_severity', 'priority', 'component',
'short_desc', 'creation_ts', 'delta_ts',
'bug_file_loc', 'qa_contact', 'groupset');
my @vallist;
foreach my $i (@list) {
push @vallist, SqlQuote($::FORM{$i});
}
my $query = "insert into bugs (" .
join(',', @list) .
") values (" .
join(',', @vallist) .
")";
SendSQL($query);
SendSQL("select LAST_INSERT_ID()");
my $zillaid = FetchOneColumn();
SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext) VALUES " .
"($zillaid, $::FORM{'reporter'}, now(), " . SqlQuote($longdesc) . ")");
foreach my $cc (split(/,/, $::FORM{'cc'})) {
if ($cc ne "") {
my $cid = DBNameToIdAndCheck("$cc\@netscape.com", 1);
SendSQL("insert into cc (bug_id, who) values ($zillaid, $cid)");
}
}
print "Created bugzilla bug $zillaid\n";
system("./processmail", $zillaid);

View File

@@ -1,79 +0,0 @@
<html> <head>
<title>The "boolean chart" section of the query page</title>
</head>
<body>
<h1>The "boolean chart" section of the query page</h1>
("Boolean chart" is a terrible term; anyone got a better one I can use
instead?)
<p>
The Bugzilla query page is designed to be reasonably easy to use.
But, with such ease of use always comes some lack of power. The
"boolean chart" section is designed to let you do very powerful
queries, but it's not the easiest thing to learn (or explain).
<p>
So.
<p>
The boolean chart starts with a single "term". A term is a
combination of two pulldown menus and a text field.
You choose items from the menus, specifying "what kind of thing
am I searching for" and "what kind of matching do I want", and type in
a value on the text field, specifying "what should it match".
<p>
The real fun starts when you click on the "Or" or "And" buttons. If
you bonk on the "Or" button, then you get a second term to the right
of the first one. You can then configure that term, and the result of
the query will be anything that matches either of the terms.
<p>
Or, you can bonk the "And" button, and get a new term below the
original one, and now the result of the query will be anything that
matches both of the terms.
<p>
And you can keep clicking "And" and "Or", and get a page with tons of
terms. "Or" has higher precedence than "And". (In other words, you
can think of each line of "Or" stuff as having parenthesis around it.)
<p>
The most subtle thing is this "Add another boolean chart" button.
This is almost the same thing as the "And" button. The difference is
if you use one of the fields where several items can be associated
with a single bug. This includes "Comments", "CC", and all the
"changed [something]" entries. Now, if you have multiple terms that
all talk about one of these fields, it's ambiguous whether they are
allowed to be talking about different instances of that field. So,
to let you have it both ways, they always mean the same instance,
unless the terms appear on different charts.
<p>
For example: if you search for "priority changed to P5" and
"priority changed by person@addr", it will only find bugs where the
given person at some time changed the priority to P5. However, if
what you really want is to find all bugs where the milestone was
changed at some time by the person, and someone (possibly someone
else) at some time changed the milestone to P5, then you would put
the two terms in two different charts.
<p>
Clear as mud? Please, I beg you, rewrite this document to make
everything crystal clear, and send the improved version to <a
href="mailto:tara@tequilarista.org">Tara</a>.
<hr>
<!-- hhmts start -->
Last modified: Wed Aug 16 16:06:36 2000
<!-- hhmts end -->
</body> </html>

View File

@@ -1,535 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Dave Miller <justdave@syndicomm.com>
use diagnostics;
use strict;
use RelationSet;
# Shut up misguided -w warnings about "used only once". For some reason,
# "use vars" chokes on me when I try it here.
sub bug_form_pl_sillyness {
my $zz;
$zz = %::FORM;
$zz = %::components;
$zz = %::prodmaxvotes;
$zz = %::versions;
$zz = @::legal_keywords;
$zz = @::legal_opsys;
$zz = @::legal_platform;
$zz = @::legal_product;
$zz = @::legal_priority;
$zz = @::settable_resolution;
$zz = @::legal_severity;
$zz = %::target_milestone;
}
my $loginok = quietly_check_login();
my $id = $::FORM{'id'};
my $query = "
select
bugs.bug_id,
product,
version,
rep_platform,
op_sys,
bug_status,
resolution,
priority,
bug_severity,
component,
assigned_to,
reporter,
bug_file_loc,
short_desc,
target_milestone,
qa_contact,
status_whiteboard,
date_format(creation_ts,'%Y-%m-%d %H:%i'),
groupset,
delta_ts,
sum(votes.count)
from bugs left join votes using(bug_id)
where bugs.bug_id = $id
and bugs.groupset & $::usergroupset = bugs.groupset
group by bugs.bug_id";
SendSQL($query);
my %bug;
my @row;
if (@row = FetchSQLData()) {
my $count = 0;
foreach my $field ("bug_id", "product", "version", "rep_platform",
"op_sys", "bug_status", "resolution", "priority",
"bug_severity", "component", "assigned_to", "reporter",
"bug_file_loc", "short_desc", "target_milestone",
"qa_contact", "status_whiteboard", "creation_ts",
"groupset", "delta_ts", "votes") {
$bug{$field} = shift @row;
if (!defined $bug{$field}) {
$bug{$field} = "";
}
$count++;
}
} else {
SendSQL("select groupset from bugs where bug_id = $id");
if (@row = FetchSQLData()) {
print "<H1>Permission denied.</H1>\n";
if ($loginok) {
print "Sorry; you do not have the permissions necessary to see\n";
print "bug $id.\n";
} else {
print "Sorry; bug $id can only be viewed when logged\n";
print "into an account with the appropriate permissions. To\n";
print "see this bug, you must first\n";
print "<a href=\"show_bug.cgi?id=$id&GoAheadAndLogIn=1\">";
print "log in</a>.";
}
} else {
print "<H1>Bug not found</H1>\n";
print "There does not seem to be a bug numbered $id.\n";
}
PutFooter();
exit;
}
my $assignedtoid = $bug{'assigned_to'};
my $reporterid = $bug{'reporter'};
my $qacontactid = $bug{'qa_contact'};
$bug{'assigned_to_email'} = DBID_to_name($assignedtoid);
$bug{'assigned_to'} = DBID_to_real_or_loginname($bug{'assigned_to'});
$bug{'reporter'} = DBID_to_real_or_loginname($bug{'reporter'});
print qq{<FORM NAME="changeform" METHOD="POST" ACTION="process_bug.cgi">\n};
# foreach my $i (sort(keys(%bug))) {
# my $q = value_quote($bug{$i});
# print qq{<INPUT TYPE="HIDDEN" NAME="orig-$i" VALUE="$q">\n};
# }
$bug{'long_desc'} = GetLongDescriptionAsHTML($id);
my $longdesclength = length($bug{'long_desc'});
GetVersionTable();
#
# These should be read from the database ...
#
my $platform_popup = make_options(\@::legal_platform, $bug{'rep_platform'});
my $priority_popup = make_options(\@::legal_priority, $bug{'priority'});
my $sev_popup = make_options(\@::legal_severity, $bug{'bug_severity'});
my $component_popup = make_options($::components{$bug{'product'}},
$bug{'component'});
my $ccSet = new RelationSet;
$ccSet->mergeFromDB("select who from cc where bug_id=$id");
my @ccList = $ccSet->toArrayOfStrings();
my $cc_element = "<INPUT TYPE=HIDDEN NAME=cc VALUE=\"\">";
if (scalar(@ccList) > 0) {
$cc_element = "<SELECT NAME=cc MULTIPLE SIZE=5>\n";
foreach my $ccName ( @ccList ) {
$cc_element .= "<OPTION VALUE=\"$ccName\">$ccName\n";
}
$cc_element .= "</SELECT><BR>\n" .
"<INPUT TYPE=CHECKBOX NAME=removecc>Remove selected CCs<br>\n";
}
my $URL = value_quote($bug{'bug_file_loc'});
if (defined $URL && $URL ne "none" && $URL ne "NULL" && $URL ne "") {
$URL = "<B><A HREF=\"$URL\">URL:</A></B>";
} else {
$URL = "<B>URL:</B>";
}
print "
<INPUT TYPE=HIDDEN NAME=\"delta_ts\" VALUE=\"$bug{'delta_ts'}\">
<INPUT TYPE=HIDDEN NAME=\"longdesclength\" VALUE=\"$longdesclength\">
<INPUT TYPE=HIDDEN NAME=\"id\" VALUE=$id>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD ALIGN=RIGHT><B>Bug#:</B></TD><TD><A HREF=\"" . Param('urlbase') . "show_bug.cgi?id=$bug{'bug_id'}\">$bug{'bug_id'}</A></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#rep_platform\">Platform:</A></B></TD>
<TD><SELECT NAME=rep_platform>$platform_popup</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B>Reporter:</B></TD><TD>$bug{'reporter'}</TD>
</TR><TR>
<TD ALIGN=RIGHT><B>Product:</B></TD>
<TD><SELECT NAME=product>" .
make_options(\@::legal_product, $bug{'product'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B>OS:</B></TD>
<TD><SELECT NAME=op_sys>" .
make_options(\@::legal_opsys, $bug{'op_sys'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT NOWRAP><b>Add CC:</b></TD>
<TD><INPUT NAME=newcc SIZE=30 VALUE=\"\"></TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"describecomponents.cgi?product=" .
url_quote($bug{'product'}) . "\">Component:</A></B></TD>
<TD><SELECT NAME=component>$component_popup</SELECT></TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B>Version:</B></TD>
<TD><SELECT NAME=version>" .
make_options($::versions{$bug{'product'}}, $bug{'version'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>
<TD ROWSPAN=4 ALIGN=RIGHT VALIGN=TOP><B>Cc:</B></TD>
<TD ROWSPAN=4 VALIGN=TOP> $cc_element </TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.html\">Status:</A></B></TD>
<TD>$bug{'bug_status'}</TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#priority\">Priority:</A></B></TD>
<TD><SELECT NAME=priority>$priority_popup</SELECT></TD>
<TD>&nbsp;</TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.html\">Resolution:</A></B></TD>
<TD>$bug{'resolution'}</TD>
<TD>&nbsp;</TD>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#severity\">Severity:</A></B></TD>
<TD><SELECT NAME=bug_severity>$sev_popup</SELECT></TD>
<TD>&nbsp;</TD>
</TR><TR>
<TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#assigned_to\">Assigned&nbsp;To:
</A></B></TD>
<TD>$bug{'assigned_to'}</TD>
<TD>&nbsp;</TD>";
if (Param("usetargetmilestone")) {
my $url = "";
if (defined $::milestoneurl{$bug{'product'}}) {
$url = $::milestoneurl{$bug{'product'}};
}
if ($url eq "") {
$url = "notargetmilestone.html";
}
if ($bug{'target_milestone'} eq "") {
$bug{'target_milestone'} = " ";
}
print "
<TD ALIGN=RIGHT><A href=\"$url\"><B>Target Milestone:</B></A></TD>
<TD><SELECT NAME=target_milestone>" .
make_options($::target_milestone{$bug{'product'}},
$bug{'target_milestone'}) .
"</SELECT></TD>
<TD>&nbsp;</TD>";
} else { print "<TD></TD><TD></TD><TD>&nbsp;</TD>"; }
print "
</TR>";
if (Param("useqacontact")) {
my $name = $bug{'qa_contact'} > 0 ? DBID_to_name($bug{'qa_contact'}) : "";
print "
<TR>
<TD ALIGN=\"RIGHT\"><B>QA Contact:</B>
<TD COLSPAN=7>
<INPUT NAME=qa_contact VALUE=\"" .
value_quote($name) .
"\" SIZE=60></TD>
</TR>";
}
print "
<TR>
<TD ALIGN=\"RIGHT\">$URL
<TD COLSPAN=7>
<INPUT NAME=bug_file_loc VALUE=\"" . value_quote($bug{'bug_file_loc'}) . "\" SIZE=60></TD>
</TR><TR>
<TD ALIGN=\"RIGHT\"><B>Summary:</B>
<TD COLSPAN=7>
<INPUT NAME=short_desc VALUE=\"" .
value_quote($bug{'short_desc'}) .
"\" SIZE=60></TD>
</TR>";
if (Param("usestatuswhiteboard")) {
print "
<TR>
<TD ALIGN=\"RIGHT\"><B>Status Whiteboard:</B>
<TD COLSPAN=7>
<INPUT NAME=status_whiteboard VALUE=\"" .
value_quote($bug{'status_whiteboard'}) .
"\" SIZE=60></TD>
</TR>";
}
if (@::legal_keywords) {
SendSQL("SELECT keyworddefs.name
FROM keyworddefs, keywords
WHERE keywords.bug_id = $id AND keyworddefs.id = keywords.keywordid
ORDER BY keyworddefs.name");
my @list;
while (MoreSQLData()) {
push(@list, FetchOneColumn());
}
my $value = value_quote(join(', ', @list));
print qq{
<TR>
<TD ALIGN=right><B><A HREF="describekeywords.cgi">Keywords:</A></B>
<TD COLSPAN=7><INPUT NAME="keywords" VALUE="$value" SIZE=60></TD>
</TR>
};
}
print "<tr><td align=right><B>Attachments:</b></td>\n";
SendSQL("select attach_id, creation_ts, mimetype, description from attachments where bug_id = $id");
while (MoreSQLData()) {
my ($attachid, $date, $mimetype, $desc) = (FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
}
my $link = "showattachment.cgi?attach_id=$attachid";
$desc = value_quote($desc);
print qq{<td><a href="$link">$date</a></td><td colspan=6>$desc&nbsp;&nbsp;&nbsp;($mimetype)</td></tr><tr><td></td>};
}
print "<td colspan=7><a href=\"createattachment.cgi?id=$id\">Create a new attachment</a> (proposed patch, testcase, etc.)</td></tr></table>\n";
sub EmitDependList {
my ($desc, $myfield, $targetfield) = (@_);
print "<th align=right>$desc:</th><td>";
my @list;
SendSQL("select $targetfield from dependencies where
$myfield = $id order by $targetfield");
while (MoreSQLData()) {
my ($i) = (FetchSQLData());
push(@list, $i);
print GetBugLink($i, $i);
print " ";
}
print "</td><td><input name=$targetfield value=\"" .
join(',', @list) . "\"></td>\n";
}
if (Param("usedependencies")) {
print "<table><tr>\n";
EmitDependList("Bug $id depends on", "blocked", "dependson");
print qq{
<td rowspan=2><a href="showdependencytree.cgi?id=$id">Show dependency tree</a>
};
if (Param("webdotbase") ne "") {
print qq{
<br><a href="showdependencygraph.cgi?id=$id">Show dependency graph</a>
};
}
print "</td></tr><tr>";
EmitDependList("Bug $id blocks", "dependson", "blocked");
print "</tr></table>\n";
}
if ($::prodmaxvotes{$bug{'product'}}) {
print qq{
<table><tr>
<th><a href="votehelp.html">Votes</a> for bug $id:</th><td>
<a href="showvotes.cgi?bug_id=$id">$bug{'votes'}</a>
&nbsp;&nbsp;&nbsp;<a href="showvotes.cgi?voteon=$id">Vote for this bug</a>
</td></tr></table>
};
}
print "
<br>
<B>Additional Comments:</B>
<BR>
<TEXTAREA WRAP=HARD NAME=comment ROWS=10 COLS=80></TEXTAREA><BR>";
if ($::usergroupset ne '0') {
SendSQL("select bit, description, (bit & $bug{'groupset'} != 0) from groups where bit & $::usergroupset != 0 and isbuggroup != 0 order by bit");
while (MoreSQLData()) {
my ($bit, $description, $ison) = (FetchSQLData());
my $check0 = !$ison ? " SELECTED" : "";
my $check1 = $ison ? " SELECTED" : "";
print "<select name=bit-$bit><option value=0$check0>\n";
print "People not in the \"$description\" group can see this bug\n";
print "<option value=1$check1>\n";
print "Only people in the \"$description\" group can see this bug\n";
print "</select><br>\n";
}
}
print "<br>
<INPUT TYPE=radio NAME=knob VALUE=none CHECKED>
Leave as <b>$bug{'bug_status'} $bug{'resolution'}</b><br>";
# knum is which knob number we're generating, in javascript terms.
my $knum = 1;
my $status = $bug{'bug_status'};
# In the below, if the person hasn't logged in ($::userid == 0), then
# we treat them as if they can do anything. That's because we don't
# know why they haven't logged in; it may just be because they don't
# use cookies. Display everything as if they have all the permissions
# in the world; their permissions will get checked when they log in
# and actually try to make the change.
my $canedit = UserInGroup("editbugs") || ($::userid == 0);
my $canconfirm;
if ($status eq $::unconfirmedstate) {
$canconfirm = UserInGroup("canconfirm") || ($::userid == 0);
if ($canedit || $canconfirm) {
print "<INPUT TYPE=radio NAME=knob VALUE=confirm>";
print "Confirm bug (change status to <b>NEW</b>)<br>";
$knum++;
}
}
my $movers = Param("movers");
$movers =~ s/\s?,\s?/|/g;
$movers =~ s/@/\@/g;
if ($canedit || $::userid == $assignedtoid ||
$::userid == $reporterid || $::userid == $qacontactid) {
if (IsOpenedState($status)) {
if ($status ne "ASSIGNED") {
print "<INPUT TYPE=radio NAME=knob VALUE=accept>";
my $extra = "";
if ($status eq $::unconfirmedstate && ($canconfirm || $canedit)) {
$extra = "confirm bug, ";
}
print "Accept bug (${extra}change status to <b>ASSIGNED</b>)<br>";
$knum++;
}
if ($bug{'resolution'} ne "") {
print "<INPUT TYPE=radio NAME=knob VALUE=clearresolution>\n";
print "Clear the resolution (remove the current resolution of\n";
print "<b>$bug{'resolution'}</b>)<br>\n";
$knum++;
}
my $resolution_popup = make_options(\@::settable_resolution,
$bug{'resolution'});
print "<INPUT TYPE=radio NAME=knob VALUE=resolve>
Resolve bug, changing <A HREF=\"bug_status.html\">resolution</A> to
<SELECT NAME=resolution
ONCHANGE=\"document.changeform.knob\[$knum\].checked=true\">
$resolution_popup</SELECT><br>\n";
$knum++;
print "<INPUT TYPE=radio NAME=knob VALUE=duplicate>
Resolve bug, mark it as duplicate of bug #
<INPUT NAME=dup_id SIZE=6 ONCHANGE=\"document.changeform.knob\[$knum\].checked=true\"><br>\n";
$knum++;
my $assign_element = "<INPUT NAME=\"assigned_to\" SIZE=32 ONCHANGE=\"document.changeform.knob\[$knum\].checked=true\" VALUE=\"$bug{'assigned_to_email'}\">";
print "<INPUT TYPE=radio NAME=knob VALUE=reassign>
<A HREF=\"bug_status.html#assigned_to\">Reassign</A> bug to
$assign_element
<br>\n";
if ($status eq $::unconfirmedstate && ($canconfirm || $canedit)) {
print "&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=checkbox NAME=andconfirm> and confirm bug (change status to <b>NEW</b>)<BR>";
}
$knum++;
print "<INPUT TYPE=radio NAME=knob VALUE=reassignbycomponent>
Reassign bug to owner ";
if (Param("useqacontact")) { print "and QA contact "; }
print "of selected component<br>\n";
if ($status eq $::unconfirmedstate && ($canconfirm || $canedit)) {
print "&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=checkbox NAME=compconfirm> and confirm bug (change status to <b>NEW</b>)<BR>";
}
$knum++;
} elsif ( Param("move-enabled") && ($bug{'resolution'} eq "MOVED") ) {
if ( (defined $::COOKIE{"Bugzilla_login"})
&& ($::COOKIE{"Bugzilla_login"} =~ /($movers)/) ){
print "<INPUT TYPE=radio NAME=knob VALUE=reopen> Reopen bug<br>\n";
$knum++;
if ($status eq "RESOLVED") {
print "<INPUT TYPE=radio NAME=knob VALUE=verify>
Mark bug as <b>VERIFIED</b><br>\n";
$knum++;
}
if ($status ne "CLOSED") {
print "<INPUT TYPE=radio NAME=knob VALUE=close>
Mark bug as <b>CLOSED</b><br>\n";
$knum++;
}
}
} else {
print "<INPUT TYPE=radio NAME=knob VALUE=reopen> Reopen bug<br>\n";
$knum++;
if ($status eq "RESOLVED") {
print "<INPUT TYPE=radio NAME=knob VALUE=verify>
Mark bug as <b>VERIFIED</b><br>\n";
$knum++;
}
if ($status ne "CLOSED") {
print "<INPUT TYPE=radio NAME=knob VALUE=close>
Mark bug as <b>CLOSED</b><br>\n";
$knum++;
}
}
}
print "
<INPUT TYPE=\"submit\" VALUE=\"Commit\">
<INPUT TYPE=\"reset\" VALUE=\"Reset\">
<INPUT TYPE=\"hidden\" name=\"form_name\" VALUE=\"process_bug\">
<P>
<FONT size=\"+1\"><B>
<A HREF=\"show_activity.cgi?id=$id\">View Bug Activity</A>
&nbsp; | &nbsp;
<A HREF=\"long_list.cgi?buglist=$id\">Format For Printing</A>
</B></FONT>
";
if ( Param("move-enabled") && (defined $::COOKIE{"Bugzilla_login"}) && ($::COOKIE{"Bugzilla_login"} =~ /($movers)/) ){
print "&nbsp; <FONT size=\"+1\"><B> | </B></FONT> &nbsp;"
."<INPUT TYPE=\"SUBMIT\" NAME=\"action\" VALUE=\""
. Param("move-button-text") . "\">\n";
}
print "<BR></FORM>";
print "
<table><tr><td align=left><B>Description:</B></td>
<td align=right width=100%>Opened: $bug{'creation_ts'}</td></tr></table>
<HR>
";
print $bug{'long_desc'};
print "
<HR>\n";
# To add back option of editing the long description, insert after the above
# long_list.cgi line:
# <A HREF=\"edit_desc.cgi?id=$id\">Edit Long Description</A>
navigation_header();
PutFooter();
1;

View File

@@ -1,202 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<!--
The contents of this file are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is the Bugzilla Bug Tracking System.
The Initial Developer of the Original Code is Netscape Communications
Corporation. Portions created by Netscape are
Copyright (C) 1998 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
Contributor(s): Terry Weissman <terry@mozilla.org>
-->
<TITLE>A Bug's Life Cycle</TITLE>
<h1 ALIGN=CENTER>A Bug's Life Cycle</h1>
The <B>status</B> and <B>resolution</B> field define and track the
life cycle of a bug.
<a name="status"></a>
<p>
<TABLE BORDER=1 CELLPADDING=4>
<TR ALIGN=CENTER VALIGN=TOP>
<TD WIDTH="50%"><H1>STATUS</H1> <TD><H1>RESOLUTION</H1>
<TR VALIGN=TOP>
<TD>The <B>status</B> field indicates the general health of a bug. Only
certain status transitions are allowed.
<TD>The <b>resolution</b> field indicates what happened to this bug.
<TR VALIGN=TOP><TD>
<DL><DT><B>
<A HREF="confirmhelp.html">UNCONFIRMED</A></B>
<DD> This bug has recently been added to the database. Nobody has
validated that this bug is true. Users who have the "canconfirm"
permission set may confirm this bug, changing its state to NEW.
Or, it may be directly resolved and marked RESOLVED.
<DT><B>NEW</B>
<DD> This bug has recently been added to the assignee's list of bugs
and must be processed. Bugs in this state may be accepted, and
become <B>ASSIGNED</B>, passed on to someone else, and remain
<B>NEW</B>, or resolved and marked <B>RESOLVED</B>.
<DT><B>ASSIGNED</B>
<DD> This bug is not yet resolved, but is assigned to the proper
person. From here bugs can be given to another person and become
<B>NEW</B>, or resolved and become <B>RESOLVED</B>.
<DT><B>REOPENED</B>
<DD>This bug was once resolved, but the resolution was deemed
incorrect. For example, a <B>WORKSFORME</B> bug is
<B>REOPENED</B> when more information shows up and the bug is now
reproducible. From here bugs are either marked <B>ASSIGNED</B>
or <B>RESOLVED</B>.
</DL>
<TD>
<DL>
<DD> No resolution yet. All bugs which are in one of these "open" states
have the resolution set to blank. All other bugs
will be marked with one of the following resolutions.
</DL>
<TR VALIGN=TOP><TD>
<DL>
<DT><B>RESOLVED</B>
<DD> A resolution has been taken, and it is awaiting verification by
QA. From here bugs are either re-opened and become
<B>REOPENED</B>, are marked <B>VERIFIED</B>, or are closed for good
and marked <B>CLOSED</B>.
<DT><B>VERIFIED</B>
<DD> QA has looked at the bug and the resolution and agrees that the
appropriate resolution has been taken. Bugs remain in this state
until the product they were reported against actually ships, at
which point they become <B>CLOSED</B>.
<DT><B>CLOSED</B>
<DD> The bug is considered dead, the resolution is correct. Any zombie
bugs who choose to walk the earth again must do so by becoming
<B>REOPENED</B>.
</DL>
<TD>
<DL>
<DT><B>FIXED</B>
<DD> A fix for this bug is checked into the tree and tested.
<DT><B>INVALID</B>
<DD> The problem described is not a bug
<DT><B>WONTFIX</B>
<DD> The problem described is a bug which will never be fixed.
<DT><B>LATER</B>
<DD> The problem described is a bug which will not be fixed in this
version of the product.
<DT><B>REMIND</B>
<DD> The problem described is a bug which will probably not be fixed in this
version of the product, but might still be.
<DT><B>DUPLICATE</B>
<DD> The problem is a duplicate of an existing bug. Marking a bug
duplicate requires the bug# of the duplicating bug and will at
least put that bug number in the description field.
<DT><B>WORKSFORME</B>
<DD> All attempts at reproducing this bug were futile, reading the
code produces no clues as to why this behavior would occur. If
more information appears later, please re-assign the bug, for
now, file it.
</DL>
</TABLE>
<H1>Other Fields</H1>
<table border=1 cellpadding=4><tr><td>
<h2><a name="severity">Severity</a></h2>
This field describes the impact of a bug.
<p>
<p>
<table>
<tr><th>Blocker</th><td>Blocks development and/or testing work
<tr><th>Critical</th><td>crashes, loss of data, severe memory leak
<tr><th>Major</th><td>major loss of function
<tr><th>Minor</th><td>minor loss of function, or other problem where easy workaround is present
<tr><th>Trivial</th><td>cosmetic problem like misspelled words or misaligned text
<tr><th>Enhancement</th><td>Request for enhancement
</table>
</td><td>
<h2><a name="priority">Priority</a></h2>
This field describes the importance and order in which a bug should be
fixed. This field is utilized by the programmers/engineers to
prioritized their work to be done. The available priorities are:
<p>
<p>
<table>
<tr><th>P1</th><td>Most important
<tr><th>P2</th><td>
<tr><th>P3</th><td>
<tr><th>P4</th><td>
<tr><th>P5</th><td>Least important
</table>
</tr></table>
<h2><a name="rep_platform">Platform</a></h2>
This is the hardware platform against which the bug was reported. Legal
platforms include:
<UL>
<LI> All (happens on all platform; cross-platform bug)
<LI> Macintosh
<LI> PC
<LI> Sun
<LI> HP
</UL>
<b>Note:</b> Selecting the option "All" does not select bugs assigned against all platforms. It
merely selects bugs that <b>occur</b> on all platforms.
<h2><a name="op_sys">Operating System</a></h2>
This is the operating system against which the bug was reported. Legal
operating systems include:
<UL>
<LI> All (happens on all operating systems; cross-platform bug)
<LI> Windows 95
<LI> Mac System 8.0
<LI> Linux
</UL>
Note that the operating system implies the platform, but not always.
For example, Linux can run on PC and Macintosh and others.
<h2><a name="assigned_to">Assigned To</a></h2>
This is the person in charge of resolving the bug. Every time this
field changes, the status changes to <B>NEW</B> to make it easy to see
which new bugs have appeared on a person's list.
The default status for queries is set to NEW, ASSIGNED and REOPENED. When
searching for bugs that have been resolved or verified, remember to set the
status field appropriately.
<hr>
<!-- hhmts start -->
Last modified: Wed Feb 16 20:41:24 2000
<!-- hhmts end -->
</body> </html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,281 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Symantec Visual Page 1.0">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<TITLE>Bug Writing Guidelines</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<H1 ALIGN="CENTER">bug writing guidelines</H1>
<P ALIGN="CENTER"><FONT SIZE="2"><B>(Please send feedback/update requests to </B></FONT><A
HREF="mailto:eli@prometheus-music.com"><FONT SIZE="2"><B>Eli Goldberg</B></FONT></A><FONT
SIZE="2"><B>)</B></FONT></P>
<P><FONT SIZE="4"><B><BR>
Why You Should Read This</B></FONT>
<BLOCKQUOTE>
<P>Simply put, the more effectively you report a bug, the more likely an engineer
will actually fix it. <BR>
<A HREF="http://bugzilla.mozilla.org"><BR>
</A>These bug writing guidelines are an attempt at a general tutorial on writing
effective bug reports for novice bug writers; not every sentence may precisely apply
to your software project.
</BLOCKQUOTE>
<P><FONT SIZE="4"><B><BR>
How to Write a Useful Bug Report</B></FONT>
<BLOCKQUOTE>
<P>Useful bug reports are ones that get bugs fixed. A useful bug report normally
has two qualities:
<OL>
<LI><B>Reproducible.</B> If an engineer can't see it or conclusively prove that it
exists, the engineer will probably stamp it &quot;WORKSFORME&quot; or &quot;INVALID&quot;,
and move on to the next bug. Every detail you can provide helps. <BR>
<BR>
<LI><B>Specific.</B> The quicker the engineer can isolate the issue to a specific
problem, the more likely it'll be expediently fixed.<B> </B>(If a programmer or tester
has to decypher a bug, they spend more time cursing the submitter than fixing or
testing the problem.)
</OL>
<P>Let's say the application you're testing is a web browser. You crash at foo.com,
and want to write up a bug report:
<BLOCKQUOTE>
<P><B>BAD:</B> &quot;My browser crashed. I think I was on foo.com. My computer uses
Windows. I think that this is a really bad problem and you should fix it now. By
the way, your icons really suck. Nobody will use your software if you keep those
ugly icons. Oh, and my grandmother's home page doesn't look right, either, it's all
messed up. Good luck.&quot;<BR>
<BR>
<B>GOOD: </B>&quot;I crashed each time when I went to foo.com, using the 10.28.99
build on a Win NT 4.0 (Service Pack 5) system. I also rebooted into Linux, and reproduced
this problem using the 10.28.99 Linux build.<BR>
<BR>
It again crashed each time upon drawing the Foo banner at the top of the page. I
broke apart the page, and discovered that the following image link will crash the
application reproducibly, unless you remove the &quot;border=0&quot; attribute:<BR>
<BR>
<FONT SIZE="2"><TT>&lt;IMG SRC=&quot;http://foo.com/images/topics/topicfoos.gif&quot;
width=34 height=44 border=0 alt=&quot;News&quot;&gt;</TT>&quot;</FONT>
</BLOCKQUOTE>
</BLOCKQUOTE>
<P><FONT SIZE="4"><B><BR>
<BR>
How to Enter your Useful Bug Report into Bugzilla</B>:</FONT>
<BLOCKQUOTE>
<P>Before you enter your bug, use the Bugzilla Query Page to determine whether the
defect you've discovered is a known bug, and has already been reported. (If your
bug is the 37th duplicate of a known issue, you're more likely to annoy the engineer.
Annoyed engineers fix fewer bugs.)<BR>
<BR>
Next, be sure that you've reproduced your bug using a recent build. (Engineers tend
to be most interested in problems afflicting the code base that they're actively
working on, rather than those in a code base that's hundreds of bug fixes obsolete.)<BR>
<BR>
If you've discovered a new bug using a current build, report it in Bugzilla:
</BLOCKQUOTE>
<OL>
<OL>
<LI>From your Bugzilla main page, choose &quot;Enter a new bug&quot;.
<LI>Select the product that you've found a bug in.
<LI>Enter your E-mail address, Password, and press the &quot;Login&quot; button.
(If you don't yet have a password, leave the password text box empty, and press the
&quot;E-mail me a password&quot; button instead. You'll receive an E-mail message
with your password shortly.)
</OL>
<P>Now, fill out the form. Here's what it all means:
</OL>
<BLOCKQUOTE>
<P><B>Where did you find the bug?</B>
<BLOCKQUOTE>
<P><B>Product: In which product did you find the bug?</B><BR>
You just filled this out on the last page.</P>
<P><B>Version: In which product version did you find the bug?</B><BR>
If applicable.</P>
<P><B>Component: In which component does the bug exist?</B><BR>
Bugzilla requires that you select a component to enter a bug. (If they all look meaningless,
click on the Component link, which links to descriptions of each component, to help
you make the best choice.)</P>
<P><B>Platform:&#160;On which hardware platform did you find this bug?</B><FONT SIZE="2"><B>
</B>(e.g. Macintosh, SGI, Sun, PC.) </FONT><BR>
If you know the bug happens on all hardware platforms, choose 'All'. Otherwise, select
the platform that you found the bug on, or &quot;Other&quot; if your platform isn't
listed.</P>
<P><B>OS: On which Operating System (OS) did you find this bug?</B> <FONT SIZE="2">(e.g.
Linux, Windows NT, Mac OS 8.5.)</FONT><BR>
If you know the bug happens on all OSs, choose 'All'. Otherwise, select the OS that
you found the bug on, or &quot;Other&quot; if your OS isn't listed.</P>
</BLOCKQUOTE>
<P><B><BR>
How important is the bug?</B>
<BLOCKQUOTE>
<P><B>Severity: How damaging is the bug?</B><BR>
This item defaults to 'normal'. (To determine the most appropriate severity for a
particular bug, click on the Severity link for a full explanation of each choice,
from Critical to Enhancement.)
</BLOCKQUOTE>
<P><B><BR>
Who will be following up on the bug?</B>
<BLOCKQUOTE>
<P><B>Assigned To: Which engineer should be responsible for fixing this bug?</B><BR>
Bugzilla will automatically assign the bug to a default engineer upon submitting
a bug report; the text box exists to allow you to manually assign it to a different
engineer. (To see the list of default engineers for each component, click on the
Component link.)</P>
<P><B>Cc: Who else should receive e-mail updates on changes to this bug? </B><BR>
List the full e-mail addresses of other individuals who should receive an e-mail
update upon every change to the bug report. You can enter as many e-mail addresses
as you'd like; e-mail addresses must be separated by commas, with no spaces between
the addresses.
</BLOCKQUOTE>
<P><B><BR>
What else can you tell the engineer about the bug?</B></P>
<BLOCKQUOTE>
<P><B>URL: On what URL did you discover this bug?</B><BR>
If you encountered the bug on a particular URL, please provide it (or, them) here.
If you've isolated the bug to a specific HTML snippet, please also provide a URL
for that, too.</P>
<P><B>Summary:</B> <B>How would you describe the bug, in approximately 60 or fewer
characters?</B><BR>
A good summary should <U>quickly and uniquely identify a bug report</U>. Otherwise,
developers cannot meaningfully query by bug summary, and will often fail to pay attention
to your bug report when reviewing a 10 page bug list.<BR>
<BR>
A summary of &quot;PCMCIA install fails on Tosh Tecra 780DVD w/ 3c589C&quot; is a
useful title. &quot;Software fails&quot; or &quot;install problem&quot; would be
examples of a bad title.</P>
<P><BR>
<B>Description: What else can you tell the engineer about this bug? </B><BR>
Please provide as detailed of a problem diagnosis in this field as possible. <BR>
<BR>
Where applicable, using the following bug report template will help ensure that all
relevant information comes through:
<BLOCKQUOTE>
<P><B>Overview Description:</B> More detailed expansion of summary.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">Drag-selecting any page crashes Mac builds in NSGetFactory</FONT></PRE>
</BLOCKQUOTE>
<P><B>Steps to Reproduce: </B>The minimal set of steps necessary to trigger the bug.
Include any special setup steps.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">1) View any web page. (I used the default sample page,
resource:/res/samples/test0.html)
2) Drag-select the page. (Specifically, while holding down the
mouse button, drag the mouse pointer downwards from any point in
the browser's content region to the bottom of the browser's
content region.)</FONT></PRE>
</BLOCKQUOTE>
<P><B>Actual Results:</B> What the application did after performing the above steps.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">The application crashed. Stack crawl appended below from MacsBug.</FONT></PRE>
</BLOCKQUOTE>
<P><B>Expected Results:</B> What the application should have done, were the bug not
present.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">The window should scroll downwards. Scrolled content should
be selected. (Or, at least, the application should not crash.)</FONT></PRE>
</BLOCKQUOTE>
<P><B>Build Date &amp; Platform:</B> Date and platform of the build that you first
encountered the bug in.
<BLOCKQUOTE>
<PRE><FONT SIZE="2">11/2/99 build on Mac OS (Checked Viewer &amp; Apprunner)</FONT></PRE>
</BLOCKQUOTE>
<P><B>Additional Builds and Platforms:</B> Whether or not the bug takes place on
other platforms or browsers.
<BLOCKQUOTE>
<PRE><FONT SIZE="2"> - Occurs On
Seamonkey (11/2/99 build on Windows NT 4.0)
- Doesn't Occur On
Seamonkey (11/4/99 build on Red Hat Linux; feature not supported)
Internet Explorer 5.0 (RTM build on Windows NT 4.0)
Netscape Communicator 4.5 (RTM build on Mac OS)</FONT>
</PRE>
</BLOCKQUOTE>
<P><B>Additional Information:</B> Any other debugging information. For crashing bugs:
<UL>
<LI><B>Win32:</B> if you receive a Dr. Watson error, please note the type of the
crash, and the module that the application crashed in. (e.g. access violation in
apprunner.exe)
<LI><B>Mac OS:</B> if you're running MacsBug, please provide the results of a <B><TT>how</TT></B>
and an <B><TT>sc</TT></B>.
<LI><B>Unix: </B>please provide a minimized stack trace, which can be generated by
typing <B><TT>gdb apprunner core</TT></B> into a shell prompt.
</UL>
<BLOCKQUOTE>
<P>
<PRE><FONT SIZE="2">*** MACSBUG STACK CRAWL OF CRASH (Mac OS)
Calling chain using A6/R1 links
Back chain ISA Caller
00000000 PPC 0BA85E74
03AEFD80 PPC 0B742248
03AEFD30 PPC 0B50FDDC NSGetFactory+027FC
PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0</FONT></PRE>
</BLOCKQUOTE>
</BLOCKQUOTE>
</BLOCKQUOTE>
<P>You're done! <BR>
<BR>
After double-checking your entries for any possible errors, press the &quot;Commit&quot;
button, and your bug report will now be in the Bugzilla database.<BR>
<I><BR>
<BR>
</I><FONT SIZE="2">(Thanks to Claudius Gayle, Peter Mock, Chris Pratt, Tom Schutter,
and Chris Yeh for contributing to this document. Constructive </FONT><A HREF="mailto:eli@prometheus-music.com"><FONT
SIZE="2">suggestions</FONT></A><FONT SIZE="2"> welcome.)</FONT>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -1,42 +0,0 @@
<!ELEMENT bugzilla (bug+)>
<!ATTLIST bugzilla version CDATA #REQUIRED>
<!ATTLIST bugzilla urlbase CDATA #REQUIRED>
<!ATTLIST bugzilla maintainer CDATA #REQUIRED>
<!ATTLIST bugzilla exporter CDATA #IMPLIED>
<!ELEMENT bug (bug_id, exporter, urlbase, bug_status, resolution?, product,
priority, version, rep_platform, assigned_to, delta_ts, component,
reporter, target_milestone?, bug_severity, creation_ts, qa_contact?,
status_whiteboard?, op_sys, short_desc?, keywords*, dependson*,
blocks*, cc*, long_desc?, attachment*)>
<!ATTLIST bug error (NotFound|NotPermitted) #IMPLIED>
<!ELEMENT bug_id (#PCDATA)>
<!ELEMENT short_desc (#PCDATA)>
<!ELEMENT bug_status (#PCDATA)>
<!ELEMENT dependson (#PCDATA)>
<!ELEMENT blocks (#PCDATA)>
<!ELEMENT product (#PCDATA)>
<!ELEMENT priority (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT cc (#PCDATA)>
<!ELEMENT rep_platform (#PCDATA)>
<!ELEMENT assigned_to (#PCDATA)>
<!ELEMENT delta_ts (#PCDATA)>
<!ELEMENT component (#PCDATA)>
<!ELEMENT reporter (#PCDATA)>
<!ELEMENT target_milestone (#PCDATA)>
<!ELEMENT bug_severity (#PCDATA)>
<!ELEMENT creation_ts (#PCDATA)>
<!ELEMENT qa_contact (#PCDATA)>
<!ELEMENT op_sys (#PCDATA)>
<!ELEMENT keywords (#PCDATA)>
<!ELEMENT status_whiteboard (#PCDATA)>
<!ELEMENT long_desc (who, bug_when, thetext)>
<!ELEMENT who (#PCDATA)>
<!ELEMENT bug_when (#PCDATA)>
<!ELEMENT thetext (#PCDATA)>
<!ELEMENT attachment (id, date, attach_desc, type, data)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT data (#PCDATA)>

View File

@@ -1,37 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
print q{Content-type: text/html
<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh"
CONTENT="0; URL=userprefs.cgi">
</HEAD>
<BODY>
This URL is obsolete. Forwarding you to the correct one.
<P>
Going to <A HREF="userprefs.cgi">userprefs.cgi</A>
<BR>
</BODY>
</HTML>
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,137 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use diagnostics;
use strict;
require "CGI.pl";
print "Content-type: text/html\n";
# The master list not only says what fields are possible, but what order
# they get displayed in.
ConnectToDatabase();
GetVersionTable();
my @masterlist = ("opendate", "changeddate", "severity", "priority",
"platform", "owner", "reporter", "status", "resolution",
"component", "product", "version", "os", "votes");
if (Param("usetargetmilestone")) {
push(@masterlist, "target_milestone");
}
if (Param("useqacontact")) {
push(@masterlist, "qa_contact");
}
if (Param("usestatuswhiteboard")) {
push(@masterlist, "status_whiteboard");
}
if (@::legal_keywords) {
push(@masterlist, "keywords");
}
push(@masterlist, ("summary", "summaryfull"));
my @collist;
if (defined $::FORM{'rememberedquery'}) {
my $splitheader = 0;
if (defined $::FORM{'resetit'}) {
@collist = @::default_column_list;
} else {
foreach my $i (@masterlist) {
if (defined $::FORM{"column_$i"}) {
push @collist, $i;
}
}
if (exists $::FORM{'splitheader'}) {
$splitheader = $::FORM{'splitheader'};
}
}
my $list = join(" ", @collist);
my $urlbase = Param("urlbase");
print "Set-Cookie: COLUMNLIST=$list ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n";
print "Set-Cookie: SPLITHEADER=$::FORM{'splitheader'} ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n";
print "Refresh: 0; URL=buglist.cgi?$::FORM{'rememberedquery'}\n";
print "\n";
print "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=$urlbase"."buglist.cgi?$::FORM{'rememberedquery'}\">\n";
print "<TITLE>What a hack.</TITLE>\n";
PutHeader ("Change columns");
print "Resubmitting your query with new columns...\n";
exit;
}
if (defined $::COOKIE{'COLUMNLIST'}) {
@collist = split(/ /, $::COOKIE{'COLUMNLIST'});
} else {
@collist = @::default_column_list;
}
my $splitheader = 0;
if ($::COOKIE{'SPLITHEADER'}) {
$splitheader = 1;
}
my %desc;
foreach my $i (@masterlist) {
$desc{$i} = $i;
}
$desc{'summary'} = "Summary (first 60 characters)";
$desc{'summaryfull'} = "Full Summary";
print "\n";
PutHeader ("Change columns");
print "Check which columns you wish to appear on the list, and then click\n";
print "on submit. (Cookies are required.)\n";
print "<p>\n";
print "<FORM ACTION=colchange.cgi>\n";
print "<INPUT TYPE=HIDDEN NAME=rememberedquery VALUE=$::buffer>\n";
foreach my $i (@masterlist) {
my $c;
if (lsearch(\@collist, $i) >= 0) {
$c = 'CHECKED';
} else {
$c = '';
}
print "<INPUT TYPE=checkbox NAME=column_$i $c>$desc{$i}<br>\n";
}
print "<P>\n";
print BuildPulldown("splitheader",
[["0", "Normal headers (prettier)"],
["1", "Stagger headers (often makes list more compact)"]],
$splitheader);
print "<P>\n";
print "<INPUT TYPE=\"submit\" VALUE=\"Submit\">\n";
print "</FORM>\n";
print "<FORM ACTION=colchange.cgi>\n";
print "<INPUT TYPE=HIDDEN NAME=rememberedquery VALUE=$::buffer>\n";
print "<INPUT TYPE=HIDDEN NAME=resetit VALUE=1>\n";
print "<INPUT TYPE=\"submit\" VALUE=\"Reset to Bugzilla default\">\n";
print "</FORM>\n";
PutFooter();

View File

@@ -1,202 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>,
# Harrison Page <harrison@netscape.com>
# Gervase Markham <gerv@gerv.net>
# Run me out of cron at midnight to collect Bugzilla statistics.
use AnyDBM_File;
use diagnostics;
use strict;
use vars @::legal_product;
require "globals.pl";
# tidy up after graphing module
if (chdir("graphs")) {
unlink <./*.gif>;
unlink <./*.png>;
chdir("..");
}
ConnectToDatabase(1);
GetVersionTable();
my @myproducts;
push( @myproducts, "-All-", @::legal_product );
foreach (@myproducts) {
my $dir = "data/mining";
&check_data_dir ($dir);
&collect_stats ($dir, $_);
}
&calculate_dupes();
sub check_data_dir {
my $dir = shift;
if (! -d) {
mkdir $dir, 0777;
chmod 0777, $dir;
}
}
sub collect_stats {
my $dir = shift;
my $product = shift;
my $when = localtime (time);
# NB: Need to mangle the product for the filename, but use the real
# product name in the query
my $file_product = $product;
$file_product =~ s/\//-/gs;
my $file = join '/', $dir, $file_product;
my $exists = -f $file;
if (open DATA, ">>$file") {
push my @row, &today;
foreach my $status ('NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED', 'CLOSED') {
if( $product eq "-All-" ) {
SendSQL("select count(bug_status) from bugs where bug_status='$status'");
} else {
SendSQL("select count(bug_status) from bugs where bug_status='$status' and product='$product'");
}
push @row, FetchOneColumn();
}
foreach my $resolution ('FIXED', 'INVALID', 'WONTFIX', 'LATER', 'REMIND', 'DUPLICATE', 'WORKSFORME', 'MOVED') {
if( $product eq "-All-" ) {
SendSQL("select count(resolution) from bugs where resolution='$resolution'");
} else {
SendSQL("select count(resolution) from bugs where resolution='$resolution' and product='$product'");
}
push @row, FetchOneColumn();
}
if (! $exists) {
print DATA <<FIN;
# Bugzilla Daily Bug Stats
#
# Do not edit me! This file is generated.
#
# fields: DATE|NEW|ASSIGNED|REOPENED|UNCONFIRMED|RESOLVED|VERIFIED|CLOSED|FIXED|INVALID|WONTFIX|LATER|REMIND|DUPLICATE|WORKSFORME|MOVED
# Product: $product
# Created: $when
FIN
}
print DATA (join '|', @row) . "\n";
close DATA;
} else {
print "$0: $file, $!";
}
}
sub calculate_dupes {
SendSQL("SELECT * FROM duplicates");
my %dupes;
my %count;
my @row;
my $key;
my $changed = 1;
my $today = &today_dash;
# Save % count here in a date-named file
# so we can read it back in to do changed counters
# First, delete it if it exists, so we don't add to the contents of an old file
if (<data/duplicates/dupes$today*>) {
system("rm -f data/duplicates/dupes$today*");
}
dbmopen(%count, "data/duplicates/dupes$today", 0644) || die "Can't open DBM dupes file: $!";
# Create a hash with key "a bug number", value "bug which that bug is a
# direct dupe of" - straight from the duplicates table.
while (@row = FetchSQLData()) {
my $dupe_of = shift @row;
my $dupe = shift @row;
$dupes{$dupe} = $dupe_of;
}
# Total up the number of bugs which are dupes of a given bug
# count will then have key = "bug number",
# value = "number of immediate dupes of that bug".
foreach $key (keys(%dupes))
{
my $dupe_of = $dupes{$key};
if (!defined($count{$dupe_of})) {
$count{$dupe_of} = 0;
}
$count{$dupe_of}++;
}
# Now we collapse the dupe tree by iterating over %count until
# there is no further change.
while ($changed == 1)
{
$changed = 0;
foreach $key (keys(%count)) {
# if this bug is actually itself a dupe, and has a count...
if (defined($dupes{$key}) && $count{$key} > 0) {
# add that count onto the bug it is a dupe of,
# and zero the count; the check is to avoid
# loops
if ($count{$dupes{$key}} != 0) {
$count{$dupes{$key}} += $count{$key};
$count{$key} = 0;
$changed = 1;
}
}
}
}
# Remove the values for which the count is zero
foreach $key (keys(%count))
{
if ($count{$key} == 0) {
delete $count{$key};
}
}
dbmclose(%count);
}
sub today {
my ($dom, $mon, $year) = (localtime(time))[3, 4, 5];
return sprintf "%04d%02d%02d", 1900 + $year, ++$mon, $dom;
}
sub today_dash {
my ($dom, $mon, $year) = (localtime(time))[3, 4, 5];
return sprintf "%04d-%02d-%02d", 1900 + $year, ++$mon, $dom;
}

View File

@@ -1,153 +0,0 @@
<HTML><head>
<!--
The contents of this file are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is the Bugzilla Bug Tracking System.
The Initial Developer of the Original Code is Netscape Communications
Corporation. Portions created by Netscape are
Copyright (C) 2000 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s): Terry Weissman <terry@mozilla.org>
-->
<title>Understanding the UNCONFIRMED state, and other recent changes</title>
</head>
<body>
<h1>Understanding the UNCONFIRMED state, and other recent changes</h1>
[This document is aimed primarily at people who have used Bugzilla
before the UNCONFIRMED state was implemented. It might be helpful for
newer users as well.]
<p>
New bugs in some products will now show up in a new state,
UNCONFIRMED. This means that we have nobody has confirmed that the
bug is real. Very busy engineers will probably generally ignore
UNCONFIRMED that have been assigned to them, until they have been
confirmed in one way or another. (Engineers with more time will
hopefully glance over their UNCONFIRMED bugs regularly.)
<p>
The <a href="bug_status.html">page describing bug fields</a> has been
updated to include UNCONFIRMED.
<p>
There are two basic ways that a bug can become confirmed (and enter
the NEW) state.
<ul>
<li> A user with the appropriate permissions (see below for more on
permissions) decides that the bug is a valid one, and confirms
it. We hope to gather a small army of responsible volunteers
to regularly go through bugs for us.
<li> The bug gathers a certain number of votes. <B>Any</B> valid Bugzilla user may vote for
bugs (each user gets a certain number of bugs); any UNCONFIRMED bug which
gets enough votes becomes automatically confirmed, and enters the NEW state.
</ul>
One implication of this is that it is worth your time to search the
bug system for duplicates of your bug to vote on them, before
submitting your own bug. If we can spread around knowledge of this
fact, it ought to help cut down the number of duplicate bugs in the
system.
<h2>Permissions.</h2>
Users now have a certain set of permissions. To see your permissions,
check out the
<a href="userprefs.cgi?bank=permissions">user preferences</a> page.
<p>
If you have the "Can confirm a bug" permission, then you will be able
to move UNCONFIRMED bugs into the NEW state.
<p>
If you have the "Can edit all aspects of any bug" permission, then you
can tweak anything about any bug. If not, you may only edit those
bugs that you have submitted, or that you have assigned to you (or
qa-assigned to you). However, anyone may add a comment to any bug.
<p>
Some people (initially, the initial owners and initial qa-contacts for
components in the system) have the ability to give the above two
permissions to other people. So, if you really feel that you ought to
have one of these permissions, a good person to ask (via private
email, please!) is the person who is assigned a relevant bug.
<h2>Other details.</h2>
An initial stab was taken to decide who would be given which of the
above permissions. This was determined by some simple heurstics of
who was assigned bugs, and who the default owners of bugs were, and a
look at people who seem to have submitted several bugs that appear to
have been interesting and valid. Inevitably, we have failed to give
someone the permissions they deserve. Please don't take it
personally; just bear with us as we shake out the new system.
<p>
People with one of the two bits above can easily confirm their own
bugs, so bugs they submit will actually start out in the NEW state.
They can override this when submitting a bug.
<p>
People can ACCEPT or RESOLVE a bug assigned to them, even if they
aren't allowed to confirm it. However, the system remembers, and if
the bug gets REOPENED or reassigned to someone else, it will revert
back to the UNCONFIRMED state. If the bug has ever been confirmed,
then REOPENing or reassigning will cause it to go to the NEW or
REOPENED state.
<p>
Note that only some products support the UNCONFIRMED state. In other
products, all new bugs will automatically start in the NEW state.
<h2>Things still to be done.</h2>
There probably ought to be a way to get a bug back into the
UNCONFIRMED state, but there isn't yet.
<p>
If a person has submitted several bugs that get confirmed, then this
is probably a person who understands the system well, and deserves the
"Can confirm a bug" permission. This kind of person should be
detected and promoted automatically.
<p>
There should also be a way to automatically promote people to get the
"Can edit all aspects of any bug" permission.
<p>
The "enter a new bug" page needs to be revamped with easy ways for new
people to educate themselves on the benefit of searching for a bug
like the one they're about to submit and voting on it, rather than
adding a new useless duplicate.
<hr>
<!-- hhmts start -->
Last modified: Wed Feb 16 21:04:56 2000
<!-- hhmts end -->
</body> </html>

View File

@@ -1,79 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# This code is based on code found in bug_email.pl from the bugzilla
# email tracker. Initial contributors are ::
# Terry Weissman <terry@mozilla.org>
# Gregor Fischer <fischer@suse.de>
# Klaas Freitag <freitag@suse.de>
# Seth Landsman <seth@dworkin.net>
# The purpose of this module is to abstract out a bunch of the code
# that is central to email interfaces to bugzilla and its database
# Contributor : Seth Landsman <seth@dworkin.net>
# Initial checkin : 03/15/00 (SML)
# findUser() function moved from bug_email.pl to here
push @INC, "../."; # this script now lives in contrib
require "globals.pl";
use diagnostics;
use strict;
my $EMAIL_TRANSFORM_NONE = "email_transform_none";
my $EMAIL_TRANSFORM_BASE_DOMAIN = "email_transform_base_domain";
my $EMAIL_TRANSFORM_NAME_ONLY = "email_transform_name_only";
# change to do incoming email address fuzzy matching
my $email_transform = $EMAIL_TRANSFORM_NAME_ONLY;
# findUser()
# This function takes an email address and returns the user email.
# matching is sloppy based on the $email_transform parameter
sub findUser($) {
my ($address) = @_;
# if $email_transform is $EMAIL_TRANSFORM_NONE, return the address, otherwise, return undef
if ($email_transform eq $EMAIL_TRANSFORM_NONE) {
my $stmt = "SELECT login_name FROM profiles WHERE profiles.login_name = \'$address\';";
SendSQL($stmt);
my $found_address = FetchOneColumn();
return $found_address;
} elsif ($email_transform eq $EMAIL_TRANSFORM_BASE_DOMAIN) {
my ($username) = ($address =~ /(.+)@/);
my $stmt = "SELECT login_name FROM profiles WHERE profiles.login_name RLIKE \'$username\';";
SendSQL($stmt);
my $domain;
my $found = undef;
my $found_address;
my $new_address = undef;
while ((!$found) && ($found_address = FetchOneColumn())) {
($domain) = ($found_address =~ /.+@(.+)/);
if ($address =~ /$domain/) {
$found = 1;
$new_address = $found_address;
}
}
return $new_address;
} elsif ($email_transform eq $EMAIL_TRANSFORM_NAME_ONLY) {
my ($username) = ($address =~ /(.+)@/);
my $stmt = "SELECT login_name FROM profiles WHERE profiles.login_name RLIKE \'$username\';";
SendSQL($stmt);
my $found_address = FetchOneColumn();
return $found_address;
}
}
1;

View File

@@ -1,22 +0,0 @@
This directory contains contributed software related to Bugzilla.
Things in here have not necessarily been tested or tried by anyone
except the original contributor, so tred carefully. But it may still
be useful to you.
This directory includes:
mysqld-watcher.pl -- This script can be installed as a frequent cron
job to clean up stalled/dead queries.
gnats2bz.pl -- A perl script to help import bugs from a GNATS
database into a Bugzilla database. Contributed by
Tom Schutter <tom@platte.com>
bug_email.pl -- A perl script that can receive email containing
bug reports (email-interface). Contributed by
Klaas Freitag <freitag@SuSE.de>
README.Mailif -- Readme describing the mail interface.
bugmail_help.html -- User help page for the mail interface.
yp_nomail.sh -- Script you can run via cron that regularly updates
the nomail file for terminated employees

View File

@@ -1,80 +0,0 @@
The Bugzilla Mail interface
===========================
(UPDATE 03/14/00 to better reflect reality by SML)
The Bugzilla Mail interface allows to submit bugs to Bugzilla by email.
The Mail Interface Contribution consists of three files:
README.Mailif - this readme.
bug_email.pl - the script
bugmail_help.html - a user help html site
Installation:
Next is to add a user who receives the bugmails, e. g. bugmail. Create a
mail account and a home directory for the user.
The mailinterface script bug_email.pl needs to get the mail through stdin.
I use procmail for that, with the following line in the .procmailrc:
BUGZILLA_HOME=/usr/local/httpd/htdocs/bugzilla
:0 c
|(cd $BUGZILLA_HOME/contrib; ./bug_email.pl)
This defines the Bugzilla directory as the variable BUGZILLA_HOME and passes
all incoming mail to the script after cd'ing into the bugzilla home.
In some cases, it is necessary to alter the headers of incoming email. The
additional line to procmail :
:0 fhw
| formail -I "From " -a "From "
fixes many problems.
See bugzilla.procmailrc for a sample procmailrc that works for me (SML) and
also deals with bugzilla_email_append.pl
Customation:
There are some values inside the script which need to be customized for your
needs:
1. In sub-routine Reply (search 'sub Reply':
there is the line
print MAIL "From: Bugzilla Mailinterface<yourmail\@here.com>\n";
^^^^^^^^^^^^^^^^^^^^
Fill in your correct mail here. That will make it easy for people to reply
to the mail.
2. check, if your sendmail resides in /usr/sbin/sendmail, change the path if neccessary.
Search the script after 'default' - you find some default-Settings for bug
reports, which are used, if the sender did not send a field for it. The defaults
should be checked and changed.
Thats hopefully all, we will come up with any configuration file or something.
If your mail works, your script will insert mails from now on.
The mailinterface supports two commandline switches:
There are two command line switches :
-t: Testmode
The mailinterface does not really insert the bug into the database, but
writes some debug output to stdout and writes the mail into the file
bug_email_test.log in the data-dir.
-r: restricted mode
All lines before the first line with a keyword character are skipped.
In not restricted, default mode, these lines are added to the long
description of the bug.
02/2000 - Klaas Freitag, SuSE GmbH <freitag@suse.de>
03/2000 - Seth M. Landsman <seth@cs.brandeis.edu>
bug_email.pl now lives out of bugzilla/contrib
added line about formail

File diff suppressed because it is too large Load Diff

View File

@@ -1,223 +0,0 @@
<HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--
The contents of this file are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is the Bugzilla Bug Tracking System.
Contributor(s): Klaas Freitag <Freitag@SuSE.de>
-->
<HEAD> <TITLE>Bugzilla Mail Interface</TITLE> </HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER><H1>The Bugzilla Mail Interface</H1>
Contributor: <A HREF="mailto:freitag@suse.de">Klaas Freitag</A>, SuSE GmbH
</CENTER>
<P>
The bugzilla Mail interface allows the registered bugzilla users to submit bugs by
sending email with a bug description. This is usefull for people, who do not work
inhouse and want to submitt bugs to the bugzilla system.
<p>
I know, show me the <A HREF="#examplemail">example-mail !</A>
<H2>What do you need to do to submitt a bug by mail ?</H2>
You need to send a email in the described format to the bugmail-user of the
bugzilla-system. This is <A HREF="mailto:our_bugzilla@xyz.com">yourbugzilla@here.com</A>
You receive a reply mail with the new bug-ID if your request was ok.
If not, you get a mail with
some help on the bugmail system and a specific analysis of your request.
<P>
Please dont refuse to send one or two wrong mails, you will get all the information
you need in the replies, and <I>only</I> in the mail replies. The information on this
page, concerning available products, versions and so on, is not dynamicly generated and
may be old therefore.
<H1>The Mail Format</H1>
The bugmail needs a special format , which consists of some keywords and suitable
values for them and a description text. Note that the keyword block needs to be
above of the description text.
<H2>Keywords</H2>
You need to tell bugzilla some properties of the bugs. This is done by keywords, which
start on a new line with a @, followed by the keyword and and equal-sign, followed by a
hopefully valid value.
<TABLE BORDER=4 FRAME=box CELLSPACING="5" width=95%> <COLGROUP> <col width="2*">
<col width="5*"> <col width="1*"> </COLGROUP>
<TR>
<TH>Keyword</TH>
<TH>Value description</TH>
<TH>required and default value</TH>
</TR>
<TR>
<TD>@product</TD>
<TD>The product which has a bug</TD>
<TD>yes. <br> This is the most important information. Many other
fields depend on the product.</TD>
</TR>
<TR>
<TD>@component</TD>
<TD>the desired component which is affected by the bug</TD>
<TD>yes. <br> As the @product, this is a very important
field.</TD>
</TR>
<TR>
<TD>@version</TD>
<TD>The version of the product</TD>
<TD>yes. <br>See @product and @component</TD>
</TR>
<TR>
<TD>@short_desc</TD>
<TD>A summary of your bug report</TD>
<TD>yes. <br>This summary of the error you want to report
describes what happen. You may skip the long description,
but not this summary.<br>
<b>Note:</b>The short description may be given in the mail subject
instead of using the keyword !</TD>
</TR>
<TR>
<TD>@rep_platform</TD>
<TD>The desired platform</TD>
<TD>no.<br>If you dont give a value, this field is set to <I>All</I>.</TD>
</TR>
<TR>
<TD>@bug_severity</TD>
<TD>The severity of the bug</TD>
<TD>no. <br> If you dont give a value, this field is set to
<I>normal</I></TD>
</TR>
<TR>
<TD>@priority</TD>
<TD>The priority of the bug</TD>
<TD>no.<br>If you dont give a value, this field is set to <I>P3</I></TD>
</TR>
<TR>
<TD>@op_sys</TD>
<TD>The operating system</TD>
<TD>no.<br>If you dont give a value, this field is set to <I>Linux</I>.</TD>
</TR>
<TR>
<TD>@assigned_to</TD>
<TD>The one to whom the bug is assigned to</TD>
<TD>no. <br>There is an initial owner for every product/version/component.
He owns the bug by default. The initial owner can only be found if
product, version and component are valid.</TD>
</TR>
<TR>
<TD>@bug_file_loc</TD>
<TD>?</TD>
<TD>no.</TD>
</TR>
<TR>
<TD>@status_whiteboard</TD>
<TD>?</TD>
<TD>no.</TD>
</TR>
<TR>
<TD>@target_milestone</TD>
<TD>?</TD>
<TD>no.</TD>
</TR>
<TR>
<TD>@groupset</TD>
<TD>rules the visibility of the bug.</TD>
<TD>no.<br>This value defaults to the smallest of the available groups,
which is <I>readInternal</I>.</TD>
</TR>
<TR>
<TD>@qa_contact</TD>
<TD>the quality manager for the product</TD>
<TD>no.<br>This value can be retrieved from product, component and
version</TD>
</TR>
</TABLE>
<H2>Valid values</H2>
Give string values for the most keys above. Some keywords require special values:<br>
<ol>
<li>E-Mail adresses: If you want to set the qa-contact, specify a email-adress for @qa_contact. The email must be known by bugzilla of course.</li>
<li>Listvalues: Most of the values have to be one of a list of valid values. Try by sending
a mail and read the reply. Skip fields if you dont get help for them unless you dont know
which values you may choose.</li>
<li>free Text: The descriptions may be free text. </li>
<li>Special: The field groupset may be specified in different in three different kinds:
<ol>
<li> A plain numeric way, which is one usually huge number, e. g. <I>65536</I></li>
<li> a string with added numbers e.g. <I>65536+131072</I></li>
<li> a string list, e.g. <I>ReadInternal, ReadBeta </I></li>
</ol>
</li>
</ol>
<p>
But most of them need <b>valid</b> values.
<p>
Sorry, you will not find lists of valid products, components and the other stuff
here. Send a mail to with any text, and you will get a list of valid keywords in the reply.
<p>
Some of the values must be choosen from a list:<br>
<ol>
<li>bug_severity: blocker, critical, major, normal, minor, trivial, enhancement</li>
<li>op_sys: Linux </li>
<li>priority: P1, P2, P3, P4, P5</li>
<li>rep_platform: All, i386, AXP, i686, Other</li></ol>
<p>
After you have specified the required keywords and maybe some other value, you may
describe your bug. You dont need a keyword for starting your bug description. All
text which follows the keyword block is handled as long description of the bug.
<p>
The bugmail interface is able to find required information by itself. E.g. if you specify
a product which has exactly one component, this component will be found by the interface
automatically.
<H1>Attachments</H1>
The mail interface is able to cope with MIME-attachments.
People could for example add a logfile as a mail attachment, and it will appear in
bugzilla as attachment. A comment for the attachment should be added, it will describe
the attachment in bugzilla.
<H1><A NAME="examplemail">Example Mail</A></H1>
See the example of the mail <b>body</b> (Dont forget to specify the short description
in the mail subject):<hr><pre>
@product = Bugzilla
@component = general
@version = All
@groupset = ReadWorld ReadPartners
@op_sys = Linux
@priority = P3
@rep_platform = i386
This is the description of the bug I found. It is not neccessary to start
it with a keyword.
Note: The short_description is neccessary and may be given with the keyword
@short_description or will be retrieved from the mail subject.
</pre><hr>
</BODY>
</HTML>

View File

@@ -1,30 +0,0 @@
:0 fhw
| formail -I "From " -a "From "
BUGZILLA_HOME=/home/bugzilla/WEB/bugzilla/contrib
:0
* ^Subject: .*\[Bug .*\]
RESULT=|(cd $BUGZILLA_HOME && ./bugzilla_email_append.pl)
# Feed mail to stdin of bug_email.pl
:0 Ec
#* !^Subject: .*[Bug .*]
RESULT=|(cd $BUGZILLA_HOME && ./bug_email.pl )
# write result to a logfile
:0 c
|echo `date '+%d.%m.%y %H:%M: '` $RESULT >> $HOME/bug_email.log
:0 c
|echo "----------------------------------" >> $HOME/bug_email.log
:0 c
$HOME/bug_email.log
# Move mail to the inbox
:0
$HOME/Mail/INBOX

View File

@@ -1,189 +0,0 @@
#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
# The purpose of this script is to take an email message, which
# specifies a bugid and append it to the bug as part of the longdesc
# table
# Contributor : Seth M. Landsman <seth@dworkin.net>
# 03/15/00 : Initial version by SML
# 03/15/00 : processmail gets called
# Email subject must be of format :
# .* Bug ### .*
# replying to a typical bugzilla email should be valid
# TODO :
# 1. better way to get the body text (I don't know what dump_entity() is
# actually doing
use diagnostics;
use strict;
use MIME::Parser;
push @INC, "../."; # this script lives in contrib
require "globals.pl";
require "BugzillaEmail.pm";
# Create a new MIME parser:
my $parser = new MIME::Parser;
my $Comment = "";
# Create and set the output directory:
# FIXME: There should be a $BUGZILLA_HOME variable (SML)
(-d "../data/mimedump-tmp") or mkdir "../data/mimedump-tmp",0755 or die "mkdir: $!";
(-w "../data/mimedump-tmp") or die "can't write to directory";
$parser->output_dir("../data/mimedump-tmp");
# Read the MIME message:
my $entity = $parser->read(\*STDIN) or die "couldn't parse MIME stream";
$entity->remove_sig(10); # Removes the signature in the last 10 lines
# Getting values from parsed mail
my $Sender = $entity->get( 'From' );
$Sender ||= $entity->get( 'Reply-To' );
my $Message_ID = $entity->get( 'Message-Id' );
die (" *** Cant find Sender-adress in sent mail ! ***\n" ) unless defined( $Sender );
chomp( $Sender );
chomp( $Message_ID );
print "Dealing with the sender $Sender\n";
ConnectToDatabase();
my $SenderShort = $Sender;
$SenderShort =~ s/^.*?([a-zA-Z0-9_.-]+?\@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+).*$/$1/;
$SenderShort = findUser($SenderShort);
print "SenderShort is $SenderShort\n";
if (!defined($SenderShort)) {
$SenderShort = $Sender;
$SenderShort =~ s/^.*?([a-zA-Z0-9_.-]+?\@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+).*$/$1/;
}
print "The sendershort is now $SenderShort\n";
if (!defined($SenderShort)) {
DealWithError("No such user $SenderShort exists.");
}
my $Subject = $entity->get('Subject');
print "The subject is $Subject\n";
my ($bugid) = ($Subject =~ /\[Bug ([\d]+)\]/);
print "The bugid is $bugid\n";
# make sure the bug exists
SendSQL("SELECT bug_id FROM bugs WHERE bug_id = $bugid;");
my $found_id = FetchOneColumn();
print "Did we find the bug? $found_id-\n";
if (!defined($found_id)) {
DealWithError("Bug $bugid does not exist");
}
# get the user id
SendSQL("SELECT userid FROM profiles WHERE login_name = \'$SenderShort\';");
my $userid = FetchOneColumn();
if (!defined($userid)) {
DealWithError("Userid not found for $SenderShort");
}
# parse out the text of the message
dump_entity($entity);
# Get rid of the bug id
$Subject =~ s/\[Bug [\d]+\]//;
#my $Comment = "This is only a test ...";
my $Body = "Subject: " . $Subject . "\n" . $Comment;
# shove it in the table
my $long_desc_query = "INSERT INTO longdescs SET bug_id=$found_id, who=$userid, bug_when=NOW(), thetext=" . SqlQuote($Body) . ";";
SendSQL($long_desc_query);
system("cd .. ; ./processmail $found_id '$SenderShort'");
sub DealWithError {
my ($reason) = @_;
print $reason . "\n";
}
# Yanking this wholesale from bug_email, 'cause I know this works. I'll
# figure out what it really does later
#------------------------------
#
# dump_entity ENTITY, NAME
#
# Recursive routine for parsing a mime coded mail.
# One mail may contain more than one mime blocks, which need to be
# handled. Therefore, this function is called recursively.
#
# It gets the for bugzilla important information from the mailbody and
# stores them into the global attachment-list @attachments. The attachment-list
# is needed in storeAttachments.
#
sub dump_entity {
my ($entity, $name) = @_;
defined($name) or $name = "'anonymous'";
my $IO;
# Output the body:
my @parts = $entity->parts;
if (@parts) { # multipart...
my $i;
foreach $i (0 .. $#parts) { # dump each part...
dump_entity($parts[$i], ("$name, part ".(1+$i)));
}
} else { # single part...
# Get MIME type, and display accordingly...
my $msg_part = $entity->head->get( 'Content-Disposition' );
$msg_part ||= "";
my ($type, $subtype) = split('/', $entity->head->mime_type);
my $body = $entity->bodyhandle;
my ($data, $on_disk );
if( $msg_part =~ /^attachment/ ) {
# Attached File
my $des = $entity->head->get('Content-Description');
$des ||= "";
if( defined( $body->path )) { # Data is on disk
$on_disk = 1;
$data = $body->path;
} else { # Data is in core
$on_disk = 0;
$data = $body->as_string;
}
# push ( @attachments, [ $data, $entity->head->mime_type, $on_disk, $des ] );
} else {
# Real Message
if ($type =~ /^(text|message)$/) { # text: display it...
if ($IO = $body->open("r")) {
$Comment .= $_ while (defined($_ = $IO->getline));
$IO->close;
} else { # d'oh!
print "$0: couldn't find/open '$name': $!";
}
} else { print "Oooops - no Body !\n"; }
}
}
}

View File

@@ -1,40 +0,0 @@
#!/bin/sh
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dawn Endico <endico@mozilla.org>
# Keep a record of all cvs updates made from a given directory.
#
# Later, if changes need to be backed out, look at the log file
# and run the cvs command with the date that you want to back
# out to. (Probably the second to last entry).
#DATE=`date +%e/%m/%Y\ %k:%M:%S\ %Z`
DATE=`date`
COMMAND="cvs update -d -P -D"
echo $COMMAND \"$DATE\" >> cvs-update.log
$COMMAND "$DATE"
# sample log file
#cvs update -P -D "11/04/2000 20:22:08 PDT"
#cvs update -P -D "11/05/2000 20:22:22 PDT"
#cvs update -P -D "11/07/2000 20:26:29 PDT"
#cvs update -P -D "11/08/2000 20:27:10 PDT"

File diff suppressed because it is too large Load Diff

View File

@@ -1,102 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Dan Mosedale <dmose@mozilla.org>
#
# mysqld-watcher.pl - a script that watches the running instance of
# mysqld and kills off any long-running SELECTs against the shadow_db
#
use diagnostics;
use strict;
require "globals.pl";
# some configurables:
# length of time before a thread is eligible to be killed, in seconds
#
my $long_query_time = 600;
#
# the From header for any messages sent out
#
my $mail_from = "root\@lounge.mozilla.org";
#
# mail transfer agent. this should probably really be converted to a Param().
#
my $mta_program = "/usr/lib/sendmail -t -ODeliveryMode=deferred";
# and STDIN is where we get the info about running threads
#
close(STDIN);
open(STDIN, "/usr/bonsaitools/bin/mysqladmin processlist |");
# iterate through the running threads
#
my @LONGEST = (0,0,0,0,0,0,0,0,0);
while ( <STDIN> ) {
my @F = split(/\|/);
# if this line is not the correct number of fields, or if the thread-id
# field contains Id, skip this line. both these cases indicate that this
# line contains pretty-printing gunk and not thread info.
#
next if ( $#F != 9 || $F[1] =~ /Id/);
if ( $F[4] =~ /shadow_bugs/ # shadowbugs database in use
&& $F[5] =~ /Query/ # this is actually a query
&& $F[6] > $long_query_time # this query has taken too long
&& $F[8] =~ /(select|SELECT)/ # only kill a select
&& $F[6] > $LONGEST[6] ) { # the longest running query seen
@LONGEST = @F;
}
}
# if we found anything, kill the database thread and send mail about it
#
if ($LONGEST[6] != 0) {
system ("/usr/bonsaitools/bin/mysqladmin", "kill", $LONGEST[1]);
# fire off an email telling the maintainer that we had to kill a thread
#
sendEmail($mail_from, Param("maintainer"),
"long running MySQL thread killed",
join(" ", @LONGEST) . "\n");
}
# send an email message
#
# should perhaps be moved to somewhere more global for use in bugzilla as a
# whole; should also do more error-checking
#
sub sendEmail($$$$) {
($#_ == 3) || die("sendEmail: invalid number of arguments");
my ($from, $to, $subject, $body) = @_;
open(MTA, "|$mta_program");
print MTA "From: $from\n";
print MTA "To: $to\n";
print MTA "Subject: $subject\n";
print MTA "\n";
print MTA $body;
print MTA "\n";
close(MTA);
}

View File

@@ -1,78 +0,0 @@
#!/bin/sh
# -*- Mode: ksh -*-
##############################################################################
# $Id: yp_nomail.sh,v 1.1 2000-09-12 23:50:31 cyeh%bluemartini.com Exp $
# yp_nomail
#
# Our mail admins got annoyed when bugzilla kept sending email
# to people who'd had bugzilla entries and left the company. They
# were no longer in the list of valid email users so it'd bounce.
# Maintaining the 'data/nomail' file was a pain. Luckily, our UNIX
# admins list all the users that ever were, but the people who've left
# have a distinct marker in their password file. For example:
#
# fired:*LK*:2053:1010:You're Fired Dude:/home/loser:/bin/false
#
# This script takes advantage of the "*LK*" convention seen via
# ypcat passwd and dumps those people into the nomail file. Any
# manual additions are kept in a "nomail.(domainname)" file and
# appended to the list of yp lockouts every night via Cron
#
# 58 23 * * * /export/bugzilla/contrib/yp_nomail.sh > /dev/null 2>&1
#
# Tak ( Mark Takacs ) 08/2000
#
# XXX: Maybe should crosscheck w/bugzilla users?
##############################################################################
####
# Configure this section to suite yer installation
####
DOMAIN=`domainname`
MOZILLA_HOME="/export/mozilla"
BUGZILLA_HOME="${MOZILLA_HOME}/bugzilla"
NOMAIL_DIR="${BUGZILLA_HOME}/data"
NOMAIL="${NOMAIL_DIR}/nomail"
NOMAIL_ETIME="${NOMAIL}.${DOMAIN}"
NOMAIL_YP="${NOMAIL}.yp"
FIRED_FLAG="\*LK\*"
YPCAT="/usr/bin/ypcat"
GREP="/usr/bin/grep"
SORT="/usr/bin/sort"
########################## no more config needed #################
# This dir comes w/Bugzilla. WAY too paranoid
if [ ! -d ${NOMAIL_DIR} ] ; then
echo "Creating $date_dir"
mkdir -p ${NOMAIL_DIR}
fi
#
# Do some (more) paranoid checking
#
touch ${NOMAIL}
if [ ! -w ${NOMAIL} ] ; then
echo "Can't write nomail file: ${NOMAIL} -- exiting"
exit
fi
if [ ! -r ${NOMAIL_ETIME} ] ; then
echo "Can't access custom nomail file: ${NOMAIL_ETIME} -- skipping"
NOMAIL_ETIME=""
fi
#
# add all the people with '*LK*' password to the nomail list
# XXX: maybe I should customize the *LK* string. Doh.
#
LOCKOUT=`$YPCAT passwd | $GREP "${FIRED_FLAG}" | cut -d: -f1 | sort > ${NOMAIL_YP}`
`cat ${NOMAIL_YP} ${NOMAIL_ETIME} > ${NOMAIL}`
exit
# end

View File

@@ -1,98 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# David Gardiner <david.gardiner@unisa.edu.au>
# Joe Robins <jmrobins@tgix.com>
use diagnostics;
use strict;
require "CGI.pl";
# Shut up misguided -w warnings about "used only once":
use vars %::FORM;
ConnectToDatabase();
# Clear out the login cookies. Make people log in again if they create an
# account; otherwise, they'll probably get confused.
print "Set-Cookie: Bugzilla_login= ; path=/; expires=Sun, 30-Jun-80 00:00:00 GMT
Set-Cookie: Bugzilla_logincookie= ; path=/; expires=Sun, 30-Jun-80 00:00:00 GMT
Set-Cookie: Bugzilla_password= ; path=/; expires=Sun, 30-Jun-80 00:00:00 GMT
Content-type: text/html
";
# If we're using LDAP for login, then we can't create a new account here.
if(Param('useLDAP')) {
PutHeader("Can't create LDAP accounts");
print "This site is using LDAP for authentication. Please contact an LDAP ";
print "administrator to get a new account created.\n";
PutFooter();
exit;
}
my $login = $::FORM{'login'};
my $realname = $::FORM{'realname'};
if (defined $login) {
CheckEmailSyntax($login);
if (DBname_to_id($login) != 0) {
PutHeader("Account exists");
print "A bugzilla account for the name <tt>$login</tt> already\n";
print "exists. If you have forgotten the password for it, then\n";
print "<a href=query.cgi?GoAheadAndLogIn>click here</a> and use\n";
print "the <b>E-mail me a password</b> button.\n";
PutFooter();
exit;
}
PutHeader("Account created");
my $password = InsertNewUser($login, $realname);
MailPassword($login, $password);
print " You can also <a href=query.cgi?GoAheadAndLogIn>click\n";
print "here</a> to log in for the first time.";
PutFooter();
exit;
}
PutHeader("Create a new bugzilla account");
print q{
To create a bugzilla account, all that you need to do is to enter a
legitimate e-mail address. The account will be created, and its
password will be mailed to you. Optionally you may enter your real name
as well.
<FORM method=get>
<table>
<tr>
<td align=right><b>E-mail address:</b></td>
<td><input size=35 name=login></td>
</tr>
<tr>
<td align=right><b>Real name:</b></td>
<td><input size=35 name=realname></td>
</tr>
</table>
<input type="submit" value="Create Account">
};
PutFooter();

View File

@@ -1,116 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# David Gardiner <david.gardiner@unisa.edu.au>
use diagnostics;
use strict;
require "CGI.pl";
use vars %::COOKIE, %::FILENAME;
sub Punt {
my ($str) = (@_);
print "$str<P>Please hit <b>Back</b> and try again.\n";
PutFooter();
exit;
}
confirm_login();
print "Content-type: text/html\n\n";
my $id = $::FORM{'id'};
die "invalid id: $id" unless $id=~/^\s*\d+\s*$/;
PutHeader("Create an attachment", "Create attachment", "Bug $id");
if (!defined($::FORM{'data'})) {
print qq{
<form method=post ENCTYPE="multipart/form-data">
<input type=hidden name=id value=$id>
To attach a file to <a href="show_bug.cgi?id=$id">bug $id</a>, place it in a
file on your local machine, and enter the path to that file here:<br>
<input type=file name=data size=60>
<P>
Please also provide a one-line description of this attachment:<BR>
<input name=description size=60>
<BR>
What kind of file is this?
<br><input type=radio name=type value=patch>Patch file (text/plain, diffs)
<br><input type=radio name=type value="text/plain">Plain text (text/plain)
<br><input type=radio name=type value="text/html">HTML source (text/html)
<br><input type=radio name=type value="image/gif">GIF Image (image/gif)
<br><input type=radio name=type value="image/jpeg">JPEG Image (image/jpeg)
<br><input type=radio name=type value="image/png">PNG Image (image/png)
<br><input type=radio name=type value="application/octet-stream">Binary file (application/octet-stream)
<br><input type=radio name=type value="other">Other (enter mime type: <input name=othertype size=30>)
<P>
<input type=submit value="Submit">
</form>
<P>
};
} else {
if ($::FORM{'data'} eq "" || !defined $::FILENAME{'data'}) {
Punt("No file was provided, or it was empty.");
}
my $desc = trim($::FORM{'description'});
if ($desc eq "") {
Punt("You must provide a description of your attachment.");
}
my $ispatch = 0;
my $mimetype = $::FORM{'type'};
if (!defined $mimetype) {
Punt("You must select which kind of file you have.");
}
$mimetype = trim($mimetype);
if ($mimetype eq "patch") {
$mimetype = "text/plain";
$ispatch = 1;
}
if ($mimetype eq "other") {
$mimetype = $::FORM{'othertype'};
}
if ($mimetype !~ m@^(\w|-|\+|\.)+/(\w|-|\+|\.)+$@) {
Punt("You must select a legal mime type. '<tt>$mimetype</tt>' simply will not do.");
}
SendSQL("insert into attachments (bug_id, filename, description, mimetype, ispatch, submitter_id, thedata) values ($id," .
SqlQuote($::FILENAME{'data'}) . ", " . SqlQuote($desc) . ", " .
SqlQuote($mimetype) . ", $ispatch, " .
DBNameToIdAndCheck($::COOKIE{'Bugzilla_login'}) . ", " .
SqlQuote($::FORM{'data'}) . ")");
SendSQL("select LAST_INSERT_ID()");
my $attachid = FetchOneColumn();
AppendComment($id, $::COOKIE{"Bugzilla_login"},
"Created an attachment (id=$attachid)\n$desc\n");
print '<TABLE BORDER=1><TD><H2>Attachment <A TITLE="'.value_quote($desc).
"\" HREF=\"showattachment.cgi?attach_id=$attachid\">$attachid</A> to bug $id created</H2>\n";
system("./processmail", $id, $::COOKIE{'Bugzilla_login'});
print "<TD><A HREF=\"show_bug.cgi?id=$id\">Go Back to BUG# $id</A></TABLE>\n";
print "<P><A HREF=\"createattachment.cgi?id=$id\">Create another attachment to bug $id</A></P>\n";
}
PutFooter();

View File

@@ -1,698 +0,0 @@
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Dawn Endico <endico@mozilla.org>
# Dan Mosedale <dmose@mozilla.org>
# Joe Robins <jmrobins@tgix.com>
# Jake <jake@acutex.net>
#
# This file defines all the parameters that we have a GUI to edit within
# Bugzilla.
# ATTENTION!!!! THIS FILE ONLY CONTAINS THE DEFAULTS.
# You cannot change your live settings by editing this file.
# Only adding new parameters is done here. Once the parameter exists, you
# must use %baseurl%/editparams.cgi from the web to edit the settings.
use diagnostics;
use strict;
# Shut up misguided -w warnings about "used only once". For some reason,
# "use vars" chokes on me when I try it here.
sub bug_form_pl_sillyness {
my $zz;
$zz = %::param_checker;
$zz = %::param_desc;
$zz = %::param_type;
}
sub WriteParams {
foreach my $i (@::param_list) {
if (!defined $::param{$i}) {
$::param{$i} = $::param_default{$i};
if (!defined $::param{$i}) {
die "No default parameter ever specified for $i";
}
}
}
mkdir("data", 0777);
chmod 0777, "data";
my $tmpname = "data/params.$$";
open(FID, ">$tmpname") || die "Can't create $tmpname";
my $v = $::param{'version'};
delete $::param{'version'}; # Don't write the version number out to
# the params file.
print FID GenerateCode('%::param');
$::param{'version'} = $v;
print FID "1;\n";
close FID;
rename $tmpname, "data/params" || die "Can't rename $tmpname to data/params";
chmod 0666, "data/params";
}
sub DefParam {
my ($id, $desc, $type, $default, $checker) = (@_);
push @::param_list, $id;
$::param_desc{$id} = $desc;
$::param_type{$id} = $type;
$::param_default{$id} = $default;
if (defined $checker) {
$::param_checker{$id} = $checker;
}
}
sub check_numeric {
my ($value) = (@_);
if ($value !~ /^[0-9]+$/) {
return "must be a numeric value";
}
return "";
}
sub check_shadowdb {
my ($value) = (@_);
$value = trim($value);
if ($value eq "") {
return "";
}
SendSQL("SHOW DATABASES");
while (MoreSQLData()) {
my $n = FetchOneColumn();
if (lc($n) eq lc($value)) {
return "The $n database already exists. If that's really the name you want to use for the backup, please CAREFULLY make the existing database go away somehow, and then try again.";
}
}
SendSQL("CREATE DATABASE $value");
SendSQL("INSERT INTO shadowlog (command) VALUES ('SYNCUP')", 1);
return "";
}
@::param_list = ();
# OK, here are the definitions themselves.
#
# The type of parameters (the third parameter to DefParam) can be one
# of the following:
#
# t -- A short text entry field (suitable for a single line)
# l -- A long text field (suitable for many lines)
# b -- A boolean value (either 1 or 0)
DefParam("maintainer",
"The email address of the person who maintains this installation of Bugzilla.",
"t",
'THE MAINTAINER HAS NOT YET BEEN SET');
DefParam("urlbase",
"The URL that is the common initial leading part of all Bugzilla URLs.",
"t",
"http://cvs-mirror.mozilla.org/webtools/bugzilla/",
\&check_urlbase);
sub check_urlbase {
my ($url) = (@_);
if ($url !~ m:^http.*/$:) {
return "must be a legal URL, that starts with http and ends with a slash.";
}
return "";
}
DefParam("preferlists",
"If this is on, Bugzilla will display most selection options as selection lists. If this is off, Bugzilla will use radio buttons and checkboxes instead.",
"b",
1);
DefParam("prettyasciimail",
"If this is on, Bugzilla will send email reports formatted (assuming 76 character monospace font display). If this is off, email reports are sent using the old 'one-item-per-line' format.",
"b",
0);
DefParam("capitalizelists",
"If this is on, Bugzilla will capitalize list entries, checkboxes, and radio buttons. If this is off, Bugzilla will leave these items untouched.",
"b",
0);
DefParam("usequip",
"If this is on, Bugzilla displays a silly quip at the beginning of buglists, and lets users add to the list of quips.",
"b",
1);
# Added parameter - JMR, 2/16/00
DefParam("usebuggroups",
"If this is on, Bugzilla will associate a bug group with each product in the database, and use it for querying bugs.",
"b",
0);
# Added parameter - JMR, 2/16/00
DefParam("usebuggroupsentry",
"If this is on, Bugzilla will use product bug groups to restrict who can enter bugs. Requires usebuggroups to be on as well.",
"b",
0);
DefParam("shadowdb",
"If non-empty, then this is the name of another database in which Bugzilla will keep a shadow read-only copy of everything. This is done so that long slow read-only operations can be used against this db, and not lock up things for everyone else. Turning on this parameter will create the given database; be careful not to use the name of an existing database with useful data in it!",
"t",
"",
\&check_shadowdb);
DefParam("queryagainstshadowdb",
"If this is on, and the shadowdb is set, then queries will happen against the shadow database.",
"b",
0);
DefParam("usedespot",
"If this is on, then we are using the Despot system to control our database of users. Bugzilla won't ever write into the user database, it will let the Despot code maintain that. And Bugzilla will send the user over to Despot URLs if they need to change their password. Also, in that case, Bugzilla will treat the passwords stored in the database as being crypt'd, not plaintext.",
"b",
0);
DefParam("despotbaseurl",
"The base URL for despot. Used only if <b>usedespot</b> is turned on, above.",
"t",
"http://cvs-mirror.mozilla.org/webtools/despot/despot.cgi",
\&check_despotbaseurl);
sub check_despotbaseurl {
my ($url) = (@_);
if ($url !~ /^http.*cgi$/) {
return "must be a legal URL, that starts with http and ends with .cgi";
}
return "";
}
# Adding in four parameters for LDAP authentication. -JMR, 7/28/00
DefParam("useLDAP",
"Turn this on to use an LDAP directory for user authentication ".
"instead of the Bugzilla database. (User profiles will still be ".
"stored in the database, and will match against the LDAP user by ".
"email address.)",
"b",
0);
DefParam("LDAPserver",
"The name (and optionally port) of your LDAP server. (e.g. ldap.company.com, or ldap.company.com:portnum)",
"t",
"");
DefParam("LDAPBaseDN",
"The BaseDN for authenticating users against. (e.g. \"ou=People,o=Company\")",
"t",
"");
DefParam("LDAPmailattribute",
"The name of the attribute of a user in your directory that ".
"contains the email address.",
"t",
"mail");
#End of LDAP parameters
DefParam("headerhtml",
"Additional HTML to add to the HEAD area of documents, eg. links to stylesheets.",
"l",
'');
DefParam("bodyhtml",
"Additional parameters to add to the BODY tag at the beginning of documents, eg. background image/colors, link colors, etc",
"l",
'BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000"');
DefParam("footerhtml",
"HTML to add to the bottom of every page. By default it displays the blurbhtml, and %commandmenu%, a menu of useful commands. You probably really want either headerhtml or footerhtml to include %commandmenu%.",
"l",
'<TABLE BORDER="0"><TR><TD BGCOLOR="#000000" VALIGN="TOP">
<TABLE BORDER="0" CELLPADDING="10" CELLSPACING="0" WIDTH="100%" BGCOLOR="lightyellow">
<TR><TD>
%blurbhtml%
<BR>
%commandmenu%
</TD></TR></TABLE></TD></TR></TABLE>');
DefParam("errorhtml",
"This is what is printed out when a form is improperly filled out. %errormsg% is replaced by the actual error itself; %<i>anythingelse</i>% gets replaced by the definition of that parameter (as defined on this page).",
"l",
qq{<TABLE CELLPADDING=20><TR><TD BGCOLOR="#ff0000">
<FONT SIZE="+2">%errormsg%</FONT></TD></TR></TABLE>
<P>Please press <B>Back</B> and try again.<P>});
DefParam("bannerhtml",
"The html that gets emitted at the head of every Bugzilla page.
Anything of the form %<i>word</i>% gets replaced by the defintion of that
word (as defined on this page).",
"l",
q{<TABLE BGCOLOR="#000000" WIDTH="100%" BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR><TD><A HREF="http://www.mozilla.org/"><IMG
SRC="http://www.mozilla.org/images/mozilla-banner.gif" ALT=""
BORDER=0 WIDTH=600 HEIGHT=58></A></TD></TR></TABLE>
<CENTER><FONT SIZE=-1>Bugzilla version %version%
</FONT></CENTER>});
DefParam("blurbhtml",
"A blurb that appears as part of the header of every Bugzilla page. This is a place to put brief warnings, pointers to one or two related pages, etc.",
"l",
"This is <B>Bugzilla</B>: the Mozilla bug system. For more
information about what Bugzilla is and what it can do, see
<A HREF=\"http://www.mozilla.org/\">mozilla.org</A>'s
<A HREF=\"http://www.mozilla.org/bugs/\"><B>bug pages</B></A>.");
DefParam("mostfreqhtml",
"The HTML which appears at the top of the list of most-frequently-reported bugs. Use it to explain the page, set a maintainer etc.",
"l",
q{
<br><p>
<b>What are "most frequent bugs"?</b>
<blockquote>The Most Frequent Bugs page lists the known open bugs which
are reported most frequently in recent builds of Mozilla. It is automatically
generated from the Bugzilla database every 24 hours, by counting the number
of direct and indirect duplicates of bugs.
This information is provided in order to assist in minimizing
the amount of duplicate bugs entered into Bugzilla which in turn cuts down
on development time.
</blockquote>
<b>How do I use this list?</b>
<ul>
<li>Review the most frequent bugs list.</li>
<li>If problem is listed:</li>
<ul>
<li>Click on Bug # link to confirm that you have found the same bug and comment
if you have additional information. Or move on with your testing
of the product.</li>
</ul>
<li>If problem not listed:</li>
<ul>
<li>Go to the <a href="query.cgi">Bugzilla Query/Search</a>
page to try and locate a similar bug that has already been written.</li>
<li>If you find your bug in Bugzilla, feel free to comment with any new or
additional data you may have.</li>
<li>If you cannot find your problem already documented in Bugzilla, go to the
<a href="http://www.mozilla.org/quality/help/bug-form.html">Bugzilla Helper</a> and post a new bug.</li>
</ul>
</ul>
<br>
});
DefParam("mostfreqthreshold",
"The minimum number of duplicates a bug needs to show up on the <A HREF=\"duplicates.cgi\">most frequently reported bugs page</a>. If you have a large database and this page takes a long time to load, try increasing this number.",
"t",
"2");
DefParam("mybugstemplate",
"This is the URL to use to bring up a simple 'all of my bugs' list for a user. %userid% will get replaced with the login name of a user.",
"t",
"buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=%userid%&emailtype1=exact&emailassigned_to1=1&emailreporter1=1");
DefParam("shutdownhtml",
"If this field is non-empty, then Bugzilla will be completely disabled and this text will be displayed instead of all the Bugzilla pages.",
"l",
"");
DefParam("sendmailnow",
"If this is on, Bugzilla will tell sendmail to send any e-mail immediately. If you have a large number of users with a large amount of e-mail traffic, enabling this option may dramatically slow down Bugzilla. Best used for smaller installations of Bugzilla.",
"b",
0);
DefParam("passwordmail",
q{The email that gets sent to people to tell them their password. Within
this text, %mailaddress% gets replaced by the person's email address,
%login% gets replaced by the person's login (usually the same thing), and
%password% gets replaced by their password. %<i>anythingelse</i>% gets
replaced by the definition of that parameter (as defined on this page).},
"l",
q{From: bugzilla-daemon
To: %mailaddress%
Subject: Your Bugzilla password.
To use the wonders of Bugzilla, you can use the following:
E-mail address: %login%
Password: %password%
To change your password, go to:
%urlbase%userprefs.cgi
});
DefParam("changedmail",
q{The email that gets sent to people when a bug changes. Within this
text, %to% gets replaced by the assigned-to and reported-by people,
separated by a comma (with duplication removed, if they're the same
person). %cc% gets replaced by the list of people on the CC list,
separated by commas. %bugid% gets replaced by the bug number.
%diffs% gets replaced by the diff text from the old version to the new
version of this bug. %neworchanged% is "New: " if this mail is
reporting a new bug or empty if changes were made
to an existing one. %summary% gets replaced by the summary of this
bug. %<i>anythingelse</i>% gets replaced by the definition of that
parameter (as defined on this page).},
"l",
"From: bugzilla-daemon
To: %to%
Cc: %cc%
Subject: [Bug %bugid%] %neworchanged%%summary%
%urlbase%show_bug.cgi?id=%bugid%
%diffs%");
DefParam("newemailtech",
q{The way that email diffs are constructed by Bugzilla. You can revert to
the old technology by turning this off, but this is not advised, as the old
email tech will probably disappear in the next version of Bugzilla. Some
features (watches, server side mail filtering) depend on newemailtech being
set to on.},
"b",
1);
DefParam("newemailtechdefault",
q{Make "newemailtech" the default for all new accounts created. This will
not change any existing accounts nor will it remove a users ability to go
back to the oldmail system (requires "newemailtech" to be on as well).},
"b",
1);
DefParam("newchangedmail",
q{The same as 'changedmail', but used for the newemailtech stuff.},
"l",
"From: bugzilla-daemon
To: %to%
Cc: %cc%
Subject: [Bug %bugid%] %neworchanged%%summary%
%urlbase%show_bug.cgi?id=%bugid%
%diffs%");
DefParam("whinedays",
"The number of days that we'll let a bug sit untouched in a NEW state before our cronjob will whine at the owner.",
"t",
7,
\&check_numeric);
DefParam("whinemail",
"The email that gets sent to anyone who has a NEW bug that hasn't been touched for more than <b>whinedays</b>. Within this text, %email% gets replaced by the offender's email address. %userid% gets replaced by the offender's bugzilla login (which, in most installations, is the same as the email address.) %<i>anythingelse</i>% gets replaced by the definition of that parameter (as defined on this page).<p> It is a good idea to make sure this message has a valid From: address, so that if the mail bounces, a real person can know that there are bugs assigned to an invalid address.",
"l",
q{From: %maintainer%
To: %email%
Subject: Your Bugzilla buglist needs attention.
[This e-mail has been automatically generated.]
You have one or more bugs assigned to you in the Bugzilla
bugsystem (%urlbase%) that require
attention.
All of these bugs are in the NEW state, and have not been touched
in %whinedays% days or more. You need to take a look at them, and
decide on an initial action.
Generally, this means one of three things:
(1) You decide this bug is really quick to deal with (like, it's INVALID),
and so you get rid of it immediately.
(2) You decide the bug doesn't belong to you, and you reassign it to someone
else. (Hint: if you don't know who to reassign it to, make sure that
the Component field seems reasonable, and then use the "Reassign bug to
owner of selected component" option.)
(3) You decide the bug belongs to you, but you can't solve it this moment.
Just use the "Accept bug" command.
To get a list of all NEW bugs, you can use this URL (bookmark it if you like!):
%urlbase%buglist.cgi?bug_status=NEW&assigned_to=%userid%
Or, you can use the general query page, at
%urlbase%query.cgi.
Appended below are the individual URLs to get to all of your NEW bugs that
haven't been touched for a week or more.
You will get this message once a day until you've dealt with these bugs!
});
DefParam("defaultquery",
"This is the default query that initially comes up when you submit a bug. It's in URL parameter format, which makes it hard to read. Sorry!",
"t",
"bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=%22Importance%22");
DefParam("letsubmitterchoosepriority",
"If this is on, then people submitting bugs can choose an initial priority for that bug. If off, then all bugs initially have the default priority selected below.",
"b",
1);
sub check_priority {
my ($value) = (@_);
GetVersionTable();
if (lsearch(\@::legal_priority, $value) < 0) {
return "Must be a legal priority value: one of " .
join(", ", @::legal_priority);
}
return "";
}
DefParam("defaultpriority",
"This is the priority that newly entered bugs are set to.",
"t",
"P2",
\&check_priority);
DefParam("usetargetmilestone",
"Do you wish to use the Target Milestone field?",
"b",
0);
DefParam("nummilestones",
"If using Target Milestone, how many milestones do you wish to
appear?",
"t",
10,
\&check_numeric);
DefParam("curmilestone",
"If using Target Milestone, Which milestone are we working toward right now?",
"t",
1,
\&check_numeric);
DefParam("musthavemilestoneonaccept",
"If you are using Target Milestone, do you want to require that the milestone be set in order for a user to ACCEPT a bug?",
"b",
0);
DefParam("useqacontact",
"Do you wish to use the QA Contact field?",
"b",
0);
DefParam("usestatuswhiteboard",
"Do you wish to use the Status Whiteboard field?",
"b",
0);
DefParam("usebrowserinfo",
"Do you want bug reports to be assigned an OS & Platform based on the browser
the user makes the report from?",
"b",
1);
DefParam("usedependencies",
"Do you wish to use dependencies (allowing you to mark which bugs depend on which other ones)?",
"b",
1);
DefParam("webdotbase",
"This is the URL prefix that is common to all requests for webdot. The <a href=\"http://www.research.att.com/~north/cgi-bin/webdot.cgi\">webdot package</a> is a very swell thing that generates pictures of graphs. If you have an installation of bugsplat that hides behind a firewall, then to get graphs to work, you will have to install a copy of webdot behind your firewall, and change this path to match. Also, webdot has some trouble with software domain names, so you may have to play games and hack the %urlbase% part of this. If this all seems like too much trouble, you can set this paramater to be the empty string, which will cause the graphing feature to be disabled entirely.",
"t",
"http://www.research.att.com/~north/cgi-bin/webdot.cgi/%urlbase%");
DefParam("entryheaderhtml",
"This is a special header for the bug entry page. The text will be printed after the page header, before the bug entry form. It is meant to be a place to put pointers to intructions on how to enter bugs.",
"l",
'<A HREF="bugwritinghelp.html">Bug writing guidelines</A>');
DefParam("expectbigqueries",
"If this is on, then we will tell mysql to <tt>set option SQL_BIG_TABLES=1</tt> before doing queries on bugs. This will be a little slower, but one will not get the error <tt>The table ### is full</tt> for big queries that require a big temporary table.",
"b",
0);
DefParam("emailregexp",
'This defines the regexp to use for legal email addresses. The default tries to match fully qualified email addresses. Another popular value to put here is <tt>^[^@, ]*$</tt>, which means "local usernames, no @ allowed.',
"t",
q:^[^@, ]*@[^@, ]*\\.[^@, ]*$:);
DefParam("emailregexpdesc",
"This describes in english words what kinds of legal addresses are allowed by the <tt>emailregexp</tt> param.",
"l",
"A legal address must contain exactly one '\@', and at least one '.' after the \@, and may not contain any commas or spaces.");
DefParam("emailsuffix",
"This is a string to append to any email addresses when actually sending mail to that address. It is useful if you have changed the <tt>emailregexp</tt> param to only allow local usernames, but you want the mail to be delivered to username\@my.local.hostname.",
"t",
"");
DefParam("voteremovedmail",
q{This is a mail message to send to anyone who gets a vote removed from a bug for any reason. %to% gets replaced by a comma-separated list of people who used to be voting for this bug. %bugid% gets replaced by the bug number. %reason% gets replaced by a short reason describing why the vote was removed. %count% is how many votes got removed.%<i>anythingelse</i>% gets replaced by the definition of that parameter (as defined on this page).},
"l",
"From: bugzilla-daemon
To: %to%
Subject: [Bug %bugid%] Your vote has been removed from this bug
You used to have a vote on bug %bugid%, but it has been removed.
Reason: %reason%
Votes removed: %count%
%urlbase%show_bug.cgi?id=%bugid%
");
DefParam("allowbugdeletion",
q{The pages to edit products and components and versions can delete all associated bugs when you delete a product (or component or version). Since that is a pretty scary idea, you have to turn on this option before any such deletions will ever happen.},
"b",
0);
DefParam("allowuserdeletion",
q{The pages to edit users can also let you delete a user. But there is no code that goes and cleans up any references to that user in other tables, so such deletions are kinda scary. So, you have to turn on this option before any such deletions will ever happen.},
"b",
0);
DefParam("strictvaluechecks",
"Do stricter integrity checking on both form submission values and values read in from the database.",
"b",
0);
DefParam("browserbugmessage",
"If strictvaluechecks is on, and the bugzilla gets unexpected data from the browser, in addition to displaying the cause of the problem, it will output this HTML as well.",
"l",
"this may indicate a bug in your browser.\n");
#
# Parameters to force users to comment their changes for different actions.
DefParam("commentonaccept",
"If this option is on, the user needs to enter a short comment if he accepts the bug",
"b", 0 );
DefParam("commentonclearresolution",
"If this option is on, the user needs to enter a short comment if the bugs resolution is cleared",
"b", 0 );
DefParam("commentonconfirm",
"If this option is on, the user needs to enter a short comment when confirming a bug",
"b", 0 );
DefParam("commentonresolve",
"If this option is on, the user needs to enter a short comment if the bug is resolved",
"b", 0 );
DefParam("commentonreassign",
"If this option is on, the user needs to enter a short comment if the bug is reassigned",
"b", 0 );
DefParam("commentonreassignbycomponent",
"If this option is on, the user needs to enter a short comment if the bug is reassigned by component",
"b", 0 );
DefParam("commentonreopen",
"If this option is on, the user needs to enter a short comment if the bug is reopened",
"b", 0 );
DefParam("commentonverify",
"If this option is on, the user needs to enter a short comment if the bug is verified",
"b", 0 );
DefParam("commentonclose",
"If this option is on, the user needs to enter a short comment if the bug is closed",
"b", 0 );
DefParam("commentonduplicate",
"If this option is on, the user needs to enter a short comment if the bug is marked as duplicate",
"b", 0 );
DefParam("supportwatchers",
"Support one user watching (ie getting copies of all related email" .
" about) another's bugs. Useful for people going on vacation, and" .
" QA folks watching particular developers' bugs",
"b", 0 );
DefParam("move-enabled",
"If this is on, Bugzilla will allow certain people to move bugs to the defined database.",
"b",
0);
DefParam("move-button-text",
"The text written on the Move button. Explain where the bug is being moved to.",
"t",
'Move To Bugscape');
DefParam("move-to-url",
"The URL of the database we allow some of our bugs to be moved to.",
"t",
'');
DefParam("move-to-address",
"To move bugs, an email is sent to the target database. This is the email address that database
uses to listen for incoming bugs.",
"t",
'bugzilla-import');
DefParam("moved-from-address",
"To move bugs, an email is sent to the target database. This is the email address from which
this mail, and error messages are sent.",
"t",
'bugzilla-admin');
DefParam("movers",
"A list of people with permission to move bugs and reopen moved bugs (in case the move operation fails).",
"t",
'');
DefParam("moved-default-product",
"Bugs moved from other databases to here are assigned to this product.",
"t",
'');
DefParam("moved-default-component",
"Bugs moved from other databases to here are assigned to this component.",
"t",
'');
1;

View File

@@ -1,106 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use vars %::FORM;
use diagnostics;
use strict;
require "CGI.pl";
ConnectToDatabase();
GetVersionTable();
print "Content-type: text/html\n\n";
my $product = $::FORM{'product'};
if (!defined $product || lsearch(\@::legal_product, $product) < 0) {
PutHeader("Bugzilla component description");
print "
<FORM>
Please specify the product whose components you want described.
<P>
Product: <SELECT NAME=product>
";
print make_options(\@::legal_product);
print "
</SELECT>
<P>
<INPUT TYPE=\"submit\" VALUE=\"Submit\">
</FORM>
";
PutFooter();
exit;
}
PutHeader("Bugzilla component description", "Bugzilla component description",
$product);
print "
<TABLE>
<tr>
<th align=left>Component</th>
<th align=left>Default owner</th>
";
my $useqacontact = Param("useqacontact");
my $cols = 2;
if ($useqacontact) {
print "<th align=left>Default qa contact</th>";
$cols++;
}
my $colbut1 = $cols - 1;
print "</tr>";
SendSQL("select value, initialowner, initialqacontact, description from components where program = " . SqlQuote($product) . " order by value");
my @data;
while (MoreSQLData()) {
push @data, [FetchSQLData()];
}
foreach (@data) {
my ($component, $initialownerid, $initialqacontactid, $description) = @$_;
my ($initialowner, $initialqacontact) = ($initialownerid ? DBID_to_name ($initialownerid) : '',
$initialqacontactid ? DBID_to_name ($initialqacontactid) : '');
print qq|
<tr><td colspan=$cols><hr></td></tr>
<tr><td rowspan=2>$component</td>
<td><a href="mailto:$initialowner">$initialowner</a></td>
|;
if ($useqacontact) {
print qq|
<td><a href="mailto:$initialqacontact">$initialqacontact</a></td>
|;
}
print "</tr><tr><td colspan=$colbut1>$description</td></tr>\n";
}
print "<tr><td colspan=$cols><hr></td></tr></table>\n";
PutFooter();

View File

@@ -1,88 +0,0 @@
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Terry Weissman.
# Portions created by Terry Weissman are
# Copyright (C) 2000 Terry Weissman. All
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
use diagnostics;
use strict;
require "CGI.pl";
ConnectToDatabase();
print "Content-type: text/html\n\n";
PutHeader("Bugzilla keyword description");
my $tableheader = qq{
<TABLE BORDER=1 CELLPADDING=4 CELLSPACING=0>
<TR BGCOLOR="#6666FF">
<TH ALIGN="left">Name</TH>
<TH ALIGN="left">Description</TH>
<TH ALIGN="left">Bugs</TH>
</TR>
};
print $tableheader;
my $line_count = 0;
my $max_table_size = 50;
SendSQL("SELECT keyworddefs.name, keyworddefs.description,
COUNT(keywords.bug_id), keywords.bug_id
FROM keyworddefs LEFT JOIN keywords ON keyworddefs.id=keywords.keywordid
GROUP BY keyworddefs.id
ORDER BY keyworddefs.name");
while (MoreSQLData()) {
my ($name, $description, $bugs, $onebug) = FetchSQLData();
if ($bugs && $onebug) {
# This 'onebug' stuff is silly hackery for old versions of
# MySQL that seem to return a count() of 1 even if there are
# no matching. So, we ask for an actual bug number. If it
# can't find any bugs that match the keyword, then we set the
# count to be zero, ignoring what it had responded.
my $q = url_quote($name);
$bugs = qq{<A HREF="buglist.cgi?keywords=$q">$bugs</A>};
} else {
$bugs = "none";
}
if ($line_count == $max_table_size) {
print "</table>\n$tableheader";
$line_count = 0;
}
$line_count++;
print qq{
<TR>
<TH>$name</TH>
<TD>$description</TD>
<TD ALIGN="right">$bugs</TD>
</TR>
};
}
print "</TABLE><P>\n";
quietly_check_login();
if (UserInGroup("editkeywords")) {
print "<p><a href=editkeywords.cgi>Edit keywords</a><p>\n";
}
PutFooter();

View File

@@ -1,67 +0,0 @@
Welcome to the Bugzilla documentation project!
You'll find these directories and files here:
README.docs # This README file
html/ # The compiled HTML docs from SGML sources (do not edit)
sgml/ # The original SGML doc sources (edit these)
txt/ # The compiled text docs from SGML sources
ps/ # The compiled PostScript docs from SGML sources
pdf/ # The compiled Adobe PDF docs from SGML sources
A note about SGML:
The documentation is written in DocBook 3.1/4.1 SGML, and attempts to adhere
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
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
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
your SGML before checking it in with something like:
nsgmls -s Bugzilla-Guide.sgml
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.
The following errors are considered "normal" when validating with nsgmls:
DTDDECL catalog entries are not supported
"DOCTYPE" declaration not allowed in instance
The reason these occur is that free sgml validators do not yet support
the DTDDECL catalog entries, and I've included DOCTYPE declarations in
entities referenced from Bugzilla-Guide.sgml so these entities can compile
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.
Thanks for taking the time to read these notes and consulting the
documentation. Please address comments and questions to the newsgroup:
news://news.mozilla.org/netscape/public/mozilla/webtools .
NOTES:
Here are the commands I use to maintain this documentation.
You MUST have DocBook 4.1 set up correctly in order for this to work,
but there's only a single REMARK tag that's incompatible with 3.1.
Maybe I'll downgrade to DocBook 3.1 to make your life easier...
Substitute your own path to "ldp.dsl" for "$LDP_HOME".
To create HTML documentation:
bash$ cd html
bash$ jade -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \
../sgml/Bugzilla-Guide.sgml
To create HTML documentation as a single big HTML file:
bash$ cd html
bash$ jade -V nochunks -t sgml -i html -d $LDP_HOME/ldp.dsl\#html \
../sgml/Bugzilla-Guide.sgml >Bugzilla-Guide.html
To create TXT documentation as a single big TXT file:
bash$ cd txt
bash$ lynx -dump -nolist ../html/Bugzilla-Guide.html >Bugzilla-Guide.txt
Sincerely,
Matthew P. Barnson
The Bugzilla "Doc Knight"
barnboy@trilobyte.net

File diff suppressed because it is too large Load Diff

View File

@@ -1,183 +0,0 @@
<HTML
><HEAD
><TITLE
>About This Guide</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="NEXT"
TITLE="Purpose and Scope of this Guide"
HREF="aboutthisguide.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="index.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="aboutthisguide.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="ABOUT"
>Chapter 1. About This Guide</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>1.1. <A
HREF="aboutthisguide.html"
>Purpose and Scope of this Guide</A
></DT
><DT
>1.2. <A
HREF="copyright.html"
>Copyright Information</A
></DT
><DT
>1.3. <A
HREF="disclaimer.html"
>Disclaimer</A
></DT
><DT
>1.4. <A
HREF="newversions.html"
>New Versions</A
></DT
><DT
>1.5. <A
HREF="credits.html"
>Credits</A
></DT
><DT
>1.6. <A
HREF="contributors.html"
>Contributors</A
></DT
><DT
>1.7. <A
HREF="feedback.html"
>Feedback</A
></DT
><DT
>1.8. <A
HREF="translations.html"
>Translations</A
></DT
><DT
>1.9. <A
HREF="conventions.html"
>Document Conventions</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="aboutthisguide.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Bugzilla Guide</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Purpose and Scope of this Guide</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,192 +0,0 @@
<HTML
><HEAD
><TITLE
>Purpose and Scope of this Guide</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="NEXT"
TITLE="Copyright Information"
HREF="copyright.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="about.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="copyright.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="ABOUTTHISGUIDE"
>1.1. Purpose and Scope of this Guide</A
></H1
><P
> This document was started on September 17, 2000
by Matthew P. Barnson after a great deal of procrastination updating the Bugzilla FAQ,
which I left untouched for nearly half a year.
After numerous complete rewrites and reformatting, it is the document you see today.
</P
><P
> Despite the lack of updates, Bugzilla is simply the best piece of bug-tracking software
the world has ever seen. This document is intended to be the comprehensive guide to
the installation, administration, maintenance, and use of the Bugzilla bug-tracking system.
</P
><P
> This release of the Bugzilla Guide is the <EM
>2.11</EM
> release.
It is so named that it may match the current version of Bugzilla.
The numbering tradition stems from that used for many free software projects,
in which <EM
>even-numbered</EM
> point releases (1.2, 1.14, etc.)
are considered "stable releases", intended for public consumption; on the other
hand, <EM
>odd-numbered</EM
> point releases (1.3, 2.09, etc.)
are considered unstable <EM
>development</EM
> releases intended
for advanced users, systems administrators, developers, and those who enjoy
a lot of pain.
</P
><P
> Newer revisions of the Bugzilla Guide will follow the numbering conventions of
the main-tree Bugzilla releases, available at
<A
HREF="http://www.mozilla.org/bugs/source.html"
TARGET="_top"
>Mozilla.org</A
>, with
the exception that intermediate releases will have a minor revision number
following a period. For instance, if the current version of Bugzilla is 4.2,
the current "stable" version of the Bugzilla guide, in, say, it's fifth revision,
would be numbered "4.2.5". Got it? Good.
</P
><P
> I wrote this in response to the enormous demand for decent Bugzilla documentation.
I have incorporated instructions from the Bugzilla README, Frequently Asked Questions,
Database Schema Document, and various mailing lists to create it.
Chances are, there are glaring errors in this documentation; please contact
<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:barnboy@trilobyte.net"
>barnboy@trilobyte.net</A
>&#62;</TT
> to correct them.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="about.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>About This Guide</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Copyright Information</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,238 +0,0 @@
<HTML
><HEAD
><TITLE
>Administering Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Win32 (Win98+/NT/2K) Installation"
HREF="readme.windows.html"><LINK
REL="NEXT"
TITLE="Post-Installation Checklist"
HREF="postinstall-check.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="readme.windows.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="postinstall-check.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="ADMINISTRATION"
>Chapter 3. Administering Bugzilla</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>3.1. <A
HREF="postinstall-check.html"
>Post-Installation Checklist</A
></DT
><DT
>3.2. <A
HREF="useradmin.html"
>User Administration</A
></DT
><DD
><DL
><DT
>3.2.1. <A
HREF="useradmin.html#DEFAULTUSER"
>Creating the Default User</A
></DT
><DT
>3.2.2. <A
HREF="useradmin.html#MANAGEUSERS"
>Managing Other Users</A
></DT
><DD
><DL
><DT
>3.2.2.1. <A
HREF="useradmin.html#LOGIN"
>Logging In</A
></DT
><DT
>3.2.2.2. <A
HREF="useradmin.html#CREATENEWUSERS"
>Creating new users</A
></DT
><DT
>3.2.2.3. <A
HREF="useradmin.html#DISABLEUSERS"
>Disabling Users</A
></DT
><DT
>3.2.2.4. <A
HREF="useradmin.html#MODIFYUSERS"
>Modifying Users</A
></DT
></DL
></DD
></DL
></DD
><DT
>3.3. <A
HREF="programadmin.html"
>Product, Component, Milestone, and Version Administration</A
></DT
><DD
><DL
><DT
>3.3.1. <A
HREF="programadmin.html#PRODUCTS"
>Products</A
></DT
><DT
>3.3.2. <A
HREF="programadmin.html#COMPONENTS"
>Components</A
></DT
><DT
>3.3.3. <A
HREF="programadmin.html#VERSIONS"
>Versions</A
></DT
><DT
>3.3.4. <A
HREF="programadmin.html#MILESTONES"
>Milestones</A
></DT
><DT
>3.3.5. <A
HREF="programadmin.html#VOTING"
>Voting</A
></DT
><DT
>3.3.6. <A
HREF="programadmin.html#GROUPS"
>Groups and Group Security</A
></DT
></DL
></DD
><DT
>3.4. <A
HREF="security.html"
>Bugzilla Security</A
></DT
></DL
></DIV
><FONT
COLOR="RED"
>Or, I just got this cool thing installed. Now what the heck do I do with it?</FONT
><P
>So you followed the README isntructions to the letter, and
just logged into bugzilla with your super-duper god account and you are sitting at the query
screen. Yet, you have nothing to query. Your first act of business needs to be to setup the
operating parameters for bugzilla.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="readme.windows.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="postinstall-check.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Win32 (Win98+/NT/2K) Installation</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Post-Installation Checklist</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,138 +0,0 @@
<HTML
><HEAD
><TITLE
>Bonsai</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="PREVIOUS"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="NEXT"
TITLE="CVS"
HREF="cvs.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="integration.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="cvs.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="BONSAI"
>5.1. Bonsai</A
></H1
><P
>We need Bonsai integration information.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="integration.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="cvs.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="integration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>CVS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,211 +0,0 @@
<HTML
><HEAD
><TITLE
>Bug Issues</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="PREVIOUS"
TITLE="Description Flags and Tracking Bugs"
HREF="trackingbugs.html"><LINK
REL="NEXT"
TITLE="Database Integrity"
HREF="dbaseintegrity.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="trackingbugs.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. The Future of Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="dbaseintegrity.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="BUGPROBS"
>6.4. Bug Issues</A
></H1
><P
><P
CLASS="LITERALLAYOUT"
>1.&nbsp;Inline&nbsp;Bug&nbsp;Changes<br>
<br>
Why&nbsp;do&nbsp;I&nbsp;see&nbsp;so&nbsp;many&nbsp;"moving&nbsp;to&nbsp;M5"&nbsp;and&nbsp;"reassigning&nbsp;to&nbsp;blahblah"<br>
messages,&nbsp;and&nbsp;in&nbsp;other&nbsp;circumstances&nbsp;none&nbsp;are&nbsp;entered?&nbsp;&nbsp;Why&nbsp;aren't&nbsp;these<br>
automatically&nbsp;generated?&nbsp;&nbsp;A&nbsp;comment&nbsp;should&nbsp;be&nbsp;only&nbsp;necessary&nbsp;when&nbsp;there<br>
is&nbsp;something&nbsp;to&nbsp;add,&nbsp;and&nbsp;if&nbsp;I'm&nbsp;not&nbsp;interested&nbsp;in&nbsp;this&nbsp;sort&nbsp;of<br>
information,&nbsp;I&nbsp;should&nbsp;be&nbsp;able&nbsp;to&nbsp;hide&nbsp;it.<br>
<br>
At&nbsp;the&nbsp;moment&nbsp;we're&nbsp;in&nbsp;a&nbsp;hybrid&nbsp;world&nbsp;where&nbsp;we&nbsp;don't&nbsp;get&nbsp;everything,&nbsp;but<br>
we&nbsp;can't&nbsp;get&nbsp;rid&nbsp;of&nbsp;the&nbsp;bug&nbsp;change&nbsp;"messages"&nbsp;either.&nbsp;&nbsp;Furthermore,<br>
"View&nbsp;Bug&nbsp;Activity"&nbsp;requires&nbsp;me&nbsp;to&nbsp;manually&nbsp;cross&nbsp;reference&nbsp;events&nbsp;on<br>
another&nbsp;page,&nbsp;rather&nbsp;than&nbsp;being&nbsp;able&nbsp;to&nbsp;visually&nbsp;see&nbsp;the&nbsp;chronological<br>
order.&nbsp;&nbsp;Shouldn't&nbsp;I&nbsp;be&nbsp;able&nbsp;to&nbsp;see&nbsp;all&nbsp;the&nbsp;information&nbsp;on&nbsp;one&nbsp;page?<br>
<br>
A&nbsp;proposal&nbsp;to&nbsp;allow&nbsp;bugs&nbsp;to&nbsp;be&nbsp;shown&nbsp;either&nbsp;way&nbsp;is&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=11368".<br>
<br>
2.&nbsp;&nbsp;Hard&nbsp;Wrapping&nbsp;Comments<br>
<br>
One&nbsp;thing&nbsp;that&nbsp;annoys&nbsp;me&nbsp;is&nbsp;the&nbsp;fact&nbsp;that&nbsp;comments&nbsp;are&nbsp;"hard&nbsp;wrapped"&nbsp;to<br>
a&nbsp;certain&nbsp;column&nbsp;width.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;mistake&nbsp;Internet&nbsp;Mail&nbsp;and&nbsp;News&nbsp;has<br>
made,&nbsp;unlike&nbsp;every&nbsp;word&nbsp;processor&nbsp;in&nbsp;existence,&nbsp;and&nbsp;as&nbsp;a&nbsp;consequence,<br>
Usenet&nbsp;suffers&nbsp;to&nbsp;this&nbsp;day&nbsp;from&nbsp;bad&nbsp;software.&nbsp;&nbsp;Why&nbsp;has&nbsp;Bugzilla&nbsp;repeated<br>
the&nbsp;problem?<br>
<br>
Hard&nbsp;wrapping&nbsp;to&nbsp;a&nbsp;certain&nbsp;column&nbsp;width&nbsp;is&nbsp;open&nbsp;to&nbsp;abuse&nbsp;(see&nbsp;old<br>
Mozilla&nbsp;browsers&nbsp;that&nbsp;didn't&nbsp;wrap&nbsp;properly,&nbsp;resulting&nbsp;in&nbsp;many&nbsp;ugly&nbsp;bug<br>
reports&nbsp;we&nbsp;have&nbsp;to&nbsp;read&nbsp;to&nbsp;this&nbsp;day),&nbsp;and&nbsp;furthermore&nbsp;doesn't&nbsp;expand&nbsp;to<br>
fill&nbsp;greater&nbsp;screen&nbsp;sizes.&nbsp;&nbsp;I'm&nbsp;also&nbsp;under&nbsp;the&nbsp;impression&nbsp;the&nbsp;current<br>
hard&nbsp;wrap&nbsp;uses&nbsp;a&nbsp;non-standard&nbsp;HTML&nbsp;facility.&nbsp;&nbsp;See<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=11901".<br>
<br>
3.&nbsp;REMIND&nbsp;and&nbsp;LATER&nbsp;Are&nbsp;Evil<br>
<br>
I&nbsp;really&nbsp;hate&nbsp;REMIND&nbsp;and&nbsp;LATER.&nbsp;&nbsp;Not&nbsp;because&nbsp;they&nbsp;mean&nbsp;something<br>
won't&nbsp;be&nbsp;implemented,&nbsp;but&nbsp;because&nbsp;they&nbsp;aren't&nbsp;the&nbsp;best&nbsp;solutions.<br>
<br>
Why&nbsp;are&nbsp;they&nbsp;bad?&nbsp;&nbsp;Well,&nbsp;basically&nbsp;because&nbsp;they&nbsp;are&nbsp;not&nbsp;resolved,&nbsp;yet<br>
they&nbsp;are&nbsp;marked&nbsp;as&nbsp;such.&nbsp;&nbsp;Hence&nbsp;queries&nbsp;have&nbsp;to&nbsp;be&nbsp;well&nbsp;crafted&nbsp;to<br>
include&nbsp;them.<br>
<br>
LATER,&nbsp;according&nbsp;to&nbsp;Bugzilla,&nbsp;means&nbsp;it&nbsp;won't&nbsp;be&nbsp;done&nbsp;this&nbsp;release.&nbsp;<br>
There&nbsp;is&nbsp;a&nbsp;better&nbsp;mechanism&nbsp;of&nbsp;doing&nbsp;this,&nbsp;that&nbsp;is&nbsp;assigning&nbsp;to<br>
nobody@mozilla.org&nbsp;and&nbsp;making&nbsp;the&nbsp;milestone&nbsp;blank.&nbsp;&nbsp;It's&nbsp;more&nbsp;likely&nbsp;to<br>
appear&nbsp;in&nbsp;a&nbsp;casual&nbsp;query,&nbsp;and&nbsp;it&nbsp;doesn't&nbsp;resolve&nbsp;the&nbsp;bug.<br>
<br>
REMIND,&nbsp;according&nbsp;to&nbsp;Bugzilla,&nbsp;means&nbsp;it&nbsp;might&nbsp;still&nbsp;be&nbsp;implemented&nbsp;this<br>
release.&nbsp;&nbsp;Well,&nbsp;why&nbsp;not&nbsp;just&nbsp;move&nbsp;it&nbsp;to&nbsp;a&nbsp;later&nbsp;milestone&nbsp;then?&nbsp;&nbsp;You're<br>
a&nbsp;lot&nbsp;less&nbsp;likely&nbsp;to&nbsp;forget&nbsp;it.&nbsp;&nbsp;If&nbsp;it's&nbsp;really&nbsp;needed,&nbsp;a&nbsp;keyword&nbsp;would<br>
be&nbsp;better.<br>
<br>
Some&nbsp;people&nbsp;can't&nbsp;use&nbsp;blank&nbsp;milestones&nbsp;to&nbsp;mean&nbsp;an&nbsp;untargetted&nbsp;milestone,<br>
since&nbsp;they&nbsp;use&nbsp;this&nbsp;to&nbsp;assess&nbsp;new&nbsp;bugs&nbsp;that&nbsp;have&nbsp;no&nbsp;target.&nbsp;&nbsp;Hence,&nbsp;it<br>
would&nbsp;be&nbsp;nice&nbsp;to&nbsp;distinguish&nbsp;between&nbsp;bugs&nbsp;that&nbsp;have&nbsp;not&nbsp;yet&nbsp;been<br>
considered,&nbsp;and&nbsp;those&nbsp;that&nbsp;really&nbsp;are&nbsp;not&nbsp;assigned&nbsp;to&nbsp;any&nbsp;milestone&nbsp;in<br>
the&nbsp;future&nbsp;(assumedly&nbsp;beyond).<br>
<br>
All&nbsp;this&nbsp;is&nbsp;covered&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=13534".<br>
<br>
4.&nbsp;Create&nbsp;An&nbsp;Enhancement&nbsp;Field<br>
<br>
Currently&nbsp;enhancement&nbsp;is&nbsp;an&nbsp;option&nbsp;in&nbsp;severity.&nbsp;&nbsp;This&nbsp;means&nbsp;that<br>
important&nbsp;enhancements&nbsp;(like&nbsp;for&nbsp;example,&nbsp;POP3&nbsp;support)&nbsp;are&nbsp;not&nbsp;properly<br>
distinguished&nbsp;as&nbsp;such,&nbsp;because&nbsp;they&nbsp;need&nbsp;a&nbsp;proper&nbsp;severity.&nbsp;&nbsp;This<br>
dilutes&nbsp;the&nbsp;meaning&nbsp;of&nbsp;enhancement.<br>
<br>
If&nbsp;enhancement&nbsp;was&nbsp;separated,&nbsp;we&nbsp;could&nbsp;properly&nbsp;see&nbsp;what&nbsp;was&nbsp;an<br>
enhancement.&nbsp;&nbsp;See&nbsp;"http://bugzilla.mozilla.org/show_bug.cgi?id=9412".&nbsp;&nbsp;I<br>
see&nbsp;keywords&nbsp;like&nbsp;[RFE]&nbsp;and&nbsp;[FEATURE]&nbsp;that&nbsp;seem&nbsp;to&nbsp;be&nbsp;compensating&nbsp;for<br>
this&nbsp;problem.</P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="trackingbugs.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="dbaseintegrity.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Description Flags and Tracking Bugs</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="future.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Database Integrity</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,138 +0,0 @@
<HTML
><HEAD
><TITLE
>Bugzilla 3.0</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="PREVIOUS"
TITLE="Database Integrity"
HREF="dbaseintegrity.html"><LINK
REL="NEXT"
TITLE="The Bugzilla FAQ"
HREF="faq.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="dbaseintegrity.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. The Future of Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="faq.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="BZ30"
>6.6. Bugzilla 3.0</A
></H1
><P
>One day, Bugzilla 3.0 will have lots of cool stuff.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="dbaseintegrity.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="faq.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Database Integrity</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="future.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Bugzilla FAQ</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,155 +0,0 @@
<HTML
><HEAD
><TITLE
>Cleaning up after mucking with Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Bugzilla Database"
HREF="database.html"><LINK
REL="PREVIOUS"
TITLE="MySQL Permissions & Grant Tables"
HREF="granttables.html"><LINK
REL="NEXT"
TITLE="Bugzilla Variants"
HREF="variants.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="granttables.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix C. The Bugzilla Database</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="variants.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="CLEANUPWORK"
>C.4. Cleaning up after mucking with Bugzilla</A
></H1
><P
CLASS="LITERALLAYOUT"
>Contributed&nbsp;by&nbsp;Eric&nbsp;Hanson:<br>
There&nbsp;are&nbsp;several&nbsp;things,&nbsp;and&nbsp;one&nbsp;trick.&nbsp;&nbsp;There&nbsp;is&nbsp;a&nbsp;small&nbsp;tiny&nbsp;piece&nbsp;of<br>
documentation&nbsp;I&nbsp;saw&nbsp;once&nbsp;that&nbsp;said&nbsp;something&nbsp;very&nbsp;important.<br>
1)&nbsp;&nbsp;After&nbsp;pretty&nbsp;much&nbsp;any&nbsp;manual&nbsp;working&nbsp;of&nbsp;the&nbsp;Mysql&nbsp;db,&nbsp;you&nbsp;must<br>
delete&nbsp;a&nbsp;file&nbsp;in&nbsp;the&nbsp;bugzilla&nbsp;directory:&nbsp;data/versioncache<br>
Versioncache&nbsp;basically&nbsp;is&nbsp;a&nbsp;way&nbsp;to&nbsp;speed&nbsp;up&nbsp;bugzilla&nbsp;(from&nbsp;what&nbsp;I<br>
understand).&nbsp;&nbsp;It&nbsp;stores&nbsp;a&nbsp;lot&nbsp;of&nbsp;commonly&nbsp;used&nbsp;information.&nbsp;&nbsp;However,<br>
this&nbsp;file&nbsp;is&nbsp;refreshed&nbsp;every&nbsp;so&nbsp;often&nbsp;(I&nbsp;can't&nbsp;remember&nbsp;the&nbsp;time<br>
interval&nbsp;though).&nbsp;&nbsp;So&nbsp;eventually&nbsp;all&nbsp;changes&nbsp;do&nbsp;propogate&nbsp;out,&nbsp;so&nbsp;you<br>
may&nbsp;see&nbsp;stuff&nbsp;suddenly&nbsp;working.<br>
2)&nbsp;&nbsp;Assuming&nbsp;that&nbsp;failed,&nbsp;you&nbsp;will&nbsp;also&nbsp;have&nbsp;to&nbsp;check&nbsp;something&nbsp;with&nbsp;the<br>
checksetup.pl&nbsp;file.&nbsp;&nbsp;It&nbsp;actually&nbsp;is&nbsp;run&nbsp;twice.&nbsp;&nbsp;The&nbsp;first&nbsp;time&nbsp;it<br>
creates&nbsp;the&nbsp;file:&nbsp;localconfig.&nbsp;&nbsp;You&nbsp;can&nbsp;modify&nbsp;localconfig,&nbsp;(or&nbsp;not&nbsp;if<br>
you&nbsp;are&nbsp;doing&nbsp;bug_status&nbsp;stuff)&nbsp;or&nbsp;you&nbsp;should&nbsp;delete&nbsp;localconfig&nbsp;and<br>
rerun&nbsp;your&nbsp;modified&nbsp;checksetup.pl.&nbsp;&nbsp;Since&nbsp;I&nbsp;don't&nbsp;actually&nbsp;see&nbsp;anything<br>
in&nbsp;localconfig&nbsp;pertaining&nbsp;to&nbsp;bug_status,&nbsp;this&nbsp;point&nbsp;is&nbsp;mainly&nbsp;a&nbsp;FYI.<br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="granttables.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="variants.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>MySQL Permissions &#38; Grant Tables</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="database.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Bugzilla Variants</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,262 +0,0 @@
<HTML
><HEAD
><TITLE
>Command-line Bugzilla Queries</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="PREVIOUS"
TITLE="The setperl.csh Utility"
HREF="setperl.html"><LINK
REL="NEXT"
TITLE="The Quicksearch Utility"
HREF="quicksearch.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="setperl.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix D. Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="quicksearch.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="CMDLINE"
>D.2. Command-line Bugzilla Queries</A
></H1
><P
> Users can query Bugzilla from the command line using
this suite of utilities.
</P
><P
> The query.conf file contains the mapping from options to field
names and comparison types. Quoted option names are "grepped" for, so
it should be easy to edit this file. Comments (#) have no effect; you
must make sure these lines do not contain any quoted "option"
</P
><P
> buglist is a shell script which submits a Bugzilla query and writes the
resulting HTML page to stdout. It supports both short options,
(such as "-Afoo" or "-Rbar") and long options (such as
"--assignedto=foo" or "--reporter=bar"). If the first character
of an option is not "-", it is treated as if it were prefixed
with "--default=".
</P
><P
> The columlist is taken from the COLUMNLIST environment variable.
This is equivalent to the "Change Columns" option when you list
bugs in buglist.cgi. If you have already used Bugzilla, use
<B
CLASS="COMMAND"
>grep COLUMLIST ~/.netscape/cookies</B
> to see
your current COLUMNLIST setting.
</P
><P
> bugs is a simple shell script which calls buglist and extracts
the bug numbers from the output. Adding the prefix
"http://bugzilla.mozilla.org/buglist.cgi?bug_id="
turns the bug list into a working link if any bugs are found.
Counting bugs is easy. Pipe the results through
<B
CLASS="COMMAND"
>sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</B
>
</P
><P
> Akkana says she has good results piping buglist output through
<B
CLASS="COMMAND"
>w3m -T text/html -dump</B
>
</P
><DIV
CLASS="PROCEDURE"
><OL
TYPE="1"
><LI
><P
> Download three files:
</P
><OL
CLASS="SUBSTEPS"
TYPE="a"
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash$</TT
>
<B
CLASS="COMMAND"
>wget -O query.conf 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26157'</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash$</TT
>
<B
CLASS="COMMAND"
>wget -O buglist 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26944'</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>wget -O bugs 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26215'</B
>
</TT
>
</P
></LI
></OL
></LI
><LI
><P
> Make your utilities executable:
<TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash$</TT
>
<B
CLASS="COMMAND"
>chmod u+x buglist bugs</B
>
</TT
>
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="setperl.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="quicksearch.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The setperl.csh Utility</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="patches.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Quicksearch Utility</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,147 +0,0 @@
<HTML
><HEAD
><TITLE
>Contributors</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Credits"
HREF="credits.html"><LINK
REL="NEXT"
TITLE="Feedback"
HREF="feedback.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="credits.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="feedback.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="CONTRIBUTORS"
>1.6. Contributors</A
></H1
><P
> Thanks go to these people for significant contributions
to this documentation (in no particular order):
</P
><P
> Zach Lipton (significant textual contributions),
Andrew Pearson,
Spencer Smith,
Eric Hanson,
Kevin Brannen,
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="credits.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="feedback.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Credits</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Feedback</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,419 +0,0 @@
<HTML
><HEAD
><TITLE
>Document Conventions</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Translations"
HREF="translations.html"><LINK
REL="NEXT"
TITLE="Installing Bugzilla"
HREF="installation.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="translations.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="installation.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="CONVENTIONS"
>1.9. Document Conventions</A
></H1
><P
> This document uses the following conventions
</P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN117"
></A
><P
></P
><TABLE
BORDER="0"
CLASS="CALSTABLE"
><THEAD
><TR
><TH
ALIGN="LEFT"
VALIGN="TOP"
>Descriptions</TH
><TH
ALIGN="LEFT"
VALIGN="TOP"
>Appearance</TH
></TR
></THEAD
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Warnings</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><DIV
CLASS="CAUTION"
><P
></P
><TABLE
CLASS="CAUTION"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>Caution</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>Warnings.</P
></TD
></TR
></TABLE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Hint</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
>Hint.</P
></BLOCKQUOTE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Notes</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>Note.</P
></BLOCKQUOTE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Information requiring special attention</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><DIV
CLASS="WARNING"
><P
></P
><TABLE
CLASS="WARNING"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>Warning</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>Warning.</P
></TD
></TR
></TABLE
></DIV
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>File Names</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="FILENAME"
>file.extension</TT
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Directory Names</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="FILENAME"
>directory</TT
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Commands to be typed</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><B
CLASS="COMMAND"
>command</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Applications Names</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><SPAN
CLASS="APPLICATION"
>application</SPAN
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><I
CLASS="FOREIGNPHRASE"
>Prompt</I
> of users command under bash shell</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>bash$</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><I
CLASS="FOREIGNPHRASE"
>Prompt</I
> of root users command under bash shell</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>bash#</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><I
CLASS="FOREIGNPHRASE"
>Prompt</I
> of user command under tcsh shell</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>tcsh$</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Environment Variables</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="ENVAR"
>VARIABLE</TT
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Emphasized word</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><EM
>word</EM
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Code Example</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><TT
CLASS="SGMLTAG"
>&#60;para&#62;</TT
>Beginning and end of paragraph<TT
CLASS="SGMLTAG"
>&#60;/para&#62;</TT
></PRE
></TD
></TR
></TABLE
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="translations.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="installation.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Translations</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Installing Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,190 +0,0 @@
<HTML
><HEAD
><TITLE
>Copyright Information</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Purpose and Scope of this Guide"
HREF="aboutthisguide.html"><LINK
REL="NEXT"
TITLE="Disclaimer"
HREF="disclaimer.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="aboutthisguide.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="disclaimer.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="COPYRIGHT"
>1.2. Copyright Information</A
></H1
><A
NAME="AEN57"
></A
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="BLOCKQUOTE"
><TR
><TD
WIDTH="10%"
VALIGN="TOP"
>&nbsp;</TD
><TD
WIDTH="80%"
VALIGN="TOP"
><P
> Permission is granted to copy, distribute and/or modify this document under thei
terms of the GNU Free Documentation License, Version 1.1 or any later version published
by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and
with no Back-Cover Texts. A copy of the license is included in the section entitled
"GNU Free Documentation LIcense".
</P
></TD
><TD
WIDTH="10%"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="RIGHT"
VALIGN="TOP"
>--<SPAN
CLASS="ATTRIBUTION"
>Copyright (c) 2000-2001 Matthew P. Barnson</SPAN
></TD
><TD
WIDTH="10%"
>&nbsp;</TD
></TR
></TABLE
><P
> If you have any questions regarding this document, its' copyright, or publishing this
document in non-electronic form, please contact <TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:barnboy@trilobyte.net"
>barnboy@trilobyte.net</A
>&#62;</TT
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="aboutthisguide.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="disclaimer.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Purpose and Scope of this Guide</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Disclaimer</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,187 +0,0 @@
<HTML
><HEAD
><TITLE
>Credits</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="New Versions"
HREF="newversions.html"><LINK
REL="NEXT"
TITLE="Contributors"
HREF="contributors.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="newversions.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="contributors.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="CREDITS"
>1.5. Credits</A
></H1
><P
> The people listed below have made enormous contributions to the creation
of this Guide, through their dedicated hacking efforts,
numerous e-mail and IRC support sessions,
and overall excellent contribution to the Bugzilla community:
</P
><P
> <A
HREF="mailto://terry@mozilla.org"
TARGET="_top"
>Terry Weissman</A
>
for initially converting Bugzilla from BugSplat!
and writing the README upon which this documentation is largely based.
</P
><P
> <A
HREF="mailto://tara@tequilarista.org"
TARGET="_top"
>Tara Hernandez</A
>
for keeping Bugzilla development going strong after Terry left Mozilla.org
</P
><P
> <A
HREF="mailto://dkl@redhat.com"
TARGET="_top"
>Dave Lawrence</A
>
for providing insight into the key differences between Red Hat's
customized Bugzilla, and being largely responsible for the
"Red Hat Bugzilla" appendix
</P
><P
> <A
HREF="mailto://endico@mozilla.org"
TARGET="_top"
>Dawn Endico</A
>
for being a hacker extraordinaire and putting up with my incessant
questions and arguments on irc.mozilla.org in #mozwebtools
</P
><P
> Last but not least, all the members of the
<A
HREF="news://news.mozilla.org/netscape/public/mozilla/webtools"
TARGET="_top"
> netscape.public.mozilla.webtools</A
> newsgroup. Without your
discussions, insight, suggestions, and patches, this could never have happened.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="newversions.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="contributors.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>New Versions</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Contributors</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,138 +0,0 @@
<HTML
><HEAD
><TITLE
>CVS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="PREVIOUS"
TITLE="Bonsai"
HREF="bonsai.html"><LINK
REL="NEXT"
TITLE="Perforce SCM"
HREF="scm.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="bonsai.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="scm.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="CVS"
>5.2. CVS</A
></H1
><P
>We need CVS integration information</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="bonsai.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="scm.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Bonsai</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="integration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Perforce SCM</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,168 +0,0 @@
<HTML
><HEAD
><TITLE
>The Bugzilla Database</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Software Download Links"
HREF="downloadlinks.html"><LINK
REL="NEXT"
TITLE="Database Schema Chart"
HREF="dbschema.html"></HEAD
><BODY
CLASS="APPENDIX"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="downloadlinks.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="dbschema.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="APPENDIX"
><H1
><A
NAME="DATABASE"
>Appendix C. The Bugzilla Database</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>C.1. <A
HREF="dbschema.html"
>Database Schema Chart</A
></DT
><DT
>C.2. <A
HREF="dbdoc.html"
>MySQL Bugzilla Database Introduction</A
></DT
><DT
>C.3. <A
HREF="granttables.html"
>MySQL Permissions &#38; Grant Tables</A
></DT
><DT
>C.4. <A
HREF="cleanupwork.html"
>Cleaning up after mucking with Bugzilla</A
></DT
></DL
></DIV
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>This document really needs to be updated with more fleshed out information about primary keys, interrelationships, and maybe some nifty tables to document dependencies. Any takers?</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="downloadlinks.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="dbschema.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Software Download Links</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Database Schema Chart</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,179 +0,0 @@
<HTML
><HEAD
><TITLE
>Database Integrity</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="PREVIOUS"
TITLE="Bug Issues"
HREF="bugprobs.html"><LINK
REL="NEXT"
TITLE="Bugzilla 3.0"
HREF="bz30.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="bugprobs.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. The Future of Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="bz30.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="DBASEINTEGRITY"
>6.5. Database Integrity</A
></H1
><P
><P
CLASS="LITERALLAYOUT"
>Bugzilla&nbsp;could&nbsp;be&nbsp;more&nbsp;proactive&nbsp;in&nbsp;detecting&nbsp;suboptimal&nbsp;situations&nbsp;and<br>
prevent&nbsp;them&nbsp;or&nbsp;whine&nbsp;about&nbsp;them.<br>
<br>
1.&nbsp;Bugzilla&nbsp;Crime&nbsp;#1:&nbsp;Marking&nbsp;A&nbsp;Bug&nbsp;Fixed&nbsp;With&nbsp;Unresolved&nbsp;Dependencies<br>
<br>
It&nbsp;can't&nbsp;be&nbsp;marked&nbsp;fixed&nbsp;with&nbsp;unresolved&nbsp;dependencies.&nbsp;&nbsp;Either&nbsp;mark&nbsp;it<br>
INVALID&nbsp;(tracking&nbsp;bugs),&nbsp;fix&nbsp;the&nbsp;dependencies&nbsp;at&nbsp;the&nbsp;same&nbsp;time,&nbsp;or<br>
resolve&nbsp;the&nbsp;blockers.<br>
<br>
See&nbsp;"http://bugzilla.mozilla.org/show_bug.cgi?id=24496".<br>
<br>
2.&nbsp;Keyword&nbsp;Restrictions<br>
<br>
Some&nbsp;keywords&nbsp;should&nbsp;only&nbsp;apply&nbsp;in&nbsp;certain&nbsp;circumstances,&nbsp;eg&nbsp;beta1&nbsp;=&#62;<br>
Milestone&nbsp;&#60;<br>
M14,&nbsp;css1&nbsp;=&#62;&nbsp;Component&nbsp;=&nbsp;Style&nbsp;System&nbsp;are&nbsp;possibilities.&nbsp;&nbsp;See<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=26940".<br>
<br>
3.&nbsp;Whine&nbsp;About&nbsp;Old&nbsp;Votes<br>
<br>
Old&nbsp;votes&nbsp;can&nbsp;just&nbsp;sit&nbsp;on&nbsp;resolved&nbsp;bugs.&nbsp;&nbsp;This&nbsp;is&nbsp;problematic&nbsp;with<br>
duplicates&nbsp;especially.&nbsp;&nbsp;Automatic&nbsp;transferral/removal&nbsp;is&nbsp;not<br>
appropriate&nbsp;since&nbsp;bugs&nbsp;can&nbsp;be&nbsp;reopened,&nbsp;but&nbsp;a&nbsp;whining&nbsp;solution&nbsp;might<br>
work.&nbsp;&nbsp;See&nbsp;"http://bugzilla.mozilla.org/show_bug.cgi?id=27553".<br>
<br>
4.&nbsp;Whine&nbsp;And&nbsp;Warn&nbsp;About&nbsp;Milestone&nbsp;Mismatches<br>
<br>
Here's&nbsp;a&nbsp;fun&nbsp;one.&nbsp;&nbsp;Bug&nbsp;X&nbsp;(M17)&nbsp;depends&nbsp;on&nbsp;Bug&nbsp;Y&nbsp;(M15).&nbsp;&nbsp;Bug&nbsp;Y&nbsp;gets&nbsp;moved<br>
out&nbsp;to&nbsp;M19.&nbsp;&nbsp;The&nbsp;notification&nbsp;to&nbsp;the&nbsp;assignee&nbsp;of&nbsp;Bug&nbsp;X&nbsp;gets&nbsp;ignored&nbsp;(of<br>
course)&nbsp;and&nbsp;Bug&nbsp;X&nbsp;is&nbsp;now&nbsp;due&nbsp;to&nbsp;be&nbsp;fixed&nbsp;before&nbsp;one&nbsp;of&nbsp;its&nbsp;blockers.<br>
<br>
Warnings&nbsp;about&nbsp;this&nbsp;when&nbsp;it&nbsp;is&nbsp;detected&nbsp;as&nbsp;well&nbsp;as&nbsp;whining&nbsp;about&nbsp;it&nbsp;in<br>
email&nbsp;would&nbsp;help&nbsp;bring&nbsp;these&nbsp;issues&nbsp;to&nbsp;the&nbsp;attention&nbsp;of&nbsp;people&nbsp;sooner.<br>
<br>
Note&nbsp;that&nbsp;this&nbsp;would&nbsp;be&nbsp;less&nbsp;of&nbsp;a&nbsp;problem&nbsp;if&nbsp;we&nbsp;didn't&nbsp;have&nbsp;so&nbsp;many<br>
tracking&nbsp;bugs&nbsp;since&nbsp;they&nbsp;aren't&nbsp;updated&nbsp;that&nbsp;often&nbsp;and&nbsp;often&nbsp;have&nbsp;this<br>
problem.<br>
<br>
See&nbsp;"http://bugzilla.mozilla.org/show_bug.cgi?id=16743".</P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="bugprobs.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bz30.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Bug Issues</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="future.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Bugzilla 3.0</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,509 +0,0 @@
<HTML
><HEAD
><TITLE
>MySQL Bugzilla Database Introduction</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Bugzilla Database"
HREF="database.html"><LINK
REL="PREVIOUS"
TITLE="Database Schema Chart"
HREF="dbschema.html"><LINK
REL="NEXT"
TITLE="MySQL Permissions & Grant Tables"
HREF="granttables.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="dbschema.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix C. The Bugzilla Database</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="granttables.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="DBDOC"
>C.2. MySQL Bugzilla Database Introduction</A
></H1
><P
CLASS="LITERALLAYOUT"
><br>
Contributor(s):&nbsp;&nbsp;Matthew&nbsp;P.&nbsp;Barnson&nbsp;(mbarnson@excitehome.net)<br>
<br>
Last&nbsp;update:&nbsp;May&nbsp;16,&nbsp;2000<br>
<br>
Changes:<br>
Version&nbsp;1.0:&nbsp;Initial&nbsp;public&nbsp;release&nbsp;(May&nbsp;16,&nbsp;2000)<br>
<br>
Maintainer:&nbsp;&nbsp;Matthew&nbsp;P.&nbsp;Barnson&nbsp;(mbarnson@excitehome.net)<br>
<br>
<br>
===<br>
Table&nbsp;Of&nbsp;Contents<br>
===<br>
<br>
FOREWORD<br>
INTRODUCTION<br>
THE&nbsp;BASICS<br>
THE&nbsp;TABLES<br>
THE&nbsp;DETAILS<br>
<br>
<br>
<br>
===<br>
FOREWORD<br>
===<br>
<br>
&nbsp;&nbsp;This&nbsp;information&nbsp;comes&nbsp;straight&nbsp;from&nbsp;my&nbsp;life.&nbsp;&nbsp;I&nbsp;was&nbsp;forced&nbsp;to&nbsp;learn&nbsp;how<br>
Bugzilla&nbsp;organizes&nbsp;database&nbsp;because&nbsp;of&nbsp;nitpicky&nbsp;requests&nbsp;from&nbsp;users&nbsp;for&nbsp;tiny<br>
changes&nbsp;in&nbsp;wording,&nbsp;rather&nbsp;than&nbsp;having&nbsp;people&nbsp;re-educate&nbsp;themselves&nbsp;or<br>
figure&nbsp;out&nbsp;how&nbsp;to&nbsp;work&nbsp;our&nbsp;procedures&nbsp;around&nbsp;the&nbsp;tool.&nbsp;&nbsp;It&nbsp;sucks,&nbsp;but&nbsp;it&nbsp;can<br>
and&nbsp;will&nbsp;happen&nbsp;to&nbsp;you,&nbsp;so&nbsp;learn&nbsp;how&nbsp;the&nbsp;schema&nbsp;works&nbsp;and&nbsp;deal&nbsp;with&nbsp;it&nbsp;when&nbsp;it<br>
comes.<br>
<br>
&nbsp;&nbsp;I'm&nbsp;sorry&nbsp;this&nbsp;version&nbsp;is&nbsp;plain&nbsp;text.&nbsp;&nbsp;I&nbsp;can&nbsp;whip&nbsp;this&nbsp;info&nbsp;out&nbsp;a&nbsp;lot&nbsp;faster<br>
if&nbsp;I'm&nbsp;not&nbsp;concerned&nbsp;about&nbsp;complex&nbsp;formatting.&nbsp;&nbsp;I'll&nbsp;get&nbsp;it&nbsp;into&nbsp;sgml&nbsp;for&nbsp;easy<br>
portability&nbsp;as&nbsp;time&nbsp;permits.<br>
<br>
&nbsp;&nbsp;The&nbsp;Bugzilla&nbsp;Database&nbsp;Schema&nbsp;has&nbsp;a&nbsp;home!&nbsp;&nbsp;In&nbsp;addition&nbsp;to&nbsp;availability&nbsp;via&nbsp;CVS<br>
and&nbsp;released&nbsp;versions&nbsp;2.12&nbsp;and&nbsp;higher&nbsp;of&nbsp;Bugzilla,&nbsp;you&nbsp;can&nbsp;find&nbsp;the&nbsp;latest&nbsp;&#38;<br>
greatest&nbsp;version&nbsp;of&nbsp;the&nbsp;Bugzilla&nbsp;Database&nbsp;Schema&nbsp;at<br>
http://www.trilobyte.net/barnsons/.&nbsp;This&nbsp;is&nbsp;a&nbsp;living&nbsp;document;&nbsp;please&nbsp;be&nbsp;sure<br>
you&nbsp;are&nbsp;up-to-date&nbsp;with&nbsp;the&nbsp;latest&nbsp;version&nbsp;before&nbsp;mirroring.<br>
<br>
&nbsp;&nbsp;The&nbsp;Bugzilla&nbsp;Database&nbsp;Schema&nbsp;is&nbsp;designed&nbsp;to&nbsp;provide&nbsp;vital&nbsp;information<br>
regarding&nbsp;the&nbsp;structure&nbsp;of&nbsp;the&nbsp;MySQL&nbsp;database.&nbsp;&nbsp;Where&nbsp;appropriate,&nbsp;this<br>
document&nbsp;will&nbsp;refer&nbsp;to&nbsp;URLs&nbsp;rather&nbsp;than&nbsp;including&nbsp;documents&nbsp;in&nbsp;their&nbsp;entirety<br>
to&nbsp;ensure&nbsp;completeness&nbsp;even&nbsp;should&nbsp;this&nbsp;paper&nbsp;become&nbsp;out&nbsp;of&nbsp;date.<br>
<br>
&nbsp;&nbsp;This&nbsp;document&nbsp;is&nbsp;not&nbsp;maintained&nbsp;by&nbsp;Netscape&nbsp;or&nbsp;Netscape&nbsp;employees,&nbsp;so&nbsp;please<br>
do&nbsp;not&nbsp;contact&nbsp;them&nbsp;regarding&nbsp;errors&nbsp;or&nbsp;omissions&nbsp;contained&nbsp;herein.&nbsp;Please<br>
direct&nbsp;all&nbsp;questions,&nbsp;comments,&nbsp;updates,&nbsp;flames,&nbsp;etc.&nbsp;to&nbsp;Matthew&nbsp;P.&nbsp;Barnson<br>
mbarnson@excitehome.net)&nbsp;(barnboy&nbsp;or&nbsp;barnhome&nbsp;on&nbsp;irc.mozilla.org&nbsp;in<br>
#mozwebtools).<br>
<br>
&nbsp;&nbsp;I'm&nbsp;sure&nbsp;I've&nbsp;made&nbsp;some&nbsp;glaring&nbsp;errors&nbsp;or&nbsp;omissions&nbsp;in&nbsp;this&nbsp;paper&nbsp;--&nbsp;please<br>
email&nbsp;me&nbsp;corrections&nbsp;or&nbsp;post&nbsp;corrections&nbsp;to&nbsp;the<br>
netscape.public.mozilla.webtools&nbsp;newsgroup.<br>
<br>
<br>
<br>
===<br>
INTRODUCTION<br>
===<br>
<br>
<br>
<br>
&nbsp;&nbsp;So,&nbsp;here&nbsp;you&nbsp;are&nbsp;with&nbsp;your&nbsp;brand-new&nbsp;installation&nbsp;of&nbsp;Bugzilla.&nbsp;&nbsp;You've&nbsp;got<br>
MySQL&nbsp;set&nbsp;up,&nbsp;Apache&nbsp;working&nbsp;right,&nbsp;Perl&nbsp;DBI&nbsp;and&nbsp;DBD&nbsp;talking&nbsp;to&nbsp;the&nbsp;database<br>
flawlessly.&nbsp;&nbsp;Maybe&nbsp;you've&nbsp;even&nbsp;entered&nbsp;a&nbsp;few&nbsp;test&nbsp;bugs&nbsp;to&nbsp;make&nbsp;sure&nbsp;email's<br>
working;&nbsp;people&nbsp;seem&nbsp;to&nbsp;be&nbsp;notified&nbsp;of&nbsp;new&nbsp;bugs&nbsp;and&nbsp;changes,&nbsp;and&nbsp;you&nbsp;can<br>
enter&nbsp;and&nbsp;edit&nbsp;bugs&nbsp;to&nbsp;your&nbsp;heart's&nbsp;content.&nbsp;&nbsp;Perhaps&nbsp;you've&nbsp;gone&nbsp;through&nbsp;the<br>
trouble&nbsp;of&nbsp;setting&nbsp;up&nbsp;a&nbsp;gateway&nbsp;for&nbsp;people&nbsp;to&nbsp;submit&nbsp;bugs&nbsp;to&nbsp;your&nbsp;database&nbsp;via<br>
email,&nbsp;have&nbsp;had&nbsp;a&nbsp;few&nbsp;people&nbsp;test&nbsp;it,&nbsp;and&nbsp;received&nbsp;rave&nbsp;reviews&nbsp;from&nbsp;your&nbsp;beta<br>
testers.<br>
<br>
&nbsp;&nbsp;What's&nbsp;the&nbsp;next&nbsp;thing&nbsp;you&nbsp;do?&nbsp;&nbsp;Outline&nbsp;a&nbsp;training&nbsp;strategy&nbsp;for&nbsp;your<br>
development&nbsp;team,&nbsp;of&nbsp;course,&nbsp;and&nbsp;bring&nbsp;them&nbsp;up&nbsp;to&nbsp;speed&nbsp;on&nbsp;the&nbsp;new&nbsp;tool&nbsp;you've<br>
labored&nbsp;over&nbsp;for&nbsp;hours.<br>
<br>
&nbsp;&nbsp;Your&nbsp;first&nbsp;training&nbsp;session&nbsp;starts&nbsp;off&nbsp;very&nbsp;well!&nbsp;&nbsp;You&nbsp;have&nbsp;a&nbsp;captive<br>
audience&nbsp;which&nbsp;seems&nbsp;enraptured&nbsp;by&nbsp;the&nbsp;efficiency&nbsp;embodied&nbsp;in&nbsp;this&nbsp;thing&nbsp;called<br>
"Bugzilla".&nbsp;&nbsp;You&nbsp;are&nbsp;caught&nbsp;up&nbsp;describing&nbsp;the&nbsp;nifty&nbsp;features,&nbsp;how&nbsp;people&nbsp;can<br>
save&nbsp;favorite&nbsp;queries&nbsp;in&nbsp;the&nbsp;database,&nbsp;set&nbsp;them&nbsp;up&nbsp;as&nbsp;headers&nbsp;and&nbsp;footers&nbsp;on<br>
their&nbsp;pages,&nbsp;customize&nbsp;their&nbsp;layouts,&nbsp;generate&nbsp;reports,&nbsp;track&nbsp;status&nbsp;with<br>
greater&nbsp;efficiency&nbsp;than&nbsp;ever&nbsp;before,&nbsp;leap&nbsp;tall&nbsp;buildings&nbsp;with&nbsp;a&nbsp;single&nbsp;bound<br>
and&nbsp;rescue&nbsp;Jane&nbsp;from&nbsp;the&nbsp;clutches&nbsp;of&nbsp;Certain&nbsp;Death!<br>
<br>
&nbsp;&nbsp;But&nbsp;Certain&nbsp;Death&nbsp;speaks&nbsp;up&nbsp;--&nbsp;a&nbsp;tiny&nbsp;voice,&nbsp;from&nbsp;the&nbsp;dark&nbsp;corners&nbsp;of&nbsp;the<br>
conference&nbsp;room.&nbsp;&nbsp;"I&nbsp;have&nbsp;a&nbsp;concern,"&nbsp;the&nbsp;voice&nbsp;hisses&nbsp;from&nbsp;the&nbsp;darkness,<br>
"about&nbsp;the&nbsp;use&nbsp;of&nbsp;the&nbsp;word&nbsp;'verified'.<br>
<br>
&nbsp;&nbsp;The&nbsp;room,&nbsp;previously&nbsp;filled&nbsp;with&nbsp;happy&nbsp;chatter,&nbsp;lapses&nbsp;into&nbsp;reverential<br>
silence&nbsp;as&nbsp;Certain&nbsp;Death&nbsp;(better&nbsp;known&nbsp;as&nbsp;the&nbsp;Vice&nbsp;President&nbsp;of&nbsp;Software<br>
Engineering)&nbsp;continues.&nbsp;&nbsp;"You&nbsp;see,&nbsp;for&nbsp;two&nbsp;years&nbsp;we've&nbsp;used&nbsp;the&nbsp;word&nbsp;'verified'<br>
to&nbsp;indicate&nbsp;that&nbsp;a&nbsp;developer&nbsp;or&nbsp;quality&nbsp;assurance&nbsp;engineer&nbsp;has&nbsp;confirmed&nbsp;that,<br>
in&nbsp;fact,&nbsp;a&nbsp;bug&nbsp;is&nbsp;valid.&nbsp;I&nbsp;don't&nbsp;want&nbsp;to&nbsp;lose&nbsp;two&nbsp;years&nbsp;of&nbsp;training&nbsp;to&nbsp;a<br>
new&nbsp;software&nbsp;product.&nbsp;&nbsp;You&nbsp;need&nbsp;to&nbsp;change&nbsp;the&nbsp;bug&nbsp;status&nbsp;of&nbsp;'verified'&nbsp;to<br>
'approved'&nbsp;as&nbsp;soon&nbsp;as&nbsp;possible.&nbsp;To&nbsp;avoid&nbsp;confusion,&nbsp;of&nbsp;course."<br>
<br>
&nbsp;&nbsp;Oh&nbsp;no!&nbsp;&nbsp;Terror&nbsp;strikes&nbsp;your&nbsp;heart,&nbsp;as&nbsp;you&nbsp;find&nbsp;yourself&nbsp;mumbling&nbsp;"yes,&nbsp;yes,&nbsp;I<br>
don't&nbsp;think&nbsp;that&nbsp;would&nbsp;be&nbsp;a&nbsp;problem,"&nbsp;You&nbsp;review&nbsp;the&nbsp;changes&nbsp;with&nbsp;Certain<br>
Death,&nbsp;and&nbsp;continue&nbsp;to&nbsp;jabber&nbsp;on,&nbsp;"no,&nbsp;it's&nbsp;not&nbsp;too&nbsp;big&nbsp;a&nbsp;change.&nbsp;I&nbsp;mean,&nbsp;we<br>
have&nbsp;the&nbsp;source&nbsp;code,&nbsp;right?&nbsp;You&nbsp;know,&nbsp;'Use&nbsp;the&nbsp;Source,&nbsp;Luke'&nbsp;and&nbsp;all&nbsp;that...<br>
no&nbsp;problem,"&nbsp;All&nbsp;the&nbsp;while&nbsp;you&nbsp;quiver&nbsp;inside&nbsp;like&nbsp;a&nbsp;beached&nbsp;jellyfish&nbsp;bubbling,<br>
burbling,&nbsp;and&nbsp;boiling&nbsp;on&nbsp;a&nbsp;hot&nbsp;Jamaican&nbsp;sand&nbsp;dune...<br>
<br>
&nbsp;&nbsp;Thus&nbsp;begins&nbsp;your&nbsp;adventure&nbsp;into&nbsp;the&nbsp;heart&nbsp;of&nbsp;Bugzilla.&nbsp;&nbsp;You've&nbsp;been&nbsp;forced<br>
to&nbsp;learn&nbsp;about&nbsp;non-portable&nbsp;enum()&nbsp;fields,&nbsp;varchar&nbsp;columns,&nbsp;and&nbsp;tinyint<br>
definitions.&nbsp;The&nbsp;Adventure&nbsp;Awaits&nbsp;You!<br>
<br>
<br>
<br>
===<br>
The&nbsp;Basics<br>
===<br>
<br>
&nbsp;&nbsp;If&nbsp;you&nbsp;were&nbsp;like&nbsp;me,&nbsp;at&nbsp;this&nbsp;point&nbsp;you're&nbsp;totally&nbsp;clueless&nbsp;about&nbsp;the<br>
internals&nbsp;of&nbsp;MySQL,&nbsp;and&nbsp;if&nbsp;it&nbsp;weren't&nbsp;for&nbsp;this&nbsp;executive&nbsp;order&nbsp;from&nbsp;the&nbsp;Vice<br>
President&nbsp;you&nbsp;couldn't&nbsp;care&nbsp;less&nbsp;about&nbsp;the&nbsp;difference&nbsp;between&nbsp;a&nbsp;"bigint"&nbsp;and&nbsp;a<br>
"tinyint"&nbsp;entry&nbsp;in&nbsp;MySQL.&nbsp;&nbsp;I'd&nbsp;refer&nbsp;you&nbsp;first&nbsp;to&nbsp;the&nbsp;MySQL&nbsp;documentation,<br>
available&nbsp;at&nbsp;http://www.mysql.com/doc.html,&nbsp;but&nbsp;that's&nbsp;mostly&nbsp;a&nbsp;confusing<br>
morass&nbsp;of&nbsp;high-level&nbsp;database&nbsp;jargon.&nbsp;&nbsp;Here&nbsp;are&nbsp;the&nbsp;basics&nbsp;you&nbsp;need&nbsp;to&nbsp;know<br>
about&nbsp;the&nbsp;database&nbsp;to&nbsp;proceed:<br>
<br>
1.&nbsp;&nbsp;To&nbsp;connect&nbsp;to&nbsp;your&nbsp;database,&nbsp;type&nbsp;"mysql&nbsp;-u&nbsp;root"&nbsp;at&nbsp;the&nbsp;command&nbsp;prompt&nbsp;as<br>
any&nbsp;user.&nbsp;If&nbsp;this&nbsp;works&nbsp;without&nbsp;asking&nbsp;you&nbsp;for&nbsp;a&nbsp;password,&nbsp;SHAME&nbsp;ON&nbsp;YOU!&nbsp;&nbsp;You<br>
should&nbsp;have&nbsp;locked&nbsp;your&nbsp;security&nbsp;down&nbsp;like&nbsp;the&nbsp;README&nbsp;told&nbsp;you&nbsp;to.&nbsp;&nbsp;You&nbsp;can<br>
find&nbsp;details&nbsp;on&nbsp;locking&nbsp;down&nbsp;your&nbsp;database&nbsp;in&nbsp;the&nbsp;Bugzilla&nbsp;FAQ&nbsp;in&nbsp;this<br>
directory&nbsp;(under&nbsp;"Security"),&nbsp;or&nbsp;more&nbsp;robust&nbsp;security&nbsp;generalities&nbsp;in&nbsp;the<br>
MySQL&nbsp;searchable&nbsp;documentation&nbsp;at<br>
http://www.mysql.com/php/manual.php3?section=Privilege_system&nbsp;.<br>
<br>
2.&nbsp;&nbsp;You&nbsp;should&nbsp;now&nbsp;be&nbsp;at&nbsp;a&nbsp;prompt&nbsp;that&nbsp;looks&nbsp;like&nbsp;this:<br>
<br>
mysql&#62;<br>
<br>
At&nbsp;the&nbsp;prompt,&nbsp;if&nbsp;"bugs"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;your&nbsp;Bugzilla&nbsp;database,&nbsp;type:<br>
<br>
mysql&#62;&nbsp;use&nbsp;bugs;<br>
<br>
(don't&nbsp;forget&nbsp;the&nbsp;";"&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;each&nbsp;line,&nbsp;or&nbsp;you'll&nbsp;be&nbsp;kicking&nbsp;yourself<br>
all&nbsp;the&nbsp;way&nbsp;through&nbsp;this&nbsp;documentation)<br>
&nbsp;&nbsp;Young&nbsp;Grasshopper,&nbsp;you&nbsp;are&nbsp;now&nbsp;ready&nbsp;for&nbsp;the&nbsp;unveiling&nbsp;of&nbsp;the&nbsp;Bugzilla<br>
database,&nbsp;in&nbsp;the&nbsp;next&nbsp;section...<br>
<br>
<br>
<br>
===<br>
THE&nbsp;TABLES<br>
===<br>
<br>
&nbsp;&nbsp;Imagine&nbsp;your&nbsp;MySQL&nbsp;database&nbsp;as&nbsp;a&nbsp;series&nbsp;of&nbsp;spreadsheets,&nbsp;and&nbsp;you&nbsp;won't&nbsp;be&nbsp;too<br>
far&nbsp;off.&nbsp;&nbsp;If&nbsp;you&nbsp;use&nbsp;this&nbsp;command:<br>
<br>
mysql&#62;&nbsp;show&nbsp;tables&nbsp;from&nbsp;bugs;<br>
<br>
you'll&nbsp;be&nbsp;able&nbsp;to&nbsp;see&nbsp;all&nbsp;the&nbsp;"spreadsheets"&nbsp;(tables)&nbsp;in&nbsp;your&nbsp;database.&nbsp;&nbsp;Cool,<br>
huh?&nbsp;&nbsp;It's&nbsp;kinda'&nbsp;like&nbsp;a&nbsp;filesystem,&nbsp;only&nbsp;much&nbsp;faster&nbsp;and&nbsp;more&nbsp;robust.&nbsp;&nbsp;Come<br>
on,&nbsp;I'll&nbsp;show&nbsp;you&nbsp;more!<br>
<br>
&nbsp;&nbsp;From&nbsp;the&nbsp;command&nbsp;issued&nbsp;above,&nbsp;you&nbsp;should&nbsp;now&nbsp;have&nbsp;some&nbsp;output&nbsp;that&nbsp;looks<br>
like&nbsp;this:<br>
<br>
+-------------------+<br>
|&nbsp;Tables&nbsp;in&nbsp;bugs&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+-------------------+<br>
|&nbsp;attachments&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;bugs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;bugs_activity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;cc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;components&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;dependencies&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;fielddefs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;groups&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;keyworddefs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;keywords&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;logincookies&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;longdescs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;milestones&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;namedqueries&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;products&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;profiles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;profiles_activity&nbsp;|<br>
|&nbsp;shadowlog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;versions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;votes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
|&nbsp;watch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+-------------------+<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;it&nbsp;doesn't&nbsp;look&nbsp;quite&nbsp;the&nbsp;same,&nbsp;that&nbsp;probably&nbsp;means&nbsp;it's&nbsp;time&nbsp;to<br>
update&nbsp;this&nbsp;documentation&nbsp;:)<br>
<br>
&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
<br>
attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
<br>
bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
other&nbsp;tables.<br>
<br>
bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;what&nbsp;changes&nbsp;are&nbsp;made&nbsp;to&nbsp;bugs<br>
when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
<br>
cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
<br>
components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
<br>
dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
<br>
fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
<br>
groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
identify&nbsp;group&nbsp;memberships.&nbsp;&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
parameters,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of&nbsp;"6"&nbsp;Simple,&nbsp;huh?<br>
&nbsp;&nbsp;If&nbsp;this&nbsp;makes&nbsp;no&nbsp;sense&nbsp;to&nbsp;you,&nbsp;try&nbsp;this&nbsp;at&nbsp;the&nbsp;mysql&nbsp;prompt:<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;groups;<br>
&nbsp;&nbsp;You'll&nbsp;see&nbsp;the&nbsp;list,&nbsp;it&nbsp;makes&nbsp;much&nbsp;more&nbsp;sense&nbsp;that&nbsp;way.<br>
<br>
keyworddefs:&nbsp;&nbsp;Definitions&nbsp;of&nbsp;keywords&nbsp;to&nbsp;be&nbsp;used<br>
<br>
keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp;holds&nbsp;which&nbsp;keywords&nbsp;are<br>
associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
<br>
logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;&nbsp;However,<br>
since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
sense.<br>
<br>
longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
<br>
milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;associated&nbsp;with&nbsp;a&nbsp;specific&nbsp;product<br>
in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
<br>
namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;&nbsp;Very<br>
cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
construct.<br>
<br>
products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;&nbsp;It<br>
will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
entire&nbsp;product...<br>
<br>
profiles:&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you&nbsp;were&nbsp;wondering&nbsp;where&nbsp;your&nbsp;precious&nbsp;user&nbsp;information&nbsp;was<br>
stored?&nbsp;&nbsp;Here&nbsp;it&nbsp;is!&nbsp;&nbsp;With&nbsp;the&nbsp;passwords&nbsp;in&nbsp;plain&nbsp;text&nbsp;for&nbsp;all&nbsp;to&nbsp;see!&nbsp;(but<br>
sshh...&nbsp;don't&nbsp;tell&nbsp;your&nbsp;users!)<br>
<br>
profiles_activity:&nbsp;&nbsp;Need&nbsp;to&nbsp;know&nbsp;who&nbsp;did&nbsp;what&nbsp;when&nbsp;to&nbsp;who's&nbsp;profile?&nbsp;&nbsp;This'll<br>
tell&nbsp;you,&nbsp;it's&nbsp;a&nbsp;pretty&nbsp;complete&nbsp;history.<br>
<br>
shadowlog:&nbsp;&nbsp;I&nbsp;could&nbsp;be&nbsp;mistaken&nbsp;here,&nbsp;but&nbsp;I&nbsp;believe&nbsp;this&nbsp;table&nbsp;tells&nbsp;you&nbsp;when<br>
your&nbsp;shadow&nbsp;database&nbsp;is&nbsp;updated&nbsp;and&nbsp;what&nbsp;commands&nbsp;were&nbsp;used&nbsp;to&nbsp;update&nbsp;it.&nbsp;&nbsp;We<br>
don't&nbsp;use&nbsp;a&nbsp;shadow&nbsp;database&nbsp;at&nbsp;our&nbsp;site&nbsp;yet,&nbsp;so&nbsp;it's&nbsp;pretty&nbsp;empty&nbsp;for&nbsp;us.<br>
<br>
versions:&nbsp;&nbsp;Version&nbsp;information&nbsp;for&nbsp;every&nbsp;product<br>
<br>
votes:&nbsp;&nbsp;Who&nbsp;voted&nbsp;for&nbsp;what&nbsp;when<br>
<br>
watch:&nbsp;&nbsp;Who&nbsp;(according&nbsp;to&nbsp;userid)&nbsp;is&nbsp;watching&nbsp;who's&nbsp;bugs&nbsp;(according&nbsp;to&nbsp;their<br>
userid).<br>
<br>
<br>
===<br>
THE&nbsp;DETAILS<br>
===<br>
<br>
&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you're&nbsp;wondering&nbsp;just&nbsp;what&nbsp;to&nbsp;do&nbsp;with&nbsp;the&nbsp;information&nbsp;above?&nbsp;&nbsp;At&nbsp;the<br>
mysql&nbsp;prompt,&nbsp;you&nbsp;can&nbsp;view&nbsp;any&nbsp;information&nbsp;about&nbsp;the&nbsp;columns&nbsp;in&nbsp;a&nbsp;table&nbsp;with<br>
this&nbsp;command&nbsp;(where&nbsp;"table"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;table&nbsp;you&nbsp;wish&nbsp;to&nbsp;view):<br>
<br>
mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
<br>
&nbsp;&nbsp;You&nbsp;can&nbsp;also&nbsp;view&nbsp;all&nbsp;the&nbsp;data&nbsp;in&nbsp;a&nbsp;table&nbsp;with&nbsp;this&nbsp;command:<br>
<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
<br>
&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
<br>
&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
"column"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;column&nbsp;for&nbsp;which&nbsp;you&nbsp;wish&nbsp;to&nbsp;restrict&nbsp;information:<br>
<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;=&nbsp;"some&nbsp;info");<br>
<br>
&nbsp;&nbsp;--&nbsp;or&nbsp;the&nbsp;reverse&nbsp;of&nbsp;this<br>
<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
<br>
&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
information&nbsp;is&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"&nbsp;table:<br>
<br>
mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
<br>
&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
<br>
&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
standard&nbsp;SQL.&nbsp;&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
<br>
mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;enum("UNCONFIRMED",&nbsp;"NEW",&nbsp;"ASSIGNED",&nbsp;"REOPENED",&nbsp;"RESOLVED",<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;"VERIFIED",&nbsp;"APPROVED",&nbsp;"CLOSED")&nbsp;not&nbsp;null;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;(note&nbsp;we&nbsp;can&nbsp;take&nbsp;three&nbsp;lines&nbsp;or&nbsp;more&nbsp;--&nbsp;whatever&nbsp;you&nbsp;put&nbsp;in&nbsp;before&nbsp;the<br>
semicolon&nbsp;is&nbsp;evaluated&nbsp;as&nbsp;a&nbsp;single&nbsp;expression)<br>
<br>
Now&nbsp;if&nbsp;you&nbsp;do&nbsp;this:<br>
<br>
mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
<br>
&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
scheme&nbsp;of&nbsp;things?<br>
&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
this.&nbsp;&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
<br>
&nbsp;&nbsp;I&nbsp;hope&nbsp;this&nbsp;database&nbsp;tutorial&nbsp;has&nbsp;been&nbsp;useful&nbsp;for&nbsp;you.&nbsp;&nbsp;If&nbsp;you&nbsp;have&nbsp;comments<br>
to&nbsp;add,&nbsp;questions,&nbsp;concerns,&nbsp;etc.&nbsp;please&nbsp;direct&nbsp;them&nbsp;to<br>
mbarnson@excitehome.net.&nbsp;&nbsp;Please&nbsp;direct&nbsp;flames&nbsp;to&nbsp;/dev/null&nbsp;:)&nbsp;&nbsp;Have&nbsp;a&nbsp;nice<br>
day!<br>
<br>
<br>
<br>
===<br>
LINKS<br>
===<br>
<br>
Great&nbsp;MySQL&nbsp;tutorial&nbsp;site:<br>
http://www.devshed.com/Server_Side/MySQL/<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="dbschema.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="granttables.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Database Schema Chart</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="database.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>MySQL Permissions &#38; Grant Tables</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,153 +0,0 @@
<HTML
><HEAD
><TITLE
>Database Schema Chart</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Bugzilla Database"
HREF="database.html"><LINK
REL="PREVIOUS"
TITLE="The Bugzilla Database"
HREF="database.html"><LINK
REL="NEXT"
TITLE="MySQL Bugzilla Database Introduction"
HREF="dbdoc.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="database.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix C. The Bugzilla Database</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="dbdoc.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="DBSCHEMA"
>C.1. Database Schema Chart</A
></H1
><P
> <DIV
CLASS="MEDIAOBJECT"
><P
><IMG
SRC="dbschema.jpg"
ALT="Database Relationships"
></IMG
><DIV
CLASS="CAPTION"
><P
>Bugzilla database relationships chart</P
></DIV
></P
></DIV
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="database.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="dbdoc.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Bugzilla Database</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="database.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>MySQL Bugzilla Database Introduction</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

View File

@@ -1,169 +0,0 @@
<HTML
><HEAD
><TITLE
>Disclaimer</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Copyright Information"
HREF="copyright.html"><LINK
REL="NEXT"
TITLE="New Versions"
HREF="newversions.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="copyright.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="newversions.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="DISCLAIMER"
>1.3. Disclaimer</A
></H1
><P
> No liability for the contents of this document can be accepted.
Use the concepts, examples, and other content at your own risk.
As this is a new edition of this document, there may be errors
and inaccuracies that may damage your system. Use of this document
may cause your girlfriend to leave you, your cats to pee on your
furniture and clothing, your computer to cease functioning, your
boss to fire you, and global thermonuclear war. Proceed with caution.
</P
><P
> All copyrights are held by their respective owners, unless specifically
noted otherwise. Use of a term in this document should not be regarded
as affecting the validity of any trademark or service mark.
In particular, I like to put down Microsoft(tm). Live with it.
</P
><P
> Naming of particular products or brands should not be seen as endorsements,
with the exception of the term "GNU/Linux".
Use GNU/Linux. Love it. Bathe with it. It is life and happiness.
I endorse it wholeheartedly and encourage you to do the same.
</P
><P
> You are strongly recommended to make a backup of your system before
installing Bugzilla and at regular intervals thereafter. Heaven knows
it's saved my bacon time after time; if you implement any suggestion in
this Guide, implement this one!
</P
><P
> Bugzilla has not undergone a complete security review.
Security holes probably exist in the code.
Great care should be taken both in the installation and usage of this software.
Carefully consider the implications of installing other network services with Bugzilla.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="copyright.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="newversions.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Copyright Information</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>New Versions</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,232 +0,0 @@
<HTML
><HEAD
><TITLE
>Software Download Links</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="The Bugzilla FAQ"
HREF="faq.html"><LINK
REL="NEXT"
TITLE="The Bugzilla Database"
HREF="database.html"></HEAD
><BODY
CLASS="APPENDIX"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="faq.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="database.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="APPENDIX"
><H1
><A
NAME="DOWNLOADLINKS"
>Appendix B. Software Download Links</A
></H1
><P
> All of these sites are current as of April, 2001. Hopefully
they'll stay current for a while.
</P
><P
> Apache Web Server: <A
HREF="http://www.apache.org/"
TARGET="_top"
>http://www.apache.org</A
>
Optional web server for Bugzilla, but recommended because of broad user base and support.
</P
><P
> Bugzilla: <A
HREF="http://www.mozilla.org/projects/bugzilla/"
TARGET="_top"
> http://www.mozilla.org/projects/bugzilla/</A
>
</P
><P
> MySQL: <A
HREF="http://www.mysql.org/"
TARGET="_top"
>http://www.mysql.org/</A
>
</P
><P
> Perl: <A
HREF="http://www.perl.org"
TARGET="_top"
>http://www.perl.org/</A
>
</P
><P
> CPAN: <A
HREF="http://www.cpan.org/"
TARGET="_top"
>http://www.cpan.org/</A
>
</P
><P
> DBI Perl module:
<A
HREF="ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/DBI/"
TARGET="_top"
> ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/DBI/</A
>
</P
><P
> Data::Dumper module:
<A
HREF="ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Data/"
TARGET="_top"
> ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Data/</A
>
</P
><P
> MySQL related Perl modules:
<A
HREF="ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Mysql/"
TARGET="_top"
> ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Mysql/</A
>
</P
><P
> TimeDate Perl module collection:
<A
HREF="ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Date/"
TARGET="_top"
> ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Date/</A
>
</P
><P
> GD Perl module:
<A
HREF="ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/GD/"
TARGET="_top"
> ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/GD/</A
>
Alternately, you should be able to find the latest version of
GD at <A
HREF="http://www.boutell.com/gd/"
TARGET="_top"
>http://www.boutell.com/gd/</A
>
</P
><P
> Chart::Base module:
<A
HREF="ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Chart/"
TARGET="_top"
> ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Chart/</A
>
</P
><P
> LinuxDoc Software:
<A
HREF="http://www.linuxdoc.org/"
TARGET="_top"
>http://www.linuxdoc.org/</A
>
(for documentation maintenance)
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="faq.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="database.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Bugzilla FAQ</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Bugzilla Database</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@@ -1,154 +0,0 @@
<HTML
><HEAD
><TITLE
>Feedback</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Contributors"
HREF="contributors.html"><LINK
REL="NEXT"
TITLE="Translations"
HREF="translations.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="contributors.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="translations.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="FEEDBACK"
>1.7. Feedback</A
></H1
><P
> I welcome feedback on this document. Without your submissions and input,
this Guide cannot continue to exist. Please mail additions, comments, criticisms, etc.
to <TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:barnboy@trilobyte.net"
>barnboy@trilobyte.net</A
>&#62;</TT
>. Please send flames to
<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:devnull@localhost"
>devnull@localhost</A
>&#62;</TT
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="contributors.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="translations.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Contributors</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Translations</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,180 +0,0 @@
<HTML
><HEAD
><TITLE
>The Future of Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Tinderbox"
HREF="tinderbox.html"><LINK
REL="NEXT"
TITLE="Reducing Spam"
HREF="spamlite.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="tinderbox.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="spamlite.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="FUTURE"
>Chapter 6. The Future of Bugzilla</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>6.1. <A
HREF="spamlite.html"
>Reducing Spam</A
></DT
><DT
>6.2. <A
HREF="searching.html"
>Better Searching</A
></DT
><DT
>6.3. <A
HREF="trackingbugs.html"
>Description Flags and Tracking Bugs</A
></DT
><DT
>6.4. <A
HREF="bugprobs.html"
>Bug Issues</A
></DT
><DT
>6.5. <A
HREF="dbaseintegrity.html"
>Database Integrity</A
></DT
><DT
>6.6. <A
HREF="bz30.html"
>Bugzilla 3.0</A
></DT
></DL
></DIV
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>Bugzilla's Future. Much of this is the present, now.</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="tinderbox.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="spamlite.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Tinderbox</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Reducing Spam</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,211 +0,0 @@
<HTML
><HEAD
><TITLE
>GNU Free Documentation License</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="The Quicksearch Utility"
HREF="quicksearch.html"><LINK
REL="NEXT"
TITLE="PREAMBLE"
HREF="gfdl_0.html"></HEAD
><BODY
CLASS="APPENDIX"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="quicksearch.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_0.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="APPENDIX"
><H1
><A
NAME="GFDL"
>Appendix E. GNU Free Documentation License</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>0. <A
HREF="gfdl_0.html"
>PREAMBLE</A
></DT
><DT
>1. <A
HREF="gfdl_1.html"
>APPLICABILITY AND DEFINITIONS</A
></DT
><DT
>2. <A
HREF="gfdl_2.html"
>VERBATIM COPYING</A
></DT
><DT
>3. <A
HREF="gfdl_3.html"
>COPYING IN QUANTITY</A
></DT
><DT
>4. <A
HREF="gfdl_4.html"
>MODIFICATIONS</A
></DT
><DT
>5. <A
HREF="gfdl_5.html"
>COMBINING DOCUMENTS</A
></DT
><DT
>6. <A
HREF="gfdl_6.html"
>COLLECTIONS OF DOCUMENTS</A
></DT
><DT
>7. <A
HREF="gfdl_7.html"
>AGGREGATION WITH INDEPENDENT WORKS</A
></DT
><DT
>8. <A
HREF="gfdl_8.html"
>TRANSLATION</A
></DT
><DT
>9. <A
HREF="gfdl_9.html"
>TERMINATION</A
></DT
><DT
>10. <A
HREF="gfdl_10.html"
>FUTURE REVISIONS OF THIS LICENSE</A
></DT
><DT
><A
HREF="gfdl_howto.html"
>How to use this License for your documents</A
></DT
></DL
></DIV
><P
>Version 1.1, March 2000</P
><A
NAME="AEN2019"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
>Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.</P
></BLOCKQUOTE
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="quicksearch.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_0.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Quicksearch Utility</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>PREAMBLE</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,159 +0,0 @@
<HTML
><HEAD
><TITLE
>PREAMBLE</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="NEXT"
TITLE="APPLICABILITY AND DEFINITIONS"
HREF="gfdl_1.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_1.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_0"
>0. PREAMBLE</A
></H1
><P
>The purpose of this License is to make a manual, textbook,
or other written document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or
noncommercially. Secondarily, this License preserves for the
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by
others.</P
><P
>This License is a kind of "copyleft", which means that
derivative works of the document must themselves be free in the
same sense. It complements the GNU General Public License, which
is a copyleft license designed for free software.</P
><P
>We have designed this License in order to use it for manuals
for free software, because free software needs free documentation:
a free program should come with manuals providing the same
freedoms that the software does. But this License is not limited
to software manuals; it can be used for any textual work,
regardless of subject matter or whether it is published as a
printed book. We recommend this License principally for works
whose purpose is instruction or reference.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_1.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>GNU Free Documentation License</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>APPLICABILITY AND DEFINITIONS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,200 +0,0 @@
<HTML
><HEAD
><TITLE
>APPLICABILITY AND DEFINITIONS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="PREAMBLE"
HREF="gfdl_0.html"><LINK
REL="NEXT"
TITLE="VERBATIM COPYING"
HREF="gfdl_2.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_0.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_2.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_1"
>1. APPLICABILITY AND DEFINITIONS</A
></H1
><P
>This License applies to any manual or other work that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. The "Document",
below, refers to any such manual or work. Any member of the
public is a licensee, and is addressed as "you".</P
><P
>A "Modified Version" of the Document means any work
containing the Document or a portion of it, either copied
verbatim, or with modifications and/or translated into another
language.</P
><P
>A "Secondary Section" is a named appendix or a front-matter
section of the Document that deals exclusively with the
relationship of the publishers or authors of the Document to the
Document's overall subject (or to related matters) and contains
nothing that could fall directly within that overall subject.
(For example, if the Document is in part a textbook of
mathematics, a Secondary Section may not explain any mathematics.)
The relationship could be a matter of historical connection with
the subject or with related matters, or of legal, commercial,
philosophical, ethical or political position regarding
them.</P
><P
>The "Invariant Sections" are certain Secondary Sections
whose titles are designated, as being those of Invariant Sections,
in the notice that says that the Document is released under this
License.</P
><P
>The "Cover Texts" are certain short passages of text that
are listed, as Front-Cover Texts or Back-Cover Texts, in the
notice that says that the Document is released under this
License.</P
><P
>A "Transparent" copy of the Document means a
machine-readable copy, represented in a format whose specification
is available to the general public, whose contents can be viewed
and edited directly and straightforwardly with generic text
editors or (for images composed of pixels) generic paint programs
or (for drawings) some widely available drawing editor, and that
is suitable for input to text formatters or for automatic
translation to a variety of formats suitable for input to text
formatters. A copy made in an otherwise Transparent file format
whose markup has been designed to thwart or discourage subsequent
modification by readers is not Transparent. A copy that is not
"Transparent" is called "Opaque".</P
><P
>Examples of suitable formats for Transparent copies include
plain ASCII without markup, Texinfo input format, LaTeX input
format, SGML or XML using a publicly available DTD, and
standard-conforming simple HTML designed for human modification.
Opaque formats include PostScript, PDF, proprietary formats that
can be read and edited only by proprietary word processors, SGML
or XML for which the DTD and/or processing tools are not generally
available, and the machine-generated HTML produced by some word
processors for output purposes only.</P
><P
>The "Title Page" means, for a printed book, the title page
itself, plus such following pages as are needed to hold, legibly,
the material this License requires to appear in the title page.
For works in formats which do not have any title page as such,
"Title Page" means the text near the most prominent appearance of
the work's title, preceding the beginning of the body of the
text.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_0.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_2.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>PREAMBLE</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>VERBATIM COPYING</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,156 +0,0 @@
<HTML
><HEAD
><TITLE
>FUTURE REVISIONS OF THIS LICENSE</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="TERMINATION"
HREF="gfdl_9.html"><LINK
REL="NEXT"
TITLE="How to use this License for your documents"
HREF="gfdl_howto.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_9.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_howto.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_10"
>10. FUTURE REVISIONS OF THIS LICENSE</A
></H1
><P
>The Free Software Foundation may publish new, revised
versions of the GNU Free Documentation License from time to time.
Such new versions will be similar in spirit to the present
version, but may differ in detail to address new problems or
concerns. See <A
HREF="http://www.gnu.org/copyleft/"
TARGET="_top"
>http://www.gnu.org/copyleft/</A
>.</P
><P
>Each version of the License is given a distinguishing
version number. If the Document specifies that a particular
numbered version of this License "or any later version" applies to
it, you have the option of following the terms and conditions
either of that specified version or of any later version that has
been published (not as a draft) by the Free Software Foundation.
If the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
Free Software Foundation.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_9.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_howto.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>TERMINATION</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>How to use this License for your documents</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,150 +0,0 @@
<HTML
><HEAD
><TITLE
>VERBATIM COPYING</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="APPLICABILITY AND DEFINITIONS"
HREF="gfdl_1.html"><LINK
REL="NEXT"
TITLE="COPYING IN QUANTITY"
HREF="gfdl_3.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_1.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_3.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_2"
>2. VERBATIM COPYING</A
></H1
><P
>You may copy and distribute the Document in any medium,
either commercially or noncommercially, provided that this
License, the copyright notices, and the license notice saying this
License applies to the Document are reproduced in all copies, and
that you add no other conditions whatsoever to those of this
License. You may not use technical measures to obstruct or
control the reading or further copying of the copies you make or
distribute. However, you may accept compensation in exchange for
copies. If you distribute a large enough number of copies you
must also follow the conditions in section 3.</P
><P
>You may also lend copies, under the same conditions stated
above, and you may publicly display copies.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_1.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_3.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>APPLICABILITY AND DEFINITIONS</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>COPYING IN QUANTITY</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,174 +0,0 @@
<HTML
><HEAD
><TITLE
>COPYING IN QUANTITY</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="VERBATIM COPYING"
HREF="gfdl_2.html"><LINK
REL="NEXT"
TITLE="MODIFICATIONS"
HREF="gfdl_4.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_2.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_4.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_3"
>3. COPYING IN QUANTITY</A
></H1
><P
>If you publish printed copies of the Document numbering more
than 100, and the Document's license notice requires Cover Texts,
you must enclose the copies in covers that carry, clearly and
legibly, all these Cover Texts: Front-Cover Texts on the front
cover, and Back-Cover Texts on the back cover. Both covers must
also clearly and legibly identify you as the publisher of these
copies. The front cover must present the full title with all
words of the title equally prominent and visible. You may add
other material on the covers in addition. Copying with changes
limited to the covers, as long as they preserve the title of the
Document and satisfy these conditions, can be treated as verbatim
copying in other respects.</P
><P
>If the required texts for either cover are too voluminous to
fit legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto
adjacent pages.</P
><P
>If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a
machine-readable Transparent copy along with each Opaque copy, or
state in or with each Opaque copy a publicly-accessible
computer-network location containing a complete Transparent copy
of the Document, free of added material, which the general
network-using public has access to download anonymously at no
charge using public-standard network protocols. If you use the
latter option, you must take reasonably prudent steps, when you
begin distribution of Opaque copies in quantity, to ensure that
this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you
distribute an Opaque copy (directly or through your agents or
retailers) of that edition to the public.</P
><P
>It is requested, but not required, that you contact the
authors of the Document well before redistributing any large
number of copies, to give them a chance to provide you with an
updated version of the Document.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_2.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_4.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>VERBATIM COPYING</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>MODIFICATIONS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,280 +0,0 @@
<HTML
><HEAD
><TITLE
>MODIFICATIONS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="COPYING IN QUANTITY"
HREF="gfdl_3.html"><LINK
REL="NEXT"
TITLE="COMBINING DOCUMENTS"
HREF="gfdl_5.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_3.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_5.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_4"
>4. MODIFICATIONS</A
></H1
><P
>You may copy and distribute a Modified Version of the
Document under the conditions of sections 2 and 3 above, provided
that you release the Modified Version under precisely this
License, with the Modified Version filling the role of the
Document, thus licensing distribution and modification of the
Modified Version to whoever possesses a copy of it. In addition,
you must do these things in the Modified Version:</P
><P
></P
><OL
TYPE="A"
><LI
><P
>Use in the Title Page
(and on the covers, if any) a title distinct from that of the
Document, and from those of previous versions (which should, if
there were any, be listed in the History section of the
Document). You may use the same title as a previous version if
the original publisher of that version gives permission.</P
></LI
><LI
><P
>List on the Title Page,
as authors, one or more persons or entities responsible for
authorship of the modifications in the Modified Version,
together with at least five of the principal authors of the
Document (all of its principal authors, if it has less than
five).</P
></LI
><LI
><P
>State on the Title page
the name of the publisher of the Modified Version, as the
publisher.</P
></LI
><LI
><P
>Preserve all the
copyright notices of the Document.</P
></LI
><LI
><P
>Add an appropriate
copyright notice for your modifications adjacent to the other
copyright notices.</P
></LI
><LI
><P
>Include, immediately
after the copyright notices, a license notice giving the public
permission to use the Modified Version under the terms of this
License, in the form shown in the Addendum below.</P
></LI
><LI
><P
>Preserve in that license
notice the full lists of Invariant Sections and required Cover
Texts given in the Document's license notice.</P
></LI
><LI
><P
>Include an unaltered
copy of this License.</P
></LI
><LI
><P
>Preserve the section
entitled "History", and its title, and add to it an item stating
at least the title, year, new authors, and publisher of the
Modified Version as given on the Title Page. If there is no
section entitled "History" in the Document, create one stating
the title, year, authors, and publisher of the Document as given
on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.</P
></LI
><LI
><P
>Preserve the network
location, if any, given in the Document for public access to a
Transparent copy of the Document, and likewise the network
locations given in the Document for previous versions it was
based on. These may be placed in the "History" section. You
may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.</P
></LI
><LI
><P
>In any section entitled
"Acknowledgements" or "Dedications", preserve the section's
title, and preserve in the section all the substance and tone of
each of the contributor acknowledgements and/or dedications
given therein.</P
></LI
><LI
><P
>Preserve all the
Invariant Sections of the Document, unaltered in their text and
in their titles. Section numbers or the equivalent are not
considered part of the section titles.</P
></LI
><LI
><P
>Delete any section
entitled "Endorsements". Such a section may not be included in
the Modified Version.</P
></LI
><LI
><P
>Do not retitle any
existing section as "Endorsements" or to conflict in title with
any Invariant Section.</P
></LI
></OL
><P
>If the Modified Version includes new front-matter sections
or appendices that qualify as Secondary Sections and contain no
material copied from the Document, you may at your option
designate some or all of these sections as invariant. To do this,
add their titles to the list of Invariant Sections in the Modified
Version's license notice. These titles must be distinct from any
other section titles.</P
><P
>You may add a section entitled "Endorsements", provided it
contains nothing but endorsements of your Modified Version by
various parties--for example, statements of peer review or that
the text has been approved by an organization as the authoritative
definition of a standard.</P
><P
>You may add a passage of up to five words as a Front-Cover
Text, and a passage of up to 25 words as a Back-Cover Text, to the
end of the list of Cover Texts in the Modified Version. Only one
passage of Front-Cover Text and one of Back-Cover Text may be
added by (or through arrangements made by) any one entity. If the
Document already includes a cover text for the same cover,
previously added by you or by arrangement made by the same entity
you are acting on behalf of, you may not add another; but you may
replace the old one, on explicit permission from the previous
publisher that added the old one.</P
><P
>The author(s) and publisher(s) of the Document do not by
this License give permission to use their names for publicity for
or to assert or imply endorsement of any Modified Version.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_3.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_5.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>COPYING IN QUANTITY</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>COMBINING DOCUMENTS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,159 +0,0 @@
<HTML
><HEAD
><TITLE
>COMBINING DOCUMENTS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="MODIFICATIONS"
HREF="gfdl_4.html"><LINK
REL="NEXT"
TITLE="COLLECTIONS OF DOCUMENTS"
HREF="gfdl_6.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_4.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_6.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_5"
>5. COMBINING DOCUMENTS</A
></H1
><P
>You may combine the Document with other documents released
under this License, under the terms defined in section 4 above for
modified versions, provided that you include in the combination
all of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice.</P
><P
>The combined work need only contain one copy of this
License, and multiple identical Invariant Sections may be replaced
with a single copy. If there are multiple Invariant Sections with
the same name but different contents, make the title of each such
section unique by adding at the end of it, in parentheses, the
name of the original author or publisher of that section if known,
or else a unique number. Make the same adjustment to the section
titles in the list of Invariant Sections in the license notice of
the combined work.</P
><P
>In the combination, you must combine any sections entitled
"History" in the various original documents, forming one section
entitled "History"; likewise combine any sections entitled
"Acknowledgements", and any sections entitled "Dedications". You
must delete all sections entitled "Endorsements."</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_4.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_6.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>MODIFICATIONS</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>COLLECTIONS OF DOCUMENTS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,149 +0,0 @@
<HTML
><HEAD
><TITLE
>COLLECTIONS OF DOCUMENTS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="COMBINING DOCUMENTS"
HREF="gfdl_5.html"><LINK
REL="NEXT"
TITLE="AGGREGATION WITH INDEPENDENT WORKS"
HREF="gfdl_7.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_5.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_7.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_6"
>6. COLLECTIONS OF DOCUMENTS</A
></H1
><P
>You may make a collection consisting of the Document and
other documents released under this License, and replace the
individual copies of this License in the various documents with a
single copy that is included in the collection, provided that you
follow the rules of this License for verbatim copying of each of
the documents in all other respects.</P
><P
>You may extract a single document from such a collection,
and distribute it individually under this License, provided you
insert a copy of this License into the extracted document, and
follow this License in all other respects regarding verbatim
copying of that document.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_5.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_7.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>COMBINING DOCUMENTS</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>AGGREGATION WITH INDEPENDENT WORKS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,153 +0,0 @@
<HTML
><HEAD
><TITLE
>AGGREGATION WITH INDEPENDENT WORKS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="COLLECTIONS OF DOCUMENTS"
HREF="gfdl_6.html"><LINK
REL="NEXT"
TITLE="TRANSLATION"
HREF="gfdl_8.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_6.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_8.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_7"
>7. AGGREGATION WITH INDEPENDENT WORKS</A
></H1
><P
>A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of
a storage or distribution medium, does not as a whole count as a
Modified Version of the Document, provided no compilation
copyright is claimed for the compilation. Such a compilation is
called an "aggregate", and this License does not apply to the
other self-contained works thus compiled with the Document, on
account of their being thus compiled, if they are not themselves
derivative works of the Document.</P
><P
>If the Cover Text requirement of section 3 is applicable to
these copies of the Document, then if the Document is less than
one quarter of the entire aggregate, the Document's Cover Texts
may be placed on covers that surround only the Document within the
aggregate. Otherwise they must appear on covers around the whole
aggregate.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_6.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_8.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>COLLECTIONS OF DOCUMENTS</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>TRANSLATION</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,148 +0,0 @@
<HTML
><HEAD
><TITLE
>TRANSLATION</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="AGGREGATION WITH INDEPENDENT WORKS"
HREF="gfdl_7.html"><LINK
REL="NEXT"
TITLE="TERMINATION"
HREF="gfdl_9.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_7.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_9.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_8"
>8. TRANSLATION</A
></H1
><P
>Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section
4. Replacing Invariant Sections with translations requires
special permission from their copyright holders, but you may
include translations of some or all Invariant Sections in addition
to the original versions of these Invariant Sections. You may
include a translation of this License provided that you also
include the original English version of this License. In case of
a disagreement between the translation and the original English
version of this License, the original English version will
prevail.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_7.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_9.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>AGGREGATION WITH INDEPENDENT WORKS</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>TERMINATION</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,145 +0,0 @@
<HTML
><HEAD
><TITLE
>TERMINATION</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="TRANSLATION"
HREF="gfdl_8.html"><LINK
REL="NEXT"
TITLE="FUTURE REVISIONS OF THIS LICENSE"
HREF="gfdl_10.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_8.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl_10.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_9"
>9. TERMINATION</A
></H1
><P
>You may not copy, modify, sublicense, or distribute the
Document except as expressly provided for under this License. Any
other attempt to copy, modify, sublicense or distribute the
Document is void, and will automatically terminate your rights
under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses
terminated so long as such parties remain in full
compliance.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_8.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl_10.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>TRANSLATION</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>FUTURE REVISIONS OF THIS LICENSE</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,166 +0,0 @@
<HTML
><HEAD
><TITLE
>How to use this License for your documents</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"><LINK
REL="PREVIOUS"
TITLE="FUTURE REVISIONS OF THIS LICENSE"
HREF="gfdl_10.html"><LINK
REL="NEXT"
TITLE="Glossary"
HREF="glossary.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_10.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. GNU Free Documentation License</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="glossary.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GFDL_HOWTO"
>How to use this License for your documents</A
></H1
><P
>To use this License in a document you have written, include
a copy of the License in the document and put the following
copyright and license notices just after the title page:</P
><A
NAME="AEN2109"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
> Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
A copy of the license is included in the section entitled "GNU
Free Documentation License".</P
></BLOCKQUOTE
><P
>If you have no Invariant Sections, write "with no Invariant
Sections" instead of saying which ones are invariant. If you have
no Front-Cover Texts, write "no Front-Cover Texts" instead of
"Front-Cover Texts being LIST"; likewise for Back-Cover
Texts.</P
><P
>If your document contains nontrivial examples of program
code, we recommend releasing these examples in parallel under your
choice of free software license, such as the GNU General Public
License, to permit their use in free software.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_10.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="glossary.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>FUTURE REVISIONS OF THIS LICENSE</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="gfdl.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Glossary</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,294 +0,0 @@
<HTML
><HEAD
><TITLE
>Glossary</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="How to use this License for your documents"
HREF="gfdl_howto.html"></HEAD
><BODY
CLASS="GLOSSARY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl_howto.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
>&nbsp;</TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="GLOSSARY"
><H1
><A
NAME="GLOSSARY"
>Glossary</A
></H1
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_A"
>A</A
></H1
><DL
><DT
><B
>There are no entries for A</B
></DT
><DD
><P
></P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_B"
>B</A
></H1
><DL
><DT
><B
>Bug</B
></DT
><DD
><P
>A "Bug" in Bugzilla refers to an issue entered into the database which has an associated number, assignments, comments, etc. Many also refer to a "Ticket" or "Issue"; in this context, they are synonymous.</P
></DD
><DT
><B
>Bug Number</B
></DT
><DD
><P
>Each Bugzilla Bug is assigned a number that uniquely identifies that Bug. The Bug associated with a Bug Number can be pulled up via a query, or easily from the very front page by typing the number in the "Find" box.</P
></DD
><DT
><B
>Bug Life Cycle</B
></DT
><DD
><P
>A Bug has stages through which it must pass before becoming a "closed bug", including acceptance, resolution, and verification. The "Bug Life Cycle" is moderately flexible according to the needs of the organization using it, though.</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_I"
>I</A
></H1
><DL
><DT
><A
NAME="GLOSS_INFINITELOOP"
><B
>Infinite Loop</B
></A
></DT
><DD
><P
><EM
>See: </EM
><A
HREF="glossary.html#GLOSS_RECURSION"
>Recursion</A
></P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_P"
>P</A
></H1
><DL
><DT
><B
>Product</B
></DT
><DD
><P
>A Product is a broad category of types of bugs. In general, there are several Components to a Product. A Product also defines a default Group (used for Bug Security) for all bugs entered into components beneath it.</P
><DIV
CLASS="EXAMPLE"
><A
NAME="AEN2145"
></A
><P
><B
>Example 1. A Sample Product</B
></P
><P
>A company sells a software product called "X". They also maintain some older software called "Y", and have a secret project "Z". An effective use of Products might be to create Products "X", "Y", and "Z", each with Components "User Interface", "Database", and "Business Logic". They might also change group permissions so that only those people who are members of Group "Z" can see components and bugs under Product "Z".</P
></DIV
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_Q"
>Q</A
></H1
><DL
><DT
><B
>Q/A</B
></DT
><DD
><P
>"Q/A" is short for "Quality Assurance". In most large software development organizations, there is a team devoted to ensuring the product meets minimum standards before shipping. This team will also generally want to track the progress of bugs over their life cycle, thus the need for the "Q/A Contact" field in a Bug.</P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_R"
>R</A
></H1
><DL
><DT
><B
>Recursion</B
></DT
><DD
><P
><EM
>See: </EM
><A
HREF="glossary.html#GLOSS_INFINITELOOP"
>Infinite Loop</A
></P
></DD
></DL
></DIV
><DIV
CLASS="GLOSSDIV"
><H1
CLASS="GLOSSDIV"
><A
NAME="GLOSS_Z"
>Z</A
></H1
><DL
><DT
><B
>Zarro Boogs Found</B
></DT
><DD
><P
>This is the cryptic response sent by Bugzilla when a query returned no results. It is just a goofy way of saying "Zero Bugs Found".</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl_howto.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>How to use this License for your documents</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,330 +0,0 @@
<HTML
><HEAD
><TITLE
>MySQL Permissions &#38; Grant Tables</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Bugzilla Database"
HREF="database.html"><LINK
REL="PREVIOUS"
TITLE="MySQL Bugzilla Database Introduction"
HREF="dbdoc.html"><LINK
REL="NEXT"
TITLE="Cleaning up after mucking with Bugzilla"
HREF="cleanupwork.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="dbdoc.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix C. The Bugzilla Database</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="cleanupwork.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="GRANTTABLES"
>C.3. MySQL Permissions &#38; Grant Tables</A
></H1
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>The following portion of documentation comes from my answer to an old discussion of Keystone,
a cool product that does trouble-ticket tracking for IT departments. I wrote this post to the
Keystone support group regarding MySQL grant table permissions, and how to use them effectively.
It is badly in need of updating, as I believe MySQL has added a field or two to the grant tables
since this time, but it serves as a decent introduction and troubleshooting document for grant
table issues. I used Keynote to track my troubles until I discovered Bugzilla,
which gave me a whole new set of troubles to work on : )</P
></BLOCKQUOTE
></DIV
><P
CLASS="LITERALLAYOUT"
>From&nbsp;matt_barnson@singletrac.com&nbsp;Wed&nbsp;Jul&nbsp;&nbsp;7&nbsp;09:00:07&nbsp;1999<br>
Date:&nbsp;Mon,&nbsp;1&nbsp;Mar&nbsp;1999&nbsp;21:37:04&nbsp;-0700&nbsp;<br>
From:&nbsp;Matthew&nbsp;Barnson&nbsp;matt_barnson@singletrac.com<br>
To:&nbsp;keystone-users@homeport.org<br>
Subject:&nbsp;[keystone-users]&nbsp;Grant&nbsp;Tables&nbsp;FAQ<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;[The&nbsp;following&nbsp;text&nbsp;is&nbsp;in&nbsp;the&nbsp;"iso-8859-1"&nbsp;character&nbsp;set]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[Your&nbsp;display&nbsp;is&nbsp;set&nbsp;for&nbsp;the&nbsp;"US-ASCII"&nbsp;character&nbsp;set]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[Some&nbsp;characters&nbsp;may&nbsp;be&nbsp;displayed&nbsp;incorrectly]<br>
<br>
Maybe&nbsp;we&nbsp;can&nbsp;include&nbsp;this&nbsp;rambling&nbsp;message&nbsp;in&nbsp;the&nbsp;Keystone&nbsp;FAQ?&nbsp;&nbsp;It&nbsp;gets<br>
asked&nbsp;a&nbsp;lot,&nbsp;and&nbsp;the&nbsp;only&nbsp;option&nbsp;current&nbsp;listed&nbsp;in&nbsp;the&nbsp;FAQ&nbsp;is<br>
"--skip-grant-tables".<br>
<br>
Really,&nbsp;you&nbsp;can't&nbsp;go&nbsp;wrong&nbsp;by&nbsp;reading&nbsp;section&nbsp;6&nbsp;of&nbsp;the&nbsp;MySQL&nbsp;manual,&nbsp;at<br>
http://www.mysql.com/Manual/manual.html.&nbsp;&nbsp;I&nbsp;am&nbsp;sure&nbsp;their&nbsp;description&nbsp;is<br>
better&nbsp;than&nbsp;mine.<br>
<br>
MySQL&nbsp;runs&nbsp;fine&nbsp;without&nbsp;permissions&nbsp;set&nbsp;up&nbsp;correctly&nbsp;if&nbsp;you&nbsp;run&nbsp;the&nbsp;mysql<br>
daemon&nbsp;with&nbsp;the&nbsp;"--skip-grant-tables"&nbsp;option.&nbsp;&nbsp;Running&nbsp;this&nbsp;way&nbsp;denies<br>
access&nbsp;to&nbsp;nobody.&nbsp;&nbsp;Unfortunately,&nbsp;unless&nbsp;you've&nbsp;got&nbsp;yourself&nbsp;firewalled&nbsp;it<br>
also&nbsp;opens&nbsp;the&nbsp;potential&nbsp;for&nbsp;abuse&nbsp;if&nbsp;someone&nbsp;knows&nbsp;you're&nbsp;running&nbsp;it.<br>
<br>
Additionally,&nbsp;the&nbsp;default&nbsp;permissions&nbsp;for&nbsp;MySQL&nbsp;allow&nbsp;anyone&nbsp;at&nbsp;localhost<br>
access&nbsp;to&nbsp;the&nbsp;database&nbsp;if&nbsp;the&nbsp;database&nbsp;name&nbsp;begins&nbsp;with&nbsp;"test_"&nbsp;or&nbsp;is&nbsp;named<br>
"test"&nbsp;(i.e.&nbsp;"test_keystone").&nbsp;&nbsp;You&nbsp;can&nbsp;change&nbsp;the&nbsp;name&nbsp;of&nbsp;your&nbsp;database&nbsp;in<br>
the&nbsp;keystone.conf&nbsp;file&nbsp;($sys_dbname).&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;way&nbsp;I&nbsp;am&nbsp;doing&nbsp;it&nbsp;for<br>
some&nbsp;of&nbsp;my&nbsp;databases,&nbsp;and&nbsp;it&nbsp;works&nbsp;fine.<br>
<br>
The&nbsp;methods&nbsp;described&nbsp;below&nbsp;assume&nbsp;you're&nbsp;running&nbsp;MySQL&nbsp;on&nbsp;the&nbsp;same&nbsp;box&nbsp;as<br>
your&nbsp;webserver,&nbsp;and&nbsp;that&nbsp;you&nbsp;don't&nbsp;mind&nbsp;if&nbsp;your&nbsp;$sys_dbuser&nbsp;for&nbsp;Keystone&nbsp;has<br>
superuser&nbsp;access.&nbsp;&nbsp;See&nbsp;near&nbsp;the&nbsp;bottom&nbsp;of&nbsp;this&nbsp;message&nbsp;for&nbsp;a&nbsp;description&nbsp;of<br>
what&nbsp;each&nbsp;field&nbsp;does.<br>
<br>
Method&nbsp;#1:<br>
<br>
1.&nbsp;&nbsp;cd&nbsp;/var/lib<br>
#location&nbsp;where&nbsp;you'll&nbsp;want&nbsp;to&nbsp;run&nbsp;/usr/bin/mysql_install_db&nbsp;shell<br>
script&nbsp;from&nbsp;to&nbsp;get&nbsp;it&nbsp;to&nbsp;work.<br>
<br>
2.&nbsp;&nbsp;ln&nbsp;-s&nbsp;mysql&nbsp;data&nbsp;&nbsp;<br>
#&nbsp;soft&nbsp;links&nbsp;the&nbsp;"mysql"&nbsp;directory&nbsp;to&nbsp;"data",&nbsp;which&nbsp;is&nbsp;what<br>
mysql_install_db&nbsp;expects.&nbsp;&nbsp;Alternately,&nbsp;you&nbsp;can&nbsp;edit&nbsp;mysql_install_db&nbsp;and<br>
change&nbsp;all&nbsp;the&nbsp;"./data"&nbsp;references&nbsp;to&nbsp;"./mysql".<br>
<br>
3.&nbsp;&nbsp;Edit&nbsp;/usr/bin/mysql_install_db&nbsp;with&nbsp;your&nbsp;favorite&nbsp;text&nbsp;editor&nbsp;(vi,<br>
emacs,&nbsp;jot,&nbsp;pico,&nbsp;etc.)<br>
A)&nbsp;&nbsp;Copy&nbsp;the&nbsp;"INSERT&nbsp;INTO&nbsp;db&nbsp;VALUES<br>
('%','test\_%','','Y','Y','Y','Y','Y','Y');"&nbsp;and&nbsp;paste&nbsp;it&nbsp;immediately&nbsp;after<br>
itself.&nbsp;&nbsp;Chage&nbsp;the&nbsp;'test\_%'&nbsp;value&nbsp;to&nbsp;'keystone',&nbsp;or&nbsp;the&nbsp;value&nbsp;of<br>
$sys_dbname&nbsp;in&nbsp;keystone.conf.<br>
B)&nbsp;&nbsp;If&nbsp;you&nbsp;are&nbsp;running&nbsp;your&nbsp;keystone&nbsp;database&nbsp;with&nbsp;any&nbsp;user,&nbsp;you'll&nbsp;need&nbsp;to<br>
copy&nbsp;the&nbsp;"INSERT&nbsp;INTO&nbsp;user&nbsp;VALUES<br>
('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');"&nbsp;line&nbsp;after<br>
itself&nbsp;and&nbsp;change&nbsp;'root'&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;keystone&nbsp;database&nbsp;user<br>
($sys_dbuser)&nbsp;in&nbsp;keystone.conf.<br>
<br>
#&nbsp;adds&nbsp;entries&nbsp;to&nbsp;the&nbsp;script&nbsp;to&nbsp;create&nbsp;grant&nbsp;tables&nbsp;for&nbsp;specific<br>
hosts&nbsp;and&nbsp;users.&nbsp;&nbsp;The&nbsp;user&nbsp;you&nbsp;set&nbsp;up&nbsp;has&nbsp;super-user&nbsp;access&nbsp;($sys_dbuser)&nbsp;--<br>
you&nbsp;may&nbsp;or&nbsp;may&nbsp;not&nbsp;want&nbsp;this.&nbsp;&nbsp;The&nbsp;layout&nbsp;of&nbsp;mysql_install_db&nbsp;is&nbsp;really&nbsp;very<br>
uncomplicated.<br>
<br>
4.&nbsp;&nbsp;/usr/bin/mysqladmin&nbsp;shutdown<br>
#&nbsp;ya&nbsp;gotta&nbsp;shut&nbsp;it&nbsp;down&nbsp;before&nbsp;you&nbsp;can&nbsp;reinstall&nbsp;the&nbsp;grant&nbsp;tables!<br>
<br>
5.&nbsp;&nbsp;rm&nbsp;-i&nbsp;/var/lib/mysql/mysql/*.IS?'&nbsp;and&nbsp;answer&nbsp;'Y'&nbsp;to&nbsp;the&nbsp;deletion<br>
questions.<br>
#&nbsp;nuke&nbsp;your&nbsp;current&nbsp;grant&nbsp;tables.&nbsp;&nbsp;This&nbsp;WILL&nbsp;NOT&nbsp;delete&nbsp;any&nbsp;other<br>
databases&nbsp;than&nbsp;your&nbsp;grant&nbsp;tables.<br>
<br>
6.&nbsp;&nbsp;/usr/bin/mysql_install_db<br>
#&nbsp;run&nbsp;the&nbsp;script&nbsp;you&nbsp;just&nbsp;edited&nbsp;to&nbsp;install&nbsp;your&nbsp;new&nbsp;grant&nbsp;tables.<br>
<br>
7.&nbsp;&nbsp;mysqladmin&nbsp;-u&nbsp;root&nbsp;password&nbsp;(new_password)&nbsp;&nbsp;<br>
#&nbsp;change&nbsp;the&nbsp;root&nbsp;MySQL&nbsp;password,&nbsp;or&nbsp;else&nbsp;anyone&nbsp;on&nbsp;localhost&nbsp;can<br>
login&nbsp;to&nbsp;MySQL&nbsp;as&nbsp;root&nbsp;and&nbsp;make&nbsp;changes.&nbsp;&nbsp;You&nbsp;can&nbsp;skip&nbsp;this&nbsp;step&nbsp;if&nbsp;you&nbsp;want<br>
keystone&nbsp;to&nbsp;connect&nbsp;as&nbsp;root&nbsp;with&nbsp;no&nbsp;password.<br>
<br>
8.&nbsp;&nbsp;mysqladmin&nbsp;-u&nbsp;(webserver_user_name)&nbsp;password&nbsp;(new_password)&nbsp;&nbsp;<br>
#&nbsp;change&nbsp;the&nbsp;password&nbsp;of&nbsp;the&nbsp;$sys_dbuser.&nbsp;&nbsp;Note&nbsp;that&nbsp;you&nbsp;will&nbsp;need<br>
to&nbsp;change&nbsp;the&nbsp;password&nbsp;in&nbsp;the&nbsp;keystone.conf&nbsp;file&nbsp;as&nbsp;well&nbsp;in&nbsp;$sys_dbpasswd,<br>
and&nbsp;if&nbsp;your&nbsp;permissions&nbsp;are&nbsp;set&nbsp;up&nbsp;incorrectly&nbsp;anybody&nbsp;can&nbsp;type&nbsp;the&nbsp;URL&nbsp;to<br>
your&nbsp;keystone.conf&nbsp;file&nbsp;and&nbsp;get&nbsp;the&nbsp;password.&nbsp;&nbsp;Not&nbsp;that&nbsp;this&nbsp;will&nbsp;help&nbsp;them<br>
much&nbsp;if&nbsp;your&nbsp;permissions&nbsp;are&nbsp;set&nbsp;to&nbsp;@localhost.<br>
<br>
<br>
<br>
Method&nbsp;#2:&nbsp;&nbsp;easier,&nbsp;but&nbsp;a&nbsp;pain&nbsp;reproducing&nbsp;if&nbsp;you&nbsp;have&nbsp;to&nbsp;delete&nbsp;your&nbsp;grant<br>
tables.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;"recommended"&nbsp;method&nbsp;for&nbsp;altering&nbsp;grant&nbsp;tables&nbsp;in<br>
MySQL.&nbsp;&nbsp;I&nbsp;don't&nbsp;use&nbsp;it&nbsp;because&nbsp;I&nbsp;like&nbsp;the&nbsp;other&nbsp;way&nbsp;:)<br>
<br>
shell&#62;&nbsp;mysql&nbsp;--user=root&nbsp;keystone<br>
<br>
mysql&#62;&nbsp;GRANT<br>
SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,<br>
FILE,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON&nbsp;keystone.*<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TO&nbsp;&#60;$sys_dbuser&nbsp;name&#62;@localhost<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IDENTIFIED&nbsp;BY&nbsp;'(password)'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH&nbsp;GRANT&nbsp;OPTION;<br>
<br>
OR<br>
<br>
mysql&#62;&nbsp;GRANT&nbsp;ALL&nbsp;PRIVELEGES&nbsp;<br>
ON&nbsp;keystone.*<br>
TO&nbsp;&#60;$sys_dbuser&nbsp;name&#62;@localhost<br>
IDENTIFIED&nbsp;BY&nbsp;'(password)'<br>
WITH&nbsp;GRANT&nbsp;OPTION;<br>
<br>
#&nbsp;this&nbsp;grants&nbsp;the&nbsp;required&nbsp;permissions&nbsp;to&nbsp;the&nbsp;keystone&nbsp;($sys_dbuser)<br>
account&nbsp;defined&nbsp;in&nbsp;keystone.conf.&nbsp;&nbsp;However,&nbsp;if&nbsp;you&nbsp;are&nbsp;runnning&nbsp;many<br>
different&nbsp;MySQL-based&nbsp;apps,&nbsp;as&nbsp;we&nbsp;are,&nbsp;it's&nbsp;generally&nbsp;better&nbsp;to&nbsp;edit&nbsp;the<br>
mysql_install_db&nbsp;script&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;quickly&nbsp;reproduce&nbsp;your&nbsp;permissions<br>
structure&nbsp;again.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;FILE&nbsp;privelege&nbsp;and&nbsp;WITH&nbsp;GRANT&nbsp;OPTION&nbsp;may&nbsp;not<br>
be&nbsp;in&nbsp;your&nbsp;best&nbsp;interest&nbsp;to&nbsp;include.<br>
<br>
<br>
GRANT&nbsp;TABLE&nbsp;FIELDS&nbsp;EXPLANATION:<br>
Quick&nbsp;syntax&nbsp;summary:&nbsp;&nbsp;"%"&nbsp;in&nbsp;MySQL&nbsp;is&nbsp;a&nbsp;wildcard.&nbsp;&nbsp;I.E.,&nbsp;if&nbsp;you&nbsp;are<br>
defining&nbsp;your&nbsp;DB&nbsp;table&nbsp;and&nbsp;in&nbsp;the&nbsp;'host'&nbsp;field&nbsp;and&nbsp;enter&nbsp;'%',&nbsp;that&nbsp;means<br>
that&nbsp;any&nbsp;host&nbsp;can&nbsp;access&nbsp;that&nbsp;database.&nbsp;&nbsp;Of&nbsp;course,&nbsp;that&nbsp;host&nbsp;must&nbsp;also&nbsp;have<br>
a&nbsp;valid&nbsp;db&nbsp;user&nbsp;in&nbsp;order&nbsp;to&nbsp;do&nbsp;anything&nbsp;useful.&nbsp;&nbsp;'db'=name&nbsp;of&nbsp;database.&nbsp;&nbsp;In<br>
our&nbsp;case,&nbsp;it&nbsp;should&nbsp;be&nbsp;"keystone".&nbsp;&nbsp;"user"&nbsp;should&nbsp;be&nbsp;your&nbsp;"$sys_dbuser"<br>
defined&nbsp;in&nbsp;keystone.conf.&nbsp;&nbsp;Note&nbsp;that&nbsp;you&nbsp;CANNOT&nbsp;add&nbsp;or&nbsp;change&nbsp;a&nbsp;password&nbsp;by<br>
using&nbsp;the&nbsp;"INSERT&nbsp;INTO&nbsp;db&nbsp;(X)"&nbsp;command&nbsp;--&nbsp;you&nbsp;must&nbsp;change&nbsp;it&nbsp;with&nbsp;the&nbsp;mysql<br>
-u&nbsp;command&nbsp;as&nbsp;defined&nbsp;above.&nbsp;&nbsp;Passwords&nbsp;are&nbsp;stored&nbsp;encrypted&nbsp;in&nbsp;the&nbsp;MySQL<br>
database,&nbsp;and&nbsp;if&nbsp;you&nbsp;try&nbsp;to&nbsp;enter&nbsp;it&nbsp;directly&nbsp;into&nbsp;the&nbsp;table&nbsp;they&nbsp;will&nbsp;not<br>
match.<br>
<br>
TABLE:&nbsp;&nbsp;USER.&nbsp;&nbsp;Everything&nbsp;after&nbsp;"password"&nbsp;is&nbsp;a&nbsp;privelege&nbsp;granted&nbsp;(Y/N).<br>
This&nbsp;table&nbsp;controls&nbsp;individual&nbsp;user&nbsp;global&nbsp;access&nbsp;rights.<br>
<br>
'host','user','password','select','insert','update','delete','index','alter'<br>
,'create','drop','grant','reload','shutdown','process','file'<br>
<br>
TABLE:&nbsp;&nbsp;DB.&nbsp;&nbsp;This&nbsp;controls&nbsp;access&nbsp;of&nbsp;USERS&nbsp;to&nbsp;databases.<br>
<br>
'host','db','user','select','insert','update','delete','index','alter','crea<br>
te','drop','grant'<br>
<br>
TABLE:&nbsp;&nbsp;HOST.&nbsp;&nbsp;This&nbsp;controls&nbsp;which&nbsp;HOSTS&nbsp;are&nbsp;allowed&nbsp;what&nbsp;global&nbsp;access<br>
rights.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;HOST&nbsp;table,&nbsp;USER&nbsp;table,&nbsp;and&nbsp;DB&nbsp;table&nbsp;are&nbsp;very&nbsp;closely<br>
connected&nbsp;--&nbsp;if&nbsp;an&nbsp;authorized&nbsp;USER&nbsp;attempts&nbsp;an&nbsp;SQL&nbsp;request&nbsp;from&nbsp;an<br>
unauthorized&nbsp;HOST,&nbsp;she's&nbsp;denied.&nbsp;&nbsp;If&nbsp;a&nbsp;request&nbsp;from&nbsp;an&nbsp;authorized&nbsp;HOST&nbsp;is<br>
not&nbsp;an&nbsp;authorized&nbsp;USER,&nbsp;it&nbsp;is&nbsp;denied.&nbsp;&nbsp;If&nbsp;a&nbsp;globally&nbsp;authorized&nbsp;USER&nbsp;does<br>
not&nbsp;have&nbsp;rights&nbsp;to&nbsp;a&nbsp;certain&nbsp;DB,&nbsp;she's&nbsp;denied.&nbsp;&nbsp;Get&nbsp;the&nbsp;picture?<br>
<br>
'host','db','select','insert','update','delete','index','alter','create','dr<br>
op','grant'<br>
<br>
<br>
You&nbsp;should&nbsp;now&nbsp;have&nbsp;a&nbsp;working&nbsp;knowledge&nbsp;of&nbsp;MySQL&nbsp;grant&nbsp;tables.&nbsp;&nbsp;If&nbsp;there&nbsp;is<br>
anything&nbsp;I've&nbsp;left&nbsp;out&nbsp;of&nbsp;this&nbsp;answer&nbsp;that&nbsp;you&nbsp;feel&nbsp;is&nbsp;pertinent,&nbsp;or&nbsp;if&nbsp;my<br>
instructions&nbsp;don't&nbsp;work&nbsp;for&nbsp;you,&nbsp;please&nbsp;let&nbsp;me&nbsp;know&nbsp;and&nbsp;I'll&nbsp;re-post&nbsp;this<br>
letter&nbsp;again,&nbsp;corrected.&nbsp;&nbsp;I&nbsp;threw&nbsp;it&nbsp;together&nbsp;one&nbsp;night&nbsp;out&nbsp;of&nbsp;exasperation<br>
for&nbsp;all&nbsp;the&nbsp;newbies&nbsp;who&nbsp;don't&nbsp;know&nbsp;squat&nbsp;about&nbsp;MySQL&nbsp;yet,&nbsp;so&nbsp;it&nbsp;is&nbsp;almost<br>
guaranteed&nbsp;to&nbsp;have&nbsp;errors.<br>
<br>
Once&nbsp;again,&nbsp;you&nbsp;can't&nbsp;go&nbsp;wrong&nbsp;by&nbsp;reading&nbsp;section&nbsp;6&nbsp;of&nbsp;the&nbsp;MySQL&nbsp;manual.&nbsp;&nbsp;It<br>
is&nbsp;more&nbsp;detailed&nbsp;than&nbsp;I!<br>
http://www.mysql.com/Manual/manual.html.<br>
<br>
----------------------------------------------------------------------------<br>
10/12/2000<br>
Matthew&nbsp;sent&nbsp;in&nbsp;some&nbsp;mail&nbsp;with&nbsp;updated&nbsp;contact&nbsp;information:<br>
NEW&nbsp;CONTACT&nbsp;INFORMATION:&nbsp;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------------------------&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matthew&nbsp;P.&nbsp;Barnson&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manager,&nbsp;Systems&nbsp;Administration&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Excite@Home&nbsp;Business&nbsp;Applications&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mbarnson@excitehome.net&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(801)234-8300&nbsp;<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="dbdoc.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="cleanupwork.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>MySQL Bugzilla Database Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="database.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Cleaning up after mucking with Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,931 +0,0 @@
<HTML
><HEAD
><TITLE
>How do I use Bugzilla?</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Using Bugzilla"
HREF="using.html"><LINK
REL="PREVIOUS"
TITLE="Why Should We Use Bugzilla?"
HREF="why.html"><LINK
REL="NEXT"
TITLE="What's in it for me?"
HREF="init4me.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="why.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 4. Using Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="init4me.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="HOW"
>4.3. How do I use Bugzilla?</A
></H1
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="EPIGRAPH"
><TR
><TD
WIDTH="45%"
>&nbsp;</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="TOP"
><I
><P
><I
>Hey! I'm Woody! Howdy, Howdy, Howdy!</I
></P
></I
></TD
></TR
></TABLE
><P
> Bugzilla is a large, complex system. Describing how to use it
requires some time. If you are only interested in installing or administering
a Bugzilla installation, please consult the Installing and Administering
Bugzilla portions of this Guide. This section is principally aimed towards
developing end-user mastery of Bugzilla, so you may fully enjoy the benefits
afforded by using this reliable open-source bug-tracking software.
</P
><P
> Throughout this portion of the Guide, we will refer to user account
options available at the Bugzilla test installation,
<A
HREF="http://landfill.tequilarista.org/"
TARGET="_top"
> landfill.tequilarista.org</A
>.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Some people have run into difficulties completing this tutorial. If
you run into problems, please check the updated, online documentation available
at <A
HREF="http://www.trilobyte.net/barnsons/"
TARGET="_top"
>http://www.trilobyte.net/barnsons</A
>.
If you're still stumped, please subscribe to the newsgroup and provide details of exactly
what's stumping you! If enough people complain, I'll have to fix it in the next
version of this Guide. You can subscribe to the newsgroup at
<A
HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
TARGET="_top"
> news://news.mozilla.org/netscape.public.mozilla.webtools</A
>
</P
></BLOCKQUOTE
></DIV
>
Although Landfill serves as a great introduction to Bugzilla, it does not offer
all the options you would have as a user on your own installation of Bugzilla,
nor can it do more than serve as a general introduction to Bugzilla. Additionally,
Landfill often runs cutting-edge versions of Bugzilla for testing, so some things
may work slightly differently than mentioned here.
</P
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="MYACCOUNT"
>4.3.1. Create a Bugzilla Account</A
></H2
><P
> First thing's first! If you want to use Bugzilla, first you need to create
an account. Consult with the administrator responsible for your installation
of Bugzilla for the URL you should use to access it.
If you're test-driving the end-user Bugzilla experience, use this URL:
<A
HREF="http://landfill.tequilarista.org/mozilla/bugzilla/"
TARGET="_top"
> http://landfill.tequilarista.org/mozilla/bugzilla/</A
>
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Click the "Open a new Bugzilla account" link.
</P
></LI
><LI
><P
> Enter your "E-mail address" and "Real Name" (or whatever name you want to call yourself)
in the spaces provided, then select the "Create Account" button.
</P
></LI
><LI
><P
> Within 5-10 minutes, you should receive an email to the address you provided above,
which contains your login name (generally the same as the email address), and
a password you can use to access your account. This password is randomly generated,
and should be changed at your nearest opportunity (we'll go into how to do it later).
</P
></LI
><LI
><P
> Click the "Log In" link in the yellow area at the bottom of the page in your browser,
then enter your "E-mail address" and "Password" you just received into the spaces provided,
and select "Login".
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> If you ever forget your password, you can come back to this page, enter your
"E-mail address", then select the "E-mail me a password" button to have your password
mailed to you again so that you can login.
</P
></BLOCKQUOTE
></DIV
>
<DIV
CLASS="CAUTION"
><P
></P
><TABLE
CLASS="CAUTION"
BORDER="1"
WIDTH="90%"
><TR
><TD
ALIGN="CENTER"
><B
>Caution</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
> Many modern browsers include an "Auto-Complete" or "Form Fill" feature to
remember the user names and passwords you type in at many sites. Unfortunately,
sometimes they attempt to "guess" what you will put in as your password, and guess
wrong. If you notice a text box is already filled out, please overwrite the contents
of the text box so you can be sure to input the correct information.
</P
></TD
></TR
></TABLE
></DIV
>
</P
></LI
></OL
><P
> Congratulations! If you followed these directions, you now are the
proud owner of a user account on landfill.tequilarista.org (Landfill) or
your local Bugzilla install. You should now see in your browser a
page called the "Bugzilla Query Page". It may look daunting, but
with this Guide to walk you through it, you will master it in no time.
</P
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="QUERY"
>4.3.2. The Bugzilla Query Page</A
></H2
><P
> The Bugzilla Query Page is the heart and soul of Bugzilla. It is the master
interface where you can find any bug report, comment, or patch currently in the Bugzilla
system. We'll go into how to create your own bug report later on.
</P
><P
> There are efforts underway to simplify query usage. If you have a local installation
of Bugzilla 2.12 or higher, you should have "quicksearch.html" available
to use and simplify your searches. There is also, or shortly will be, a helper
for the query interface, called "queryhelp.cgi". Landfill tends to run the latest code,
so these two utilities should be available there for your perusal.
</P
><P
> At this point, please visit the main Bugzilla site,
<A
HREF="http://bugzilla.mozilla.org/query.cgi"
TARGET="_top"
> bugzilla.mozilla.org</A
>, to see a more fleshed-out query page.
</P
><P
> The first thing you need to notice about the Bugzilla Query Page is that
nearly every box you see on your screen has a hyperlink nearby, explaining what
it is or what it does. Near the upper-left-hand corner of your browser window
you should see the word "Status" underlined. Select it.
</P
><P
> Notice the page that popped up? Every underlined word you see on your screen
is a hyperlink that will take you to context-sensitive help.
Click around for a while, and learn what everything here does. To return
to the query interface after pulling up a help page, use the "Back" button in
your browser.
</P
><P
> I'm sure that after checking out the online help, you are now an Expert
on the Bugzilla Query Page. If, however, you feel you haven't mastered it yet,
let me walk you through making a few successful queries to find out what there
are in the Bugzilla bug-tracking system itself.
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Ensure you are back on the "Bugzilla Query Page"
Do nothing in the boxes marked "Status", "Resolution", "Platform", "OpSys",
"Priority", or "Severity". The default query for "Status" is to find all bugs that
are NEW, ASSIGNED, or REOPENED, which is what we want. If you don't select anything
in the other 5 scrollboxes there, then you are saying that "any of these are OK";
we're not locking ourselves into only finding bugs on the "DEC" Platform, or "Windows 95"
OpSys (Operating System). You're smart, I think you have it figured out.
</P
><P
> Basically, selecting <EM
>anything</EM
> on the query page narrows your search
down. Leaving stuff unselected, or text boxes unfilled, broadens your search!
</P
></LI
><LI
><P
> You see the box immediately below the top six boxes that contains an "Email" text box,
with the words "matching as", a drop-down selection box, then some checkboxes with
"Assigned To" checked by default? This allows you to filter your search down based upon
email address. Let's put my email address in there, and see what happens.
</P
><P
> Type "barnboy@trilobyte.net" in the top Email text box.
</P
></LI
><LI
><P
> Let's narrow the search some more. Scroll down until you find the box with the word
"Program" over the top of it. This is where we can narrow our search down to only
specific products (software programs or product lines) in our Bugzilla database.
Please notice the box is a <EM
>scrollbox</EM
>. Using the down arrow on the
scrollbox, scroll down until you can see an entry called "Webtools". Select this entry.
</P
></LI
><LI
><P
> Did you notice that some of the boxes to the right changed when you selected "Webtools"?
Every Program (or Product) has different Versions, Components, and Target Milestones associated
with it. A "Version" is the number of a software program.
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN1095"
></A
><P
><B
>Example 4-1. Some Famous Software Versions</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN1097"
></A
><P
></P
><P
> Do you remember the hype in 1995 when Microsoft Windows 95(r) was released?
It may have been several years
ago, but Microsoft(tm) spent over $300 Million advertising this new Version of their
software. Three years later, they released Microsoft Windows 98(r),
another new version, to great fanfare, and then in 2000 quietly
released Microsoft Windows ME(Millenium Edition)(r).
</P
><P
> Software "Versions" help a manufacturer differentiate
their current product from their
previous products. Most do not identify their products
by the year they were released.
Instead, the "original" version of their software will
often be numbered "1.0", with
small bug-fix releases on subsequent tenths of a digit. In most cases, it's not
a decimal number; for instance, often 1.9 is an <EM
>older</EM
> version
of the software than 1.11,
but is a <EM
>newer</EM
> version than 1.1.1.
</P
><P
> In general, a "Version" in Bugzilla should refer to
<EM
>released</EM
>
products, not products that have not yet been released
to the public. Forthcoming products
are what the Target Milestone field is for.
</P
><P
></P
></DIV
></DIV
>
</P
><P
> A "Component" is a piece of a Product.
It may be a standalone program, or some other logical
division of a Product or Program.
Normally, a Component has a single Owner, who is responsible
for overseeing efforts to improve that Component.
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN1105"
></A
><P
><B
>Example 4-2. Mozilla Webtools Components</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN1107"
></A
><P
></P
><P
> Mozilla's "Webtools" Product is composed of several pieces (Components):
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><EM
>Bonsai</EM
>,
a tool to show recent changes to Mozilla</TD
></TR
><TR
><TD
><EM
>Bugzilla</EM
>,
a defect-tracking tool</TD
></TR
><TR
><TD
><EM
>Build</EM
>,
a tool to automatically compile source code
into machine-readable form</TD
></TR
><TR
><TD
><EM
>Despot</EM
>,
a program that controls access to the other Webtools</TD
></TR
><TR
><TD
><EM
>LXR</EM
>,
a utility that automatically marks up text files
to make them more readable</TD
></TR
><TR
><TD
><EM
>MozBot</EM
>,
a "robot" that announces changes to Mozilla in Chat</TD
></TR
><TR
><TD
><EM
>TestManager</EM
>,
a tool to help find bugs in Mozilla</TD
></TR
><TR
><TD
><EM
>Tinderbox</EM
>,
which displays reports from Build</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
><P
> A different person is responsible for each of these Components.
Tara Hernandez keeps
the "Bugzilla" component up-to-date.
</P
><P
></P
></DIV
></DIV
>
</P
><P
> A "Milestone", or "Target Milestone" is a often a planned future "Version" of a
product. In many cases, though, Milestones simply represent significant dates for
a developer. Having certain features in your Product is frequently
tied to revenue (money)
the developer will receive if the features work by the time she
reaches the Target Milestone.
Target Milestones are a great tool to organize your time.
If someone will pay you $100,000 for
incorporating certain features by a certain date,
those features by that Milestone date become
a very high priority. Milestones tend to be highly malleable creatures,
though, that appear
to be in reach but are out of reach by the time the important day arrives.
</P
><P
> The Bugzilla Project has set up Milestones for future
Bugzilla versions 2.14, 2.16, 2.18, 3.0, etc. However,
a Target Milestone can just as easily be a specific date,
code name, or weird alphanumeric
combination, like "M19".
</P
></LI
><LI
><P
> OK, now let's select the "Bugzilla" component from its scrollbox.
</P
></LI
><LI
><P
> Skip down the page a bit -- do you see the "submit query" button?
Select it, and let's run
this query!
</P
></LI
><LI
><P
> Congratulations! You've completed your first Query, and have before you the Bug List
of the author of this Guide, Matthew P. Barnson (barnboy@trilobyte.net). If I'm
doing well,
you'll have a cryptic "Zarro Boogs Found" message on 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,
so you won't often see that message!
</P
></LI
></OL
><P
> I encourage you to click the bug numbers in the left-hand column and examine
my bugs. Also notice that if you click the underlined
links near the top of this page, they do
not take you to context-sensitive help here,
but instead sort the columns of bugs on the screen!
When you need to sort your bugs by priority, severity,
or the people they are assigned to, this
is a tremendous timesaver.
</P
><P
> A couple more interesting things about the Bug List page:
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><EM
>Change Columns</EM
>:
by selecting this link, you can show all kinds
of information in the Bug List</TD
></TR
><TR
><TD
><EM
>Change several bugs at once</EM
>:
If you have sufficient rights to change all
the bugs shown in the Bug List, you can mass-modify them.
This is a big time-saver.</TD
></TR
><TR
><TD
><EM
>Send mail to bug owners</EM
>:
If you have many related bugs, you can request
an update from every person who owns the bugs in
the Bug List asking them the status.</TD
></TR
><TR
><TD
><EM
>Edit this query</EM
>:
If you didn't get exactly the results you were looking for,
you can return to the Query page through this link and make
small revisions to the query you just made so
you get more accurate results.</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> There are many more options to the Bugzilla Query Page
and the Bug List than I have shown you.
But this should be enough for you to learn to get around.
I encourage you to check out the
<A
HREF="http://www.mozilla.org/bugs/"
TARGET="_top"
>Bugzilla Home Page</A
>
to learn about the Anatomy
and Life Cycle of a Bug before continuing.
</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="BUGREPORTS"
>4.3.3. Creating and Managing Bug Reports</A
></H2
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="EPIGRAPH"
><TR
><TD
WIDTH="45%"
>&nbsp;</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="TOP"
><I
><P
><I
>And all this time, I thought we were taking bugs <EM
>out</EM
>...</I
></P
></I
></TD
></TR
></TABLE
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="BUG_WRITING"
>4.3.3.1. Writing a Great Bug Report</A
></H3
><P
> Before we plunge into writing your first bug report, I encourage you to read
<A
HREF="http://www.mozilla.org/quality/bug-writing-guidelines.html"
TARGET="_top"
>Mozilla.org's Bug
Writing Guidelines</A
>. While some of the advice is Mozilla-specific, the basic
principles of reporting Reproducible, Specific bugs, isolating the Product you are
using, the Version of the Product, the Component which failed, the Hardware Platform, and
Operating System you were using at the time of the failure go a long way toward ensuring accurate,
responsible fixes for the bug that bit you.
</P
><P
> While you are at it, why not learn how to find previously reported bugs? Mozilla.org
has published a great tutorial on finding duplicate bugs, available at
<A
HREF="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html"
TARGET="_top"
> http://www.mozilla.org/quality/help/beginning-duplicate-finding.html</A
>.
</P
><P
> I realize this was a lot to read. However, understanding the mentality of writing
great bug reports will help us on the next part!
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Go back to <A
HREF="http://landfill.tequilarista.org/mozilla/bugzilla/"
TARGET="_top"
> http://landfill.tequilarista.org/mozilla/bugzilla/</A
>
in your browser.
</P
></LI
><LI
><P
> Select the
<A
HREF="http://landfill.tequilarista.org/mozilla/bugzilla/enter_bug.cgi"
TARGET="_top"
> Enter a new bug report</A
> link.
</P
></LI
><LI
><P
> Select a product.
</P
></LI
><LI
><P
> Now you should be at the "Enter Bug" form.
The "reporter" should have been automatically filled out
for you (or else Bugzilla prompted you to Log In again
-- you did keep the email with your username
and password, didn't you?).
</P
></LI
><LI
><P
> Select a Component in the scrollbox.
</P
></LI
><LI
><P
> Bugzilla should have made reasonable guesses, based upon your browser,
for the "Platform" and "OS" drop-down
boxes. If those are wrong, change them -- if you're on an SGI box
running IRIX, we want to know!
</P
></LI
><LI
><P
> Fill in the "Assigned To" box with the email address you provided earlier.
This way you don't end up sending copies of your bug to lots of other people,
since it's just a test bug.
</P
></LI
><LI
><P
> Leave the "CC" text box blank.
Fill in the "URL" box with "http://www.mozilla.org".
</P
></LI
><LI
><P
> Enter "The Bugzilla Guide" in the Summary text box,
and place any comments you have on this
tutorial, or the Guide in general, into the Description box.
</P
></LI
></OL
><P
> Voila! Select "Commit" and send in your bug report!
Next we'll look at resolving bugs.
</P
></DIV
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="BUG_MANAGE"
>4.3.3.2. Managing your Bug Reports</A
></H3
><P
> OK, you should have a link to the bug you just created near the top of your page.
It should say
"Bug XXXX posted", with a link to the right saying "Back to BUG# XXXX".
Select this link.
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Scroll down a bit on the subsequent page,
until you see the "Resolve bug, changing resolution to (dropdown box).
Normally, you would
"Accept bug (change status to ASSIGNED)", fix it, and then resolve.
But in this case, we're
going to short-circuit the process because this wasn't a real bug.
Change the dropdown next to
"Resolve Bug" to "INVALID", make sure the radio button is
marked next to "Resolve Bug", then
click "Commit".
</P
></LI
><LI
><P
> Hey! It said it couldn't take the change in a big red box!
That's right, you must specify
a Comment in order to make this change. Select the "Back"
button in your browser, add a
Comment, then try Resolving the bug with INVALID status again.
This time it should work.
</P
></LI
></OL
><P
> You have now learned the basics of Bugzilla navigation,
entering a bug, and bug maintenance.
I encourage you to 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
on your own there.
</P
><P
> But I'll give a few last hints!
</P
><P
> There is a <A
HREF="http://bugzilla.mozilla.org/help.html"
TARGET="_top"
>CLUE</A
>
on the Query page
that will teach you more how to use the form.
</P
><P
> If you click the hyperlink on the
<A
HREF="http://bugzilla.mozilla.org/describecomponents.cgi"
TARGET="_top"
>Component</A
>
box of the Query page, you will be presented a form that will describe what all
the components are.
</P
><P
> Possibly the most powerful feature of the Query page is the
<A
HREF="http://bugzilla.mozilla.org/booleanchart.html"
TARGET="_top"
>Boolean Chart</A
> 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.
</P
><P
> Finally, you can build some nifty
<A
HREF="http://bugzilla.mozilla.org/reports.cgi"
TARGET="_top"
>Reports</A
>
using the "Bug Reports" link near the bottom of the query page, and also
available via the "Reports" link
at the footer of each page.
</P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="why.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="init4me.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Why Should We Use Bugzilla?</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="using.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>What's in it for me?</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,920 +0,0 @@
<HTML
><HEAD
><TITLE
>The Bugzilla Guide</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="NEXT"
TITLE="About This Guide"
HREF="about.html"><META
NAME="KEYWORD"
CONTENT="Bugzilla"><META
NAME="KEYWORD"
CONTENT="Guide"><META
NAME="KEYWORD"
CONTENT="installation"><META
NAME="KEYWORD"
CONTENT="FAQ"><META
NAME="KEYWORD"
CONTENT="administration"><META
NAME="KEYWORD"
CONTENT="integration"><META
NAME="KEYWORD"
CONTENT="MySQL"><META
NAME="KEYWORD"
CONTENT="Mozilla"><META
NAME="KEYWORD"
CONTENT="webtools"></HEAD
><BODY
CLASS="BOOK"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="INDEX"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
>The Bugzilla Guide</A
></H1
><H3
CLASS="AUTHOR"
><A
NAME="AEN5"
>Matthew P. Barnson</A
></H3
><DIV
CLASS="AFFILIATION"
><DIV
CLASS="ADDRESS"
><P
CLASS="ADDRESS"
>barnboy@trilobyte.net</P
></DIV
></DIV
><DIV
CLASS="REVHISTORY"
><TABLE
WIDTH="100%"
BORDER="0"
><TR
><TH
ALIGN="LEFT"
VALIGN="TOP"
COLSPAN="3"
><B
>Revision History</B
></TH
></TR
><TR
><TD
ALIGN="LEFT"
>Revision v2.11</TD
><TD
ALIGN="LEFT"
>20 December 2000</TD
><TD
ALIGN="LEFT"
>Revised by: MPB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>Converted the README, FAQ, and DATABASE information into SGML
docbook format.</TD
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 2.11.1</TD
><TD
ALIGN="LEFT"
>06 March 2001</TD
><TD
ALIGN="LEFT"
>Revised by: MPB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>Took way too long to revise this for 2.12 release.
Updated FAQ to use qandaset tags instead of literallayout,
cleaned up administration section, added User Guide section,
miscellaneous FAQ updates and third-party integration information.
From this point on all new tags are lowercase in preparation for the
2.13 release of the Guide in XML format instead of SGML.</TD
></TR
><TR
><TD
ALIGN="LEFT"
>Revision 2.12.0</TD
><TD
ALIGN="LEFT"
>24 April 2001</TD
><TD
ALIGN="LEFT"
>Revised by: MPB</TD
></TR
><TR
><TD
ALIGN="LEFT"
COLSPAN="3"
>Things fixed this release: Elaborated on queryhelp interface, added FAQ regarding
moving bugs from one keyword to another, clarified possible problems with the Landfill
tutorial, fixed a boatload of typos and unclear sentence structures. Incorporated the
README into the UNIX installation section, and changed the README to indicate the deprecated
status. Things I know need work: Used "simplelist" a lot, where I should have used
"procedure" to tag things. Need to lowercase all tags to be XML compliant.</TD
></TR
></TABLE
></DIV
><DIV
><DIV
CLASS="ABSTRACT"
><A
NAME="AEN12"
></A
><P
></P
><P
>This is the documentation for Bugzilla, the Mozilla bug-tracking system.</P
><P
></P
></DIV
></DIV
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>1. <A
HREF="about.html"
>About This Guide</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="aboutthisguide.html"
>Purpose and Scope of this Guide</A
></DT
><DT
>1.2. <A
HREF="copyright.html"
>Copyright Information</A
></DT
><DT
>1.3. <A
HREF="disclaimer.html"
>Disclaimer</A
></DT
><DT
>1.4. <A
HREF="newversions.html"
>New Versions</A
></DT
><DT
>1.5. <A
HREF="credits.html"
>Credits</A
></DT
><DT
>1.6. <A
HREF="contributors.html"
>Contributors</A
></DT
><DT
>1.7. <A
HREF="feedback.html"
>Feedback</A
></DT
><DT
>1.8. <A
HREF="translations.html"
>Translations</A
></DT
><DT
>1.9. <A
HREF="conventions.html"
>Document Conventions</A
></DT
></DL
></DD
><DT
>2. <A
HREF="installation.html"
>Installing Bugzilla</A
></DT
><DD
><DL
><DT
>2.1. <A
HREF="readme.unix.html"
>UNIX Installation</A
></DT
><DD
><DL
><DT
>2.1.1. <A
HREF="readme.unix.html#AEN190"
>ERRATA</A
></DT
><DT
>2.1.2. <A
HREF="readme.unix.html#AEN204"
>Step-by-step Install</A
></DT
><DD
><DL
><DT
>2.1.2.1. <A
HREF="readme.unix.html#AEN206"
>Introduction</A
></DT
><DT
>2.1.2.2. <A
HREF="readme.unix.html#AEN211"
>Installing the Prerequisites</A
></DT
><DT
>2.1.2.3. <A
HREF="readme.unix.html#AEN242"
>Installing MySQL Database</A
></DT
><DT
>2.1.2.4. <A
HREF="readme.unix.html#AEN248"
>Perl (5.004 or greater)</A
></DT
><DT
>2.1.2.5. <A
HREF="readme.unix.html#AEN259"
>DBI Perl Module</A
></DT
><DT
>2.1.2.6. <A
HREF="readme.unix.html#AEN296"
>Data::Dumper Perl Module</A
></DT
><DT
>2.1.2.7. <A
HREF="readme.unix.html#AEN300"
>MySQL related Perl Module Collection</A
></DT
><DT
>2.1.2.8. <A
HREF="readme.unix.html#AEN309"
>TimeDate Perl Module Collection</A
></DT
><DT
>2.1.2.9. <A
HREF="readme.unix.html#AEN312"
>GD Perl Module (1.8.3)</A
></DT
><DT
>2.1.2.10. <A
HREF="readme.unix.html#AEN318"
>Chart::Base Perl Module (0.99c)</A
></DT
><DT
>2.1.2.11. <A
HREF="readme.unix.html#AEN321"
>DB_File Perl Module</A
></DT
><DT
>2.1.2.12. <A
HREF="readme.unix.html#AEN324"
>HTTP Server</A
></DT
><DT
>2.1.2.13. <A
HREF="readme.unix.html#AEN334"
>Installing the Bugzilla Files</A
></DT
><DT
>2.1.2.14. <A
HREF="readme.unix.html#AEN343"
>Setting Up the MySQL Database</A
></DT
><DT
>2.1.2.15. <A
HREF="readme.unix.html#AEN379"
>Tweaking "localconfig"</A
></DT
><DT
>2.1.2.16. <A
HREF="readme.unix.html#AEN401"
>Setting Up Maintainers Manuall (Optional)</A
></DT
><DT
>2.1.2.17. <A
HREF="readme.unix.html#AEN410"
>The Whining Cron (Optional)</A
></DT
><DT
>2.1.2.18. <A
HREF="readme.unix.html#AEN417"
>Bug Graphs (Optional)</A
></DT
><DT
>2.1.2.19. <A
HREF="readme.unix.html#AEN429"
>Securing MySQL</A
></DT
><DT
>2.1.2.20. <A
HREF="readme.unix.html#AEN495"
>Installation General Notes</A
></DT
></DL
></DD
></DL
></DD
><DT
>2.2. <A
HREF="readme.windows.html"
>Win32 (Win98+/NT/2K) Installation</A
></DT
><DD
><DL
><DT
>2.2.1. <A
HREF="readme.windows.html#NTVERIFIED"
>Win32 Installation: Step-by-step</A
></DT
><DT
>2.2.2. <A
HREF="readme.windows.html#ADDLWINTIPS"
>Additional Windows Tips</A
></DT
></DL
></DD
></DL
></DD
><DT
>3. <A
HREF="administration.html"
>Administering Bugzilla</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="postinstall-check.html"
>Post-Installation Checklist</A
></DT
><DT
>3.2. <A
HREF="useradmin.html"
>User Administration</A
></DT
><DD
><DL
><DT
>3.2.1. <A
HREF="useradmin.html#DEFAULTUSER"
>Creating the Default User</A
></DT
><DT
>3.2.2. <A
HREF="useradmin.html#MANAGEUSERS"
>Managing Other Users</A
></DT
><DD
><DL
><DT
>3.2.2.1. <A
HREF="useradmin.html#LOGIN"
>Logging In</A
></DT
><DT
>3.2.2.2. <A
HREF="useradmin.html#CREATENEWUSERS"
>Creating new users</A
></DT
><DT
>3.2.2.3. <A
HREF="useradmin.html#DISABLEUSERS"
>Disabling Users</A
></DT
><DT
>3.2.2.4. <A
HREF="useradmin.html#MODIFYUSERS"
>Modifying Users</A
></DT
></DL
></DD
></DL
></DD
><DT
>3.3. <A
HREF="programadmin.html"
>Product, Component, Milestone, and Version Administration</A
></DT
><DD
><DL
><DT
>3.3.1. <A
HREF="programadmin.html#PRODUCTS"
>Products</A
></DT
><DT
>3.3.2. <A
HREF="programadmin.html#COMPONENTS"
>Components</A
></DT
><DT
>3.3.3. <A
HREF="programadmin.html#VERSIONS"
>Versions</A
></DT
><DT
>3.3.4. <A
HREF="programadmin.html#MILESTONES"
>Milestones</A
></DT
><DT
>3.3.5. <A
HREF="programadmin.html#VOTING"
>Voting</A
></DT
><DT
>3.3.6. <A
HREF="programadmin.html#GROUPS"
>Groups and Group Security</A
></DT
></DL
></DD
><DT
>3.4. <A
HREF="security.html"
>Bugzilla Security</A
></DT
></DL
></DD
><DT
>4. <A
HREF="using.html"
>Using Bugzilla</A
></DT
><DD
><DL
><DT
>4.1. <A
HREF="whatis.html"
>What is Bugzilla?</A
></DT
><DT
>4.2. <A
HREF="why.html"
>Why Should We Use Bugzilla?</A
></DT
><DT
>4.3. <A
HREF="how.html"
>How do I use Bugzilla?</A
></DT
><DD
><DL
><DT
>4.3.1. <A
HREF="how.html#MYACCOUNT"
>Create a Bugzilla Account</A
></DT
><DT
>4.3.2. <A
HREF="how.html#QUERY"
>The Bugzilla Query Page</A
></DT
><DT
>4.3.3. <A
HREF="how.html#BUGREPORTS"
>Creating and Managing Bug Reports</A
></DT
><DD
><DL
><DT
>4.3.3.1. <A
HREF="how.html#BUG_WRITING"
>Writing a Great Bug Report</A
></DT
><DT
>4.3.3.2. <A
HREF="how.html#BUG_MANAGE"
>Managing your Bug Reports</A
></DT
></DL
></DD
></DL
></DD
><DT
>4.4. <A
HREF="init4me.html"
>What's in it for me?</A
></DT
><DD
><DL
><DT
>4.4.1. <A
HREF="init4me.html#ACCOUNTSETTINGS"
>Account Settings</A
></DT
><DT
>4.4.2. <A
HREF="init4me.html#EMAILSETTINGS"
>Email Settings</A
></DT
><DD
><DL
><DT
>4.4.2.1. <A
HREF="init4me.html#NOTIFICATION"
>Email Notification</A
></DT
><DT
>4.4.2.2. <A
HREF="init4me.html#NEWEMAILTECH"
>New Email Technology</A
></DT
><DT
>4.4.2.3. <A
HREF="init4me.html#WATCHSETTINGS"
>"Watching" Users</A
></DT
></DL
></DD
><DT
>4.4.3. <A
HREF="init4me.html#FOOTERSETTINGS"
>Page Footer</A
></DT
><DT
>4.4.4. <A
HREF="init4me.html#PERMISSIONSETTINGS"
>Permissions</A
></DT
></DL
></DD
><DT
>4.5. <A
HREF="usingbz-conc.html"
>Using Bugzilla-Conclusion</A
></DT
></DL
></DD
><DT
>5. <A
HREF="integration.html"
>Integrating Bugzilla with Third-Party Tools</A
></DT
><DD
><DL
><DT
>5.1. <A
HREF="bonsai.html"
>Bonsai</A
></DT
><DT
>5.2. <A
HREF="cvs.html"
>CVS</A
></DT
><DT
>5.3. <A
HREF="scm.html"
>Perforce SCM</A
></DT
><DT
>5.4. <A
HREF="tinderbox.html"
>Tinderbox</A
></DT
></DL
></DD
><DT
>6. <A
HREF="future.html"
>The Future of Bugzilla</A
></DT
><DD
><DL
><DT
>6.1. <A
HREF="spamlite.html"
>Reducing Spam</A
></DT
><DT
>6.2. <A
HREF="searching.html"
>Better Searching</A
></DT
><DT
>6.3. <A
HREF="trackingbugs.html"
>Description Flags and Tracking Bugs</A
></DT
><DT
>6.4. <A
HREF="bugprobs.html"
>Bug Issues</A
></DT
><DT
>6.5. <A
HREF="dbaseintegrity.html"
>Database Integrity</A
></DT
><DT
>6.6. <A
HREF="bz30.html"
>Bugzilla 3.0</A
></DT
></DL
></DD
><DT
>A. <A
HREF="faq.html"
>The Bugzilla FAQ</A
></DT
><DT
>B. <A
HREF="downloadlinks.html"
>Software Download Links</A
></DT
><DT
>C. <A
HREF="database.html"
>The Bugzilla Database</A
></DT
><DD
><DL
><DT
>C.1. <A
HREF="dbschema.html"
>Database Schema Chart</A
></DT
><DT
>C.2. <A
HREF="dbdoc.html"
>MySQL Bugzilla Database Introduction</A
></DT
><DT
>C.3. <A
HREF="granttables.html"
>MySQL Permissions &#38; Grant Tables</A
></DT
><DT
>C.4. <A
HREF="cleanupwork.html"
>Cleaning up after mucking with Bugzilla</A
></DT
></DL
></DD
><DT
>7. <A
HREF="variants.html"
>Bugzilla Variants</A
></DT
><DD
><DL
><DT
>7.1. <A
HREF="rhbugzilla.html"
>Red Hat Bugzilla</A
></DT
></DL
></DD
><DT
>D. <A
HREF="patches.html"
>Useful Patches and Utilities for Bugzilla</A
></DT
><DD
><DL
><DT
>D.1. <A
HREF="setperl.html"
>The setperl.csh Utility</A
></DT
><DT
>D.2. <A
HREF="cmdline.html"
>Command-line Bugzilla Queries</A
></DT
><DT
>D.3. <A
HREF="quicksearch.html"
>The Quicksearch Utility</A
></DT
></DL
></DD
><DT
>E. <A
HREF="gfdl.html"
>GNU Free Documentation License</A
></DT
><DD
><DL
><DT
>0. <A
HREF="gfdl_0.html"
>PREAMBLE</A
></DT
><DT
>1. <A
HREF="gfdl_1.html"
>APPLICABILITY AND DEFINITIONS</A
></DT
><DT
>2. <A
HREF="gfdl_2.html"
>VERBATIM COPYING</A
></DT
><DT
>3. <A
HREF="gfdl_3.html"
>COPYING IN QUANTITY</A
></DT
><DT
>4. <A
HREF="gfdl_4.html"
>MODIFICATIONS</A
></DT
><DT
>5. <A
HREF="gfdl_5.html"
>COMBINING DOCUMENTS</A
></DT
><DT
>6. <A
HREF="gfdl_6.html"
>COLLECTIONS OF DOCUMENTS</A
></DT
><DT
>7. <A
HREF="gfdl_7.html"
>AGGREGATION WITH INDEPENDENT WORKS</A
></DT
><DT
>8. <A
HREF="gfdl_8.html"
>TRANSLATION</A
></DT
><DT
>9. <A
HREF="gfdl_9.html"
>TERMINATION</A
></DT
><DT
>10. <A
HREF="gfdl_10.html"
>FUTURE REVISIONS OF THIS LICENSE</A
></DT
><DT
><A
HREF="gfdl_howto.html"
>How to use this License for your documents</A
></DT
></DL
></DD
><DT
><A
HREF="glossary.html"
>Glossary</A
></DT
></DL
></DIV
><DIV
CLASS="LOT"
><DL
CLASS="LOT"
><DT
><B
>List of Examples</B
></DT
><DT
>2-1. <A
HREF="readme.windows.html#AEN646"
>Removing encrypt() for Windows NT installations</A
></DT
><DT
>3-1. <A
HREF="programadmin.html#AEN838"
>Creating some Components</A
></DT
><DT
>3-2. <A
HREF="programadmin.html#AEN867"
>Common Use of Versions</A
></DT
><DT
>3-3. <A
HREF="programadmin.html#AEN871"
>A Different Use of Versions</A
></DT
><DT
>3-4. <A
HREF="programadmin.html#AEN899"
>Using SortKey with Target Milestone</A
></DT
><DT
>3-5. <A
HREF="programadmin.html#AEN937"
>When to Use Group Security</A
></DT
><DT
>3-6. <A
HREF="programadmin.html#AEN954"
>Creating a New Group</A
></DT
><DT
>4-1. <A
HREF="how.html#AEN1095"
>Some Famous Software Versions</A
></DT
><DT
>4-2. <A
HREF="how.html#AEN1105"
>Mozilla Webtools Components</A
></DT
><DT
>D-1. <A
HREF="setperl.html#AEN1963"
>Using Setperl to set your perl path</A
></DT
><DT
>1. <A
HREF="glossary.html#AEN2145"
>A Sample Product</A
></DT
></DL
></DIV
>] &#62;
</DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="about.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>About This Guide</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,398 +0,0 @@
<HTML
><HEAD
><TITLE
>What's in it for me?</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Using Bugzilla"
HREF="using.html"><LINK
REL="PREVIOUS"
TITLE="How do I use Bugzilla?"
HREF="how.html"><LINK
REL="NEXT"
TITLE="Using Bugzilla-Conclusion"
HREF="usingbz-conc.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="how.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 4. Using Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="usingbz-conc.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="INIT4ME"
>4.4. What's in it for me?</A
></H1
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="EPIGRAPH"
><TR
><TD
WIDTH="45%"
>&nbsp;</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="TOP"
><I
><P
><I
>Indiana, it feels like we walking on fortune cookies!</I
></P
><P
><I
>These ain't fortune cookies, kid...</I
></P
></I
></TD
></TR
></TABLE
><P
> Customized User Preferences offer tremendous versatility to
your individual Bugzilla experience.
Let's plunge into what you can do! The first step is to click
the "Edit prefs" link at the footer of each page once you
have logged in to
<A
HREF="http://landfill.tequilarista.org/mozilla/bugzilla/query.cgi?GoAheadAndLogIn=1"
TARGET="_top"
> Landfill</A
>.
</P
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="ACCOUNTSETTINGS"
>4.4.1. Account Settings</A
></H2
><P
> On this page, you can change your basic Account Settings,
including your password and full name.
For security reasons, in order to change anything on this page you
must type your <EM
>current</EM
>
password into the "Old Password" field.
If you wish to change your password, type the new password you
want into the "New Password" field and again into the "Re-enter
new password" field to ensure
you typed your new password correctly. Select the "Submit" button and you're done!
</P
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="EMAILSETTINGS"
>4.4.2. Email Settings</A
></H2
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="NOTIFICATION"
>4.4.2.1. Email Notification</A
></H3
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> The email notification settings described below have been obsoleted in Bugzilla 2.12, and
this section will be replaced with a comprehensive description of the amazing array of
new options at your disposal. However, in the meantime, throw this chunk out the window
and go crazy with goofing around with different notification options.
</P
></BLOCKQUOTE
></DIV
><P
> Ahh, here you can reduce or increase the amount of email sent you from Bugzilla!
In the drop-down "Notify me of changes to", select one of
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
><EM
>All qualifying bugs</EM
>: sends you every change to every bug
where your name is somewhere on it, regardless of who changed it.</TD
></TR
><TR
><TD
><EM
>Only those bugs which I am listed in the CC line</EM
>: prevents
you from receiving mail for which you are the reporter,'
owner, or QA contact. If you are on the CC
list, presumably someone had a <EM
>good</EM
>
reason for you to get the email.</TD
></TR
><TR
><TD
><EM
>All qulifying bugs except those which I change</EM
>:
This is the default, and
a sensible setting. If someone else changes your bugs, you will get emailed,
but if you change bugs
yourself you will receive no notification of the change.</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
></DIV
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="NEWEMAILTECH"
>4.4.2.2. New Email Technology</A
></H3
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> This option may not be available in all Bugzilla installations, depending upon
the preferences of the systems administrator responsible for the setup of your Bugzilla.
However, if you really want this functionality, ask her to "enable newemailtech
in Params"
and "make it the default for all new users", referring her to the Administration section
of this Guide.
</P
></BLOCKQUOTE
></DIV
><P
> Disregard the warnings about "experimental and bleeding edge"; the code to handle email
in a cleaner manner than that historically used for Bugzilla is
quite robust and well-tested now.
</P
><P
> I recommend you enable the option, "Click here to sign up (and risk any bugs)".
Your email-box
will thank you for it. The fundamental shift in "newemailtech" is away from standard UNIX
"diff" output, which is quite ugly, to a prettier, better laid-out email.
</P
></DIV
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="WATCHSETTINGS"
>4.4.2.3. "Watching" Users</A
></H3
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> This option may not be available in all Bugzilla installations, depending upon
the preferences of the systems administrator responsible for the setup of your Bugzilla.
However, if you really want this functionality, ask her to "enable watchers in Params".
</P
></BLOCKQUOTE
></DIV
><P
> By entering user email names into the "Users to watch" text entry box, delineated by commas,
you can watch bugs of other users. This powerful functionality enables seamless transitions
as developers change projects, managers wish to get in touch with the issues faced by their
direct reports, or users go on vacation. If any of these three situations apply
to you, you will undoubtedly find this feature quite convenient.
</P
></DIV
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="FOOTERSETTINGS"
>4.4.3. Page Footer</A
></H2
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> By default, this page is quite barren. However, go explore the Query Page some more; you will
find that you can store numerous queries on the server, so if you regularly run a particular query
it is just a drop-down menu away. On this page of Preferences, if you have many stored
queries you can elect to have them always one-click away!
</P
></BLOCKQUOTE
></DIV
><P
> If you have many stored queries on the server, here you will find individual drop-downs for each
stored query. Each drop-down gives you the option of that query appearing on the footer of every
page in Bugzilla! This gives you powerful one-click access to any complex searches you may set up,
and is an excellent way to impress your boss...
</P
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
>By default, the "My Bugs" link appears at the bottom of each page. However, this query
gives you both the bugs you have reported, as well as those you are assigned. One of the most
common uses for this page is to remove the "My Bugs" link, replacing it with two other queries,
commonly called "My Bug Reports" and "My Bugs" (but only referencing bugs assigned to you). This
allows you to distinguish those bugs you have reported from those you are assigned. I commonly
set up complex Boolean queries in the Query page and link them to my footer in this page. When
they are significantly complex, a one-click reference can save hours of work.</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="PERMISSIONSETTINGS"
>4.4.4. Permissions</A
></H2
><P
> This is a purely informative page which outlines your current permissions on
this installation of Bugzilla. If you have permissions to grant certain permissions to
other users, the "other users" link appears on this page as well as the footer.
For more information regarding user administration, please consult the Administration
section of this Guide.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="how.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="usingbz-conc.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>How do I use Bugzilla?</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="using.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Using Bugzilla-Conclusion</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,299 +0,0 @@
<HTML
><HEAD
><TITLE
>Installing Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Document Conventions"
HREF="conventions.html"><LINK
REL="NEXT"
TITLE="UNIX Installation"
HREF="readme.unix.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="conventions.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="readme.unix.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="INSTALLATION"
>Chapter 2. Installing Bugzilla</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>2.1. <A
HREF="readme.unix.html"
>UNIX Installation</A
></DT
><DD
><DL
><DT
>2.1.1. <A
HREF="readme.unix.html#AEN190"
>ERRATA</A
></DT
><DT
>2.1.2. <A
HREF="readme.unix.html#AEN204"
>Step-by-step Install</A
></DT
><DD
><DL
><DT
>2.1.2.1. <A
HREF="readme.unix.html#AEN206"
>Introduction</A
></DT
><DT
>2.1.2.2. <A
HREF="readme.unix.html#AEN211"
>Installing the Prerequisites</A
></DT
><DT
>2.1.2.3. <A
HREF="readme.unix.html#AEN242"
>Installing MySQL Database</A
></DT
><DT
>2.1.2.4. <A
HREF="readme.unix.html#AEN248"
>Perl (5.004 or greater)</A
></DT
><DT
>2.1.2.5. <A
HREF="readme.unix.html#AEN259"
>DBI Perl Module</A
></DT
><DT
>2.1.2.6. <A
HREF="readme.unix.html#AEN296"
>Data::Dumper Perl Module</A
></DT
><DT
>2.1.2.7. <A
HREF="readme.unix.html#AEN300"
>MySQL related Perl Module Collection</A
></DT
><DT
>2.1.2.8. <A
HREF="readme.unix.html#AEN309"
>TimeDate Perl Module Collection</A
></DT
><DT
>2.1.2.9. <A
HREF="readme.unix.html#AEN312"
>GD Perl Module (1.8.3)</A
></DT
><DT
>2.1.2.10. <A
HREF="readme.unix.html#AEN318"
>Chart::Base Perl Module (0.99c)</A
></DT
><DT
>2.1.2.11. <A
HREF="readme.unix.html#AEN321"
>DB_File Perl Module</A
></DT
><DT
>2.1.2.12. <A
HREF="readme.unix.html#AEN324"
>HTTP Server</A
></DT
><DT
>2.1.2.13. <A
HREF="readme.unix.html#AEN334"
>Installing the Bugzilla Files</A
></DT
><DT
>2.1.2.14. <A
HREF="readme.unix.html#AEN343"
>Setting Up the MySQL Database</A
></DT
><DT
>2.1.2.15. <A
HREF="readme.unix.html#AEN379"
>Tweaking "localconfig"</A
></DT
><DT
>2.1.2.16. <A
HREF="readme.unix.html#AEN401"
>Setting Up Maintainers Manuall (Optional)</A
></DT
><DT
>2.1.2.17. <A
HREF="readme.unix.html#AEN410"
>The Whining Cron (Optional)</A
></DT
><DT
>2.1.2.18. <A
HREF="readme.unix.html#AEN417"
>Bug Graphs (Optional)</A
></DT
><DT
>2.1.2.19. <A
HREF="readme.unix.html#AEN429"
>Securing MySQL</A
></DT
><DT
>2.1.2.20. <A
HREF="readme.unix.html#AEN495"
>Installation General Notes</A
></DT
><DD
><DL
><DT
>2.1.2.20.1. <A
HREF="readme.unix.html#AEN497"
>Modifying Your Running System</A
></DT
><DT
>2.1.2.20.2. <A
HREF="readme.unix.html#AEN502"
>Upgrading From Previous Versions</A
></DT
><DT
>2.1.2.20.3. <A
HREF="readme.unix.html#AEN505"
>UNIX Installation Instructions History</A
></DT
></DL
></DD
></DL
></DD
></DL
></DD
><DT
>2.2. <A
HREF="readme.windows.html"
>Win32 (Win98+/NT/2K) Installation</A
></DT
><DD
><DL
><DT
>2.2.1. <A
HREF="readme.windows.html#NTVERIFIED"
>Win32 Installation: Step-by-step</A
></DT
><DT
>2.2.2. <A
HREF="readme.windows.html#ADDLWINTIPS"
>Additional Windows Tips</A
></DT
></DL
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="conventions.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="readme.unix.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Document Conventions</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>UNIX Installation</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,158 +0,0 @@
<HTML
><HEAD
><TITLE
>Integrating Bugzilla with Third-Party Tools</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Using Bugzilla-Conclusion"
HREF="usingbz-conc.html"><LINK
REL="NEXT"
TITLE="Bonsai"
HREF="bonsai.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="usingbz-conc.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="bonsai.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="INTEGRATION"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>5.1. <A
HREF="bonsai.html"
>Bonsai</A
></DT
><DT
>5.2. <A
HREF="cvs.html"
>CVS</A
></DT
><DT
>5.3. <A
HREF="scm.html"
>Perforce SCM</A
></DT
><DT
>5.4. <A
HREF="tinderbox.html"
>Tinderbox</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="usingbz-conc.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bonsai.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Using Bugzilla-Conclusion</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Bonsai</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,186 +0,0 @@
<HTML
><HEAD
><TITLE
>New Versions</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Disclaimer"
HREF="disclaimer.html"><LINK
REL="NEXT"
TITLE="Credits"
HREF="credits.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="disclaimer.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="credits.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="NEWVERSIONS"
>1.4. New Versions</A
></H1
><P
> This is the initial release of the Bugzilla Guide.
</P
><P
> This document can be found in the following places:
</P
><P
> <P
></P
><UL
><LI
><P
> <A
HREF="http://www.trilobyte.net/barnsons/"
TARGET="_top"
>TriloBYTE</A
>
</P
></LI
><LI
><P
> <A
HREF="http://www.mozilla.org/projects/bugzilla/"
TARGET="_top"
>Mozilla.org</A
>
</P
></LI
><LI
><P
> <A
HREF="http://www.linuxdoc.org/"
TARGET="_top"
>The Linux Documentation Project</A
>
</P
></LI
></UL
>
</P
><P
> The latest version of this document can be checked out via CVS.
Please follow the instructions available at
<A
HREF="http://www.mozilla.org/cvs.html"
TARGET="_top"
>the Mozilla CVS page</A
>,
and check out the mozilla/webtools/bugzilla/docs/ branch.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="disclaimer.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="credits.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Disclaimer</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Credits</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,153 +0,0 @@
<HTML
><HEAD
><TITLE
>Useful Patches and Utilities for Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Red Hat Bugzilla"
HREF="rhbugzilla.html"><LINK
REL="NEXT"
TITLE="The setperl.csh Utility"
HREF="setperl.html"></HEAD
><BODY
CLASS="APPENDIX"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="rhbugzilla.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="setperl.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="APPENDIX"
><H1
><A
NAME="PATCHES"
>Appendix D. Useful Patches and Utilities for Bugzilla</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>D.1. <A
HREF="setperl.html"
>The setperl.csh Utility</A
></DT
><DT
>D.2. <A
HREF="cmdline.html"
>Command-line Bugzilla Queries</A
></DT
><DT
>D.3. <A
HREF="quicksearch.html"
>The Quicksearch Utility</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="rhbugzilla.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="setperl.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Red Hat Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The setperl.csh Utility</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,318 +0,0 @@
<HTML
><HEAD
><TITLE
>Post-Installation Checklist</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="PREVIOUS"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="NEXT"
TITLE="User Administration"
HREF="useradmin.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="administration.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Administering Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="useradmin.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="POSTINSTALL-CHECK"
>3.1. Post-Installation Checklist</A
></H1
><P
> After installation, follow the checklist below to ensure that
you have a successful installation.
If you do not see a recommended setting for a parameter,
consider leaving it at the default
while you perform your initial tests on your Bugzilla setup.
</P
><DIV
CLASS="PROCEDURE"
><OL
TYPE="1"
><LI
><P
> Bring up "editparams.cgi" in your web browser. For instance, to edit parameters
at mozilla.org, the URL would be <A
HREF="http://bugzilla.mozilla.org/editparams.cgi"
TARGET="_top"
> http://bugzilla.mozilla.org/editparams.cgi</A
>, also available under the "edit parameters"
link on your query page.
</P
></LI
><LI
><P
> Set "maintainer" to <EM
>your</EM
> email address.
This allows Bugzilla's error messages
to display your email
address and allow people to contact you for help.
</P
></LI
><LI
><P
> Set "urlbase" to the URL reference for your Bugzilla installation.
If your bugzilla query page is at http://www.foo.com/bugzilla/query.cgi,
your url base is http://www.foo.com/bugzilla/
</P
></LI
><LI
><P
> Set "usebuggroups" to "1" <EM
>only</EM
>
if you need to restrict access to products.
I suggest leaving this parameter <EM
>off</EM
>
while initially testing your Bugzilla.
</P
></LI
><LI
><P
> Set "usebuggroupsentry" to "1" if you want to restrict access to products.
Once again, if you are simply testing your installation, I suggest against
turning this parameter on; the strict security checking may stop you from
being able to modify your new entries.
</P
></LI
><LI
><P
> Set "shadowdb" to "bug_shadowdb" if you will be
running a *very* large installation of Bugzilla.
The shadow database enables many simultaneous users
to read and write to the database
without interfering with one another.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Enabling "shadowdb" can adversely affect the stability
of your installation of Bugzilla.
You may frequently need to manually synchronize your databases,
or schedule nightly syncs
via "cron"
</P
></BLOCKQUOTE
></DIV
>
Once again, in testing you should
avoid this option -- use it if or when you <EM
>need</EM
> to use it, and have
repeatedly run into the problem it was designed to solve -- very long wait times while
attempting to commit a change to the database.
</P
><P
> If you use the "shadowdb" option,
it is only natural that you should turn the "queryagainstshadowdb"
option "On" as well. Otherwise you are replicating data into a shadow database for no reason!
</P
></LI
><LI
><P
> If you have custom logos or HTML you must put in place to fit within your site design guidelines,
place the code in the "headerhtml", "footerhtml", "errorhtml",
"bannerhtml", or "blurbhtml" text boxes.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> The "headerhtml" text box is the HTML printed out
<EM
>before</EM
> any other code on the page.
If you have a special banner, put the code for it in "bannerhtml".
You may want to leave these
settings at the defaults initially.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> Add any text you wish to the "passwordmail" parameter box. For instance,
many people choose to use this box to give a quick training blurb about how to
use Bugzilla at your site.
</P
></LI
><LI
><P
> Ensure "newemailtech" is "on".
Your users will thank you. This is the default in the post-2.12 world, and is
only an issue if you are upgrading.
</P
></LI
><LI
><P
> Do you want to use the qa contact ("useqacontact")
and status whiteboard ("usestatuswhiteboard") fields?
These fields are useful because they allow for more flexibility,
particularly when you have an existing
Quality Assurance and/or Release Engineering team,
but they may not be needed for smaller installations.
</P
></LI
><LI
><P
> Set "whinedays" to the amount of days you want to let bugs go
in the "New" or "Reopened" state before
notifying people they have untouched new bugs. If you do not plan to use this feature, simply do
not set up the whining cron job described in the README, or set this value to "0".
</P
></LI
><LI
><P
> Set the "commenton" options according to your site policy.
It is a wise idea to require comments when users
resolve, reassign, or reopen bugs.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> It is generally far better to require a developer comment when resolving bugs than not.
Few things are more annoying to bug database users than having a developer
mark a bug "fixed" without any comment as to what the fix was (or even that it was truly fixed!)
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> Set "supportwatchers" to "On". This feature is helpful for team leads to monitor progress in their
respective areas, and can offer many other benefits, such as allowing a developer to pick up a
former engineer's bugs without requiring her to change all the information in the bug.
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="administration.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="useradmin.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Administering Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="administration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>User Administration</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,923 +0,0 @@
<HTML
><HEAD
><TITLE
>Product, Component, Milestone, and Version Administration</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="PREVIOUS"
TITLE="User Administration"
HREF="useradmin.html"><LINK
REL="NEXT"
TITLE="Bugzilla Security"
HREF="security.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="useradmin.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Administering Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="security.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="PROGRAMADMIN"
>3.3. Product, Component, Milestone, and Version Administration</A
></H1
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="EPIGRAPH"
><TR
><TD
WIDTH="45%"
>&nbsp;</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="TOP"
><I
><P
><I
>Dear Lord, we have to get our users to do WHAT?</I
></P
></I
></TD
></TR
></TABLE
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="PRODUCTS"
>3.3.1. Products</A
></H2
><FONT
COLOR="RED"
>Formerly, and in some spots still, called "Programs"</FONT
><P
> <A
HREF="glossary.html#GLOSS_PRODUCT"
><I
CLASS="GLOSSTERM"
>Products</I
></A
> are the
broadest category in Bugzilla, and you should have the least of these.
If your company makes computer games, you should have one product per game,
and possibly a few special products
(website, meetings...)
</P
><P
> A Product (formerly called "Program", and still referred to that way
in some portions of the source code) controls some very important functions.
The number of "votes" available for users to vote for the most important bugs
is set per-product, as is the number of votes required to move a bug automatically
from the UNCONFIRMED status to the NEW status. One can close a Product for further
bug entry and define various Versions available from the Edit Product screen.
</P
><P
>To create a new product:</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Select "components" from the yellow footer
</P
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> It may seem counterintuitive to click "components" when you want
to edit the properties associated with Products. This is one of a long
list of things we want in Bugzilla 3.0...
</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
> Select the "Add" link to the right of "Add a new product".
</P
></LI
><LI
><P
> Enter the name of the product and a description.
The Description field is free-form.
</P
></LI
></OL
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> Don't worry about the "Closed for bug entry", "Maximum Votes per person",
"Maximum votes a person can put on a single bug", "Number of votes a bug in
this Product needs to automatically get out of the UNCOMFIRMED state",
and "Version" options yet.
We'll cover those in a few moments.
</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="COMPONENTS"
>3.3.2. Components</A
></H2
><P
> Components are subsections of a Product.
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN838"
></A
><P
><B
>Example 3-1. Creating some Components</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN840"
></A
><P
></P
><P
> The computer game you are designing may a "UI" component, an "API" component,
a "Sound System" component, and a "Plugins" component, each overseen by a different
programmer. It often makes sense to divide Components in Bugzilla according to the
natural divisions of responsibility within your Product or company.
</P
><P
></P
></DIV
></DIV
>
Each component has a owner and (if you turned it on in the parameters), a qa
contact. The owner should be the primary person who fixes bugs in that component. The QA
Contact should be the person who will ensure these bugs are completely fixed. The Owner,
QA Contact, and Reporter will get email when new bugs are created in this Component and
when these bugs change. Default Owner and Default QA Contact fields only dictate the
<EM
>default assignments</EM
>; the Owner and Q/A Contact fields in a bug
are otherwise unrelated to the Component.
</P
><P
> To create a new Component:
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Select the "Edit components" link from the "Edit Product" page
</P
></LI
><LI
><P
> Select the "Add" link to the right of the "Add a new component" text
on the "Select Component" page.
</P
></LI
><LI
><P
> Fill out the "Component" field, a short "Description", and the "Initial Owner".
The "Component" field should not contain a space. The "Description" field is
free-form. The "Initial Owner" field must be that of a valid user already
existing in the database. If the initial owner does not exist, Bugzilla
will refuse to create the component.
<DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> Is your "Default Owner" a user who is not yet in the database?
No problem.
<P
></P
><OL
TYPE="a"
><LI
><P
> Select the "Log out" link on the footer of the page.
</P
></LI
><LI
><P
> Select the "New Account" link on the footer of the "Relogin" page
</P
></LI
><LI
><P
> Type in the email address of the default owner you want to create
in the "E-mail address" field, and her full name in the "Real name"
field, then select the "Submit Query" button.
</P
></LI
><LI
><P
> Now select "Log in" again, type in your login information, and you
can modify the product to use the Default Owner information
you require.
</P
></LI
></OL
>
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> Either "edit" more components or return to the "query" page on the ensuing
"Addming new component" page. To return to the Product you were editing, you
must select the "components" link as before.
</P
></LI
></OL
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="VERSIONS"
>3.3.3. Versions</A
></H2
><P
> Versions are the revisions of the product, such as "Flinders 3.1", "Flinders 95",
and "Flinders 2000". Using Versions helps you isolate code changes and are an aid
in reporting.
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN867"
></A
><P
><B
>Example 3-2. Common Use of Versions</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN869"
></A
><P
></P
><P
> A user reports a bug
against Version "Beta 2.0" of your product. The current Version of your software
is "Release Candidate 1", and no longer has the bug. This will
help you triage and classify bugs according to their relevance. It is also
possible people may report bugs against bleeding-edge beta versions that are
not evident in older versions of the software. This can help isolate code
changes that caused the bug
</P
><P
></P
></DIV
></DIV
>
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN871"
></A
><P
><B
>Example 3-3. A Different Use of Versions</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN873"
></A
><P
></P
><P
> This field has been used to good effect by an online service provider in a slightly
different way. They had three versions of the product: "Production", "QA",
and "Dev". Although it may be the same product, a bug in the development
environment is not normally as critical as a Production bug, nor does it
need to be reported publicly. When used in conjunction with Target Milestones,
one can easily specify the environment where a bug can be reproduced, and
the Milestone by which it will be fixed.
</P
><P
></P
></DIV
></DIV
>
</P
><P
> To create and edit Versions:
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> From the "Edit Product" screen, select "Edit Versions"
</P
></LI
><LI
><P
> You will notice that the product already has the default version "undefined".
If your product doesn't use version numbers, you may want to leave this as it is
or edit it so that it is "---". You can then go back to the edit versions page
and add new versions to your product.
</P
><P
> Otherwise, click the "Add" button to the right of the "Add a new version" text.
</P
></LI
><LI
><P
> Enter the name of the Version. This can be free-form characters up to the limit of the
text box. Then select the "Add" button.
</P
></LI
><LI
><P
> At this point you can select "Edit" to edit more Versions, or return to the "Query"
page, from which you can navigate back to the product through the "components" link
at the foot of the Query page.
</P
></LI
></OL
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="MILESTONES"
>3.3.4. Milestones</A
></H2
><P
> Milestones are "targets" that you plan to get a bug fixed by. For example, you have a bug that
you plan to fix for your 3.0 release, it would be assigned the milestone of 3.0. Or, you have a
bug that you plan to fix for 2.8, this would have a milestone of 2.8.
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Milestone options will only appear for a Product if you turned the "usetargetmilestone" field
in the "Edit Parameters" screen "On".
</P
></BLOCKQUOTE
></DIV
><P
> To create new Milestones, set Default Milestones, and set Milestone URL:
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Select "edit milestones"
</P
></LI
><LI
><P
> Select "Add" to the right of the "Add a new milestone" text
</P
></LI
><LI
><P
> Enter the name of the Milestone in the "Milestone" field.
You can optionally set the "Sortkey", which is a positive or negative number (-255 to 255)
that defines where in the list this particular milestone appears.
Select "Add".
</P
><DIV
CLASS="EXAMPLE"
><A
NAME="AEN899"
></A
><P
><B
>Example 3-4. Using SortKey with Target Milestone</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN901"
></A
><P
></P
><P
> Let's say you create a target milestone called "Release 1.0", with Sortkey set to "0".
Later, you realize that you will have a public beta, called "Beta1".
You can create a Milestone called "Beta1", with a Sortkey of "-1" in order to ensure
people will see the Target Milestone of "Beta1" earlier on the list than "Release 1.0"
</P
><P
></P
></DIV
></DIV
></LI
><LI
><P
> If you want to add more milestones, select the "Edit" link.
If you don't, well shoot, you have to go back to the "query" page and select "components"
again, and make your way back to the Product you were editing.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> This is another in the list of unusual user interface decisions that
we'd like to get cleaned up. Shouldn't there be a link to the effect of
"edit the Product I was editing when I ended up here"? In any case,
clicking "components" in the footer takes you back to the "Select product"
screen, from which you can begin editing your product again.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> From the Edit Product screen again (once you've made your way back), enter the URL
for a description of what your milestones are for this product in the "Milestone URL" field.
It should be of the format "http://www.foo.com/bugzilla/product_milestones.html"
</P
><P
> Some common uses of this field include product descriptions, product roadmaps,
and of course a simple description of the meaning of each milestone.
</P
></LI
><LI
><P
> If you're using Target Milestones, the "Default Milestone" field must have some
kind of entry. If you really don't care if people set coherent Target Milestones,
simply leave this at the default, "---". However, controlling and regularly updating the Default
Milestone field is a powerful tool when reporting the status of projects.
</P
><P
>Select the "Update" button when you are done.</P
></LI
><LI
><P
>
</P
></LI
></OL
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="VOTING"
>3.3.5. Voting</A
></H2
><P
> The concept of "voting" is a poorly understood, yet powerful feature for the management
of open-source projects. Each user is assigned so many Votes per product, which they can
freely reassign (or assign multiple votes to a single bug).
This allows developers to gauge user need for a particular enhancement
or bugfix. By allowing bugs with a certain number of votes to automatically move from
"UNCONFIRMED" to "NEW", users of the bug system can help high-priority bugs garner
attention so they don't sit for a long time awaiting triage.
</P
><P
> The daunting challenge of Votes is deciding where you draw the line for a "vocal majority". If you
only have a user base of 100 users, setting a low threshold for bugs to move from UNCONFIRMED
to NEW makes sense. As the Bugzilla user base expands, however, these thresholds must be
re-evaluated. You should gauge whether this feature is worth the time and close monitoring involved,
and perhaps forego implementation until you have a critical mass of users who demand it.
</P
><P
>To modify Voting settings:</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Navigate to the "Edit Product" screen for the Product you wish to modify
</P
></LI
><LI
><P
> Set "Maximum Votes per person" to your calculated value. Setting this field
to "0" disables voting.
</P
></LI
><LI
><P
> Set "Maximum Votes a person can put on a single bug" to your calculated value. It
should probably be some number lower than the "Maximum votes per person".
Setting this field to "0" disables voting, but leaves the voting options open
to the user. This is confusing.
</P
></LI
><LI
><P
> Set "Number of votes a bug in this product needs to automatically get out of the
UNCONFIRMED state" to your calculated number. Setting this field to "0"
disables the automatic move of bugs from UNCONFIRMED to NEW. Some people
advocate leaving this at "0", but of what use are Votes if your Bugzilla
user base is unable to affect which bugs appear on Development radar?
<DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> You should probably set this number to higher than a small coalition of
Bugzilla users can influence it. Most sites use this as a "referendum"
mechanism -- if users are able to vote a bug out of UNCONFIRMED, it
is a <EM
>really</EM
> bad bug!
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> Once you have adjusted the values to your preference, select the "Update" button.
</P
></LI
></OL
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="GROUPS"
>3.3.6. Groups and Group Security</A
></H2
><P
> Groups can be very useful in bugzilla, because they allow users to isolate
bugs or products that should only be seen by certain people. Groups can also
be a complicated minefield of interdependencies and weirdness if mismanaged.
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN937"
></A
><P
><B
>Example 3-5. When to Use Group Security</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN939"
></A
><P
></P
><P
> Many Bugzilla sites isolate "Security-related" bugs from all other bugs.
This way, they can have a fix ready before the security vulnerability
is announced to the world. You can create a "Security" product which, by
default, has no members, and only add members to the group (in their individual
User page, as described under User Administration) who should have
priveleged access to "Security" bugs. Alternately, you may create a Group
independently of any Product, and change the Group mask on individual bugs
to restrict access to members only of certain Groups.
</P
><P
></P
></DIV
></DIV
>
Groups only work if you enable the "usebuggroups" paramater.
In addition, if the "usebuggroupsentry" parameter is "On", one can restrict access
to products by groups, so that only members of a product group are able to view
bugs within that product.
Group security in Bugzilla can be divided into two categories:
Generic and Product-Based.
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Groups in Bugzilla are a complicated beast that evolved out of very simple user
permission bitmasks, apparently itself derived from common concepts in UNIX access
controls. A "bitmask" is a fixed-length number whose value can describe one, and
only one, set of states. For instance, UNIX file permissions are assigned bitmask
values: "execute" has a value of 1, "write" has a value of 2,
and "read" has a value of 4. Add them together,
and a file can be read, written to, and executed if it has a bitmask of "7". (This
is a simplified example -- anybody who knows UNIX security knows there is much
more to it than this. Please bear with me for the purpose of this note.) The only
way a bitmask scheme can work is by doubling the bit count for each value. Thus
if UNIX wanted to offer another file permission, the next would have to be a value of
8, then the next 16, the next 32, etc.
</P
><P
> Similarly, Bugzilla offers a bitmask to define group permissions, with an internal
limit of 64. Several are already occupied
by built-in permissions. The way around this limitation is
to avoid assigning groups to products if you have many products, avoid bloating
of group lists, and religiously prune irrelevant groups. In reality, most installations
of Bugzilla support far fewer than 64 groups, so this limitation has not hit
for most sites, but it is on the table to be revised for Bugzilla 3.0
because it interferes with the security schemes of some administrators.
</P
></BLOCKQUOTE
></DIV
><P
> To enable Generic Group Security ("usebuggroups"):
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> Turn "On" "usebuggroups" in the "Edit Parameters" screen.
</P
></LI
><LI
><P
> You will generally have no groups set up. Select the "groups" link
in the footer.
</P
></LI
><LI
><P
> Take a moment to understand the instructions on the "Edit Groups" screen.
Once you feel confident you understand what is expected of you, select the
"Add Group" link.
</P
></LI
><LI
><P
> Fill out the "New Name" (remember, no spaces!), "New Description", and "New
User RegExp" fields. "New User RegExp" allows you to automatically place
all users who fulfill the Regular Expression into the new group.
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN954"
></A
><P
><B
>Example 3-6. Creating a New Group</B
></P
><DIV
CLASS="INFORMALEXAMPLE"
><A
NAME="AEN956"
></A
><P
></P
><P
> I created a group called "DefaultGroup" with a description of "This is simply
a group to play with", and a "New User RegExp" of "*@velio.com". This
new group automatically includes all Bugzilla users with "@velio.com" at the
end of their user id. When I finished, my new group was assigned bit #128.
</P
><P
></P
></DIV
></DIV
>
When you have finished, select the "Add" button.
</P
></LI
></OL
><P
> To enable Product-Based Group Security ("usebuggroupsentry"):
</P
><DIV
CLASS="WARNING"
><P
></P
><TABLE
CLASS="WARNING"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>Warning</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
> Don't forget that you only have 64 groups masks available, total, for
your installation of Bugzilla! If you plan on having more than 50
products in your individual Bugzilla installation, and require group
security for your products, you should
consider either running multiple Bugzillas or using Generic Group Security
instead of Product-Based ("usebuggroupsentry") Group Security.
</P
></TD
></TR
></TABLE
></DIV
><P
></P
><OL
TYPE="1"
><LI
><P
> Turn "On" "usebuggroups" and "usebuggroupsentry" in the "Edit Parameters" screen.
</P
><DIV
CLASS="WARNING"
><P
></P
><TABLE
CLASS="WARNING"
BORDER="1"
WIDTH="90%"
><TR
><TD
ALIGN="CENTER"
><B
>Warning</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
> "usebuggroupsentry" has the capacity to prevent the administrative user
from directly altering bugs because of conflicting group permissions.
If you plan on using "usebuggroupsentry", you should plan on restricting administrative
account usage to administrative duties only.
In other words, manage bugs with an unpriveleged user account, and
manage users, groups, Products, etc. with the administrative account.
</P
></TD
></TR
></TABLE
></DIV
></LI
><LI
><P
> You will generally have no Groups set up, unless you enabled "usebuggroupsentry"
prior to creating any Products. To create "Generic Group Security" groups,
follow the instructions given above. To create Product-Based Group security,
simply follow the instructions for creating a new Product. If you need to
add users to these new groups as you create them, you will find the option
to add them to the group available under the "Edit User" screens.
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="useradmin.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="security.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>User Administration</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="administration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Bugzilla Security</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,186 +0,0 @@
<HTML
><HEAD
><TITLE
>The Quicksearch Utility</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="PREVIOUS"
TITLE="Command-line Bugzilla Queries"
HREF="cmdline.html"><LINK
REL="NEXT"
TITLE="GNU Free Documentation License"
HREF="gfdl.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="cmdline.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix D. Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="gfdl.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="QUICKSEARCH"
>D.3. The Quicksearch Utility</A
></H1
><P
> Quicksearch is a new, experimental feature of the 2.12 release.
It consist of two Javascript files, "quicksearch.js" and "localconfig.js",
and two documentation files, "quicksearch.html" and "quicksearchhack.html"
</P
><P
> The index.html page has been updated to include the QuickSearch text box.
</P
><P
> To take full advantage of the query power, the Bugzilla maintainer must
edit "localconfig.js" according to the value sets used in the local installation.
</P
><P
> Currently, keywords must be hard-coded in localconfig.js. If they are not,
keywords are not automatically recognized. This means, if localconfig.js
is left unconfigured, that searching for a bug with the "foo" keyword
will only find bugs with "foo" in the summary, status whiteboard, product or
component name, but not those with the keyword "foo".
</P
><P
> Workarounds for Bugzilla users:
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
>search for '!foo' (this will find only bugs with the keyword "foo"</TD
></TR
><TR
><TD
>search 'foo,!foo' (equivalent to 'foo OR keyword:foo')</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
><P
> When this tool is ported from client-side JavaScript to server-side Perl,
the requirement for hard-coding keywords can be fixed.
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=70907"
TARGET="_top"
>This bug</A
>
has details.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="cmdline.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="gfdl.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Command-line Bugzilla Queries</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="patches.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>GNU Free Documentation License</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@@ -1,755 +0,0 @@
<HTML
><HEAD
><TITLE
>Win32 (Win98+/NT/2K) Installation</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Installing Bugzilla"
HREF="installation.html"><LINK
REL="PREVIOUS"
TITLE="UNIX Installation"
HREF="readme.unix.html"><LINK
REL="NEXT"
TITLE="Administering Bugzilla"
HREF="administration.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="readme.unix.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 2. Installing Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="administration.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="README.WINDOWS"
>2.2. Win32 (Win98+/NT/2K) Installation</A
></H1
><P
> These directions have <EM
>not</EM
> been extensively tested.
We need testers! Please try these out and post any changes to the
newsgroup.
</P
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="NTVERIFIED"
>2.2.1. Win32 Installation: Step-by-step</A
></H2
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> You should be familiar with, and cross-reference, the UNIX README
while performing your Win32 installation. Unfortunately, Win32
directions are not yet as detailed as those for UNIX.
</P
><P
> The <EM
>most critical</EM
> difference for Win32 users is
the lack of support for a crypt() function in MySQL for Windows. It does not
have it! All ENCRYPT statements must be modified.
</P
></BLOCKQUOTE
></DIV
><DIV
CLASS="PROCEDURE"
><OL
TYPE="1"
><LI
><P
> Install <A
HREF="http://www.apache.org/"
TARGET="_top"
>Apache Web Server</A
>
for Windows.
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> You may also use Internet Information Server or Personal Web
Server for this purpose. However, setup is slightly more
difficult. If ActivePerl doesn't seem to handle your file
associations correctly (for .cgi and .pl files), please
consult the FAQ, in the "Win32" section.
</P
><P
> If you are going to use IIS, if on Windows NT you must be updated
to at least Service Pack 4.
</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
> Install <A
HREF="http://www.activestate.com/"
TARGET="_top"
>ActivePerl</A
>
</P
><P
> Please also check the following links to fully understand the status
of ActivePerl on Win32:
<A
HREF="http://language.perl.com/newdocs/pod/perlport.html"
TARGET="_top"
> Perl Porting</A
>, and
<A
HREF="http://ftp.univie.ac.at/packages/perl/ports/nt/FAQ/perlwin32faq5.html"
TARGET="_top"
> Hixie Click Here</A
>
</P
></LI
><LI
><P
> Use ppm from your perl\bin directory to install the following packs: DBI,
DBD-Mysql, TimeDate, Chart, Date-Calc, Date-Manip, and GD. You may need
to extract them from .zip format using Winzip or other unzip program first.
These additional ppm modules can be downloaded from ActiveState.
</P
><P
> The syntax for ppm is:
<TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>C:&#62; </TT
><B
CLASS="COMMAND"
>ppm install &#60;module&#62;.ppd</B
>
</TT
>
</P
><P
> You can find ActiveState ppm modules at
<A
HREF="http://www.activestate.com/PPMPackages/5.6plus/"
TARGET="_top"
> http://www.activestate.com/PPMPackages/5.6plus</A
>
</P
></LI
><LI
><P
> Download and install the Windows GNU tools from
<A
HREF="http://www.cygwin.com/"
TARGET="_top"
>www.cygwin.com</A
>.
Make sure the GNU utilities are in your $PATH.
</P
></LI
><LI
><P
> Install MySQL for NT.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Your configuration file for MySQL <EM
>must</EM
> be named C:\MY.CNF.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> Setup MySQL
</P
><OL
CLASS="SUBSTEPS"
TYPE="a"
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>C:&#62; </TT
>
<B
CLASS="COMMAND"
>C:\mysql\bin\mysql -u root mysql</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>mysql&#62;</TT
>
<B
CLASS="COMMAND"
>DELETE FROM user WHERE Host='localhost' AND User='';</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>mysql&#62;</TT
>
<B
CLASS="COMMAND"
>UPDATE user SET Password=PASSWORD ('new_password')
WHERE user='root';</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>mysql&#62;</TT
>
<B
CLASS="COMMAND"
>GRANT SELECT, INSERT, UPDATE, DELETE,
INDEX, ALTER, CREATE, DROP, REFERENCES
ON bugs.* to bugs@localhost
IDENTIFIED BY 'bugs_password';</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>mysql&#62;</TT
>
<B
CLASS="COMMAND"
>FLUSH PRIVILEGES;</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>mysql&#62;</TT
>
<B
CLASS="COMMAND"
>create database bugs;</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>mysql&#62;</TT
>
<B
CLASS="COMMAND"
>exit</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>C:&#62;</TT
>
<B
CLASS="COMMAND"
>C:\mysql\bin\mysqladmin -u root -p reload</B
>
</TT
>
</P
></LI
></OL
></LI
><LI
><P
> Configure Bugzilla. For Win32, this involves editing "defparams.pl"
and "localconfig" to taste. Running "checksetup.pl" should create
localconfig for you. Note that getgrnam() doesn't work, and should be
deleted. Change this line:
"my $webservergid = getgrnam($my_webservergroup); "
to
"my $webservergid = $my_webservergroup; "
</P
></LI
><LI
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> There are several alternatives to Sendmail that will work on Win32.
The one mentioned here is a <EM
>suggestion</EM
>, not
a requirement. Some other mail packages that can work include
<A
HREF="http://www.blat.net/"
TARGET="_top"
>BLAT</A
>,
<A
HREF="http://www.geocel.com/windmail/"
TARGET="_top"
>Windmail</A
>,
<A
HREF="http://www.dynamicstate.com/"
TARGET="_top"
>Mercury Sendmail</A
>,
and the CPAN Net::SMTP Perl module (available in .ppm).
Every option requires some hacking of the Perl scripts for Bugzilla
to make it work. The option here simply requires the least.
</P
></BLOCKQUOTE
></DIV
><P
> Download NTsendmail, available from<A
HREF="http://www.ntsendmail.com/"
TARGET="_top"
> www.ntsendmail.com</A
>. In order for it to work, you must set up some
new environment variables (detailed on the ntsendmail home page). Figuring
out where to put those variables is left as an exercise for the reader.
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)
</P
><P
> Once downloaded and installed, modify all open(SENDMAIL) calls to open
"| c:\ntsendmail\ntsendmail -t" instead of "|/usr/lib/sendmail -t".
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> We need someone to test this and make sure this works as advertised.
</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
> Modify globals.pl and CGI.pl to remove the word "encrypt".
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> I'm not sure this is all that is involved to remove crypt. Any
NT Bugzilla hackers want to pipe up?
</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
> Change all references to "processmail" to "processmail.pl" in
all files, and rename "processmail" to "processmail.pl"
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> I really think this may be a change we want to make for
main-tree Bugzilla. It's painless for the UNIX folks,
and will make the Win32 people happier.
</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
> Modify the path to perl on the first line (#!) of all files
to point to your Perl installation, and
add "perl" to the beginning of all Perl system calls that
use a perl script as an argument. This may take you a while.
There is a "setperl.pl" utility to speed part of this procedure,
available in the "Patches and Utilities" section of The Bugzilla Guide.
</P
></LI
><LI
><P
> In processmail.pl, add "binmode(HANDLE)" before all read() calls.
This may not be necessary, but in some cases the read() under
Win32 doesn't count the EOL's without using a binary read().
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="ADDLWINTIPS"
>2.2.2. Additional Windows Tips</A
></H2
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> From Andrew Pearson:
<A
NAME="AEN624"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
> "You can make Bugzilla work with Personal Web Server for
Windows 98 and higher, as well as for IIS 4.0. Microsoft has
information available at
<A
HREF=" http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP"
TARGET="_top"
> http://support.microsoft.com/support/kb/articles/Q231/9/98.ASP</A
>
</P
><P
> Basically you need to add two String Keys in the
registry at the following location:
</P
><P
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
</P
><P
> The keys should be called ".pl" and ".cgi", and both
should have a value something like:
<B
CLASS="COMMAND"
>c:/perl/bin/perl.exe "%s" "%s"</B
>
</P
><P
> The KB article only talks about .pl, but it goes into
more detail and provides a perl test script.
</P
></BLOCKQUOTE
>
</P
></BLOCKQUOTE
></DIV
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
>"Brian" had this to add, about upgrading to Bugzilla 2.12 from previous versions:</P
><A
NAME="AEN634"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
> Hi - I am updating bugzilla to 2.12 so I can tell you what I did (after I
deleted the current dir and copied the files in).
</P
><P
> In checksetup.pl, I did the following...
</P
><DIV
CLASS="PROCEDURE"
><OL
TYPE="1"
><LI
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = getgrnam($my_webservergroup);
</PRE
></TD
></TR
></TABLE
><P
>to</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>my $webservergid = 'Administrators'
</PRE
></TD
></TR
></TABLE
></LI
><LI
><P
> I then ran checksetup.pl
</P
></LI
><LI
><P
> I removed all the encrypt()
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN646"
></A
><P
><B
>Example 2-1. Removing encrypt() for Windows NT installations</B
></P
><P
> Replace this:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>SendSQL("SELECT encrypt(" . SqlQuote($enteredpwd) . ", " .
SqlQuote(substr($realcryptpwd, 0, 2)) . ")");
my $enteredcryptpwd = FetchOneColumn();
</PRE
></TD
></TR
></TABLE
>
with this:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>my $enteredcryptpwd = $enteredpwd
</PRE
></TD
></TR
></TABLE
>
in cgi.pl.
</P
></DIV
>
</P
></LI
><LI
><P
> I renamed processmail to processmail.pl
</P
></LI
><LI
><P
> I altered the sendmail statements to windmail:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>
open SENDMAIL, "|\"C:/General/Web/tools/Windmail 4.0 Beta/windmail\" -t &#62; mail.log";
</PRE
></TD
></TR
></TABLE
>
</P
><P
> The quotes around the dir is for the spaces. mail.log is for the output
</P
></LI
></OL
></DIV
></BLOCKQUOTE
></BLOCKQUOTE
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="readme.unix.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="administration.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>UNIX Installation</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="installation.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Administering Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,196 +0,0 @@
<HTML
><HEAD
><TITLE
>Red Hat Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Bugzilla Variants"
HREF="variants.html"><LINK
REL="PREVIOUS"
TITLE="Bugzilla Variants"
HREF="variants.html"><LINK
REL="NEXT"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="variants.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 7. Bugzilla Variants</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="patches.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="RHBUGZILLA"
>7.1. Red Hat Bugzilla</A
></H1
><P
> Red Hat Bugzilla is probably the most popular Bugzilla variant, aside from Mozilla Bugzilla,
on the planet.
One of the major benefits of Red Hat Bugzilla is the ability to work with Oracle as a
database, as well as MySQL.
Here's what Dave Lawrence had to say about the status of Red Hat Bugzilla,
<A
NAME="AEN1913"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
CLASS="LITERALLAYOUT"
> &nbsp;&nbsp;Hello.&nbsp;I&nbsp;apologize&nbsp;that&nbsp;I&nbsp;am&nbsp;getting&nbsp;back&nbsp;to&nbsp;you&nbsp;so&nbsp;late.&nbsp;It&nbsp;has&nbsp;been&nbsp;difficult&nbsp;to&nbsp;keep<br>
up&nbsp;with&nbsp;email&nbsp;this&nbsp;past&nbsp;week.&nbsp;I&nbsp;have&nbsp;checked&nbsp;out&nbsp;your&nbsp;updated&nbsp;documentation&nbsp;and&nbsp;I&nbsp;will<br>
have&nbsp;to&nbsp;say&nbsp;very&nbsp;good&nbsp;work.&nbsp;A&nbsp;few&nbsp;notes&nbsp;and&nbsp;additions&nbsp;as&nbsp;follows.<br>
<br>
(ed:&nbsp;from&nbsp;the&nbsp;FAQ)<br>
&#62;For&nbsp;the&nbsp;record,&nbsp;we&nbsp;are&nbsp;not&nbsp;using&nbsp;any&nbsp;template&nbsp;type&nbsp;implementation&nbsp;for&nbsp;the&nbsp;cosmetic&nbsp;changes&nbsp;<br>
&#62;maded&nbsp;to&nbsp;Bugzilla.&nbsp;It&nbsp;is&nbsp;just&nbsp;alot&nbsp;of&nbsp;html&nbsp;changes&nbsp;in&nbsp;the&nbsp;code&nbsp;itself.&nbsp;I&nbsp;admit&nbsp;I&nbsp;may&nbsp;have&nbsp;<br>
&#62;gotten&nbsp;a&nbsp;little&nbsp;carried&nbsp;away&nbsp;with&nbsp;it&nbsp;but&nbsp;the&nbsp;corporate&nbsp;types&nbsp;asked&nbsp;for&nbsp;a&nbsp;more&nbsp;standardized&nbsp;<br>
&#62;interface&nbsp;to&nbsp;match&nbsp;up&nbsp;with&nbsp;other&nbsp;projects&nbsp;relating&nbsp;to&nbsp;Red&nbsp;Hat&nbsp;web&nbsp;sites.&nbsp;A&nbsp;lot&nbsp;of&nbsp;other&nbsp;web&nbsp;<br>
&#62;based&nbsp;internal&nbsp;tools&nbsp;I&nbsp;am&nbsp;working&nbsp;on&nbsp;also&nbsp;look&nbsp;like&nbsp;Bugzilla.&nbsp;<br>
<br>
<br>
This&nbsp;should&nbsp;probably&nbsp;be&nbsp;changed&nbsp;since&nbsp;we&nbsp;are&nbsp;now&nbsp;in&nbsp;fact&nbsp;using&nbsp;Text::Template&nbsp;for&nbsp;most<br>
of&nbsp;the&nbsp;html&nbsp;rendering.&nbsp;You&nbsp;actually&nbsp;state&nbsp;this&nbsp;later&nbsp;in&nbsp;your&nbsp;numbered&nbsp;list.<br>
<br>
Also&nbsp;number&nbsp;6&nbsp;contradicts&nbsp;number&nbsp;8&nbsp;where&nbsp;number&nbsp;6&nbsp;would&nbsp;be&nbsp;the&nbsp;most&nbsp;up&nbsp;to&nbsp;date&nbsp;status<br>
on&nbsp;the&nbsp;Oracle&nbsp;port.<br>
<br>
Additional&nbsp;Information:<br>
-----------------------------<br>
1.&nbsp;Comments&nbsp;are&nbsp;now&nbsp;stored&nbsp;in&nbsp;varchar&nbsp;fields&nbsp;of&nbsp;4k&nbsp;in&nbsp;size&nbsp;each.&nbsp;If&nbsp;the&nbsp;comment&nbsp;is&nbsp;more<br>
than&nbsp;4k&nbsp;it&nbsp;is&nbsp;broken&nbsp;up&nbsp;into&nbsp;chunks&nbsp;and&nbsp;given&nbsp;a&nbsp;sort&nbsp;number&nbsp;so&nbsp;each&nbsp;comment&nbsp;can&nbsp;be&nbsp;re<br>
assembled&nbsp;in&nbsp;the&nbsp;correct&nbsp;order.&nbsp;This&nbsp;was&nbsp;done&nbsp;because&nbsp;originally&nbsp;I&nbsp;was&nbsp;storing&nbsp;the&nbsp;comments<br>
in&nbsp;a&nbsp;long&nbsp;datatype&nbsp;which&nbsp;unfortunately&nbsp;cannot&nbsp;be&nbsp;indexed&nbsp;or&nbsp;joined&nbsp;with&nbsp;another&nbsp;table.&nbsp;This<br>
cause&nbsp;the&nbsp;search&nbsp;of&nbsp;text&nbsp;within&nbsp;the&nbsp;long&nbsp;description&nbsp;to&nbsp;be&nbsp;disabled&nbsp;for&nbsp;a&nbsp;long&nbsp;time.&nbsp;That<br>
is&nbsp;now&nbsp;working&nbsp;and&nbsp;is&nbsp;nto&nbsp;showing&nbsp;any&nbsp;noticeble&nbsp;performance&nbsp;hit&nbsp;that&nbsp;I&nbsp;can&nbsp;tell.&nbsp;<br>
<br>
2.&nbsp;Work&nbsp;is&nbsp;being&nbsp;started&nbsp;on&nbsp;internationalizing&nbsp;the&nbsp;Bugzilla&nbsp;source&nbsp;we&nbsp;have&nbsp;to&nbsp;allow&nbsp;our<br>
Japanese&nbsp;customers&nbsp;to&nbsp;enter&nbsp;bug&nbsp;reports&nbsp;into&nbsp;a&nbsp;single&nbsp;bugzilla&nbsp;system.&nbsp;This&nbsp;will&nbsp;probably<br>
be&nbsp;done&nbsp;by&nbsp;using&nbsp;the&nbsp;nvarchar&nbsp;data&nbsp;types&nbsp;supported&nbsp;by&nbsp;Oracle&nbsp;which&nbsp;allows&nbsp;storage&nbsp;of<br>
double&nbsp;byte&nbsp;characters&nbsp;and&nbsp;also&nbsp;the&nbsp;use&nbsp;of&nbsp;the&nbsp;Accept-Language&nbsp;in&nbsp;the&nbsp;http&nbsp;header&nbsp;for&nbsp;<br>
detection&nbsp;by&nbsp;Bugilla&nbsp;of&nbsp;which&nbsp;language&nbsp;to&nbsp;render.<br>
<br>
3.&nbsp;Of&nbsp;course&nbsp;even&nbsp;more&nbsp;cosmetic&nbsp;changes.&nbsp;It&nbsp;is&nbsp;difficult&nbsp;to&nbsp;keep&nbsp;up&nbsp;with&nbsp;the&nbsp;ever&nbsp;<br>
changing&nbsp;faces&nbsp;of&nbsp;www.redhat.com.<br>
<br>
4.&nbsp;Some&nbsp;convenience&nbsp;enhancements&nbsp;in&nbsp;the&nbsp;administration&nbsp;utilities.&nbsp;And&nbsp;more&nbsp;integration<br>
with&nbsp;other&nbsp;internal/external&nbsp;Red&nbsp;Hat&nbsp;web&nbsp;sites.<br>
<br>
I&nbsp;hope&nbsp;this&nbsp;information&nbsp;may&nbsp;prove&nbsp;helpful&nbsp;for&nbsp;your&nbsp;documentation.&nbsp;Please&nbsp;contact<br>
me&nbsp;if&nbsp;you&nbsp;have&nbsp;any&nbsp;more&nbsp;question&nbsp;or&nbsp;I&nbsp;can&nbsp;do&nbsp;anything&nbsp;else.<br>
<br>
Regards<br>
</P
></BLOCKQUOTE
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="variants.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="patches.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Bugzilla Variants</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="variants.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Useful Patches and Utilities for Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,169 +0,0 @@
<HTML
><HEAD
><TITLE
>Perforce SCM</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="PREVIOUS"
TITLE="CVS"
HREF="cvs.html"><LINK
REL="NEXT"
TITLE="Tinderbox"
HREF="tinderbox.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="cvs.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="tinderbox.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="SCM"
>5.3. Perforce SCM</A
></H1
><P
> Richard Brooksby created a Perforce integration tool for Bugzilla and TeamTrack.
You can find the main project page at
<A
HREF="http://www.ravenbrook.com/project/p4dti/"
TARGET="_top"
> http://www.ravenbrook.com/project/p4dti</A
>. "p4dti" is now an officially
supported product from Perforce, and you can find the "Perforce Public Depot"
p4dti page at <A
HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
TARGET="_top"
> http://public.perforce.com/public/perforce/p4dti/index.html</A
>.
</P
><P
> 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.
</P
><P
> Right now, there is no way to synchronize the Bug ID and the Perforce Transaction Number, or
to change the Bug ID to read (PRODUCT).bugID unless you hack it in. Additionally, if you
have synchronization problems, the easiest way to avoid them is to only put the bug
information, comments, etc. into Bugzilla, and not into the Perforce change records.
They will link anyway; merely reference the bug ID fixed in your change description,
and put a comment into Bugzilla
giving the change ID that fixed the Bugzilla bug. It's a process issue, not a technology
question.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="cvs.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="tinderbox.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>CVS</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="integration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Tinderbox</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,197 +0,0 @@
<HTML
><HEAD
><TITLE
>Better Searching</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="PREVIOUS"
TITLE="Reducing Spam"
HREF="spamlite.html"><LINK
REL="NEXT"
TITLE="Description Flags and Tracking Bugs"
HREF="trackingbugs.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="spamlite.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. The Future of Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="trackingbugs.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="SEARCHING"
>6.2. Better Searching</A
></H1
><P
><P
CLASS="LITERALLAYOUT"
>Current&nbsp;searching&nbsp;tools&nbsp;in&nbsp;Bugzilla&nbsp;include&nbsp;the&nbsp;querying&nbsp;mechanism,<br>
special&nbsp;summary&nbsp;reports&nbsp;and&nbsp;dependency&nbsp;trees.&nbsp;&nbsp;This&nbsp;message&nbsp;is&nbsp;about&nbsp;new<br>
facilities.<br>
<br>
1.&nbsp;General&nbsp;Summary&nbsp;Reports<br>
<br>
For&nbsp;some&nbsp;time&nbsp;now&nbsp;it&nbsp;has&nbsp;been&nbsp;apparent&nbsp;to&nbsp;me&nbsp;that&nbsp;the&nbsp;query&nbsp;bug&nbsp;list<br>
leaves&nbsp;a&nbsp;little&nbsp;to&nbsp;be&nbsp;desired&nbsp;in&nbsp;its&nbsp;linear&nbsp;nature.&nbsp;&nbsp;There&nbsp;is&nbsp;a&nbsp;need&nbsp;to<br>
have&nbsp;categorised&nbsp;subsets,&nbsp;and&nbsp;counts&nbsp;of&nbsp;each&nbsp;category.&nbsp;&nbsp;If&nbsp;you&nbsp;don't<br>
believe&nbsp;me,&nbsp;how&nbsp;about&nbsp;these&nbsp;facilities&nbsp;already&nbsp;in&nbsp;place&nbsp;or&nbsp;which&nbsp;people<br>
have&nbsp;asked&nbsp;for:<br>
<br>
Most&nbsp;Doomed&nbsp;Reports&nbsp;-&nbsp;Categorised&nbsp;On&nbsp;Assignee,&nbsp;Shows&nbsp;and&nbsp;Counts&nbsp;Number<br>
of&nbsp;Bugs&nbsp;For&nbsp;Each&nbsp;Assignee<br>
Bug&nbsp;#15806&nbsp;(Most&nbsp;Voted&nbsp;For&nbsp;Bugs)&nbsp;-&nbsp;Categorised&nbsp;On&nbsp;Product,&nbsp;Shows&nbsp;Bugs<br>
Voters&nbsp;Most&nbsp;Want&nbsp;Fixed<br>
Bug&nbsp;#9789&nbsp;(BugAThon&nbsp;Tracking&nbsp;Page)&nbsp;-&nbsp;Categorised&nbsp;On&nbsp;Developer&nbsp;(Subset),<br>
Counts&nbsp;Number&nbsp;of&nbsp;Bugs<br>
Bug&nbsp;#9409&nbsp;and&nbsp;#9411&nbsp;-&nbsp;The&nbsp;desire&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;report&nbsp;on&nbsp;more&nbsp;subsets.<br>
<br>
Hopefully&nbsp;you&nbsp;can&nbsp;see&nbsp;the&nbsp;gist&nbsp;of&nbsp;what&nbsp;is&nbsp;desired&nbsp;here.&nbsp;&nbsp;It's&nbsp;a&nbsp;general<br>
reporting&nbsp;mechanism.<br>
<br>
This&nbsp;mechanism&nbsp;lets&nbsp;you&nbsp;choose&nbsp;the&nbsp;subset&nbsp;of&nbsp;bugs&nbsp;to&nbsp;operate&nbsp;on&nbsp;(like<br>
query),&nbsp;let's&nbsp;you&nbsp;categorise&nbsp;them,&nbsp;possibly&nbsp;along&nbsp;with&nbsp;subcategories&nbsp;and<br>
counts&nbsp;the&nbsp;number&nbsp;of&nbsp;bugs&nbsp;within&nbsp;each&nbsp;category.&nbsp;&nbsp;It&nbsp;might&nbsp;or&nbsp;might&nbsp;not<br>
show&nbsp;the&nbsp;actual&nbsp;bugs&nbsp;themselves,&nbsp;and&nbsp;it&nbsp;might&nbsp;limit&nbsp;the&nbsp;number&nbsp;of&nbsp;bugs<br>
within&nbsp;a&nbsp;category,&nbsp;or&nbsp;categories&nbsp;to&nbsp;report&nbsp;on.<br>
<br>
I'm&nbsp;further&nbsp;sure&nbsp;that&nbsp;many&nbsp;applications&nbsp;of&nbsp;this&nbsp;mechanism&nbsp;would&nbsp;only&nbsp;be<br>
recognised&nbsp;once&nbsp;it&nbsp;was&nbsp;implemented.<br>
<br>
The&nbsp;general&nbsp;summary&nbsp;reports&nbsp;bug&nbsp;is&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=12282".<br>
<br>
2.&nbsp;Related&nbsp;Bugs<br>
<br>
It&nbsp;would&nbsp;be&nbsp;nice&nbsp;to&nbsp;have&nbsp;a&nbsp;field&nbsp;where&nbsp;you&nbsp;could&nbsp;enter&nbsp;other&nbsp;bugs<br>
related&nbsp;to&nbsp;the&nbsp;current&nbsp;bug&nbsp;-&nbsp;it&nbsp;would&nbsp;be&nbsp;handy&nbsp;for&nbsp;navigation&nbsp;and<br>
possibly&nbsp;even&nbsp;finding&nbsp;duplicates.&nbsp;&nbsp;See<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=12286".<br>
<br>
3.&nbsp;Column&nbsp;Specification&nbsp;Support<br>
<br>
Currently&nbsp;query&nbsp;seems&nbsp;to&nbsp;get&nbsp;what&nbsp;columns&nbsp;to&nbsp;report&nbsp;on&nbsp;from&nbsp;whatever&nbsp;the<br>
user&nbsp;last&nbsp;used.&nbsp;&nbsp;This&nbsp;doesn't&nbsp;work&nbsp;well&nbsp;for&nbsp;"prepackaged&nbsp;queries",&nbsp;where<br>
you&nbsp;followed&nbsp;a&nbsp;link.&nbsp;&nbsp;You&nbsp;can&nbsp;probably&nbsp;add&nbsp;a&nbsp;column&nbsp;by&nbsp;specifying&nbsp;a&nbsp;sort<br>
column,&nbsp;but&nbsp;this&nbsp;is&nbsp;difficult&nbsp;and&nbsp;suboptimal.<br>
<br>
Furthermore,&nbsp;I&nbsp;find&nbsp;that&nbsp;when&nbsp;I&nbsp;want&nbsp;to&nbsp;add&nbsp;a&nbsp;column&nbsp;to&nbsp;a&nbsp;query,&nbsp;it's<br>
usually&nbsp;a&nbsp;one&nbsp;off&nbsp;and&nbsp;I&nbsp;would&nbsp;prefer&nbsp;it&nbsp;to&nbsp;go&nbsp;away&nbsp;for&nbsp;the&nbsp;next&nbsp;query.&nbsp;<br>
Hence,&nbsp;it&nbsp;would&nbsp;be&nbsp;nice&nbsp;to&nbsp;specify&nbsp;the&nbsp;columns&nbsp;that&nbsp;appear&nbsp;on&nbsp;the&nbsp;query<br>
(and&nbsp;general&nbsp;summary&nbsp;report)&nbsp;pages.&nbsp;&nbsp;The&nbsp;default&nbsp;query&nbsp;mechanism&nbsp;should<br>
be&nbsp;able&nbsp;to&nbsp;let&nbsp;you&nbsp;specify&nbsp;your&nbsp;default&nbsp;columns.<br>
<br>
This&nbsp;proposal&nbsp;lives&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=12284".</P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="spamlite.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="trackingbugs.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Reducing Spam</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="future.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Description Flags and Tracking Bugs</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,299 +0,0 @@
<HTML
><HEAD
><TITLE
>Bugzilla Security</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="PREVIOUS"
TITLE="Product, Component, Milestone, and Version Administration"
HREF="programadmin.html"><LINK
REL="NEXT"
TITLE="Using Bugzilla"
HREF="using.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="programadmin.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Administering Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="using.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="SECURITY"
>3.4. Bugzilla Security</A
></H1
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="EPIGRAPH"
><TR
><TD
WIDTH="45%"
>&nbsp;</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="TOP"
><I
><P
><I
>Putting your money in a wall safe is better protection than depending on the fact that
no one knows that you hide your money in a mayonnaise jar in your fridge.</I
></P
></I
></TD
></TR
></TABLE
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Poorly-configured MySQL, Bugzilla, and FTP installations have given attackers full
access to systems in the past. Please take these guidelines seriously, even
for Bugzilla machines hidden away behind your firewall. 80% of all computer
trespassers are insiders, not anonymous crackers.
</P
></BLOCKQUOTE
></DIV
><P
> First thing's first: Secure your installation.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> These instructions must, of necessity, be somewhat vague since Bugzilla runs on so many different
platforms. If you have refinements of these directions for specific platforms, please
submit them to <A
HREF="mailto://mozilla-webtools@mozilla.org"
TARGET="_top"
>mozilla-webtools@mozilla.org</A
>
</P
></BLOCKQUOTE
></DIV
>
<P
></P
><OL
TYPE="1"
><LI
><P
> Ensure you are running at least MysQL version 3.22.32 or newer. Earlier versions had
notable security holes and poorly secured default configuration choices.
</P
></LI
><LI
><P
><EM
>There is no substitute for understanding the tools on your system!</EM
>
Read <A
HREF="http://www.mysql.com/documentation/mysql/bychapter/manual_Privilege_system.html"
TARGET="_top"
> The MySQL Privelege System</A
> until you can recite it from memory!</P
><P
> At the very least, ensure you password the "mysql -u root" account and the "bugs" account, establish grant
table rights (consult the Keystone guide in Appendix C: The Bugzilla Database for some easy-to-use details)
that do not allow CREATE, DROP, RELOAD, SHUTDOWN, and PROCESS for user "bugs". I wrote up the Keystone
advice back when I knew far less about security than I do now : )
</P
></LI
><LI
><P
> Lock down /etc/inetd.conf. Heck, disable inet entirely on this box. It should only listen to
port 25 for Sendmail
and port 80 for Apache.
</P
></LI
><LI
><P
>Do not run Apache as "nobody". This will require very lax permissions in your Bugzilla directories.
Run it, instead, as a user with a name, set via your httpd.conf file.</P
></LI
><LI
><P
> Ensure you have adequate access controls for the $BUGZILLA_HOME/data/ and
$BUGZILLA_HOME/shadow/ directories, as well as the $BUGZILLA_HOME/localconfig file.
The localconfig file stores your "bugs" user password,
which would be terrible to have in the hands
of a criminal. Also some files under $BUGZILLA_HOME/data/ store sensitive information, and
$BUGZILLA_HOME/shadow/ stores bug information for faster retrieval. If you fail to secure
these directories and this file, you will expose bug information to those who may not
be allowed to see it.
</P
><P
> On Apache, you can use .htaccess files to protect access to these directories, as outlined
in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=57161"
TARGET="_top"
>Bug 57161</A
> for the
localconfig file, and <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=65572"
TARGET="_top"
> Bug 65572</A
> for adequate protection in your data/ and shadow/ directories.
</P
><P
> Note the instructions which follow are Apache-specific. If you use IIS, Netscape, or other
non-Apache web servers, please consult your system documentation for how to secure these
files from being transmitted to curious users.
</P
><P
> Place the following text into a file named ".htaccess", readable by your web server,
in your $BUGZILLA_HOME/data directory.
<P
CLASS="LITERALLAYOUT"
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#60;Files&nbsp;comments&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#60;/Files&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny&nbsp;from&nbsp;all<br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
>
</P
><P
> Place the following text into a file named ".htaccess", readable by your web server,
in your $BUGZILLA_HOME/ directory.
<P
CLASS="LITERALLAYOUT"
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#60;Files&nbsp;localconfig&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny&nbsp;from&nbsp;all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#60;/Files&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allow&nbsp;from&nbsp;all<br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
>
</P
><P
> Place the following text into a file named ".htaccess", readable by your web server,
in your $BUGZILLA_HOME/shadow directory.
<P
CLASS="LITERALLAYOUT"
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deny&nbsp;from&nbsp;all<br>
&nbsp;&nbsp;&nbsp;&nbsp;</P
>
</P
></LI
></OL
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="programadmin.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="using.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Product, Component, Milestone, and Version Administration</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="administration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Using Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,308 +0,0 @@
<HTML
><HEAD
><TITLE
>The setperl.csh Utility</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="PREVIOUS"
TITLE="Useful Patches and Utilities for Bugzilla"
HREF="patches.html"><LINK
REL="NEXT"
TITLE="Command-line Bugzilla Queries"
HREF="cmdline.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="patches.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Appendix D. Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="cmdline.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="SETPERL"
>D.1. The setperl.csh Utility</A
></H1
><P
>
You can use the "setperl.csh" utility to quickly and easily
change the path to perl on all your Bugzilla files.
This is a C-shell script; if you do not have "csh" or "tcsh" in the search
path on your system, it will not work!
</P
><DIV
CLASS="PROCEDURE"
><OL
TYPE="1"
><LI
><P
> Download the "setperl.csh" utility to your Bugzilla
directory and make it executable.
</P
><OL
CLASS="SUBSTEPS"
TYPE="a"
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>cd /your/path/to/bugzilla</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>wget -O setperl.csh 'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=10795'</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>chmod u+x setperl.csh</B
>
</TT
>
</P
></LI
></OL
></LI
><LI
><P
> Prepare (and fix) Bugzilla file permissions.
</P
><OL
CLASS="SUBSTEPS"
TYPE="a"
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>chmod u+w *</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>chmod u+x duplicates.cgi</B
>
</TT
>
</P
></LI
><LI
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>chmod a-x bug_status.html</B
>
</TT
>
</P
></LI
></OL
></LI
><LI
><P
> Run the script:
</P
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>./setperl.csh /your/path/to/perl</B
>
</TT
>
<DIV
CLASS="EXAMPLE"
><A
NAME="AEN1963"
></A
><P
><B
>Example D-1. Using Setperl to set your perl path</B
></P
><P
> <TT
CLASS="COMPUTEROUTPUT"
> <TT
CLASS="PROMPT"
>bash#</TT
>
<B
CLASS="COMMAND"
>./setperl.csh /usr/bin/perl</B
>
</TT
>
</P
></DIV
>
</P
></LI
></OL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="patches.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="cmdline.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Useful Patches and Utilities for Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="patches.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Command-line Bugzilla Queries</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,189 +0,0 @@
<HTML
><HEAD
><TITLE
>Reducing Spam</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="PREVIOUS"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="NEXT"
TITLE="Better Searching"
HREF="searching.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="future.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. The Future of Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="searching.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="SPAMLITE"
>6.1. Reducing Spam</A
></H1
><P
><P
CLASS="LITERALLAYOUT"
>Those&nbsp;who&nbsp;use&nbsp;Bugzilla&nbsp;frequently&nbsp;are&nbsp;probably&nbsp;used&nbsp;to&nbsp;notification&nbsp;spam<br>
-&nbsp;unwanted&nbsp;or&nbsp;unnecessary&nbsp;notifications.&nbsp;&nbsp;A&nbsp;number&nbsp;of&nbsp;proposals&nbsp;have<br>
been&nbsp;put&nbsp;forward&nbsp;to&nbsp;attempt&nbsp;to&nbsp;reduce&nbsp;this.<br>
<br>
1.&nbsp;Reduce&nbsp;CC&nbsp;Spam<br>
<br>
Some&nbsp;of&nbsp;you&nbsp;probably&nbsp;know&nbsp;me&nbsp;as&nbsp;that&nbsp;guy&nbsp;who&nbsp;CCs&nbsp;on&nbsp;heaps&nbsp;and&nbsp;heaps&nbsp;of<br>
bugs.&nbsp;&nbsp;Just&nbsp;as&nbsp;you&nbsp;get&nbsp;a&nbsp;lot&nbsp;of&nbsp;CC&nbsp;changes&nbsp;from&nbsp;me,&nbsp;so&nbsp;do&nbsp;I&nbsp;get&nbsp;a&nbsp;lot<br>
from&nbsp;others.&nbsp;&nbsp;Why&nbsp;should&nbsp;CC&nbsp;changes&nbsp;send&nbsp;out&nbsp;email&nbsp;notifications?<br>
<br>
It's&nbsp;not&nbsp;necessarily&nbsp;the&nbsp;best&nbsp;idea&nbsp;to&nbsp;just&nbsp;remove&nbsp;the&nbsp;CC&nbsp;spam,&nbsp;there&nbsp;are<br>
other&nbsp;issues&nbsp;too,&nbsp;like&nbsp;the&nbsp;difficulty&nbsp;of&nbsp;adding&nbsp;to&nbsp;large&nbsp;CC&nbsp;fields.<br>
<br>
For&nbsp;these&nbsp;reasons&nbsp;and&nbsp;more,&nbsp;an&nbsp;RFE&nbsp;for&nbsp;a&nbsp;per&nbsp;user&nbsp;"BCC"&nbsp;facility&nbsp;exists<br>
that&nbsp;people&nbsp;could&nbsp;use&nbsp;to&nbsp;silently&nbsp;and&nbsp;privately&nbsp;track&nbsp;bugs,&nbsp;in&nbsp;a&nbsp;similar<br>
way&nbsp;to&nbsp;voting&nbsp;today,&nbsp;but&nbsp;applying&nbsp;to&nbsp;an&nbsp;unlimited&nbsp;number&nbsp;of&nbsp;bugs.&nbsp;&nbsp;See<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=7345".<br>
<br>
2.&nbsp;Bulk&nbsp;Changes<br>
<br>
You&nbsp;know&nbsp;the&nbsp;drill&nbsp;-&nbsp;a&nbsp;large&nbsp;milestone&nbsp;change,&nbsp;a&nbsp;component&nbsp;movement,<br>
whatever,&nbsp;and&nbsp;lots&nbsp;of&nbsp;notifications&nbsp;are&nbsp;generated.&nbsp;&nbsp;If&nbsp;there's&nbsp;enough<br>
maybe&nbsp;you'll&nbsp;just&nbsp;go&nbsp;delete,&nbsp;delete,&nbsp;delete,&nbsp;whoops,&nbsp;there&nbsp;goes&nbsp;another<br>
notification&nbsp;that&nbsp;wasn't&nbsp;from&nbsp;the&nbsp;bulk&nbsp;change&nbsp;you&nbsp;missed.<br>
<br>
Shouldn't&nbsp;bulk&nbsp;changes&nbsp;send&nbsp;out&nbsp;one&nbsp;notification?&nbsp;&nbsp;A&nbsp;proposal&nbsp;for&nbsp;this<br>
is&nbsp;at&nbsp;"http://bugzilla.mozilla.org/show_bug.cgi?id=26943".<br>
<br>
3.&nbsp;Configurable&nbsp;Notification&nbsp;Criteria<br>
<br>
It&nbsp;would&nbsp;be&nbsp;good&nbsp;if&nbsp;you&nbsp;could&nbsp;choose&nbsp;what&nbsp;you&nbsp;want&nbsp;to&nbsp;receive.&nbsp;&nbsp;There<br>
are&nbsp;two&nbsp;parts&nbsp;to&nbsp;this.<br>
<br>
(a)&nbsp;Choose&nbsp;a&nbsp;selection&nbsp;of&nbsp;bugs&nbsp;you're&nbsp;interested&nbsp;in.&nbsp;&nbsp;This&nbsp;would&nbsp;be<br>
similar&nbsp;to&nbsp;CC&nbsp;except&nbsp;you&nbsp;let&nbsp;the&nbsp;set&nbsp;be&nbsp;computed&nbsp;from&nbsp;selection&nbsp;criteria<br>
rather&nbsp;than&nbsp;limited&nbsp;to&nbsp;the&nbsp;bugs&nbsp;your&nbsp;name&nbsp;is&nbsp;on.&nbsp;&nbsp;There&nbsp;is&nbsp;currently&nbsp;a<br>
limited&nbsp;version&nbsp;of&nbsp;this&nbsp;in&nbsp;the&nbsp;bugzilla&nbsp;preferences,&nbsp;ie&nbsp;"all&nbsp;qualifying<br>
bugs"/"all&nbsp;qualifying&nbsp;bugs&nbsp;except&nbsp;the&nbsp;ones&nbsp;I&nbsp;change"/"only&nbsp;those&nbsp;bugs<br>
which&nbsp;I&nbsp;am&nbsp;listed&nbsp;on&nbsp;the&nbsp;cc&nbsp;line".<br>
(b)&nbsp;Choose&nbsp;what&nbsp;changes&nbsp;will&nbsp;trigger&nbsp;a&nbsp;notification&nbsp;for&nbsp;the&nbsp;bugs&nbsp;you&nbsp;are<br>
watching.&nbsp;&nbsp;With&nbsp;this,&nbsp;you&nbsp;could&nbsp;choose&nbsp;whether&nbsp;you&nbsp;want&nbsp;to&nbsp;receive&nbsp;cc,<br>
dependency&nbsp;and&nbsp;keyword&nbsp;changes,&nbsp;for&nbsp;example.<br>
<br>
Both&nbsp;of&nbsp;these&nbsp;proposals&nbsp;live&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=14137".<br>
Note&nbsp;that&nbsp;they&nbsp;also&nbsp;live&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=17464",&nbsp;and&nbsp;the&nbsp;change&nbsp;<br>
has&nbsp;been&nbsp;checked&nbsp;in.&nbsp;&nbsp;This&nbsp;is&nbsp;fixed&nbsp;with&nbsp;Bugzilla&nbsp;2.12&nbsp;and&nbsp;is&nbsp;no&nbsp;longer<br>
an&nbsp;issue.&nbsp;&nbsp;Woo-Hoo!</P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="future.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="searching.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>The Future of Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="future.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Better Searching</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,138 +0,0 @@
<HTML
><HEAD
><TITLE
>Tinderbox</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"><LINK
REL="PREVIOUS"
TITLE="Perforce SCM"
HREF="scm.html"><LINK
REL="NEXT"
TITLE="The Future of Bugzilla"
HREF="future.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="scm.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Integrating Bugzilla with Third-Party Tools</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="future.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="TINDERBOX"
>5.4. Tinderbox</A
></H1
><P
>We need Tinderbox integration information</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="scm.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="future.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Perforce SCM</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="integration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Future of Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,193 +0,0 @@
<HTML
><HEAD
><TITLE
>Description Flags and Tracking Bugs</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="The Future of Bugzilla"
HREF="future.html"><LINK
REL="PREVIOUS"
TITLE="Better Searching"
HREF="searching.html"><LINK
REL="NEXT"
TITLE="Bug Issues"
HREF="bugprobs.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="searching.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 6. The Future of Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="bugprobs.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="TRACKINGBUGS"
>6.3. Description Flags and Tracking Bugs</A
></H1
><P
><P
CLASS="LITERALLAYOUT"
>Since&nbsp;I&nbsp;last&nbsp;posted&nbsp;on&nbsp;this&nbsp;issue,&nbsp;we&nbsp;now&nbsp;have&nbsp;"keywords"&nbsp;that&nbsp;solve<br>
many&nbsp;of&nbsp;the&nbsp;issues&nbsp;of&nbsp;description&nbsp;and&nbsp;status&nbsp;whiteboard&nbsp;keywords.&nbsp;&nbsp;We<br>
have&nbsp;seen&nbsp;a&nbsp;migration&nbsp;towards&nbsp;keywords,&nbsp;but&nbsp;there&nbsp;is&nbsp;still&nbsp;further&nbsp;to<br>
go.<br>
<br>
Description&nbsp;(&nbsp;+&nbsp;Status&nbsp;Whiteboard&nbsp;)&nbsp;Keywords<br>
--------------------------------------------<br>
<br>
Some&nbsp;description&nbsp;keywords&nbsp;remain.&nbsp;&nbsp;I'd&nbsp;like&nbsp;to&nbsp;hear&nbsp;what&nbsp;reasons,&nbsp;other<br>
than&nbsp;time,&nbsp;there&nbsp;are&nbsp;for&nbsp;these&nbsp;staying&nbsp;as&nbsp;they&nbsp;are.&nbsp;&nbsp;I'm&nbsp;suspecting&nbsp;many<br>
are&nbsp;not&nbsp;really&nbsp;being&nbsp;used.&nbsp;&nbsp;Hopefully&nbsp;we&nbsp;can&nbsp;totally&nbsp;remove&nbsp;these<br>
eventually.<br>
<br>
Tracking&nbsp;Bugs<br>
-------------<br>
<br>
When&nbsp;I&nbsp;suggested&nbsp;keywords,&nbsp;I&nbsp;did&nbsp;so&nbsp;to&nbsp;get&nbsp;rid&nbsp;of&nbsp;tracking&nbsp;bugs&nbsp;too,<br>
though&nbsp;we've&nbsp;had&nbsp;less&nbsp;success&nbsp;on&nbsp;that&nbsp;front.<br>
<br>
There&nbsp;are&nbsp;many&nbsp;disadvantages&nbsp;to&nbsp;tracking&nbsp;bugs.<br>
<br>
-&nbsp;They&nbsp;can&nbsp;pollute&nbsp;bugs&nbsp;counts,&nbsp;and&nbsp;you&nbsp;must&nbsp;make&nbsp;sure&nbsp;you&nbsp;exclude<br>
them.&nbsp;&nbsp;I&nbsp;believe&nbsp;the&nbsp;meta&nbsp;keyword&nbsp;might&nbsp;be&nbsp;used&nbsp;for&nbsp;this&nbsp;purpose.<br>
-&nbsp;They&nbsp;have&nbsp;an&nbsp;assignee&nbsp;but&nbsp;there&nbsp;is&nbsp;nothing&nbsp;to&nbsp;fix,&nbsp;and&nbsp;that&nbsp;person&nbsp;can<br>
get&nbsp;whined&nbsp;at&nbsp;by&nbsp;Bugzilla.<br>
-&nbsp;It&nbsp;would&nbsp;be&nbsp;better&nbsp;to&nbsp;craft&nbsp;your&nbsp;own&nbsp;"dependency&nbsp;tree"&nbsp;rather&nbsp;than<br>
rely&nbsp;on&nbsp;a&nbsp;fixed&nbsp;hierachy&nbsp;in&nbsp;the&nbsp;bug&nbsp;system.<br>
-&nbsp;In&nbsp;creating&nbsp;a&nbsp;nice&nbsp;little&nbsp;hierachy,&nbsp;many&nbsp;bugs&nbsp;duplicate&nbsp;information<br>
that&nbsp;should&nbsp;be&nbsp;available&nbsp;in&nbsp;other&nbsp;ways,&nbsp;eg<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=12833"&nbsp;which&nbsp;is<br>
about&nbsp;beta&nbsp;1&nbsp;networking&nbsp;issues.&nbsp;&nbsp;These&nbsp;could&nbsp;fall&nbsp;behind&nbsp;the&nbsp;actual<br>
data.&nbsp;&nbsp;What&nbsp;tracking&nbsp;bugs&nbsp;are&nbsp;good&nbsp;for,&nbsp;ad&nbsp;hoc&nbsp;lists,&nbsp;is&nbsp;what&nbsp;keywords<br>
are&nbsp;better&nbsp;for.<br>
-&nbsp;An&nbsp;automatically&nbsp;generated&nbsp;dependency&nbsp;structure&nbsp;between&nbsp;one&nbsp;"tracking<br>
bug"&nbsp;and&nbsp;another&nbsp;would&nbsp;be&nbsp;better&nbsp;than&nbsp;a&nbsp;manual&nbsp;one,&nbsp;since&nbsp;it&nbsp;gives&nbsp;exact<br>
rather&nbsp;than&nbsp;manually&nbsp;set&nbsp;up&nbsp;classifications.<br>
<br>
Probably&nbsp;the&nbsp;only&nbsp;feature&nbsp;preventing&nbsp;tracking&nbsp;bugs&nbsp;being&nbsp;replaced&nbsp;is&nbsp;the<br>
dependency&nbsp;tree.&nbsp;&nbsp;The&nbsp;quintessential&nbsp;tracking&nbsp;bug&nbsp;seems&nbsp;to&nbsp;be&nbsp;bug&nbsp;#7229<br>
"chofmann's&nbsp;watch&nbsp;list",&nbsp;which&nbsp;probably&nbsp;has&nbsp;about&nbsp;a&nbsp;couple&nbsp;of&nbsp;hundred<br>
bugs&nbsp;at&nbsp;various&nbsp;levels,&nbsp;which&nbsp;allows&nbsp;a&nbsp;nice&nbsp;visualisation.<br>
<br>
Before&nbsp;keywords&nbsp;can&nbsp;replace&nbsp;tracking&nbsp;bugs&nbsp;better&nbsp;visualisation&nbsp;is&nbsp;going<br>
to&nbsp;be&nbsp;required.&nbsp;&nbsp;General&nbsp;summary&nbsp;reports&nbsp;and&nbsp;dependency&nbsp;forests&nbsp;of&nbsp;a&nbsp;bug<br>
list&nbsp;("http://bugzilla.mozilla.org/show_bug.cgi?id=12992")&nbsp;could&nbsp;both<br>
help,&nbsp;but&nbsp;neither&nbsp;solves&nbsp;the&nbsp;problem&nbsp;totally.&nbsp;&nbsp;Perhaps&nbsp;keywords&nbsp;within<br>
keywords&nbsp;would&nbsp;help&nbsp;here.&nbsp;&nbsp;In&nbsp;any&nbsp;case,&nbsp;I'm&nbsp;still&nbsp;thinking&nbsp;about&nbsp;this<br>
one.<br>
<br>
Some&nbsp;tracking&nbsp;bugs&nbsp;could&nbsp;definitely&nbsp;be&nbsp;turned&nbsp;into&nbsp;keywords&nbsp;immediately<br>
though,&nbsp;and&nbsp;I'll&nbsp;point&nbsp;the&nbsp;finger&nbsp;at<br>
"http://bugzilla.mozilla.org/show_bug.cgi?id=7954"&nbsp;here&nbsp;since&nbsp;that's<br>
what&nbsp;came&nbsp;to&nbsp;mind&nbsp;first.</P
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="searching.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bugprobs.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Better Searching</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="future.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Bug Issues</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,149 +0,0 @@
<HTML
><HEAD
><TITLE
>Translations</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="About This Guide"
HREF="about.html"><LINK
REL="PREVIOUS"
TITLE="Feedback"
HREF="feedback.html"><LINK
REL="NEXT"
TITLE="Document Conventions"
HREF="conventions.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="feedback.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 1. About This Guide</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="conventions.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="TRANSLATIONS"
>1.8. Translations</A
></H1
><P
> The Bugzilla Guide needs translators!
Please volunteer your translation into the language of your choice.
If you will translate this Guide, please notify the members of the mozilla-webtools mailing list at
<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:mozilla-webtools@mozilla.org"
>mozilla-webtools@mozilla.org</A
>&#62;</TT
>. Since The Bugzilla Guide is also hosted on the
Linux Documentation Project, you would also do well to notify
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="feedback.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="conventions.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Feedback</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="about.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Document Conventions</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,589 +0,0 @@
<HTML
><HEAD
><TITLE
>User Administration</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="PREVIOUS"
TITLE="Post-Installation Checklist"
HREF="postinstall-check.html"><LINK
REL="NEXT"
TITLE="Product, Component, Milestone, and Version Administration"
HREF="programadmin.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="postinstall-check.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. Administering Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="programadmin.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="USERADMIN"
>3.2. User Administration</A
></H1
><P
> User administration is one of the easiest parts of Bugzilla.
Keeping it from getting out of hand, however, can become a challenge.
</P
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="DEFAULTUSER"
>3.2.1. Creating the Default User</A
></H2
><P
> When you first run checksetup.pl after installing Bugzilla, it will prompt you
for the administrative username (email address) and password for this "super user".
If for some reason you were to delete the "super user" account, re-running
checksetup.pl will again prompt you for this username and password.
</P
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> If you wish to add more administrative users, you must use the MySQL interface.
Run "mysql" from the command line, and use these commands ("mysql&#62;" denotes the
mysql prompt, not something you should type in):
<B
CLASS="COMMAND"
><TT
CLASS="PROMPT"
>mysql&#62;</TT
> use bugs;</B
>
<B
CLASS="COMMAND"
><TT
CLASS="PROMPT"
>mysql&#62;</TT
> update profiles set groupset=0x7ffffffffffffff
where login_name = "(user's login name)"; </B
>
</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="SECTION"
><H2
CLASS="SECTION"
><A
NAME="MANAGEUSERS"
>3.2.2. Managing Other Users</A
></H2
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="LOGIN"
>3.2.2.1. Logging In</A
></H3
><P
></P
><OL
TYPE="1"
><LI
><P
> Open the index.html page for your Bugzilla installation in your browser window.
</P
></LI
><LI
><P
> Click the "Query Existing Bug Reports" link.
</P
></LI
><LI
><P
> Click the "Log In" link at the foot of the page.
</P
></LI
><LI
><P
> Type your email address, and the password which was emailed to you when you
created your Bugzilla account, into the spaces provided.
</P
></LI
></OL
><P
>Congratulations, you are logged in!</P
></DIV
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="CREATENEWUSERS"
>3.2.2.2. Creating new users</A
></H3
><P
> Your users can create their own user accounts by clicking the "New Account"
link at the bottom of each page.
However, should you desire to create user accounts ahead of time, here is how you do it.
</P
><P
></P
><OL
TYPE="1"
><LI
><P
> After logging in, click the "Users" link at the footer of the query page.
</P
></LI
><LI
><P
> To see a specific user, type a portion of their login name
in the box provided and click "submit".
To see all users, simply click the "submit" button.
You must click "submit" here to be able to add a new user.
</P
><DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> More functionality is available via the list on the right-hand side
of the text entry box.
You can match what you type as a case-insensitive substring (the default)
of all users on your system, a case-sensitive regular expression
(please see the "man regexp" manual page for details on regular expression syntax),
or a <EM
>reverse</EM
> regular expression match,
where every user name which does NOT match the regular expression
is selected.
</P
></BLOCKQUOTE
></DIV
></LI
><LI
><P
> Click the "Add New User" link at the bottom of the user list
</P
></LI
><LI
><P
> Fill out the form presented. This page is self-explanatory. When done, click "submit".
</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Adding a user this way will <EM
>not</EM
> send an email
informing them of their username and password.
In general, it is preferable to log out and use the "New Account"
button to create users, as it will pre-populate all the required fields and also notify
the user of her account name and password.
</P
></BLOCKQUOTE
></DIV
></LI
></OL
></DIV
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="DISABLEUSERS"
>3.2.2.3. Disabling Users</A
></H3
><P
> I bet you noticed that big "Disabled Text" entry box available from the "Add New User" screen,
when you edit an account?
By entering any text in this box and selecting "submit",
you have prevented the user from using Bugzilla via the web interface.
Your explanation, written in this text box, will be presented to the user
the next time she attempts to use the system.
<DIV
CLASS="WARNING"
><P
></P
><TABLE
CLASS="WARNING"
BORDER="1"
WIDTH="100%"
><TR
><TD
ALIGN="CENTER"
><B
>Warning</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
> Don't disable your own administrative account, or you will hate life!
</P
></TD
></TR
></TABLE
></DIV
>
</P
></DIV
><DIV
CLASS="SECTION"
><H3
CLASS="SECTION"
><A
NAME="MODIFYUSERS"
>3.2.2.4. Modifying Users</A
></H3
><P
> Here I will attempt to describe the function of each option on the user edit screen.
</P
><P
></P
><UL
><LI
><P
> <EM
>Login Name</EM
>: This is generally the user's email address.
However, if you have edited your system parameters,
this may just be the user's login name or some other identifier.
<DIV
CLASS="TIP"
><BLOCKQUOTE
CLASS="TIP"
><P
><B
>Tip: </B
> For compatability reasons, you should probably
stick with email addresses as user login names. It will make your life easier.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> <EM
>Real Name</EM
>: Duh!
</P
></LI
><LI
><P
> <EM
>Password</EM
>: You will only see asterisks in versions
of Bugzilla newer than 2.10 or early 2.11. You can change the user password here.
</P
></LI
><LI
><P
> <EM
>Email Notification</EM
>: You may choose from one of three options:
<P
></P
><OL
TYPE="1"
><LI
><P
> All qualifying bugs except those which I change:
The user will be notified of any change to any bug
for which she is the reporter, assignee, Q/A contact, CC recipient, or "watcher".
</P
></LI
><LI
><P
> Only those bugs which I am listed on the CC line:
The user will not be notified of changes to bugs where she is the assignee,
reporter, or Q/A contact, but will receive them if she is on the CC list.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> She will still receive whining cron emails if you set up the "whinemail" feature.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> <EM
>All Qualifying Bugs</EM
>: This user is a glutton for punishment.
If her name is in the reporter, Q/A contact, CC, assignee, or is a "watcher",
she will get email updates regarding the bug.
</P
></LI
></OL
></P
><P
> <EM
>Disable Text</EM
>: If you type anything in this box,
including just a space, the user account is disabled from making any changes
to bugs via the web interface, and what you type in this box is presented as the reason.
<DIV
CLASS="WARNING"
><P
></P
><TABLE
CLASS="WARNING"
BORDER="1"
WIDTH="90%"
><TR
><TD
ALIGN="CENTER"
><B
>Warning</B
></TD
></TR
><TR
><TD
ALIGN="LEFT"
><P
>Don't disable the administrator account!</P
></TD
></TR
></TABLE
></DIV
>
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> As of this writing, the user can still submit bugs via the e-mail gateway,
if you set it up, despite the disabled text field. The e-mail gateway should
<EM
>not</EM
> be enabled for secure installations of Bugzilla.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> <EM
>CanConfirm</EM
>: This field is only used if you have enabled
"unconfirmed" status in your parameters screen. If you enable this for a user,
that user can then move bugs from "Unconfirmed" to "Confirmed" status (ergo: "New" status).
Be judicious about allowing users to turn this bit on for other users.
</P
></LI
><LI
><P
> <EM
>Creategroups</EM
>: This option will allow a user to create and
destroy groups in Bugzilla. Unless you are using the Bugzilla GroupSentry security
option "usebuggroupsentry" in your parameters, this setting has no effect.
</P
></LI
><LI
><P
> <EM
>Editbugs</EM
>: Unless a user has this bit set, they can only edit
those bugs for which they are the assignee or the reporter.
<DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> Leaving this option unchecked does not prevent users from adding
comments to a bug! They simply cannot change a bug priority, severity,
etc. unless they are the assignee or reporter.
</P
></BLOCKQUOTE
></DIV
>
</P
></LI
><LI
><P
> <EM
>Editcomponents</EM
>: This flag allows a user to create new
products and components, as well as modify and destroy those that have no bugs
associated with them. If a product or component has bugs associated with it,
those bugs must be moved to a different product or component before Bugzilla
will allow them to be destroyed. The name of a product or component can be
changed without affecting the associated bugs, but it tends to annoy
the hell out of your users when these change a lot.
</P
></LI
><LI
><P
> <EM
>Editkeywords</EM
>: If you use Bugzilla's keyword functionality,
enabling this feature allows a user can create and destroy keywords.
As always, the keywords for existing bugs containing the keyword
the user wishes to destroy must be changed before Bugzilla will allow it to die.
You must be very careful about creating too many new keywords
if you run a very large Bugzilla installation; keywords are global variables
across products, and you can often run into a phenomenon called "keyword bloat".
This confuses users, and then the feature goes unused.
</P
></LI
><LI
><P
> <EM
>Editusers</EM
>: This flag allows a user do what you're doing
right now: edit other users.
This will allow those with the right to do so to remove administrator
priveleges from other users or grant them to themselves. Enable with care.
</P
></LI
><LI
><P
> <EM
>PRODUCT</EM
>: PRODUCT bugs access. This allows an administrator,
with product-level granularity, to specify in which products a user can edit bugs.
The user must still have the "editbugs" privelege to edit bugs in this area;
this simply restricts them from even seeing bugs outside these boundaries if the administrator
has enabled the group sentry parameter "usebuggroupsentry". Unless you are using bug groups,
this option has no effect.
</P
></LI
></UL
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="postinstall-check.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="programadmin.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Post-Installation Checklist</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="administration.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Product, Component, Milestone, and Version Administration</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,262 +0,0 @@
<HTML
><HEAD
><TITLE
>Using Bugzilla</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Bugzilla Security"
HREF="security.html"><LINK
REL="NEXT"
TITLE="What is Bugzilla?"
HREF="whatis.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="security.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="whatis.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="USING"
>Chapter 4. Using Bugzilla</A
></H1
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="EPIGRAPH"
><TR
><TD
WIDTH="45%"
>&nbsp;</TD
><TD
WIDTH="45%"
ALIGN="LEFT"
VALIGN="TOP"
><I
><P
><I
>What, Why, How, &#38; What's in it for me?</I
></P
></I
></TD
></TR
></TABLE
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>4.1. <A
HREF="whatis.html"
>What is Bugzilla?</A
></DT
><DT
>4.2. <A
HREF="why.html"
>Why Should We Use Bugzilla?</A
></DT
><DT
>4.3. <A
HREF="how.html"
>How do I use Bugzilla?</A
></DT
><DD
><DL
><DT
>4.3.1. <A
HREF="how.html#MYACCOUNT"
>Create a Bugzilla Account</A
></DT
><DT
>4.3.2. <A
HREF="how.html#QUERY"
>The Bugzilla Query Page</A
></DT
><DT
>4.3.3. <A
HREF="how.html#BUGREPORTS"
>Creating and Managing Bug Reports</A
></DT
><DD
><DL
><DT
>4.3.3.1. <A
HREF="how.html#BUG_WRITING"
>Writing a Great Bug Report</A
></DT
><DT
>4.3.3.2. <A
HREF="how.html#BUG_MANAGE"
>Managing your Bug Reports</A
></DT
></DL
></DD
></DL
></DD
><DT
>4.4. <A
HREF="init4me.html"
>What's in it for me?</A
></DT
><DD
><DL
><DT
>4.4.1. <A
HREF="init4me.html#ACCOUNTSETTINGS"
>Account Settings</A
></DT
><DT
>4.4.2. <A
HREF="init4me.html#EMAILSETTINGS"
>Email Settings</A
></DT
><DD
><DL
><DT
>4.4.2.1. <A
HREF="init4me.html#NOTIFICATION"
>Email Notification</A
></DT
><DT
>4.4.2.2. <A
HREF="init4me.html#NEWEMAILTECH"
>New Email Technology</A
></DT
><DT
>4.4.2.3. <A
HREF="init4me.html#WATCHSETTINGS"
>"Watching" Users</A
></DT
></DL
></DD
><DT
>4.4.3. <A
HREF="init4me.html#FOOTERSETTINGS"
>Page Footer</A
></DT
><DT
>4.4.4. <A
HREF="init4me.html#PERMISSIONSETTINGS"
>Permissions</A
></DT
></DL
></DD
><DT
>4.5. <A
HREF="usingbz-conc.html"
>Using Bugzilla-Conclusion</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="security.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="whatis.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Bugzilla Security</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>What is Bugzilla?</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,148 +0,0 @@
<HTML
><HEAD
><TITLE
>Using Bugzilla-Conclusion</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Using Bugzilla"
HREF="using.html"><LINK
REL="PREVIOUS"
TITLE="What's in it for me?"
HREF="init4me.html"><LINK
REL="NEXT"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="init4me.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 4. Using Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="integration.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="USINGBZ-CONC"
>4.5. Using Bugzilla-Conclusion</A
></H1
><P
> Thank you for reading through this portion of the Bugzilla Guide. I anticipate
it may not yet meet the needs of all readers. If you have additional comments or
corrections to make, please submit your contributions to the
<A
HREF="mailto://mozilla-webtools@mozilla.org"
TARGET="_top"
>mozilla-webtools</A
>
mailing list/newsgroup. The mailing list is mirrored to the netscape.public.mozilla.webtools
newsgroup, and the newsgroup is mirrored to mozilla-webtools@mozilla.org
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="init4me.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="integration.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>What's in it for me?</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="using.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Integrating Bugzilla with Third-Party Tools</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@@ -1,144 +0,0 @@
<HTML
><HEAD
><TITLE
>Bugzilla Variants</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Cleaning up after mucking with Bugzilla"
HREF="cleanupwork.html"><LINK
REL="NEXT"
TITLE="Red Hat Bugzilla"
HREF="rhbugzilla.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="cleanupwork.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="rhbugzilla.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="VARIANTS"
>Chapter 7. Bugzilla Variants</A
></H1
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
> I <EM
>know</EM
> there are more variants than just RedHat Bugzilla out there.
Please help me get information about them, their project status, and benefits there
might be in using them or in using their code in main-tree Bugzilla.
</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="cleanupwork.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="rhbugzilla.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Cleaning up after mucking with Bugzilla</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Red Hat Bugzilla</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Some files were not shown because too many files have changed in this diff Show More