PROBLEM

Section: User Commands (1)
Index Return to Main Contents
 

NAME

problem - a problem database manager  

SYNOPSIS

problem [-v] [-d] [area1 area2 ...]
 

DESCRIPTION

Problem is a database manager for problems and bug reports. It was inspired by PROBLEM, the problem database manager under IBM VM/CMS that was written by Andy Hanushevsky at Cornell University. It is intended to provide a common interface to a collection of databases describing problems and/or bugs which a UNIX site might be interested in tracking, and to facilitate the sharing of this information amongst all interested parties.

 

COMMANDS

In the following descriptions, ^X means control-X. ESC stands for the ESCAPE key; for example ESC-v means the two character sequence "ESCAPE", then "v". TAB stands for the tab key. UP_ARROW stands for the up arrow key and DOWN_ARROW stands for the down arrow key, if your keyboard supports arrow keys.

Typing problem, a list of problem areas, called the area window, is displayed. This list is set up by the problem administrator at your site. It consists of the areas into which problems and bug reports can be logged. A sample area window:

  1 apf        - for AIX Parallel Fortran problems under AIX/370
  2 aix370     - general AIX/370 problems
  3 aixws      - any workstation related problem
  4 dbx        - any dbx-related problem
  5 AFS or NFS - any AFS or NFS related problem

The areas are numbered from 1 to N, where N is the total number of areas defined at your site. If N is less than ten, you simply need to press the key corresponding to that number to indicate your interest in that area. Otherwise, you must type in the number followed by a carriage return. If there are more areas than lines on your screen, problem will display as many as will fit on the screen by forcing the areas to fit in a series of twenty-five character wide columns. If they still don't all fit on the screen, typing `H' or `?' will scroll through all the areas.

Once you've selected an area, a list of available commands, called the command window, is displayed:

  l  -- log new problem
  a  -- append to a problem
  c  -- close a problem
  d  -- delete a problem from the database
  e  -- examine a problem
  q  -- quit
  r  -- reorganize the database
  s  -- subscribe to this problem area
  u  -- unsubscribe from this problem area
  v  -- view problem summaries
  k  -- keyword search over problem headers
  K  -- keyword search over problem headers and data
  M  -- modify keyword field
  R  -- reopen a closed problem
  P  -- change priority (severity) of problem
  T  -- transfer problem to another area

Here you are expected to type a single letter symbolizing the command of interest. Typing `H' or `?' will scroll through the list of available commands.

l -- log new problem

Typing `l', you'll immediately see a screen of the form:

Area      networking
Logger    mjlx
Reporter
Logged    Mon Jun 29 08:56:27 1992
Updated   Mon Jun 29 08:56:27 1992
Keywords
Summary
Status    open
Site
Severity
Problem #

This is known as the problem header. Here, Reporter is intended to represent the user name or real name of the person who reported the problem, which needn't be the same as Logger. Of course you can fill in any of the fields as you see fit. Severity , which runs from 4 (the lowest) to 1 (the highest) is meant to be some indication of the severity of the problem. The remaining fields have their more or less obvious meaning.

In the above problem header, problem has filled in the fields that it can and will prompt for the others. It will fill in the Problem # field, if and when the problem is really logged, with a positive number unique across all problem areas. There is no limit to the amount of text that can be stored in each field. After filling out this header, problem will invoke the editor in your EDITOR environment variable (or "vi" if not defined), from which you are expected to enter the text of the problem. When you exit from your editor, you'll be prompted as to whether or not you really want to log the problem. Typing `y' logs the problem and returns you to the command window, while typing `n' simply takes you back to the command window.

a -- append to a problem

Here you'll be prompted for the problem # of an existing problem. If a problem of that number actually exists, you'll immediately be brought up into your editor to enter the text of your append. When you exit from your editor, you'll be prompted as to whether or not you really wish to make this append. The Updated field of the problem header will be updated to reflect the time of the append.

c -- close a problem

Here you'll be prompted for the problem # of an existing problem. If a problem of that number actually exists, you'll immediately be brought up into your editor to enter the text of your close. Closing a problem changes the Status field of the problem entry from "open" to "closed"; it is not removed from the database. It is meant to be an indication that the problem has been solved. Only the original logger of the problem, or the problem administrator can close a problem. The Updated field of the problem header will be updated to reflect the time of the close.

e -- examine a problem

You will be prompted for the problem # of an existing problem. If that problem exists you'll be placed into the pager "less" with a copy of the complete problem header and data of that problem. This way you can then page through the problem and do any thing else you might do from a pager such as saving a copy of the problem or only a portion of it to another file.

v -- view problem summaries

Here a list consisting of selected parts of each problem header is displayed on the screen, one per line, called the view window. The fields displayed are: Problem #, Status, Severity (if the problem is open), Updated, and Summary. The lines are sorted: "open" before "closed"; severity 1 to severity 4; and then in most recently updated to least recently updated order. It the text of a line is longer than the screen width the line is truncated and a `!' is place in the final position in the line. The cursor is initially placed in the first column of the first line.

The line the cursor is on is called the current line. The line the cursor is on can be changed using the cursor motion and scrolling commands of vi and emacs, though the cursor will always remain in first column of whatever line it is on. If the current line is longer than the screen width it will be shifted left so that the final screenwidth characters are visible. In this way, by moving the cursor on and off of a line, it is possible to read the complete line, provided that the length of the line is not more than twice the width of your screen. Most of the commands in the command window are accessible from within the view window and apply to the problem in the current line. For example, typing `a' will append to the problem in the current line.

Typing `H' or `?' will scroll through a list of all the valid keypresses from within the view window:

 CURSOR MOVEMENT COMMANDS:

    ?  H               Display this help.
    q                  quit.
    j  n  ^N  SPC  CR  Forward  one line.
    DOWN_ARROW_KEY             "        .
    k  p  ^P  ^Y       Backward one line.
    UP_ARROW_KEY               "        .
    ^F  ^V             Forward  one window.
    b  ^B  ESC-V       Backward one window.
    ^D                 Forward  one half-window.
    ^U                 Backward one half-window.
    <                  Go to first line of listing.
    >                  Go to last line of listing.

 COMMANDS WHICH OPERATE ON THE CURRENT PROBLEM:

    a                  Append to current problem.
    c                  Close current problem.
    d                  Delete current problem.
    e m v              Examine, View, or "more" current problem.
    M                  Modify keyword field.
    r                  Reorganize the database.
    P                  Change the priority (severity) of problem.
    R                  Reopen a closed problem.
    S                  Save problem listing to a file.
    T                  Transfer problem to another area.

 MISCELLANEOUS COMMANDS:

    !                  starts up a shell.
    ! cmd              executes a shell command
    !!                 reexecutes previous shell command.
    ^L                 Repaint screen.
    CR                 End-of-response when in a prompt.
    V                  Print out version string.

s -- subscribe to this problem area

You will be added to a list of interested parties for this area. Each time a change is made to the database for this area, every person on the mailing list receives mail indicating the change that was made. In this way, it is easy to keep track of problems without having to regularly read all the areas to see if anything new has happened.

u -- unsubscribe from this problem area

You will be removed from the interested parties mailing list for this area.

k -- keyword search over problem headers

You will be prompted for a regular expression which will then be used to search over the problem headers. If there are any matches, the summary lines of each of the problems which matched will be displayed in a view window. For example, if you wished to peruse only open problems, you could search for "open" whereupon you would be put in a view window consisting of only the open problems in the area.

K -- keyword search over problem headers and data

This is similar the the `k' command except that the regular expression search is over the complete problem header and data for each problem.

M -- modify keyword field

This command is useful if you want to modify the keyword field. At the authors site, being an IBM stronghold, we place the number of each APAR (Authorized Problem Analysis Report) which supposedly fixes a problem, in the keyword field. This cannot be done when the problem is logged since the APAR number(s) aren't known at that time. You must be the original logger of the problem or the problem administrator to do modify the keywords of a problem.

d -- delete a problem from the database

This command allows the database administrator to delete problems from the database for this area. The problem data is irretrievably removed from the database.

r -- reorganize the database

This is an administrative command which can be used after many appends and deletions have been made in the database to shrink it down and make accessing it more efficient. It directly corresponds to the GDBM reorganize command.

P -- modify priority (severity) of problem

This command is useful if you want to modify the priority (severity) of a problem. Given that the original logger of the problem initially chooses the severity, the problem administrator may choose to later change the priority of the problem to reflect the priority from the point of view of the person responsible for fixing the problem. You must be the original logger of the problem or the problem administrator to change the priority of a problem.

T -- transfer problem to another area

This command is useful if you want to move a problem from the current area to another area. You'll be prompted for the area in which to transfer the problem. You must be the original logger of the problem or the problem administrator to transfer a problem.

R -- reopen a closed problem

A closed problem can be reopened with this command. The Status field is changed from "closed" back to "open".

q -- quit

This quits from the command window and returns you to the area window.

 

OPTIONS

Command line options are described below.

-d dirname
Instructs problem to use the next argument as the name of the directory in which all the problem databases and mailing list files are stored. The author uses it primarily as a debugging tool. However, it allows different groups at a single site to set up their own databases, instead of forcing a single person to centrally administer all the problem areas at the site.
-v
Prints out the version string and exits.

Problem can also be invoked with one or more problem areas as arguments. It will then immediately startup in the command window for that area. Typing `q' will then move on to the next problem area, or the area window if no more areas have been specified. If any of the arguments are not valid problem areas, you will also be placed in the area window when problem tries to process that area.

 

ENVIRONMENT VARIABLES

COLUMNS
This value, if nonzero, overrides the number of columns as read from termcap(3). Hence by setting COLUMNS it is easy to use a different number of columns than termcap(3) expects for a given terminal type.
EDITOR
The name of the editor (used by the `e' and `f' commands).
HOME
The user's home directory.
LINES
This value, if nonzero, overrides the number of lines as read from termcap(3). Hence by setting LINES it is easy to use a different number of lines than termcap(3) expects for a given terminal type.
PAGER
The pager used when viewing a problem. This is only used if problem is built to not automatically use the pager "less". If not built to automaticaly use "less" and PAGER isn't defined, "more" is used.
SHELL
The shell used to execute the `!' command, as well as to expand filenames.
TERM
The type of terminal on which problem is being run.


 

AUTHORS

Written by Mike Lijewski while at the Cornell National Supercomputer Facility.


 

Index

NAME
SYNOPSIS
DESCRIPTION
COMMANDS
OPTIONS
ENVIRONMENT VARIABLES
AUTHORS

This document was created by man2html, using the manual pages.
Time: 06:45:32 GMT, December 12, 2024