summaryrefslogtreecommitdiffstats
path: root/docs/en/rst/administration.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/rst/administration.rst')
-rw-r--r--docs/en/rst/administration.rst2149
1 files changed, 0 insertions, 2149 deletions
diff --git a/docs/en/rst/administration.rst b/docs/en/rst/administration.rst
deleted file mode 100644
index df7631fdb..000000000
--- a/docs/en/rst/administration.rst
+++ /dev/null
@@ -1,2149 +0,0 @@
-
-
-.. _administration:
-
-======================
-Administering Bugzilla
-======================
-
-.. _parameters:
-
-Bugzilla Configuration
-######################
-
-Bugzilla is configured by changing various parameters, accessed
-from the "Parameters" link in the Administration page (the
-Administration page can be found by clicking the "Administration"
-link in the footer). The parameters are divided into several categories,
-accessed via the menu on the left. Following is a description of the
-different categories and important parameters within those categories.
-
-.. _param-requiredsettings:
-
-Required Settings
-=================
-
-The core required parameters for any Bugzilla installation are set
-here. These parameters must be set before a new Bugzilla installation
-can be used. Administrators should review this list before
-deploying a new Bugzilla installation.
-
-maintainer
- Email address of the person
- responsible for maintaining this Bugzilla installation.
- The address need not be that of a valid Bugzilla account.
-
-urlbase
- Defines the fully qualified domain name and web
- server path to this Bugzilla installation.
- For example, if the Bugzilla query page is
- :file:`http://www.foo.com/bugzilla/query.cgi`,
- the ``urlbase`` should be set
- to :file:`http://www.foo.com/bugzilla/`.
-
-docs_urlbase
- Defines path to the Bugzilla documentation. This can be a fully
- qualified domain name, or a path relative to "urlbase".
- For example, if the "Bugzilla Configuration" page
- of the documentation is
- :file:`http://www.foo.com/bugzilla/docs/html/parameters.html`,
- set the ``docs_urlbase``
- to :file:`http://www.foo.com/bugzilla/docs/html/`.
-
-sslbase
- Defines the fully qualified domain name and web
- server path for HTTPS (SSL) connections to this Bugzilla installation.
- For example, if the Bugzilla main page is
- :file:`https://www.foo.com/bugzilla/index.cgi`,
- the ``sslbase`` should be set
- to :file:`https://www.foo.com/bugzilla/`.
-
-ssl_redirect
- If enabled, Bugzilla will force HTTPS (SSL) connections, by
- automatically redirecting any users who try to use a non-SSL
- connection.
-
-cookiedomain
- Defines the domain for Bugzilla cookies. This is typically left blank.
- If there are multiple hostnames that point to the same webserver, which
- require the same cookie, then this parameter can be utilized. For
- example, If your website is at
- :file:`https://www.foo.com/`, setting this to
- :file:`.foo.com/` will also allow
- :file:`bar.foo.com/` to access Bugzilla cookies.
-
-cookiepath
- Defines a path, relative to the web server root, that Bugzilla
- cookies will be restricted to. For example, if the
- :command:`urlbase` is set to
- :file:`http://www.foo.com/bugzilla/`, the
- :command:`cookiepath` should be set to
- :file:`/bugzilla/`. Setting it to "/" will allow all sites
- served by this web server or virtual host to read Bugzilla cookies.
-
-utf8
- Determines whether to use UTF-8 (Unicode) encoding for all text in
- Bugzilla. New installations should set this to true to avoid character
- encoding problems. Existing databases should set this to true only
- after the data has been converted from existing legacy character
- encoding to UTF-8, using the
- :file:`contrib/recode.pl` script.
-
- .. note:: If you turn this parameter from "off" to "on", you must
- re-run :file:`checksetup.pl` immediately afterward.
-
-shutdownhtml
- If there is any text in this field, this Bugzilla installation will
- be completely disabled and this text will appear instead of all
- Bugzilla pages for all users, including Admins. Used in the event
- of site maintenance or outage situations.
-
- .. note:: Although regular log-in capability is disabled
- while :command:`shutdownhtml`
- is enabled, safeguards are in place to protect the unfortunate
- admin who loses connection to Bugzilla. Should this happen to you,
- go directly to the :file:`editparams.cgi` (by typing
- the URL in manually, if necessary). Doing this will prompt you to
- log in, and your name/password will be accepted here (but nowhere
- else).
-
-announcehtml
- Any text in this field will be displayed at the top of every HTML
- page in this Bugzilla installation. The text is not wrapped in any
- tags. For best results, wrap the text in a ``<div>``
- tag. Any style attributes from the CSS can be applied. For example,
- to make the text green inside of a red box, add ``id=message``
- to the ``<div>`` tag.
-
-proxy_url
- If this Bugzilla installation is behind a proxy, enter the proxy
- information here to enable Bugzilla to access the Internet. Bugzilla
- requires Internet access to utilize the
- :command:`upgrade_notification` parameter (below). If the
- proxy requires authentication, use the syntax:
- :file:`http://user:pass@proxy_url/`.
-
-upgrade_notification
- Enable or disable a notification on the homepage of this Bugzilla
- installation when a newer version of Bugzilla is available. This
- notification is only visible to administrators. Choose "disabled",
- to turn off the notification. Otherwise, choose which version of
- Bugzilla you want to be notified about: "development_snapshot" is the
- latest release on the trunk; "latest_stable_release" is the most
- recent release available on the most recent stable branch;
- "stable_branch_release" the most recent release on the branch
- this installation is based on.
-
-.. _param-admin-policies:
-
-Administrative Policies
-=======================
-
-This page contains parameters for basic administrative functions.
-Options include whether to allow the deletion of bugs and users,
-and whether to allow users to change their email address.
-
-.. _param-user-authentication:
-
-User Authentication
-===================
-
-This page contains the settings that control how this Bugzilla
-installation will do its authentication. Choose what authentication
-mechanism to use (the Bugzilla database, or an external source such
-as LDAP), and set basic behavioral parameters. For example, choose
-whether to require users to login to browse bugs, the management
-of authentication cookies, and the regular expression used to
-validate email addresses. Some parameters are highlighted below.
-
-emailregexp
- Defines the regular expression used to validate email addresses
- used for login names. The default attempts to match fully
- qualified email addresses (i.e. 'user@example.com') in a slightly
- more restrictive way than what is allowed in RFC 2822.
- Some Bugzilla installations allow only local user names (i.e 'user'
- instead of 'user@example.com'). In that case, this parameter
- should be used to define the email domain.
-
-emailsuffix
- This string is appended to login names when actually sending
- email to a user. For example,
- If :command:`emailregexp` has been set to allow
- local usernames,
- then this parameter would contain the email domain for all users
- (i.e. '@example.com').
-
-.. _param-attachments:
-
-Attachments
-===========
-
-This page allows for setting restrictions and other parameters
-regarding attachments to bugs. For example, control size limitations
-and whether to allow pointing to external files via a URI.
-
-.. _param-bug-change-policies:
-
-Bug Change Policies
-===================
-
-Set policy on default behavior for bug change events. For example,
-choose which status to set a bug to when it is marked as a duplicate,
-and choose whether to allow bug reporters to set the priority or
-target milestone. Also allows for configuration of what changes
-should require the user to make a comment, described below.
-
-commenton*
- All these fields allow you to dictate what changes can pass
- without comment, and which must have a comment from the
- person who changed them. Often, administrators will allow
- users to add themselves to the CC list, accept bugs, or
- change the Status Whiteboard without adding a comment as to
- their reasons for the change, yet require that most other
- changes come with an explanation.
- Set the "commenton" options according to your site policy. It
- is a wise idea to require comments when users resolve, reassign, or
- reopen bugs at the very least.
-
- .. note:: 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!)
-
-noresolveonopenblockers
- This option will prevent users from resolving bugs as FIXED if
- they have unresolved dependencies. Only the FIXED resolution
- is affected. Users will be still able to resolve bugs to
- resolutions other than FIXED if they have unresolved dependent
- bugs.
-
-.. _param-bugfields:
-
-Bug Fields
-==========
-
-The parameters in this section determine the default settings of
-several Bugzilla fields for new bugs, and also control whether
-certain fields are used. For example, choose whether to use the
-"target milestone" field or the "status whiteboard" field.
-
-useqacontact
- This allows you to define an email address for each component,
- in addition to that of the default assignee, who will be sent
- carbon copies of incoming bugs.
-
-usestatuswhiteboard
- This defines whether you wish to have a free-form, overwritable field
- associated with each bug. The advantage of the Status Whiteboard is
- that it can be deleted or modified with ease, and provides an
- easily-searchable field for indexing some bugs that have some trait
- in common.
-
-.. _param-bugmoving:
-
-Bug Moving
-==========
-
-This page controls whether this Bugzilla installation allows certain
-users to move bugs to an external database. If bug moving is enabled,
-there are a number of parameters that control bug moving behaviors.
-For example, choose which users are allowed to move bugs, the location
-of the external database, and the default product and component that
-bugs moved *from* other bug databases to this
-Bugzilla installation are assigned to.
-
-.. _param-dependency-graphs:
-
-Dependency Graphs
-=================
-
-This page has one parameter that sets the location of a Web Dot
-server, or of the Web Dot binary on the local system, that is used
-to generate dependency graphs. Web Dot is a CGI program that creates
-images from :file:`.dot` graphic description files. If
-no Web Dot server or binary is specified, then dependency graphs will
-be disabled.
-
-.. _param-group-security:
-
-Group Security
-==============
-
-Bugzilla allows for the creation of different groups, with the
-ability to restrict the visibility of bugs in a group to a set of
-specific users. Specific products can also be associated with
-groups, and users restricted to only see products in their groups.
-Several parameters are described in more detail below. Most of the
-configuration of groups and their relationship to products is done
-on the "Groups" and "Product" pages of the "Administration" area.
-The options on this page control global default behavior.
-For more information on Groups and Group Security, see
-:ref:`groups`
-
-makeproductgroups
- Determines whether or not to automatically create groups
- when new products are created. If this is on, the groups will be
- used for querying bugs.
-
-usevisibilitygroups
- If selected, user visibility will be restricted to members of
- groups, as selected in the group configuration settings.
- Each user-defined group can be allowed to see members of selected
- other groups.
- For details on configuring groups (including the visibility
- restrictions) see :ref:`edit-groups`.
-
-querysharegroup
- The name of the group of users who are allowed to share saved
- searches with one another. For more information on using
- saved searches, see :ref:`savedsearches`.
-
-.. _bzldap:
-
-LDAP Authentication
-===================
-
-LDAP authentication is a module for Bugzilla's plugin
-authentication architecture. This page contains all the parameters
-necessary to configure Bugzilla for use with LDAP authentication.
-
-The existing authentication
-scheme for Bugzilla uses email addresses as the primary user ID, and a
-password to authenticate that user. All places within Bugzilla that
-require a user ID (e.g assigning a bug) use the email
-address. The LDAP authentication builds on top of this scheme, rather
-than replacing it. The initial log-in is done with a username and
-password for the LDAP directory. Bugzilla tries to bind to LDAP using
-those credentials and, if successful, tries to map this account to a
-Bugzilla account. If an LDAP mail attribute is defined, the value of this
-attribute is used, otherwise the "emailsuffix" parameter is appended to LDAP
-username to form a full email address. If an account for this address
-already exists in the Bugzilla installation, it will log in to that account.
-If no account for that email address exists, one is created at the time
-of login. (In this case, Bugzilla will attempt to use the "displayName"
-or "cn" attribute to determine the user's full name.) After
-authentication, all other user-related tasks are still handled by email
-address, not LDAP username. For example, bugs are still assigned by
-email address and users are still queried by email address.
-
-.. warning:: Because the Bugzilla account is not created until the first time
- a user logs in, a user who has not yet logged is unknown to Bugzilla.
- This means they cannot be used as an assignee or QA contact (default or
- otherwise), added to any CC list, or any other such operation. One
- possible workaround is the :file:`bugzilla_ldapsync.rb`
- script in the :file:`contrib`
- directory. Another possible solution is fixing
- `bug
- 201069 <https://bugzilla.mozilla.org/show_bug.cgi?id=201069>`_.
-
-Parameters required to use LDAP Authentication:
-
-user_verify_class
- If you want to list ``LDAP`` here,
- make sure to have set up the other parameters listed below.
- Unless you have other (working) authentication methods listed as
- well, you may otherwise not be able to log back in to Bugzilla once
- you log out.
- If this happens to you, you will need to manually edit
- :file:`data/params.json` and set user_verify_class to
- ``DB``.
-
-LDAPserver
- This parameter should be set to the name (and optionally the
- port) of your LDAP server. If no port is specified, it assumes
- the default LDAP port of 389.
- For example: ``ldap.company.com``
- or ``ldap.company.com:3268``
- You can also specify a LDAP URI, so as to use other
- protocols, such as LDAPS or LDAPI. If port was not specified in
- the URI, the default is either 389 or 636 for 'LDAP' and 'LDAPS'
- schemes respectively.
-
- .. note:: In order to use SSL with LDAP, specify a URI with "ldaps://".
- This will force the use of SSL over port 636.
- For example, normal LDAP:
- ``ldap://ldap.company.com``, LDAP over SSL:
- ``ldaps://ldap.company.com`` or LDAP over a UNIX
- domain socket ``ldapi://%2fvar%2flib%2fldap_sock``.
-
-LDAPbinddn \[Optional]
- Some LDAP servers will not allow an anonymous bind to search
- the directory. If this is the case with your configuration you
- should set the LDAPbinddn parameter to the user account Bugzilla
- should use instead of the anonymous bind.
- Ex. ``cn=default,cn=user:password``
-
-LDAPBaseDN
- The LDAPBaseDN parameter should be set to the location in
- your LDAP tree that you would like to search for email addresses.
- Your uids should be unique under the DN specified here.
- Ex. ``ou=People,o=Company``
-
-LDAPuidattribute
- The LDAPuidattribute parameter should be set to the attribute
- which contains the unique UID of your users. The value retrieved
- from this attribute will be used when attempting to bind as the
- user to confirm their password.
- Ex. ``uid``
-
-LDAPmailattribute
- The LDAPmailattribute parameter should be the name of the
- attribute which contains the email address your users will enter
- into the Bugzilla login boxes.
- Ex. ``mail``
-
-.. _bzradius:
-
-RADIUS Authentication
-=====================
-
-RADIUS authentication is a module for Bugzilla's plugin
-authentication architecture. This page contains all the parameters
-necessary for configuring Bugzilla to use RADIUS authentication.
-
-.. note:: Most caveats that apply to LDAP authentication apply to RADIUS
- authentication as well. See :ref:`bzldap` for details.
-
-Parameters required to use RADIUS Authentication:
-
-user_verify_class
- If you want to list ``RADIUS`` here,
- make sure to have set up the other parameters listed below.
- Unless you have other (working) authentication methods listed as
- well, you may otherwise not be able to log back in to Bugzilla once
- you log out.
- If this happens to you, you will need to manually edit
- :file:`data/params.json` and set user_verify_class to
- ``DB``.
-
-RADIUS_server
- This parameter should be set to the name (and optionally the
- port) of your RADIUS server.
-
-RADIUS_secret
- This parameter should be set to the RADIUS server's secret.
-
-RADIUS_email_suffix
- Bugzilla needs an e-mail address for each user account.
- Therefore, it needs to determine the e-mail address corresponding
- to a RADIUS user.
- Bugzilla offers only a simple way to do this: it can concatenate
- a suffix to the RADIUS user name to convert it into an e-mail
- address.
- You can specify this suffix in the RADIUS_email_suffix parameter.
- If this simple solution does not work for you, you'll
- probably need to modify
- :file:`Bugzilla/Auth/Verify/RADIUS.pm` to match your
- requirements.
-
-.. _param-email:
-
-Email
-=====
-
-This page contains all of the parameters for configuring how
-Bugzilla deals with the email notifications it sends. See below
-for a summary of important options.
-
-mail_delivery_method
- This is used to specify how email is sent, or if it is sent at
- all. There are several options included for different MTAs,
- along with two additional options that disable email sending.
- "Test" does not send mail, but instead saves it in
- :file:`data/mailer.testfile` for later review.
- "None" disables email sending entirely.
-
-mailfrom
- This is the email address that will appear in the "From" field
- of all emails sent by this Bugzilla installation. Some email
- servers require mail to be from a valid email address, therefore
- it is recommended to choose a valid email address here.
-
-smtpserver
- This is the SMTP server address, if the ``mail_delivery_method``
- parameter is set to SMTP. Use "localhost" if you have a local MTA
- running, otherwise use a remote SMTP server. Append ":" and the port
- number, if a non-default port is needed.
-
-smtp_username
- Username to use for SASL authentication to the SMTP server. Leave
- this parameter empty if your server does not require authentication.
-
-smtp_password
- Password to use for SASL authentication to the SMTP server. This
- parameter will be ignored if the ``smtp_username``
- parameter is left empty.
-
-smtp_ssl
- Enable SSL support for connection to the SMTP server.
-
-smtp_debug
- This parameter allows you to enable detailed debugging output.
- Log messages are printed the web server's error log.
-
-whinedays
- Set this to the number of days you want to let bugs go
- in the CONFIRMED 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 installation
- instructions, or set this value to "0" (never whine).
-
-globalwatcher
- This allows you to define specific users who will
- receive notification each time a new bug in entered, or when
- an existing bug changes, according to the normal groupset
- permissions. It may be useful for sending notifications to a
- mailing-list, for instance.
-
-.. _param-patchviewer:
-
-Patch Viewer
-============
-
-This page contains configuration parameters for the CVS server,
-Bonsai server and LXR server that Bugzilla will use to enable the
-features of the Patch Viewer. Bonsai is a tool that enables queries
-to a CVS tree. LXR is a tool that can cross reference and index source
-code.
-
-.. _param-querydefaults:
-
-Query Defaults
-==============
-
-This page controls the default behavior of Bugzilla in regards to
-several aspects of querying bugs. Options include what the default
-query options are, what the "My Bugs" page returns, whether users
-can freely add bugs to the quip list, and how many duplicate bugs are
-needed to add a bug to the "most frequently reported" list.
-
-.. _param-shadowdatabase:
-
-Shadow Database
-===============
-
-This page controls whether a shadow database is used, and all the
-parameters associated with the shadow database. Versions of Bugzilla
-prior to 3.2 used the MyISAM table type, which supports
-only table-level write locking. With MyISAM, any time someone is making a change to
-a bug, the entire table is locked until the write operation is complete.
-Locking for write also blocks reads until the write is complete.
-
-The ``shadowdb`` parameter was designed to get around
-this limitation. While only a single user is allowed to write to
-a table at a time, reads can continue unimpeded on a read-only
-shadow copy of the database.
-
-.. note:: As of version 3.2, Bugzilla no longer uses the MyISAM table type.
- Instead, InnoDB is used, which can do transaction-based locking.
- Therefore, the limitations the Shadow Database feature was designed
- to workaround no longer exist.
-
-.. _admin-usermatching:
-
-User Matching
-=============
-
-The settings on this page control how users are selected and queried
-when adding a user to a bug. For example, users need to be selected
-when choosing who the bug is assigned to, adding to the CC list or
-selecting a QA contact. With the "usemenuforusers" parameter, it is
-possible to configure Bugzilla to
-display a list of users in the fields instead of an empty text field.
-This should only be used in Bugzilla installations with a small number
-of users. If users are selected via a text box, this page also
-contains parameters for how user names can be queried and matched
-when entered.
-
-Another setting called 'ajax_user_autocompletion' enables certain
-user fields to display a list of matched user names as a drop down after typing
-a few characters. Note that it is recommended to use mod_perl when
-enabling 'ajax_user_autocompletion'.
-
-.. _useradmin:
-
-User Administration
-###################
-
-.. _defaultuser:
-
-Creating the Default User
-=========================
-
-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 delete
-the "super user" account, re-running checksetup.pl will again prompt
-you for this username and password.
-
-.. note:: If you wish to add more administrative users, add them to
- the "admin" group and, optionally, edit the tweakparams, editusers,
- creategroups, editcomponents, and editkeywords groups to add the
- entire admin group to those groups (which is the case by default).
-
-.. _manageusers:
-
-Managing Other Users
-====================
-
-.. _user-account-search:
-
-Searching for existing users
-----------------------------
-
-If you have ``editusers`` privileges or if you are allowed
-to grant privileges for some groups, the ``Users`` link
-will appear in the Administration page.
-
-The first screen is a search form to search for existing user
-accounts. You can run searches based either on the user ID, real
-name or login name (i.e. the email address, or just the first part
-of the email address if the "emailsuffix" parameter is set).
-The search can be conducted
-in different ways using the listbox to the right of the text entry
-box. You can match by case-insensitive substring (the default),
-regular expression, a *reverse* regular expression
-match (which finds every user name which does NOT match the regular
-expression), or the exact string if you know exactly who you are
-looking for. The search can be restricted to users who are in a
-specific group. By default, the restriction is turned off.
-
-The search returns a list of
-users matching your criteria. User properties can be edited by clicking
-the login name. The Account History of a user can be viewed by clicking
-the "View" link in the Account History column. The Account History
-displays changes that have been made to the user account, the time of
-the change and the user who made the change. For example, the Account
-History page will display details of when a user was added or removed
-from a group.
-
-.. _createnewusers:
-
-Creating new users
-------------------
-
-.. _self-registration:
-
-Self-registration
-~~~~~~~~~~~~~~~~~
-
-By default, users can create their own user accounts by clicking the
-``New Account`` link at the bottom of each page (assuming
-they aren't logged in as someone else already). If you want to disable
-this self-registration, or if you want to restrict who can create his
-own user account, you have to edit the ``createemailregexp``
-parameter in the ``Configuration`` page, see
-:ref:`parameters`.
-
-.. _user-account-creation:
-
-Accounts created by an administrator
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Users with ``editusers`` privileges, such as administrators,
-can create user accounts for other users:
-
-#. After logging in, click the "Users" link at the footer of
- the query page, and then click "Add a new user".
-
-#. Fill out the form presented. This page is self-explanatory.
- When done, click "Submit".
-
- .. note:: Adding a user this way will *not*
- send an email informing them of their username and password.
- While useful for creating dummy accounts (watchers which
- shuttle mail to another system, for instance, or email
- addresses which are a mailing list), 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.
-
-.. _modifyusers:
-
-Modifying Users
----------------
-
-Once you have found your user, you can change the following
-fields:
-
-- *Login Name*:
- This is generally the user's full email address. However, if you
- have are using the ``emailsuffix`` parameter, this may
- just be the user's login name. Note that users can now change their
- login names themselves (to any valid email address).
-
-- *Real Name*: The user's real name. Note that
- Bugzilla does not require this to create an account.
-
-- *Password*:
- You can change the user's password here. Users can automatically
- request a new password, so you shouldn't need to do this often.
- If you want to disable an account, see Disable Text below.
-
-- *Bugmail Disabled*:
- Mark this checkbox to disable bugmail and whinemail completely
- for this account. This checkbox replaces the data/nomail file
- which existed in older versions of Bugzilla.
-
-- *Disable Text*:
- If you type anything in this box, including just a space, the
- user is prevented from logging in, or making any changes to
- bugs via the web interface.
- The HTML you type in this box is presented to the user when
- they attempt to perform these actions, and should explain
- why the account was disabled.
- Users with disabled accounts will continue to receive
- mail from Bugzilla; furthermore, they will not be able
- to log in themselves to change their own preferences and
- stop it. If you want an account (disabled or active) to
- stop receiving mail, simply check the
- ``Bugmail Disabled`` checkbox above.
-
- .. note:: Even users whose accounts have been disabled can still
- submit bugs via the e-mail gateway, if one exists.
- The e-mail gateway should *not* be
- enabled for secure installations of Bugzilla.
-
- .. warning:: Don't disable all the administrator accounts!
-
-- *<groupname>*:
- If you have created some groups, e.g. "securitysensitive", then
- checkboxes will appear here to allow you to add users to, or
- remove them from, these groups. The first checkbox gives the
- user the ability to add and remove other users as members of
- this group. The second checkbox adds the user himself as a member
- of the group.
-
-- *canconfirm*:
- This field is only used if you have enabled the "unconfirmed"
- status. If you enable this for a user,
- that user can then move bugs from "Unconfirmed" to a "Confirmed"
- status (e.g.: "New" status).
-
-- *creategroups*:
- This option will allow a user to create and destroy groups in
- Bugzilla.
-
-- *editbugs*:
- Unless a user has this bit set, they can only edit those bugs
- for which they are the assignee or the reporter. Even if this
- option is unchecked, users can still add comments to bugs.
-
-- *editcomponents*:
- 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.
-
-- *editkeywords*:
- If you use Bugzilla's keyword functionality, enabling this
- feature allows a user to 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.
-
-- *editusers*:
- This flag allows a user to do what you're doing right now: edit
- other users. This will allow those with the right to do so to
- remove administrator privileges from other users or grant them to
- themselves. Enable with care.
-
-- *tweakparams*:
- This flag allows a user to change Bugzilla's Params
- (using :file:`editparams.cgi`.)
-
-- *<productname>*:
- This allows an administrator to specify the products
- in which a user can see bugs. If you turn on the
- ``makeproductgroups`` parameter in
- the Group Security Panel in the Parameters page,
- then Bugzilla creates one group per product (at the time you create
- the product), and this group has exactly the same name as the
- product itself. Note that for products that already exist when
- the parameter is turned on, the corresponding group will not be
- created. The user must still have the ``editbugs``
- privilege to edit bugs in these products.
-
-.. _user-account-deletion:
-
-Deleting Users
---------------
-
-If the ``allowuserdeletion`` parameter is turned on, see
-:ref:`parameters`, then you can also delete user accounts.
-Note that this is most of the time not the best thing to do. If only
-a warning in a yellow box is displayed, then the deletion is safe.
-If a warning is also displayed in a red box, then you should NOT try
-to delete the user account, else you will get referential integrity
-problems in your database, which can lead to unexpected behavior,
-such as bugs not appearing in bug lists anymore, or data displaying
-incorrectly. You have been warned!
-
-.. _impersonatingusers:
-
-Impersonating Users
--------------------
-
-There may be times when an administrator would like to do something as
-another user. The :command:`sudo` feature may be used to do
-this.
-
-.. note:: To use the sudo feature, you must be in the
- *bz_sudoers* group. By default, all
- administrators are in this group.
-
-If you have access to this feature, you may start a session by
-going to the Edit Users page, Searching for a user and clicking on
-their login. You should see a link below their login name titled
-"Impersonate this user". Click on the link. This will take you
-to a page where you will see a description of the feature and
-instructions for using it. After reading the text, simply
-enter the login of the user you would like to impersonate, provide
-a short message explaining why you are doing this, and press the
-button.
-
-As long as you are using this feature, everything you do will be done
-as if you were logged in as the user you are impersonating.
-
-.. warning:: The user you are impersonating will not be told about what you are
- doing. If you do anything that results in mail being sent, that
- mail will appear to be from the user you are impersonating. You
- should be extremely careful while using this feature.
-
-.. _classifications:
-
-Classifications
-###############
-
-Classifications tend to be used in order to group several related
-products into one distinct entity.
-
-The classifications layer is disabled by default; it can be turned
-on or off using the useclassification parameter,
-in the *Bug Fields* section of the edit parameters screen.
-
-Access to the administration of classifications is controlled using
-the *editclassifications* system group, which defines
-a privilege for creating, destroying, and editing classifications.
-
-When activated, classifications will introduce an additional
-step when filling bugs (dedicated to classification selection), and they
-will also appear in the advanced search form.
-
-.. _products:
-
-Products
-########
-
-Products typically represent real-world
-shipping products. Products can be given
-:ref:`classifications`.
-For example, if a company makes computer games,
-they could have a classification of "Games", and a separate
-product for each game. This company might also have a
-``Common`` product for units of technology used
-in multiple games, and perhaps a few special products that
-represent items that are not actually shipping products
-(for example, "Website", or "Administration").
-
-Many of Bugzilla's settings are configurable on a per-product
-basis. The number of ``votes`` available to
-users is set per-product, as is the number of votes
-required to move a bug automatically from the UNCONFIRMED
-status to the CONFIRMED status.
-
-When creating or editing products the following options are
-available:
-
-Product
- The name of the product
-
-Description
- A brief description of the product
-
-Default milestone
- Select the default milestone for this product.
-
-Closed for bug entry
- Select this box to prevent new bugs from being
- entered against this product.
-
-Maximum votes per person
- Maximum votes a user is allowed to give for this
- product
-
-Maximum votes a person can put on a single bug
- Maximum votes a user is allowed to give for this
- product in a single bug
-
-Confirmation threshold
- Number of votes needed to automatically remove any
- bug against this product from the UNCONFIRMED state
-
-Version
- Specify which version of the product bugs will be
- entered against.
-
-Create chart datasets for this product
- Select to make chart datasets available for this product.
-
-When editing a product there is also a link to edit Group Access Controls,
-see :ref:`product-group-controls`.
-
-.. _create-product:
-
-Creating New Products
-=====================
-
-To create a new product:
-
-#. Select ``Administration`` from the footer and then
- choose ``Products`` from the main administration page.
-
-#. Select the ``Add`` link in the bottom right.
-
-#. Enter the name of the product and a description. The
- Description field may contain HTML.
-
-#. When the product is created, Bugzilla will give a message
- stating that a component must be created before any bugs can
- be entered against the new product. Follow the link to create
- a new component. See :ref:`components` for more
- information.
-
-.. _edit-products:
-
-Editing Products
-================
-
-To edit an existing product, click the "Products" link from the
-"Administration" page. If the 'useclassification' parameter is
-turned on, a table of existing classifications is displayed,
-including an "Unclassified" category. The table indicates how many products
-are in each classification. Click on the classification name to see its
-products. If the 'useclassification' parameter is not in use, the table
-lists all products directly. The product table summarizes the information
-about the product defined
-when the product was created. Click on the product name to edit these
-properties, and to access links to other product attributes such as the
-product's components, versions, milestones, and group access controls.
-
-.. _comps-vers-miles-products:
-
-Adding or Editing Components, Versions and Target Milestones
-============================================================
-
-To edit existing, or add new, Components, Versions or Target Milestones
-to a Product, select the "Edit Components", "Edit Versions" or "Edit
-Milestones" links from the "Edit Product" page. A table of existing
-Components, Versions or Milestones is displayed. Click on a item name
-to edit the properties of that item. Below the table is a link to add
-a new Component, Version or Milestone.
-
-For more information on components, see :ref:`components`.
-
-For more information on versions, see :ref:`versions`.
-
-For more information on milestones, see :ref:`milestones`.
-
-.. _product-group-controls:
-
-Assigning Group Controls to Products
-====================================
-
-On the ``Edit Product`` page, there is a link called
-``Edit Group Access Controls``. The settings on this page
-control the relationship of the groups to the product being edited.
-
-Group Access Controls are an important aspect of using groups for
-isolating products and restricting access to bugs filed against those
-products. For more information on groups, including how to create, edit
-add users to, and alter permission of, see :ref:`groups`.
-
-After selecting the "Edit Group Access Controls" link from the "Edit
-Product" page, a table containing all user-defined groups for this
-Bugzilla installation is displayed. The system groups that are created
-when Bugzilla is installed are not applicable to Group Access Controls.
-Below is description of what each of these fields means.
-
-Groups may be applicable (e.g bugs in this product can be associated
-with this group) , default (e.g. bugs in this product are in this group
-by default), and mandatory (e.g. bugs in this product must be associated
-with this group) for each product. Groups can also control access
-to bugs for a given product, or be used to make bugs for a product
-totally read-only unless the group restrictions are met. The best way to
-understand these relationships is by example. See
-:ref:`group-control-examples` for examples of
-product and group relationships.
-
-.. note:: Products and Groups are not limited to a one-to-one relationship.
- Multiple groups can be associated with the same product, and groups
- can be associated with more than one product.
-
-If any group has *Entry* selected, then the
-product will restrict bug entry to only those users
-who are members of *all* the groups with
-*Entry* selected.
-
-If any group has *Canedit* selected,
-then the product will be read-only for any users
-who are not members of *all* of the groups with
-*Canedit* selected. *Only* users who
-are members of all the *Canedit* groups
-will be able to edit bugs for this product. This is an additional
-restriction that enables finer-grained control over products rather
-than just all-or-nothing access levels.
-
-The following settings let you
-choose privileges on a *per-product basis*.
-This is a convenient way to give privileges to
-some users for some products only, without having
-to give them global privileges which would affect
-all products.
-
-Any group having *editcomponents*
-selected allows users who are in this group to edit all
-aspects of this product, including components, milestones
-and versions.
-
-Any group having *canconfirm* selected
-allows users who are in this group to confirm bugs
-in this product.
-
-Any group having *editbugs* selected allows
-users who are in this group to edit all fields of
-bugs in this product.
-
-The *MemberControl* and
-*OtherControl* are used in tandem to determine which
-bugs will be placed in this group. The only allowable combinations of
-these two parameters are listed in a table on the "Edit Group Access Controls"
-page. Consult this table for details on how these fields can be used.
-Examples of different uses are described below.
-
-.. _group-control-examples:
-
-Common Applications of Group Controls
-=====================================
-
-The use of groups is best explained by providing examples that illustrate
-configurations for common use cases. The examples follow a common syntax:
-*Group: Entry, MemberControl, OtherControl, CanEdit,
-EditComponents, CanConfirm, EditBugs*. Where "Group" is the name
-of the group being edited for this product. The other fields all
-correspond to the table on the "Edit Group Access Controls" page. If any
-of these options are not listed, it means they are not checked.
-
-Basic Product/Group Restriction
--------------------------------
-
-Suppose there is a product called "Bar". The
-"Bar" product can only have bugs entered against it by users in the
-group "Foo". Additionally, bugs filed against product "Bar" must stay
-restricted to users to "Foo" at all times. Furthermore, only members
-of group "Foo" can edit bugs filed against product "Bar", even if other
-users could see the bug. This arrangement would achieved by the
-following:
-
-::
-
- Product Bar:
- foo: ENTRY, MANDATORY/MANDATORY, CANEDIT
-
-Perhaps such strict restrictions are not needed for product "Bar". A
-more lenient way to configure product "Bar" and group "Foo" would be:
-
-::
-
- Product Bar:
- foo: ENTRY, SHOWN/SHOWN, EDITCOMPONENTS, CANCONFIRM, EDITBUGS
-
-The above indicates that for product "Bar", members of group "Foo" can
-enter bugs. Any one with permission to edit a bug against product "Bar"
-can put the bug
-in group "Foo", even if they themselves are not in "Foo". Anyone in group
-"Foo" can edit all aspects of the components of product "Bar", can confirm
-bugs against product "Bar", and can edit all fields of any bug against
-product "Bar".
-
-General User Access With Security Group
----------------------------------------
-
-To permit any user to file bugs against "Product A",
-and to permit any user to submit those bugs into a
-group called "Security":
-
-::
-
- Product A:
- security: SHOWN/SHOWN
-
-General User Access With A Security Product
--------------------------------------------
-
-To permit any user to file bugs against product called "Security"
-while keeping those bugs from becoming visible to anyone
-outside the group "SecurityWorkers" (unless a member of the
-"SecurityWorkers" group removes that restriction):
-
-::
-
- Product Security:
- securityworkers: DEFAULT/MANDATORY
-
-Product Isolation With a Common Group
--------------------------------------
-
-To permit users of "Product A" to access the bugs for
-"Product A", users of "Product B" to access the bugs for
-"Product B", and support staff, who are members of the "Support
-Group" to access both, three groups are needed:
-
-#. Support Group: Contains members of the support staff.
-
-#. AccessA Group: Contains users of product A and the Support group.
-
-#. AccessB Group: Contains users of product B and the Support group.
-
-Once these three groups are defined, the product group controls
-can be set to:
-
-::
-
- Product A:
- AccessA: ENTRY, MANDATORY/MANDATORY
- Product B:
- AccessB: ENTRY, MANDATORY/MANDATORY
-
-Perhaps the "Support Group" wants more control. For example,
-the "Support Group" could be permitted to make bugs inaccessible to
-users of both groups "AccessA" and "AccessB".
-Then, the "Support Group" could be permitted to publish
-bugs relevant to all users in a third product (let's call it
-"Product Common") that is read-only
-to anyone outside the "Support Group". In this way the "Support Group"
-could control bugs that should be seen by both groups.
-That configuration would be:
-
-::
-
- Product A:
- AccessA: ENTRY, MANDATORY/MANDATORY
- Support: SHOWN/NA
- Product B:
- AccessB: ENTRY, MANDATORY/MANDATORY
- Support: SHOWN/NA
- Product Common:
- Support: ENTRY, DEFAULT/MANDATORY, CANEDIT
-
-Make a Product Read Only
-------------------------
-
-Sometimes a product is retired and should no longer have
-new bugs filed against it (for example, an older version of a software
-product that is no longer supported). A product can be made read-only
-by creating a group called "readonly" and adding products to the
-group as needed:
-
-::
-
- Product A:
- ReadOnly: ENTRY, NA/NA, CANEDIT
-
-.. note:: For more information on Groups outside of how they relate to products
- see :ref:`groups`.
-
-.. _components:
-
-Components
-##########
-
-Components are subsections of a Product. E.g. the computer game
-you are designing may have 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.
-
-Each component has a default assignee and (if you turned it on in the parameters),
-a QA Contact. The default assignee 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 Assignee, QA Contact, and Reporter
-will get email when new bugs are created in this Component and when
-these bugs change. Default Assignee and Default QA Contact fields only
-dictate the
-*default assignments*;
-these can be changed on bug submission, or at any later point in
-a bug's life.
-
-To create a new Component:
-
-#. Select the ``Edit components`` link
- from the ``Edit product`` page
-
-#. Select the ``Add`` link in the bottom right.
-
-#. Fill out the ``Component`` field, a
- short ``Description``, the
- ``Default Assignee``, ``Default CC List``
- and ``Default QA Contact`` (if enabled).
- The ``Component Description`` field may contain a
- limited subset of HTML tags. The ``Default Assignee``
- field must be a login name already existing in the Bugzilla database.
-
-.. _versions:
-
-Versions
-########
-
-Versions are the revisions of the product, such as "Flinders
-3.1", "Flinders 95", and "Flinders 2000". Version is not a multi-select
-field; the usual practice is to select the earliest version known to have
-the bug.
-
-To create and edit Versions:
-
-#. From the "Edit product" screen, select "Edit Versions"
-
-#. You will notice that the product already has the default
- version "undefined". Click the "Add" link in the bottom right.
-
-#. Enter the name of the Version. This field takes text only.
- Then click the "Add" button.
-
-.. _milestones:
-
-Milestones
-##########
-
-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.
-
-.. note:: Milestone options will only appear for a Product if you turned
- on the "usetargetmilestone" parameter in the "Bug Fields" tab of the
- "Parameters" page.
-
-To create new Milestones, and set Default Milestones:
-
-#. Select "Edit milestones" from the "Edit product" page.
-
-#. Select "Add" in the bottom right corner.
-
-#. Enter the name of the Milestone in the "Milestone" field. You
- can optionally set the "sortkey", which is a positive or negative
- number (-32768 to 32767) that defines where in the list this particular
- milestone appears. This is because milestones often do not
- occur in alphanumeric order For example, "Future" might be
- after "Release 1.2". Select "Add".
-
-.. _flags-overview:
-
-Flags
-#####
-
-Flags are a way to attach a specific status to a bug or attachment,
-either ``+`` or ``-``. The meaning of these symbols depends on the text
-the flag itself, but contextually they could mean pass/fail,
-accept/reject, approved/denied, or even a simple yes/no. If your site
-allows requestable flags, then users may set a flag to ``?`` as a
-request to another user that they look at the bug/attachment, and set
-the flag to its correct status.
-
-.. _flags-simpleexample:
-
-A Simple Example
-================
-
-A developer might want to ask their manager,
-``Should we fix this bug before we release version 2.0?``
-They might want to do this for a *lot* of bugs,
-so it would be nice to streamline the process...
-
-In Bugzilla, it would work this way:
-
-#. The Bugzilla administrator creates a flag type called
- ``blocking2.0`` that shows up on all bugs in
- your product.
- It shows up on the ``Show Bug`` screen
- as the text ``blocking2.0`` with a drop-down box next
- to it. The drop-down box contains four values: an empty space,
- ``?``, ``-``, and ``+``.
-
-#. The developer sets the flag to ``?``.
-
-#. The manager sees the ``blocking2.0``
- flag with a ``?`` value.
-
-#. If the manager thinks the feature should go into the product
- before version 2.0 can be released, he sets the flag to
- ``+``. Otherwise, he sets it to ``-``.
-
-#. Now, every Bugzilla user who looks at the bug knows whether or
- not the bug needs to be fixed before release of version 2.0.
-
-.. _flags-about:
-
-About Flags
-===========
-
-.. _flag-values:
-
-Values
-------
-
-Flags can have three values:
-
-``?``
- A user is requesting that a status be set. (Think of it as 'A question is being asked'.)
-
-``-``
- The status has been set negatively. (The question has been answered ``no``.)
-
-``+``
- The status has been set positively.
- (The question has been answered ``yes``.)
-
-Actually, there's a fourth value a flag can have --
-``unset`` -- which shows up as a blank space. This
-just means that nobody has expressed an opinion (or asked
-someone else to express an opinion) about this bug or attachment.
-
-.. _flag-askto:
-
-Using flag requests
-===================
-
-If a flag has been defined as 'requestable', and a user has enough privileges
-to request it (see below), the user can set the flag's status to ``?``.
-This status indicates that someone (a.k.a. ``the requester``) is asking
-someone else to set the flag to either ``+`` or ``-``.
-
-If a flag has been defined as 'specifically requestable',
-a text box will appear next to the flag into which the requester may
-enter a Bugzilla username. That named person (a.k.a. ``the requestee``)
-will receive an email notifying them of the request, and pointing them
-to the bug/attachment in question.
-
-If a flag has *not* been defined as 'specifically requestable',
-then no such text-box will appear. A request to set this flag cannot be made of
-any specific individual, but must be asked ``to the wind``.
-A requester may ``ask the wind`` on any flag simply by leaving the text-box blank.
-
-.. _flag-types:
-
-Two Types of Flags
-==================
-
-Flags can go in two places: on an attachment, or on a bug.
-
-.. _flag-type-attachment:
-
-Attachment Flags
-----------------
-
-Attachment flags are used to ask a question about a specific
-attachment on a bug.
-
-Many Bugzilla installations use this to
-request that one developer ``review`` another
-developer's code before they check it in. They attach the code to
-a bug report, and then set a flag on that attachment called
-``review`` to
-``review?boss@domain.com``.
-boss@domain.com is then notified by email that
-he has to check out that attachment and approve it or deny it.
-
-For a Bugzilla user, attachment flags show up in three places:
-
-#. On the list of attachments in the ``Show Bug``
- screen, you can see the current state of any flags that
- have been set to ?, +, or -. You can see who asked about
- the flag (the requester), and who is being asked (the
- requestee).
-
-#. When you ``Edit`` an attachment, you can
- see any settable flag, along with any flags that have
- already been set. This ``Edit Attachment``
- screen is where you set flags to ?, -, +, or unset them.
-
-#. Requests are listed in the ``Request Queue``, which
- is accessible from the ``My Requests`` link (if you are
- logged in) or ``Requests`` link (if you are logged out)
- visible in the footer of all pages.
-
-.. _flag-type-bug:
-
-Bug Flags
----------
-
-Bug flags are used to set a status on the bug itself. You can
-see Bug Flags in the ``Show Bug`` and ``Requests``
-screens, as described above.
-
-Only users with enough privileges (see below) may set flags on bugs.
-This doesn't necessarily include the assignee, reporter, or users with the
-``editbugs`` permission.
-
-.. _flags-admin:
-
-Administering Flags
-===================
-
-If you have the ``editcomponents`` permission, you can
-edit Flag Types from the main administration page. Clicking the
-``Flags`` link will bring you to the ``Administer
-Flag Types`` page. Here, you can select whether you want
-to create (or edit) a Bug flag, or an Attachment flag.
-
-No matter which you choose, the interface is the same, so we'll
-just go over it once.
-
-.. _flags-edit:
-
-Editing a Flag
---------------
-
-To edit a flag's properties, just click the flag's name.
-That will take you to the same
-form as described below (:ref:`flags-create`).
-
-.. _flags-create:
-
-Creating a Flag
----------------
-
-When you click on the ``Create a Flag Type for...``
-link, you will be presented with a form. Here is what the fields in
-the form mean:
-
-.. _flags-create-field-name:
-
-Name
-~~~~
-
-This is the name of the flag. This will be displayed
-to Bugzilla users who are looking at or setting the flag.
-The name may contain any valid Unicode characters except commas
-and spaces.
-
-.. _flags-create-field-description:
-
-Description
-~~~~~~~~~~~
-
-The description describes the flag in more detail. It is visible
-in a tooltip when hovering over a flag either in the ``Show Bug``
-or ``Edit Attachment`` pages. This field can be as
-long as you like, and can contain any character you want.
-
-.. _flags-create-field-category:
-
-Category
-~~~~~~~~
-
-Default behaviour for a newly-created flag is to appear on
-products and all components, which is why ``__Any__:__Any__``
-is already entered in the ``Inclusions`` box.
-If this is not your desired behaviour, you must either set some
-exclusions (for products on which you don't want the flag to appear),
-or you must remove ``__Any__:__Any__`` from the Inclusions box
-and define products/components specifically for this flag.
-
-To create an Inclusion, select a Product from the top drop-down box.
-You may also select a specific component from the bottom drop-down box.
-(Setting ``__Any__`` for Product translates to,
-``all the products in this Bugzilla``.
-Selecting ``__Any__`` in the Component field means
-``all components in the selected product.``)
-Selections made, press ``Include``, and your
-Product/Component pairing will show up in the ``Inclusions`` box on the right.
-
-To create an Exclusion, the process is the same; select a Product from the
-top drop-down box, select a specific component if you want one, and press
-``Exclude``. The Product/Component pairing will show up in the
-``Exclusions`` box on the right.
-
-This flag *will* and *can* be set for any
-products/components that appearing in the ``Inclusions`` box
-(or which fall under the appropriate ``__Any__``).
-This flag *will not* appear (and therefore cannot be set) on
-any products appearing in the ``Exclusions`` box.
-*IMPORTANT: Exclusions override inclusions.*
-
-You may select a Product without selecting a specific Component,
-but you can't select a Component without a Product, or to select a
-Component that does not belong to the named Product. If you do so,
-Bugzilla will display an error message, even if all your products
-have a component by that name.
-
-*Example:* Let's say you have a product called
-``Jet Plane`` that has thousands of components. You want
-to be able to ask if a problem should be fixed in the next model of
-plane you release. We'll call the flag ``fixInNext``.
-But, there's one component in ``Jet Plane,``
-called ``Pilot.`` It doesn't make sense to release a
-new pilot, so you don't want to have the flag show up in that component.
-So, you include ``Jet Plane:__Any__`` and you exclude
-``Jet Plane:Pilot``.
-
-.. _flags-create-field-sortkey:
-
-Sort Key
-~~~~~~~~
-
-Flags normally show up in alphabetical order. If you want them to
-show up in a different order, you can use this key set the order on each flag.
-Flags with a lower sort key will appear before flags with a higher
-sort key. Flags that have the same sort key will be sorted alphabetically,
-but they will still be after flags with a lower sort key, and before flags
-with a higher sort key.
-
-*Example:* I have AFlag (Sort Key 100), BFlag (Sort Key 10),
-CFlag (Sort Key 10), and DFlag (Sort Key 1). These show up in
-the order: DFlag, BFlag, CFlag, AFlag.
-
-.. _flags-create-field-active:
-
-Active
-~~~~~~
-
-Sometimes, you might want to keep old flag information in the
-Bugzilla database, but stop users from setting any new flags of this type.
-To do this, uncheck ``active``. Deactivated
-flags will still show up in the UI if they are ?, +, or -, but they
-may only be cleared (unset), and cannot be changed to a new value.
-Once a deactivated flag is cleared, it will completely disappear from a
-bug/attachment, and cannot be set again.
-
-.. _flags-create-field-requestable:
-
-Requestable
-~~~~~~~~~~~
-
-New flags are, by default, ``requestable``, meaning that they
-offer users the ``?`` option, as well as ``+``
-and ``-``.
-To remove the ? option, uncheck ``requestable``.
-
-.. _flags-create-field-specific:
-
-Specifically Requestable
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-By default this box is checked for new flags, meaning that users may make
-flag requests of specific individuals. Unchecking this box will remove the
-text box next to a flag; if it is still requestable, then requests may
-only be made ``to the wind.`` Removing this after specific
-requests have been made will not remove those requests; that data will
-stay in the database (though it will no longer appear to the user).
-
-.. _flags-create-field-multiplicable:
-
-Multiplicable
-~~~~~~~~~~~~~
-
-Any flag with ``Multiplicable`` set (default for new flags is 'on')
-may be set more than once. After being set once, an unset flag
-of the same type will appear below it with ``addl.`` (short for
-``additional``) before the name. There is no limit to the number of
-times a Multiplicable flags may be set on the same bug/attachment.
-
-.. _flags-create-field-cclist:
-
-CC List
-~~~~~~~
-
-If you want certain users to be notified every time this flag is
-set to ?, -, +, or unset, add them here. This is a comma-separated
-list of email addresses that need not be restricted to Bugzilla usernames.
-
-.. _flags-create-grant-group:
-
-Grant Group
-~~~~~~~~~~~
-
-When this field is set to some given group, only users in the group
-can set the flag to ``+`` and ``-``. This
-field does not affect who can request or cancel the flag. For that,
-see the ``Request Group`` field below. If this field
-is left blank, all users can set or delete this flag. This field is
-useful for restricting which users can approve or reject requests.
-
-.. _flags-create-request-group:
-
-Request Group
-~~~~~~~~~~~~~
-
-When this field is set to some given group, only users in the group
-can request or cancel this flag. Note that this field has no effect
-if the ``grant group`` field is empty. You can set the
-value of this field to a different group, but both fields have to be
-set to a group for this field to have an effect.
-
-.. COMMENT: flags-create
-
-.. _flags-delete:
-
-Deleting a Flag
----------------
-
-When you are at the ``Administer Flag Types`` screen,
-you will be presented with a list of Bug flags and a list of Attachment
-Flags.
-
-To delete a flag, click on the ``Delete`` link next to
-the flag description.
-
-.. warning:: Once you delete a flag, it is *gone* from
- your Bugzilla. All the data for that flag will be deleted.
- Everywhere that flag was set, it will disappear,
- and you cannot get that data back. If you want to keep flag data,
- but don't want anybody to set any new flags or change current flags,
- unset ``active`` in the flag Edit form.
-
-.. COMMENT: flags-admin
-
-.. COMMENT: XXX We should add a "Uses of Flags" section, here, with examples.
-
-.. COMMENT: flags
-
-.. _keywords:
-
-Keywords
-########
-
-The administrator can define keywords which can be used to tag and
-categorise bugs. For example, the keyword "regression" is commonly used.
-A company might have a policy stating all regressions
-must be fixed by the next release - this keyword can make tracking those
-bugs much easier.
-
-Keywords are global, rather than per-product. If the administrator changes
-a keyword currently applied to any bugs, the keyword cache must be rebuilt
-using the :ref:`sanitycheck` script. Currently keywords cannot
-be marked obsolete to prevent future usage.
-
-Keywords can be created, edited or deleted by clicking the "Keywords"
-link in the admin page. There are two fields for each keyword - the keyword
-itself and a brief description. Once created, keywords can be selected
-and applied to individual bugs in that bug's "Details" section.
-
-.. _custom-fields:
-
-Custom Fields
-#############
-
-The release of Bugzilla 3.0 added the ability to create Custom Fields.
-Custom Fields are treated like any other field - they can be set in bugs
-and used for search queries. Administrators should keep in mind that
-adding too many fields can make the user interface more complicated and
-harder to use. Custom Fields should be added only when necessary and with
-careful consideration.
-
-.. note:: Before adding a Custom Field, make sure that Bugzilla cannot already
- do the desired behavior. Many Bugzilla options are not enabled by
- default, and many times Administrators find that simply enabling
- certain options that already exist is sufficient.
-
-Administrators can manage Custom Fields using the
-``Custom Fields`` link on the Administration page. The Custom
-Fields administration page displays a list of Custom Fields, if any exist,
-and a link to "Add a new custom field".
-
-.. _add-custom-fields:
-
-Adding Custom Fields
-====================
-
-To add a new Custom Field, click the "Add a new custom field" link. This
-page displays several options for the new field, described below.
-
-The following attributes must be set for each new custom field:
-
-- *Name:*
- The name of the field in the database, used internally. This name
- MUST begin with ``cf_`` to prevent confusion with
- standard fields. If this string is omitted, it will
- be automatically added to the name entered.
-
-- *Description:*
- A brief string which is used as the label for this Custom Field.
- That is the string that users will see, and should be
- short and explicit.
-
-- *Type:*
- The type of field to create. There are
- several types available:
-
- Bug ID:
- A field where you can enter the ID of another bug from
- the same Bugzilla installation. To point to a bug in a remote
- installation, use the See Also field instead.
- Large Text Box:
- A multiple line box for entering free text.
- Free Text:
- A single line box for entering free text.
- Multiple-Selection Box:
- A list box where multiple options
- can be selected. After creating this field, it must be edited
- to add the selection options. See
- :ref:`edit-values-list` for information about
- editing legal values.
- Drop Down:
- A list box where only one option can be selected.
- After creating this field, it must be edited to add the
- selection options. See
- :ref:`edit-values-list` for information about
- editing legal values.
- Date/Time:
- A date field. This field appears with a
- calendar widget for choosing the date.
-
-- *Sortkey:*
- Integer that determines in which order Custom Fields are
- displayed in the User Interface, especially when viewing a bug.
- Fields with lower values are displayed first.
-
-- *Reverse Relationship Description:*
- When the custom field is of type ``Bug ID``, you can
- enter text here which will be used as label in the referenced
- bug to list bugs which point to it. This gives you the ability
- to have a mutual relationship between two bugs.
-
-- *Can be set on bug creation:*
- Boolean that determines whether this field can be set on
- bug creation. If not selected, then a bug must be created
- before this field can be set. See :ref:`bugreports`
- for information about filing bugs.
-
-- *Displayed in bugmail for new bugs:*
- Boolean that determines whether the value set on this field
- should appear in bugmail when the bug is filed. This attribute
- has no effect if the field cannot be set on bug creation.
-
-- *Is obsolete:*
- Boolean that determines whether this field should
- be displayed at all. Obsolete Custom Fields are hidden.
-
-- *Is mandatory:*
- Boolean that determines whether this field must be set.
- For single and multi-select fields, this means that a (non-default)
- value must be selected, and for text and date fields, some text
- must be entered.
-
-- *Field only appears when:*
- A custom field can be made visible when some criteria is met.
- For instance, when the bug belongs to one or more products,
- or when the bug is of some given severity. If left empty, then
- the custom field will always be visible, in all bugs.
-
-- *Field that controls the values that appear in this field:*
- When the custom field is of type ``Drop Down`` or
- ``Multiple-Selection Box``, you can restrict the
- availability of the values of the custom field based on the
- value of another field. This criteria is independent of the
- criteria used in the ``Field only appears when``
- setting. For instance, you may decide that some given value
- ``valueY`` is only available when the bug status
- is RESOLVED while the value ``valueX`` should
- always be listed.
- Once you have selected the field which should control the
- availability of the values of this custom field, you can
- edit values of this custom field to set the criteria, see
- :ref:`edit-values-list`.
-
-.. _edit-custom-fields:
-
-Editing Custom Fields
-=====================
-
-As soon as a Custom Field is created, its name and type cannot be
-changed. If this field is a drop down menu, its legal values can
-be set as described in :ref:`edit-values-list`. All
-other attributes can be edited as described above.
-
-.. _delete-custom-fields:
-
-Deleting Custom Fields
-======================
-
-Only custom fields which are marked as obsolete, and which never
-have been used, can be deleted completely (else the integrity
-of the bug history would be compromised). For custom fields marked
-as obsolete, a "Delete" link will appear in the ``Action``
-column. If the custom field has been used in the past, the deletion
-will be rejected. But marking the field as obsolete is sufficient
-to hide it from the user interface entirely.
-
-.. _edit-values:
-
-Legal Values
-############
-
-Legal values for the operating system, platform, bug priority and
-severity, custom fields of type ``Drop Down`` and
-``Multiple-Selection Box`` (see :ref:`custom-fields`),
-as well as the list of valid bug statuses and resolutions can be
-customized from the same interface. You can add, edit, disable and
-remove values which can be used with these fields.
-
-.. _edit-values-list:
-
-Viewing/Editing legal values
-============================
-
-Editing legal values requires ``admin`` privileges.
-Select "Field Values" from the Administration page. A list of all
-fields, both system fields and Custom Fields, for which legal values
-can be edited appears. Click a field name to edit its legal values.
-
-There is no limit to how many values a field can have, but each value
-must be unique to that field. The sortkey is important to display these
-values in the desired order.
-
-When the availability of the values of a custom field is controlled
-by another field, you can select from here which value of the other field
-must be set for the value of the custom field to appear.
-
-.. _edit-values-delete:
-
-Deleting legal values
-=====================
-
-Legal values from Custom Fields can be deleted, but only if the
-following two conditions are respected:
-
-#. The value is not used by default for the field.
-
-#. No bug is currently using this value.
-
-If any of these conditions is not respected, the value cannot be deleted.
-The only way to delete these values is to reassign bugs to another value
-and to set another value as default for the field.
-
-.. _bug_status_workflow:
-
-Bug Status Workflow
-###################
-
-The bug status workflow is no longer hardcoded but can be freely customized
-from the web interface. Only one bug status cannot be renamed nor deleted,
-UNCONFIRMED, but the workflow involving it is free. The configuration
-page displays all existing bug statuses twice, first on the left for bug
-statuses we come from and on the top for bug statuses we move to.
-If the checkbox is checked, then the transition between the two bug statuses
-is legal, else it's forbidden independently of your privileges. The bug status
-used for the "duplicate_or_move_bug_status" parameter must be part of the
-workflow as that is the bug status which will be used when duplicating or
-moving a bug, so it must be available from each bug status.
-
-When the workflow is set, the "View Current Triggers" link below the table
-lets you set which transitions require a comment from the user.
-
-.. _voting:
-
-Voting
-######
-
-All of the code for voting in Bugzilla has been moved into an
-extension, called "Voting", in the :file:`extensions/Voting/`
-directory. To enable it, you must remove the :file:`disabled`
-file from that directory, and run :file:`checksetup.pl`.
-
-Voting allows users to be given a pot of votes which they can allocate
-to bugs, to indicate that they'd like them fixed.
-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
-"CONFIRMED", users of the bug system can help high-priority bugs garner
-attention so they don't sit for a long time awaiting triage.
-
-To modify Voting settings:
-
-#. Navigate to the "Edit product" screen for the Product you
- wish to modify
-
-#. *Maximum Votes per person*:
- Setting this field to "0" disables voting.
-
-#. *Maximum Votes a person can put on a single
- bug*:
- It should probably be some number lower than the
- "Maximum votes per person". Don't set this field to "0" if
- "Maximum votes per person" is non-zero; that doesn't make
- any sense.
-
-#. *Number of votes a bug in this product needs to
- automatically get out of the UNCONFIRMED state*:
- Setting this field to "0" disables the automatic move of
- bugs from UNCONFIRMED to CONFIRMED.
-
-#. Once you have adjusted the values to your preference, click
- "Update".
-
-.. _quips:
-
-Quips
-#####
-
-Quips are small text messages that can be configured to appear
-next to search results. A Bugzilla installation can have its own specific
-quips. Whenever a quip needs to be displayed, a random selection
-is made from the pool of already existing quips.
-
-Quip submission is controlled by the *quip_list_entry_control*
-parameter. It has several possible values: open, moderated, or closed.
-In order to enable quips approval you need to set this parameter to
-"moderated". In this way, users are free to submit quips for addition
-but an administrator must explicitly approve them before they are
-actually used.
-
-In order to see the user interface for the quips, it is enough to click
-on a quip when it is displayed together with the search results. Or
-it can be seen directly in the browser by visiting the quips.cgi URL
-(prefixed with the usual web location of the Bugzilla installation).
-Once the quip interface is displayed, it is enough to click the
-"view and edit the whole quip list" in order to see the administration
-page. A page with all the quips available in the database will
-be displayed.
-
-Next to each quip there is a checkbox, under the
-"Approved" column. Quips who have this checkbox checked are
-already approved and will appear next to the search results.
-The ones that have it unchecked are still preserved in the
-database but they will not appear on search results pages.
-User submitted quips have initially the checkbox unchecked.
-
-Also, there is a delete link next to each quip,
-which can be used in order to permanently delete a quip.
-
-Display of quips is controlled by the *display_quips*
-user preference. Possible values are "on" and "off".
-
-.. _groups:
-
-Groups and Group Security
-#########################
-
-Groups allow for separating bugs into logical divisions.
-Groups are typically used
-to isolate bugs that should only be seen by certain people. For
-example, a company might create a different group for each one of its customers
-or partners. Group permissions could be set so that each partner or customer would
-only have access to their own bugs. Or, groups might be used to create
-variable access controls for different departments within an organization.
-Another common use of groups is to associate groups with products,
-creating isolation and access control on a per-product basis.
-
-Groups and group behaviors are controlled in several places:
-
-#. The group configuration page. To view or edit existing groups, or to
- create new groups, access the "Groups" link from the "Administration"
- page. This section of the manual deals primarily with the aspect of
- group controls accessed on this page.
-
-#. Global configuration parameters. Bugzilla has several parameters
- that control the overall default group behavior and restriction
- levels. For more information on the parameters that control
- group behavior globally, see :ref:`param-group-security`.
-
-#. Product association with groups. Most of the functionality of groups
- and group security is controlled at the product level. Some aspects
- of group access controls for products are discussed in this section,
- but for more detail see :ref:`product-group-controls`.
-
-#. Group access for users. See :ref:`users-and-groups` for
- details on how users are assigned group access.
-
-Group permissions are such that if a bug belongs to a group, only members
-of that group can see the bug. If a bug is in more than one group, only
-members of *all* the groups that the bug is in can see
-the bug. For information on granting read-only access to certain people and
-full edit access to others, see :ref:`product-group-controls`.
-
-.. note:: By default, bugs can also be seen by the Assignee, the Reporter, and
- by everyone on the CC List, regardless of whether or not the bug would
- typically be viewable by them. Visibility to the Reporter and CC List can
- be overridden (on a per-bug basis) by bringing up the bug, finding the
- section that starts with ``Users in the roles selected below...``
- and un-checking the box next to either 'Reporter' or 'CC List' (or both).
-
-.. _create-groups:
-
-Creating Groups
-===============
-
-To create a new group, follow the steps below:
-
-#. Select the ``Administration`` link in the page footer,
- and then select the ``Groups`` link from the
- Administration page.
-
-#. A table of all the existing groups is displayed. Below the table is a
- description of all the fields. To create a new group, select the
- ``Add Group`` link under the table of existing groups.
-
-#. There are five fields to fill out. These fields are documented below
- the form. Choose a name and description for the group. Decide whether
- this group should be used for bugs (in all likelihood this should be
- selected). Optionally, choose a regular expression that will
- automatically add any matching users to the group, and choose an
- icon that will help identify user comments for the group. The regular
- expression can be useful, for example, to automatically put all users
- from the same company into one group (if the group is for a specific
- customer or partner).
-
- .. note:: If ``User RegExp`` is filled out, users whose email
- addresses match the regular expression will automatically be
- members of the group as long as their email addresses continue
- to match the regular expression. If their email address changes
- and no longer matches the regular expression, they will be removed
- from the group. Versions 2.16 and older of Bugzilla did not automatically
- remove users who's email addresses no longer matched the RegExp.
-
- .. warning:: If specifying a domain in the regular expression, end
- the regexp with a "$". Otherwise, when granting access to
- "@mycompany\\.com", access will also be granted to
- 'badperson@mycompany.com.cracker.net'. Use the syntax,
- '@mycompany\\.com$' for the regular expression.
-
-#. After the new group is created, it can be edited for additional options.
- The "Edit Group" page allows for specifying other groups that should be included
- in this group and which groups should be permitted to add and delete
- users from this group. For more details, see :ref:`edit-groups`.
-
-.. _edit-groups:
-
-Editing Groups and Assigning Group Permissions
-==============================================
-
-To access the "Edit Groups" page, select the
-``Administration`` link in the page footer,
-and then select the ``Groups`` link from the Administration page.
-A table of all the existing groups is displayed. Click on a group name
-you wish to edit or control permissions for.
-
-The "Edit Groups" page contains the same five fields present when
-creating a new group. Below that are two additional sections, "Group
-Permissions," and "Mass Remove". The "Mass Remove" option simply removes
-all users from the group who match the regular expression entered. The
-"Group Permissions" section requires further explanation.
-
-The "Group Permissions" section on the "Edit Groups" page contains four sets
-of permissions that control the relationship of this group to other
-groups. If the 'usevisibilitygroups' parameter is in use (see
-:ref:`parameters`) two additional sets of permissions are displayed.
-Each set consists of two select boxes. On the left, a select box
-with a list of all existing groups. On the right, a select box listing
-all groups currently selected for this permission setting (this box will
-be empty for new groups). The way these controls allow groups to relate
-to one another is called *inheritance*.
-Each of the six permissions is described below.
-
-*Groups That Are a Member of This Group*
- Members of any groups selected here will automatically have
- membership in this group. In other words, members of any selected
- group will inherit membership in this group.
-
-*Groups That This Group Is a Member Of*
- Members of this group will inherit membership to any group
- selected here. For example, suppose the group being edited is
- an Admin group. If there are two products (Product1 and Product2)
- and each product has its
- own group (Group1 and Group2), and the Admin group
- should have access to both products,
- simply select both Group1 and Group2 here.
-
-*Groups That Can Grant Membership in This Group*
- The members of any group selected here will be able add users
- to this group, even if they themselves are not in this group.
-
-*Groups That This Group Can Grant Membership In*
- Members of this group can add users to any group selected here,
- even if they themselves are not in the selected groups.
-
-*Groups That Can See This Group*
- Members of any selected group can see the users in this group.
- This setting is only visible if the 'usevisibilitygroups' parameter
- is enabled on the Bugzilla Configuration page. See
- :ref:`parameters` for information on configuring Bugzilla.
-
-*Groups That This Group Can See*
- Members of this group can see members in any of the selected groups.
- This setting is only visible if the 'usevisibilitygroups' parameter
- is enabled on the the Bugzilla Configuration page. See
- :ref:`parameters` for information on configuring Bugzilla.
-
-.. _users-and-groups:
-
-Assigning Users to Groups
-=========================
-
-A User can become a member of a group in several ways:
-
-#. The user can be explicitly placed in the group by editing
- the user's profile. This can be done by accessing the "Users" page
- from the "Administration" page. Use the search form to find the user
- you want to edit group membership for, and click on their email
- address in the search results to edit their profile. The profile
- page lists all the groups, and indicates if the user is a member of
- the group either directly or indirectly. More information on indirect
- group membership is below. For more details on User administration,
- see :ref:`useradmin`.
-
-#. The group can include another group of which the user is
- a member. This is indicated by square brackets around the checkbox
- next to the group name in the user's profile.
- See :ref:`edit-groups` for details on group inheritance.
-
-#. The user's email address can match the regular expression
- that has been specified to automatically grant membership to
- the group. This is indicated by "\*" around the check box by the
- group name in the user's profile.
- See :ref:`create-groups` for details on
- the regular expression option when creating groups.
-
-Assigning Group Controls to Products
-====================================
-
-The primary functionality of groups is derived from the relationship of
-groups to products. The concepts around segregating access to bugs with
-product group controls can be confusing. For details and examples on this
-topic, see :ref:`product-group-controls`.
-
-.. _sanitycheck:
-
-Checking and Maintaining Database Integrity
-###########################################
-
-Over time it is possible for the Bugzilla database to become corrupt
-or to have anomalies.
-This could happen through normal usage of Bugzilla, manual database
-administration outside of the Bugzilla user interface, or from some
-other unexpected event. Bugzilla includes a "Sanity Check" script that
-can perform several basic database checks, and repair certain problems or
-inconsistencies.
-
-To run the "Sanity Check" script, log in as an Administrator and click the
-"Sanity Check" link in the admin page. Any problems that are found will be
-displayed in red letters. If the script is capable of fixing a problem,
-it will present a link to initiate the fix. If the script cannot
-fix the problem it will require manual database administration or recovery.
-
-The "Sanity Check" script can also be run from the command line via the perl
-script :file:`sanitycheck.pl`. The script can also be run as
-a :command:`cron` job. Results will be delivered by email.
-
-The "Sanity Check" script should be run on a regular basis as a matter of
-best practice.
-
-.. warning:: The "Sanity Check" script is no substitute for a competent database
- administrator. It is only designed to check and repair basic database
- problems.
-
-