# GnatsWeb User Guide

### Abstract:

> The GnatsWeb interface is a front-end to the Gnats problem tracking system used to create, view and modify Gnats problem reports (i.e. 'bugs'). It is used to track issues related to products that are supported (i.e. Software, Hardware, Documentation, etc...). Problem reports are used to notify responsible parties of problems. When the problems are looked into, the problem reports can be edited and email gets sent to all interested parties.

### Sections:

- Login Page
- Main Page
- Create Problem Report Page
- Edit Problem Report Page
- View Problem Report Page
- Query Problem Reports Page
- Advanced Query Page
- Query Matches Page

## Login Page

The login page is used to login to the Gnats system. The first time GnatsWeb is used, this page is presented. After, the first time, the main page is displayed because the settings are stored in cookies on the machine that has the web browser running. There is a button on the main page that goes to the Login Page. This button is used to select a new database if desired. There are several controls on the screen:

> User Name: (textbox)
>   This is the Gnats user name to login as.
> Password: (textbox)
>   This is the Gnats password for the user name.
> Database: (combobox)
>   This selects the database to login to. The dropdown list is all the available databases.
> Login (button)
>   This logs into the Gnats database selected.

If the user name and password are correct the main page will be shown.

## Main Page

The main page is used to select the various operations within the Gnats database. There are seven operations available from this page:

> Create Problem Report: (button)
>   This button displays the Create Problem Report Page. It is used to create a new problem report.
> Edit Problem Report: (button and textbox)
>   This is used to edit an existing problem report. The Problem Report Number is entered into the text box and either the `ENTER` key is pressed or the Edit button is pressed.
> View Problem Report: (button and textbox)
>   This is used to view an existing problem report. The Problem Report Number is entered into the text box and either the `ENTER` key is pressed or the Edit button is pressed.
> Query Problem Reports:
>   This button displays the Query Problem Reports Page. It is used to query existing problem reports.
> Advanced Query:
>   This button displays the Advanced Query Page. It is used to query existing problem reports but with many more options.
> Login again:
>   This button displays the Login Page. This is useful for selecting a different database to use.
> Help:
>   Display this help page.

## Create Problem Report Page

The create problem report page is used to create a new problem report. There are many controls on this page. Here is a description of each one:

> Reporter's email: (textbox)
>   This is the person filing the new problem report. This is necessary because, someone without access to the Gnats database may be the Originator (described below).
> CC: (textbox)
>   Carbon copy the problem report to this email address. This is useful to send a new problem report to someone but only the this report. Any changes to the problem report in the future are not emailed to this address.
> Others to notify of updates: (textbox)
>   This can be a comma separated list of email addresses that will be notified when this problem report changes. This is useful for others that may be interested in this problem.
> Category: (combobox)
>   This combobox allows the selection of a category of where the problem report should go. This is usually a product that is supported by this Gnats database.
> Synopsis: (textbox)
>   This is a short description of a problem. This is used in the Query Page and/or the Advanced Query Page.
> Confidential: (combobox)
>   This combobox selects whether or not this problem report is confidential. This is useful so that in-house problem reports don't necessarily need to be seen by the public.
> Severity: (combobox)
>   This has three options: critical, serious, non-critical. This is a best guess (i.e. if the hardware catches fire, it should probably be critical). Though it will probably change by the Gnats administrator or the responsible person.
> Priority: (combobox)
>   This is also a guess at the priority. This is sometimes changed by the Gnats administrator or the responsible person.
> Class: (combobox)
>   The class of the problem. This is also a guess.
> Submitter-Id: (combobox)
>   The valid submitter identification. If you don't know leave the default, otherwise select the one desired.
> Originator: (textbox)
>   An email address of the person reporting the problem. Many times this is the same as the Reporter's email address.
> Release: (textbox)
>   This should include the install, patches, updates, fixes etc... for best tracking and diagnosis of the problem.
> Environment: (textbox)
>   A description of the environment where the problem occurred. Again, the more, the better.
> Description: (multi-line textbox)
>   A long description of the problem. Good descriptions become good solutions. Bad descriptions are hard to solve.
> How-To-Repeat: (multi-line textbox)
>   This is a description of the steps taken to repeat the problem.
> Fix: (multi-line textbox)
>   If a workaround or fix has been determined, this is the place to put that information.
> Submit (button)
>   This submits the problem report to the Gnats database. Email will be sent to the Reporter's email, Originator's email, and all other parties listed in the Others to notify field. The Gnats administrator and the responsible person also gets a copy.
> Reset (button)
>   Reset all fields to defaults. Most the textboxes are cleared and the comboboxes are set to there defaults.

## Edit Problem Report Page

The edit page is used to change a problem report when a solution, fix, or change to the problem report is required. Many of the fields parallel the Create Problem Report Page (consult this section for a description of the other fields if necessary), but other are specific to the edit page.

Some fields have a textbox labeled Reason Changed: just below them. If the field above has been modified, the Reason Changed: field must be filled in with a reason. This is to track the changes to various fields deemed important enough requiring a reason that they changed.

Here are the new fields added to the edit page:

> Responsible: (combobox)
>   This is the id of the individual who is "responsible" for handling the problem report.
> Reason Changed: (multi-line textbox) below the Responsible: field.
>   If the Responsible: field changes, this must be filled in with a reason.
> State: (combobox)
>   The current state of the problem report. Usually this field is changed by the Responsible person.
> Reason Changed: (multi-line textbox) below the State: field.
>   If the State: field changes, this must be filled in with a reason.
> Class: (combobox)
>   The class of the problem report.
> Release-Note: (multi-line textbox)
>   This field is usually used when a problem report has been closed and incorporated into a new release of software. These then are collected and can be used in a updates report included with the released software.
> Submit Edit (button)
>   This submits the changes to the Gnats database. Another page is displayed with the results. If fields are missing or incorrect, the changes necessary to fix the problem are displayed. The problem reported can be changed an then resubmitted.
> Audit-Trail: (multi-line text display)
>   This is a description of all the changes done to this problem report.

## View Problem Report Page

The view page is used to display a Gnats problem report without changing it. It has the same fields described in the Create Problem Report Page and the Edit Problem Report Page. It has two buttons and a link:

> Edit (button)
>   This displays the edit page.
> View audit-trail (button)
>   Because the Audit-Trail: field can get quite long, it is only displayed when this button is clicked. This is helpful to only print the problem report without all the changes, thus saving paper.
> send email to interested parties (link)
>   This is useful to send email to the parties interested in this problem report.

## Query Problem Reports Page

The query problem reports page is useful for simple searches of problem reports. It displays the Query Matches Page. The fields are "anded" together for the search meaning all the criteria selected must match each problem report searched in order for it to be shown. There are several selections that can be done:

> Submit stored query (button and combobox)
>   If a stored query (done on the Query Results Page), this selects a previously stored query. If no queries are stored, then this field is not displayed.
> Category: (combobox)
>   This will select all or a specific category to search.
> Severity: (combobox)
>   This will select all or a specific severity to search.
> Priority: (combobox)
>   This will select all or a specific priority to search.
> Responsible: (combobox)
>   This will select all or a specific responsible to search.
> State: (combobox)
>   This will select all or a specific state to search.
> Ignore Closed (checkbox)
>   This selects whether or not to ignore closed problem reports (ignore is the default).
> Class: (combobox)
>   This will select all or a specific class to search.
> Synopsis Search: (textbox)
>   This will search the synopsis field for the text entered.
> Multi-line Text Search:
>   This will search all the multi-line text fields for the text entered.
> Column Display: (multi-select listbox)
>   This selects the columns to be displayed in the table. These are stored on the web browser machine so the next time a query is requested, the fields from before are already selected.
> Submit query (button)
>   This submits the query and the Query Match Page is displayed.

## Advanced Query Problem Reports Page

The advanced query problem reports page is not for the faint at heart. This is a very complicated form and has many features. There are three buttons and a combobox to start the search:

> Submit stored query (button and combobox)
>   If a stored query (done on the Query Results Page), this selects a previously stored query. If no queries are stored, then this field is not displayed.
> Submit query (button)
>   Submit the advanced query to display the Query Results Page
> Reset (button)
>   Reset the form.

There are four sub-sections to this form:

1. Search All Text
2. Search By Date
3. Search Individual Fields
4. Select Columns to Display

Any one of these sub-sections can be used separately or together for complex searches.

### Search All Text

There are two type of searches on all text:

1. Single-line text fields
2. Multi-line text fields

This search criteria is a regular expression.

### Search By Date

The search by date sub-section is to limit the matching of problem reports by time. There are six self explanatory fields available:

1. Arrived After
2. Arrived Before
3. Modified After
4. Modified Before
5. Closed After
6. Closed Before

The dates are entered in a string like: `1999-04-01 05:00 GMT`. Though the date matching scheme is pretty robust, it should accept quite a few formats.

### Search Individual Fields

The search individual fields sub-section is useful for matching based on a specific field in the Gnats problem report. All the fields have a textbox for doing regular expression searches. Most fields (where applicable) have a multi-select listbox that can be used. When nothing is entered for the textbox or the listbox, those fields are not used in the match. Here are the valid matchable fields:

- Category
- Synopsis
- Confidential
- Severity
- Priority
- Responsible
- State
- Class
- Submitter-Id
- Originator
- Release

Each field is described in the Create Problem Report Page or the Edit Problem Report Page. The state field also has a Ignore Closed checkbox to ignore all closed problem reports.

### Select Columns to Display

This sub-section is a multi-select listbox that is used to set the displayable columns in the Query Matches Page.

## Query Matches Page

The problem report table displayed has the problem report numbers as links to the View Problem Report Page when they are clicked on. Also, the some titles of the columns are links to redisplay the page sorted by that column.

At the bottom of the page is a text entry field and button to store a query selection. This can then be selected from the Query Problem Reports Page or the Advanced Query Problem Reports Page without having to make all the selections again.