<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
     License, v. 2.0. If a copy of the MPL was not distributed with this
     file, You can obtain one at http://mozilla.org/MPL/2.0/.

     This Source Code Form is "Incompatible With Secondary Licenses", as
     defined by the Mozilla Public License, v. 2.0.
-->
<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
                      "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
    <!ENTITY % myents SYSTEM "bugzilla.ent">
    %myents;
]>

<glossary id="glossary">
  <glossdiv>
    <title>0-9, high ascii</title>

    <glossentry id="gloss-htaccess">
      <glossterm>.htaccess</glossterm>

      <glossdef>
        <para>Apache web server, and other NCSA-compliant web servers,
        observe the convention of using files in directories called 
        <filename>.htaccess</filename>

        to restrict access to certain files. In Bugzilla, they are used
        to keep secret files which would otherwise
        compromise your installation - e.g. the 
        <filename>localconfig</filename>
        file contains the password to your database.
        curious.</para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-a">
    <title>A</title>

    <glossentry id="gloss-apache">
      <glossterm>Apache</glossterm>

      <glossdef>
        <para>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 
        <quote>a patchy</quote>
        version of the original 
        <acronym>NCSA</acronym>
        world-wide-web server.</para>

        <variablelist>
          <title>Useful Directives when configuring Bugzilla</title>

          <varlistentry>
            <term><computeroutput><ulink url="http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addhandler">AddHandler</ulink></computeroutput></term>
            <listitem>
              <para>Tell Apache that it's OK to run CGI scripts.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><computeroutput><ulink url="http://httpd.apache.org/docs-2.0/mod/core.html#allowoverride">AllowOverride</ulink></computeroutput></term>
            <term><computeroutput><ulink url="http://httpd.apache.org/docs-2.0/mod/core.html#options">Options</ulink></computeroutput></term>
            <listitem>
              <para>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 <filename>.htaccess</filename>
              overrides.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><computeroutput><ulink url="http://httpd.apache.org/docs-2.0/mod/mod_dir.html#directoryindex">DirectoryIndex</ulink></computeroutput></term>
            <listitem>
              <para>Used to tell Apache what files are indexes. If you can
              not add <filename>index.cgi</filename> to the list of valid files,
              you'll need to set <computeroutput>$index_html</computeroutput> to
              1 in <filename>localconfig</filename> so
              <command>./checksetup.pl</command> will create an
              <filename>index.html</filename> that redirects to
              <filename>index.cgi</filename>.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><computeroutput><ulink url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">ScriptInterpreterSource</ulink></computeroutput></term>
            <listitem>
              <para>Used when running Apache on windows so the shebang line
              doesn't have to be changed in every Bugzilla script.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>

        <para>For more information about how to configure Apache for Bugzilla,
        see <xref linkend="http-apache"/>.
        </para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-b">
    <title>B</title>

    <glossentry>
      <glossterm>Bug</glossterm>

      <glossdef>
        <para>A 
        <quote>bug</quote>

        in Bugzilla refers to an issue entered into the database which has an
        associated number, assignments, comments, etc. Some also refer to a 
        <quote>tickets</quote>
        or 
        <quote>issues</quote>; 
        in the context of Bugzilla, they are synonymous.</para>
      </glossdef>
    </glossentry>

    <glossentry>
      <glossterm>Bug Number</glossterm>

      <glossdef>
        <para>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.</para>
      </glossdef>
    </glossentry>

    <glossentry id="gloss-bugzilla">
      <glossterm>Bugzilla</glossterm>

      <glossdef>
        <para>Bugzilla is the world-leading free software bug tracking system.
        </para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-c">
    <title>C</title>

    <glossentry id="gloss-cgi">
      <glossterm>Common Gateway Interface</glossterm>
      <acronym>CGI</acronym>
      <glossdef>
        <para><acronym>CGI</acronym> 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 <acronym>CGI</acronym> application.
        </para>
      </glossdef>
    </glossentry>

    <glossentry id="gloss-component">
      <glossterm>Component</glossterm>

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

    <glossentry id="gloss-cpan">
      <glossterm>Comprehensive Perl Archive Network</glossterm>
      <acronym>CPAN</acronym>

      <!-- TODO: Rewrite def for CPAN -->
      <glossdef>
        <para>
        <acronym>CPAN</acronym>

        stands for the 
        <quote>Comprehensive Perl Archive Network</quote>. 
        CPAN maintains a large number of extremely useful 
        <glossterm>Perl</glossterm>
        modules - encapsulated chunks of code for performing a
        particular task.</para>
      </glossdef>
    </glossentry>

    <glossentry id="gloss-contrib">
      <glossterm><filename class="directory">contrib</filename></glossterm>

      <glossdef>
        <para>The <filename class="directory">contrib</filename> directory is
        a location to put scripts that have been contributed to Bugzilla but
        are not a part of the official distribution. These scripts are written
        by third parties and may be in languages other than perl. For those
        that are in perl, there may be additional modules or other requirements
        than those of the official distribution.
        <note>
          <para>Scripts in the <filename class="directory">contrib</filename>
          directory are not officially supported by the Bugzilla team and may
          break in between versions.
          </para>
        </note>
        </para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-d">
    <title>D</title>

    <glossentry id="gloss-daemon">
      <glossterm>daemon</glossterm>

      <glossdef>
        <para>A daemon is a computer program which runs in the background. In
        general, most daemons are started at boot time via System V init
        scripts, or through RC scripts on BSD-based systems. 
        <glossterm>mysqld</glossterm>, 
        the MySQL server, and 
        <glossterm>apache</glossterm>, 
        a web server, are generally run as daemons.</para>
      </glossdef>
    </glossentry>
    
    <glossentry id="gloss-dos">
      <glossterm>DOS Attack</glossterm>
      
      <glossdef>
        <para>A DOS, or Denial of Service attack, is when a user attempts to
        deny access to a web server by repeatedly accessing a page or sending
        malformed requests to a webserver. A D-DOS, or
        Distributed Denial of Service attack, is when these requests come
        from multiple sources at the same time. Unfortunately, these are much
        more difficult to defend against.
        </para>
      </glossdef>
    </glossentry>
    
  </glossdiv>

  <glossdiv id="gloss-g">
    <title>G</title>

    <glossentry id="gloss-groups">
      <glossterm>Groups</glossterm>

      <glossdef>
        <para>The word 
        <quote>Groups</quote>

        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
        <glossterm>Products</glossterm>
        in the 
        <glossterm>Bugzilla</glossterm>
        database.</para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-j">
    <title>J</title>

    <glossentry id="gloss-javascript">
      <glossterm>JavaScript</glossterm>
      <glossdef>
        <para>JavaScript is cool, we should talk about it.
        </para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-m">
    <title>M</title>

    <glossentry id="gloss-mta">
      <glossterm>Message Transport Agent</glossterm>
      <acronym>MTA</acronym>

      <glossdef>
        <para>A Message Transport Agent is used to control the flow of email on a system.
        The <ulink url="http://search.cpan.org/dist/Email-Send/lib/Email/Send.pm">Email::Send</ulink>
        Perl module, which Bugzilla uses to send email, can be configured to
        use many different underlying implementations for actually sending the
        mail using the <option>mail_delivery_method</option> parameter.
        </para>
      </glossdef>
    </glossentry>

    <glossentry id="gloss-mysql">
      <glossterm>MySQL</glossterm>

      <glossdef>
        <para>MySQL is one of the supported
        <glossterm linkend="gloss-rdbms">RDBMS</glossterm> for Bugzilla. MySQL
        can be downloaded from <ulink url="http://www.mysql.com"/>. While you
        should familiarize yourself with all of the documentation, some high
        points are:
        </para>
        <variablelist>
          <varlistentry>
            <term><ulink url="http://www.mysql.com/doc/en/Backup.html">Backup</ulink></term>
            <listitem>
              <para>Methods for backing up your Bugzilla database.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><ulink url="http://www.mysql.com/doc/en/Option_files.html">Option Files</ulink></term>
            <listitem>
              <para>Information about how to configure MySQL using
              <filename>my.cnf</filename>.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><ulink url="http://www.mysql.com/doc/en/Privilege_system.html">Privilege System</ulink></term>
            <listitem>
              <para>Information about how to protect your MySQL server.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-p">
    <title>P</title>

    <glossentry id="gloss-ppm">
      <glossterm>Perl Package Manager</glossterm>
      <acronym>PPM</acronym>

      <glossdef>
        <para><ulink url="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/"/>
        </para>
      </glossdef>
    </glossentry>

    <glossentry>
      <glossterm id="gloss-product">Product</glossterm>

      <glossdef>
        <para>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.</para>
      </glossdef>
    </glossentry>

    <glossentry>
      <glossterm>Perl</glossterm>

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

        is maintained in Perl.</para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-q">
    <title>Q</title>

    <glossentry>
      <glossterm>QA</glossterm>

      <glossdef>
        <para>
        <quote>QA</quote>, 
        <quote>Q/A</quote>, and 
        <quote>Q.A.</quote>
        are short for 
        <quote>Quality Assurance</quote>. 
        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 
        <quote>QA Contact</quote>

        field in a bug.</para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-r">
    <title>R</title>

    <glossentry id="gloss-rdbms">
      <glossterm>Relational DataBase Management System</glossterm>
      <acronym>RDBMS</acronym>

      <glossdef>
        <para>A relational database management system is a database system
        that stores information in tables that are related to each other.
        </para>
      </glossdef>
    </glossentry>

    <glossentry id="gloss-regexp">
      <glossterm>Regular Expression</glossterm>
      <acronym>regexp</acronym>

      <glossdef>
          <para>A regular expression is an expression used for pattern matching.
              <ulink url="http://perldoc.com/perl5.6/pod/perlre.html#Regular-Expressions">Documentation</ulink>
        </para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-s">
    <title>S</title>

    <glossentry id="gloss-service">
      <glossterm>Service</glossterm>
      
      <glossdef>
        <para>In Windows NT environment, a boot-time background application
        is referred to as a service. These are generally managed through the
        control panel while logged in as an account with
        <quote>Administrator</quote> level capabilities. For more
        information, consult your Windows manual or the MSKB.
        </para>
      </glossdef>
    </glossentry>

    <glossentry>
      <glossterm>
        <acronym>SGML</acronym>
      </glossterm>

      <glossdef>
        <para>
        <acronym>SGML</acronym>

        stands for 
        <quote>Standard Generalized Markup Language</quote>. 
        Created in the 1980's to provide an extensible means to maintain
        documentation based upon content instead of presentation, 
        <acronym>SGML</acronym>

        has withstood the test of time as a robust, powerful language. 
        <glossterm>
          <acronym>XML</acronym>
        </glossterm>

        is the 
        <quote>baby brother</quote>

        of SGML; any valid 
        <acronym>XML</acronym>

        document it, by definition, a valid 
        <acronym>SGML</acronym>

        document. The document you are reading is written and maintained in 
        <acronym>SGML</acronym>, 
        and is also valid 
        <acronym>XML</acronym>

        if you modify the Document Type Definition.</para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-t">
    <title>T</title>

    <glossentry id="gloss-target-milestone" xreflabel="Target Milestone">
      <glossterm>Target Milestone</glossterm>

      <glossdef>
        <para>Target Milestones are Product goals. They are configurable on a
        per-Product basis. Most software development houses have a concept of
        
        <quote>milestones</quote>

        where the people funding a project expect certain functionality on
        certain dates. Bugzilla facilitates meeting these milestones by
        giving you the ability to declare by which milestone a bug will be
        fixed, or an enhancement will be implemented.</para>
      </glossdef>
    </glossentry>

    <glossentry id="gloss-tcl">
      <glossterm>Tool Command Language</glossterm>
      <acronym>TCL</acronym>
      <glossdef>
        <para>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.
        </para>
      </glossdef>
    </glossentry>
  </glossdiv>

  <glossdiv id="gloss-z">
    <title>Z</title>

    <glossentry id="gloss-zarro">
      <glossterm>Zarro Boogs Found</glossterm>

      <glossdef>
        <para>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:
        </para>

        <blockquote>
          <attribution>Terry Weissman</attribution>
          <para>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.
          </para>

          <para>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...
          </para>
        </blockquote>

      </glossdef>
    </glossentry>
  </glossdiv>
</glossary>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-always-quote-attributes:t
sgml-auto-insert-required-elements:t
sgml-balanced-tag-edit:t
sgml-exposed-tags:nil
sgml-general-insert-case:lower
sgml-indent-data:t
sgml-indent-step:2
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-minimize-attributes:nil
sgml-namecase-general:t
sgml-omittag:t
sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
sgml-shorttag:t
sgml-tag-region-if-active:t
End:
-->
