|The Bugzilla Guide|
Apache web server, and other NCSA-compliant web servers, observe the convention of using files in directories called .htaccess files. These restrict parameters of the web server. In Bugzilla, they are used to restrict access to certain files which would otherwise compromise your installation. For instance, the localconfig file contains the password to your database. If this information were generally available, and remote access to your database turned on, you risk corruption of your database by computer criminals or the curious.
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.
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.
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.
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.
Bugzilla is the industry-standard bug tracking system. It is quite popular among Open Source enthusiasts.
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 stands for the "Comprehensive Perl Archive Network". CPAN maintains a large number of extremely useful Perl modules. By themselves, Perl modules generally do nothing, but when used as part of a larger program, they provide much-needed algorithms and functionality.
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.
The word "Groups" has a very special meaning to Bugzilla. Bugzilla's main security mechanism comes by lumping users into groups, and assigning those groups certain privileges to Products and Components in the Bugzilla database.
mysqld is the name of the daemon for the MySQL database. In general, it is invoked automatically through the use of the System V init scripts on GNU/Linux and AT&T System V-based systems, such as Solaris and HP/UX, or through the RC scripts on BSD-based systems.
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.
Example 1. A Sample Product
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", "Z", each with Components of 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".
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.
"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.
The property of a function looking back at itself for something. "GNU", for instance, stands for "GNU's Not UNIX", thus recursing upon itself for definition. For further clarity, see Infinite Loop.
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.
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.