<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Glossary</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="The Bugzilla Guide - 2.20.1 
    Release"
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
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide - 2.20.1 
    Release</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="gfdl-howto.html"
ACCESSKEY="P"
>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"
></A
>Glossary</H1
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="AEN3461"
>0-9, high ascii</A
></H1
><DL
><DT
><A
NAME="gloss-htaccess"
></A
><B
>.htaccess</B
></DT
><DD
><P
>Apache web server, and other NCSA-compliant web servers,
        observe the convention of using files in directories called 
        <TT
CLASS="filename"
>.htaccess</TT
>

        to restrict access to certain files. In Bugzilla, they are used
        to keep secret files which would otherwise
        compromise your installation - e.g. the 
        <TT
CLASS="filename"
>localconfig</TT
>
        file contains the password to your database.
        curious.</P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-a"
>A</A
></H1
><DL
><DT
><A
NAME="gloss-apache"
></A
><B
>Apache</B
></DT
><DD
><P
>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 
        <SPAN
CLASS="QUOTE"
>"a patchy"</SPAN
>
        version of the original 
        <ACRONYM
CLASS="acronym"
>NCSA</ACRONYM
>
        world-wide-web server.</P
><P
></P
><DIV
CLASS="variablelist"
><P
><B
>Useful Directives when configuring Bugzilla</B
></P
><DL
><DT
><SAMP
CLASS="computeroutput"
><A
HREF="http://httpd.apache.org/docs-2.0/mod/core.html#addhandler"
TARGET="_top"
>AddHandler</A
></SAMP
></DT
><DD
><P
>Tell Apache that it's OK to run CGI scripts.</P
></DD
><DT
><SAMP
CLASS="computeroutput"
><A
HREF="http://httpd.apache.org/docs-2.0/mod/core.html#allowoverride"
TARGET="_top"
>AllowOverride</A
></SAMP
>, <SAMP
CLASS="computeroutput"
><A
HREF="http://httpd.apache.org/docs-2.0/mod/core.html#options"
TARGET="_top"
>Options</A
></SAMP
></DT
><DD
><P
>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 <TT
CLASS="filename"
>.htaccess</TT
>
              overrides.
              </P
></DD
><DT
><SAMP
CLASS="computeroutput"
><A
HREF="http://httpd.apache.org/docs-2.0/mod/mod_dir.html#directoryindex"
TARGET="_top"
>DirectoryIndex</A
></SAMP
></DT
><DD
><P
>Used to tell Apache what files are indexes. If you can
              not add <TT
CLASS="filename"
>index.cgi</TT
> to the list of valid files,
              you'll need to set <SAMP
CLASS="computeroutput"
>$index_html</SAMP
> to
              1 in <TT
CLASS="filename"
>localconfig</TT
> so
              <B
CLASS="command"
>./checksetup.pl</B
> will create an
              <TT
CLASS="filename"
>index.html</TT
> that redirects to
              <TT
CLASS="filename"
>index.cgi</TT
>.
              </P
></DD
><DT
><SAMP
CLASS="computeroutput"
><A
HREF="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource"
TARGET="_top"
>ScriptInterpreterSource</A
></SAMP
></DT
><DD
><P
>Used when running Apache on windows so the shebang line
              doesn't have to be changed in every Bugzilla script.
              </P
></DD
></DL
></DIV
><P
>For more information about how to configure Apache for Bugzilla,
        see <A
HREF="configuration.html#http-apache"
>Section 2.2.4.1</A
>.
        </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 
        <SPAN
CLASS="QUOTE"
>"bug"</SPAN
>

        in Bugzilla refers to an issue entered into the database which has an
        associated number, assignments, comments, etc. Some also refer to a 
        <SPAN
CLASS="QUOTE"
>"tickets"</SPAN
>
        or 
        <SPAN
CLASS="QUOTE"
>"issues"</SPAN
>; 
        in the context of Bugzilla, 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
><A
NAME="gloss-bugzilla"
></A
><B
>Bugzilla</B
></DT
><DD
><P
>Bugzilla is the world-leading free software bug tracking system.
        </P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-c"
>C</A
></H1
><DL
><DT
><A
NAME="gloss-cgi"
></A
><B
>Common Gateway Interface</B
></DT
> (CGI)<DD
><P
><ACRONYM
CLASS="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
CLASS="acronym"
>CGI</ACRONYM
> application.
        </P
></DD
><DT
><A
NAME="gloss-component"
></A
><B
>Component</B
></DT
><DD
><P
>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).</P
></DD
><DT
><A
NAME="gloss-cpan"
></A
><B
>Comprehensive Perl Archive Network</B
></DT
> (CPAN)<DD
><P
>&#13;        <ACRONYM
CLASS="acronym"
>CPAN</ACRONYM
>

        stands for the 
        <SPAN
CLASS="QUOTE"
>"Comprehensive Perl Archive Network"</SPAN
>. 
        CPAN maintains a large number of extremely useful 
        <I
CLASS="glossterm"
>Perl</I
>
        modules - encapsulated chunks of code for performing a
        particular task.</P
></DD
><DT
><A
NAME="gloss-contrib"
></A
><B
><TT
CLASS="filename"
>contrib</TT
></B
></DT
><DD
><P
>The <TT
CLASS="filename"
>contrib</TT
> 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 offical distribution.
        <DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Scripts in the <TT
CLASS="filename"
>contrib</TT
>
          directory are not offically supported by the Bugzilla team and may
          break in between versions.
          </P
></TD
></TR
></TABLE
></DIV
>
        </P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-d"
>D</A
></H1
><DL
><DT
><A
NAME="gloss-daemon"
></A
><B
>daemon</B
></DT
><DD
><P
>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. 
        <I
CLASS="glossterm"
>mysqld</I
>, 
        the MySQL server, and 
        <I
CLASS="glossterm"
>apache</I
>, 
        a web server, are generally run as daemons.</P
></DD
><DT
><A
NAME="gloss-dos"
></A
><B
>DOS Attack</B
></DT
><DD
><P
>A DOS, or Denial of Service attack, is when a user attempts to
        deny access to a web server by repeatadly accessing a page or sending
        malformed requests to a webserver. This can be effectively prevented
        by using <TT
CLASS="filename"
>mod_throttle</TT
> as described in
        <A
HREF="security-webserver.html#security-webserver-mod-throttle"
>Section 4.3.2</A
>. 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.
        </P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-g"
>G</A
></H1
><DL
><DT
><A
NAME="gloss-groups"
></A
><B
>Groups</B
></DT
><DD
><P
>The word 
        <SPAN
CLASS="QUOTE"
>"Groups"</SPAN
>

        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
        <I
CLASS="glossterm"
>Products</I
>
        in the 
        <I
CLASS="glossterm"
>Bugzilla</I
>
        database.</P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-j"
>J</A
></H1
><DL
><DT
><A
NAME="gloss-javascript"
></A
><B
>JavaScript</B
></DT
><DD
><P
>JavaScript is cool, we should talk about it.
        </P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-m"
>M</A
></H1
><DL
><DT
><A
NAME="gloss-mta"
></A
><B
>Message Transport Agent</B
></DT
> (MTA)<DD
><P
>A Message Transport Agent is used to control the flow of email
        on a system. The <A
HREF="http://search.cpan.org/dist/MailTools/Mail/Mailer.pm"
TARGET="_top"
>Mail::Mailer</A
>
        Perl module, which Bugzilla uses to send email, can be configured to
        use many different underlying implementations for actually sending the
        mail using the <VAR
CLASS="option"
>mail_delivery_method</VAR
> parameter.
        Implementations other than <VAR
CLASS="literal"
>sendmail</VAR
> require that the
        <VAR
CLASS="option"
>sendmailnow</VAR
> param be set to <VAR
CLASS="literal"
>on</VAR
>.
        </P
></DD
><DT
><A
NAME="gloss-mysql"
></A
><B
>MySQL</B
></DT
><DD
><P
>MySQL is currently the required
        <A
HREF="glossary.html#gloss-rdbms"
><I
CLASS="glossterm"
>RDBMS</I
></A
> for Bugzilla. MySQL
        can be downloaded from <A
HREF="http://www.mysql.com"
TARGET="_top"
>http://www.mysql.com</A
>. While you
        should familiarize yourself with all of the documentation, some high
        points are:
        </P
><P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><A
HREF="http://www.mysql.com/doc/en/Backup.html"
TARGET="_top"
>Backup</A
></DT
><DD
><P
>Methods for backing up your Bugzilla database.
              </P
></DD
><DT
><A
HREF="http://www.mysql.com/doc/en/Option_files.html"
TARGET="_top"
>Option Files</A
></DT
><DD
><P
>Information about how to configure MySQL using
              <TT
CLASS="filename"
>my.cnf</TT
>.
              </P
></DD
><DT
><A
HREF="http://www.mysql.com/doc/en/Privilege_system.html"
TARGET="_top"
>Privilege System</A
></DT
><DD
><P
>Much more detailed information about the suggestions in
              <A
HREF="security-mysql.html"
>Section 4.2</A
>.
              </P
></DD
></DL
></DIV
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-p"
>P</A
></H1
><DL
><DT
><A
NAME="gloss-ppm"
></A
><B
>Perl Package Manager</B
></DT
> (PPM)<DD
><P
><A
HREF="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/"
TARGET="_top"
>http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/</A
>
        </P
></DD
><DT
><B
>Product</B
></DT
><DD
><P
>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.</P
></DD
><DT
><B
>Perl</B
></DT
><DD
><P
>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. 
        <I
CLASS="glossterm"
>Bugzilla</I
>

        is maintained in Perl.</P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-q"
>Q</A
></H1
><DL
><DT
><B
>QA</B
></DT
><DD
><P
>&#13;        <SPAN
CLASS="QUOTE"
>"QA"</SPAN
>, 
        <SPAN
CLASS="QUOTE"
>"Q/A"</SPAN
>, and 
        <SPAN
CLASS="QUOTE"
>"Q.A."</SPAN
>
        are short for 
        <SPAN
CLASS="QUOTE"
>"Quality Assurance"</SPAN
>. 
        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 
        <SPAN
CLASS="QUOTE"
>"QA Contact"</SPAN
>

        field in a bug.</P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-r"
>R</A
></H1
><DL
><DT
><A
NAME="gloss-rdbms"
></A
><B
>Relational DataBase Managment System</B
></DT
> (RDBMS)<DD
><P
>A relational database management system is a database system
        that stores information in tables that are related to each other.
        </P
></DD
><DT
><A
NAME="gloss-regexp"
></A
><B
>Regular Expression</B
></DT
> (regexp)<DD
><P
>A regular expression is an expression used for pattern matching.
              <A
HREF="http://perldoc.com/perl5.6/pod/perlre.html#Regular-Expressions"
TARGET="_top"
>Documentation</A
>
        </P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-s"
>S</A
></H1
><DL
><DT
><A
NAME="gloss-service"
></A
><B
>Service</B
></DT
><DD
><P
>In Windows NT environment, a boot-time background application
        is refered to as a service. These are generally managed through the
        control pannel while logged in as an account with
        <SPAN
CLASS="QUOTE"
>"Administrator"</SPAN
> level capabilities. For more
        information, consult your Windows manual or the MSKB.
        </P
></DD
><DT
><B
>&#13;        <ACRONYM
CLASS="acronym"
>SGML</ACRONYM
>
      </B
></DT
><DD
><P
>&#13;        <ACRONYM
CLASS="acronym"
>SGML</ACRONYM
>

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

        has withstood the test of time as a robust, powerful language. 
        <I
CLASS="glossterm"
>&#13;          <ACRONYM
CLASS="acronym"
>XML</ACRONYM
>
        </I
>

        is the 
        <SPAN
CLASS="QUOTE"
>"baby brother"</SPAN
>

        of SGML; any valid 
        <ACRONYM
CLASS="acronym"
>XML</ACRONYM
>

        document it, by definition, a valid 
        <ACRONYM
CLASS="acronym"
>SGML</ACRONYM
>

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

        if you modify the Document Type Definition.</P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-t"
>T</A
></H1
><DL
><DT
><A
NAME="gloss-target-milestone"
></A
><B
>Target Milestone</B
></DT
><DD
><P
>Target Milestones are Product goals. They are configurable on a
        per-Product basis. Most software development houses have a concept of
        
        <SPAN
CLASS="QUOTE"
>"milestones"</SPAN
>

        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.</P
></DD
><DT
><A
NAME="gloss-tcl"
></A
><B
>Tool Command Language</B
></DT
> (TCL)<DD
><P
>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.
        </P
></DD
></DL
></DIV
><DIV
CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="gloss-z"
>Z</A
></H1
><DL
><DT
><A
NAME="gloss-zarro"
></A
><B
>Zarro Boogs Found</B
></DT
><DD
><P
>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:
        </P
><A
NAME="AEN3708"
></A
><TABLE
BORDER="0"
WIDTH="100%"
CELLSPACING="0"
CELLPADDING="0"
CLASS="BLOCKQUOTE"
><TR
><TD
WIDTH="10%"
VALIGN="TOP"
>&nbsp;</TD
><TD
VALIGN="TOP"
><P
>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.
          </P
><P
>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...
          </P
></TD
><TD
WIDTH="10%"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="RIGHT"
VALIGN="TOP"
>--<SPAN
CLASS="attribution"
>Terry Weissman</SPAN
></TD
><TD
WIDTH="10%"
>&nbsp;</TD
></TR
></TABLE
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="gfdl-howto.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>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
>