Glossary

0-9, high ascii

.htaccess

Apache web server, and other NCSA-compliant web servers, observe the convention of using files in directories called .htaccess to restrict access to certain files. In Bugzilla, they are used to keep secret files which would otherwise compromise your installation - e.g. the localconfig file contains the password to your database. curious.

A

Apache

In this context, Apache is the web server most commonly used for serving up Bugzilla pages. Contrary to popular belief, the apache web server has nothing to do with the ancient and noble Native American tribe, but instead derived its name from the fact that it was "a patchy" version of the original NCSA world-wide-web server.

Useful Directives when configuring Bugzilla

AddHandler

Tell Apache that it's OK to run CGI scripts.

AllowOverride, Options

These directives are used to tell Apache many things about the directory they apply to. For Bugzilla's purposes, we need them to allow script execution and .htaccess overrides.

DirectoryIndex

Used to tell Apache what files are indexes. If you can not add index.cgi to the list of valid files, you'll need to set $index_html to 1 in localconfig so ./checksetup.pl will create an index.html that redirects to index.cgi.

ScriptInterpreterSource

Used when running Apache on windows so the shebang line doesn't have to be changed in every Bugzilla script.

B

Bug

A "bug" in Bugzilla refers to an issue entered into the database which has an associated number, assignments, comments, etc. Some also refer to a "tickets" or "issues"; in the context of Bugzilla, they are synonymous.

Bug Number

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.

Bugzilla

Bugzilla is the world-leading free software bug tracking system.

C

Common Gateway Interface
(CGI)

CGI is an acronym for Common Gateway Interface. This is a standard for interfacing an external application with a web server. Bugzilla is an example of a CGI application.

Component

A Component is a subsection of a Product. It should be a narrow category, tailored to your organization. All Products must contain at least one Component (and, as a matter of fact, creating a Product with no Components will create an error in Bugzilla).

CPAN

CPAN stands for the "Comprehensive Perl Archive Network". CPAN maintains a large number of extremely useful Perl modules - encapsulated chunks of code for performing a particular task.

D

daemon

A daemon is a computer program which runs in the background. In general, most daemons are started at boot time via System V init scripts, or through RC scripts on BSD-based systems. mysqld, the MySQL server, and apache, a web server, are generally run as daemons.

G

Groups

The word "Groups" has a very special meaning to Bugzilla. Bugzilla's main security mechanism comes by placing users in groups, and assigning those groups certain privileges to view bugs in particular Products in the Bugzilla database.

M

Message Transport Agent
(MTA)

A Message Transport Agent is used to control the flow of email on a system. Many unix based systems use sendmail which is what Bugzilla expects to find by default at /usr/sbin/sendmail. Many other MTA's will work, but they all require that the sendmailnow param be set to on.

MySQL

MySQL is currently the required RDBMS for Bugzilla. MySQL can be downloaded from http://www.mysql.com. While you should familiarize yourself with all of the documentation, some high points are:

  • MySQL Privilege System - Much more detailed information about the suggestions in Section 5.6.2.

P

Product

A Product is a broad category of types of bugs, normally representing a single piece of software or entity. In general, there are several Components to a Product. A Product may define a group (used for security) for all bugs entered into its Components.

Perl

First written by Larry Wall, Perl is a remarkable program language. It has the benefits of the flexibility of an interpreted scripting language (such as shell script), combined with the speed and power of a compiled language, such as C. Bugzilla is maintained in Perl.

Q

QA

"QA", "Q/A", and "Q.A." are 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 "QA Contact" field in a bug.

R

Relational DataBase Managment System
(RDBMS)

A relational database management system is a database system that stores information in tables that are related to each other.

S

SGML

SGML stands for "Standard Generalized Markup Language". Created in the 1980's to provide an extensible means to maintain documentation based upon content instead of presentation, SGML has withstood the test of time as a robust, powerful language. XML is the "baby brother" of SGML; any valid XML document it, by definition, a valid SGML document. The document you are reading is written and maintained in SGML, and is also valid XML if you modify the Document Type Definition.

T

Target Milestone

Target Milestones are Product goals. They are configurable on a per-Product basis. Most software development houses have a concept of "milestones" where the people funding a project expect certain functionality on certain dates. Bugzilla facilitates meeting these milestones by giving you the ability to declare by which milestone a bug will be fixed, or an enhancement will be implemented.

Tool Command Language
(TCL)

TCL is an open source scripting language available for Windows, Macintosh, and Unix based systems. Bugzilla 1.0 was written in TCL but never released. The first release of Bugzilla was 2.0, which was when it was ported to perl.

Z

Zarro Boogs Found

This is just a goofy way of saying that there were no bugs found matching your query. When asked to explain this message, Terry had the following to say:

 

I've been asked to explain this ... way back when, when Netscape released version 4.0 of its browser, we had a release party. Naturally, there had been a big push to try and fix every known bug before the release. Naturally, that hadn't actually happened. (This is not unique to Netscape or to 4.0; the same thing has happened with every software project I've ever seen.) Anyway, at the release party, T-shirts were handed out that said something like "Netscape 4.0: Zarro Boogs". Just like the software, the T-shirt had no known bugs. Uh-huh.

So, when you query for a list of bugs, and it gets no results, you can think of this as a friendly reminder. Of *course* there are bugs matching your query, they just aren't in the bugsystem yet...

 
--Terry Weissman