Mercurial > hg > xemacs-beta
diff man/gnats/fields.texi @ 112:48d667d6f17f r20-1b8
Import from CVS: tag r20-1b8
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:20:48 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/gnats/fields.texi Mon Aug 13 09:20:48 2007 +0200 @@ -0,0 +1,520 @@ +@node Fields +@section Problem Report format +@cindex Problem Report format +@cindex format +@cindex database similarities +@cindex fields + +The format of a PR is designed to reflect the nature of @sc{gnats} as a +database. Information is arranged into @dfn{fields}, and kept in +individual records (Problem Reports). + +Problem Report fields are denoted by a keyword which begins with +@samp{>} and ends with @samp{:}, as in @samp{>Confidential:}. Fields +belong to one of three data types: + +@table @asis +@cindex Problem Report data types +@cindex @emph{Enumerated} data types +@item @sc{Enumerated} +One of a specific set of values, which vary according to the field. The +value for each keyword must be on the same line as the keyword. These +values are not configurable (yet). + +@ifset SENDPR +For each @sc{Enumerated} keyword, the possible choices are listed in the +@code{send-pr} template as a comment. +@end ifset +The following fields are @sc{Enumerated} format; see the descriptions of +fields below for explanations of each field in detail: + +@smallexample +@group +>Confidential: >Severity: >Priority: +>Class: >State: >Number: +@end group +@end smallexample + +@cindex @emph{Text} data types +@item @sc{Text} +One single line of text which must begin and end on the same line (i.e., +before a newline) as the keyword. See the descriptions of fields below +for explanations of each field in detail. The following fields are +@sc{Text} format: + +@smallexample +@group +>Submitter-Id: >Originator: >Synopsis: +>Category: >Release: >Responsible: +>Arrival-Date: +@end group +@end smallexample + +@cindex @emph{MultiText} data types +@item @sc{MultiText} +Text of any length may occur in this field. @sc{MultiText} may span +multiple lines and may also include blank lines. A @sc{MultiText} field +ends only when another keyword appears. See the descriptions of fields +below for explanations of each field in detail. + +The following fields are @sc{MultiText} format: + +@smallexample +@group +>Organization: >Environment: >Description: +>How-To-Repeat: >Fix: >Audit-Trail: +>Unformatted: +@end group +@end smallexample + +@end table + +A Problem Report contains two different types of fields: @dfn{Mail +Header} fields, which are used by the mail handler for delivery, and +@dfn{Problem Report} fields, which contain information relevant to the +Problem Report and its submitter. A Problem Report is essentially a +specially formatted electronic mail message. + +@ifclear SENDPR +@subheading Example Problem Report +@end ifclear + +The following is an example Problem Report. Mail headers are at the +top, followed by @sc{gnats} fields, which begin with @samp{>} and end +with @samp{:}. The @samp{Subject:} line in the mail header and the +@samp{>Synopsis:} field are usually duplicates of each other. + +@cindex sample Problem Report +@cindex example Problem Report +@cindex Problem Report template +@cartouche +@smallexample +@group +Message-Id: @var{message-id} +Date: @var{date} +From: @var{address} +Reply-To: @var{address} +To: @var{bug-address} +Subject: @var{subject} + +>Number: @var{gnats-id} +>Category: @var{category} +>Synopsis: @var{synopsis} +>Confidential: yes @emph{or} no +>Severity: critical, serious, @emph{or} non-critical +>Priority: high, medium @emph{or} low +>Responsible: @var{responsible} +>State: open, analyzed, suspended, feedback, @emph{or} closed +>Class: sw-bug, doc-bug, change-request, support, +@ifset SENDPR +@emph{or} duplicate +@end ifset +@ifclear SENDPR +duplicate, @emph{or} mistaken +@end ifclear +>Submitter-Id: @var{submitter-id} +>Arrival-Date: @var{date} +>Originator: @var{name} +>Organization: @var{organization} +>Release: @var{release} +>Environment: + @var{environment} +>Description: + @var{description} +>How-To-Repeat: + @var{how-to-repeat} +>Fix: + @var{fix} +>Audit-Trail: +@var{appended-messages@dots{}} +State-Changed-From-To: @var{from}-@var{to} +State-Changed-When: @var{date} +State-Changed-Why: + @var{reason} +Responsible-Changed-From-To: @var{from}-@var{to} +Responsible-Changed-When: @var{date} +Responsible-Changed-Why: + @var{reason} +>Unformatted: + @var{miscellaneous} +@end group +@end smallexample +@end cartouche + +@menu +* Mail header fields:: +* Problem Report fields:: +@end menu + +@c ---------------------- +@node Mail header fields +@subsection Mail header fields +@cindex mail header fields +@cindex Internet standard RFC-822 + +A Problem Report may contain any mail header field described in the +Internet standard RFC-822. However, only the fields which identify the +sender and the subject are required by @code{send-pr}: + +@table @code +@cindex @code{To:} header +@item To: +The preconfigured mail address for the Support Site where the PR is to +be sent, automatically supplied by @code{send-pr}. + +@cindex @code{Subject:} header +@item Subject: +A terse description of the problem. This field normally contains the +same information as the @samp{>Synopsis:} field. + +@cindex @code{From:} header +@item From: +Usually supplied automatically by the originator's mailer; should +contain the originator's electronic mail address. + +@cindex @code{Reply-To:} header +@item Reply-To: +A return address to which electronic replies can be sent; in most cases, +the same address as the @code{From:} field. +@end table + +@ifclear SENDPR +@cindex @code{Received-By:} headers +One of the configurable options for @sc{gnats} is whether or not to +retain @w{@samp{Received-By:}} headers, which often consume a lot of +space and are not often used. @xref{Local configuration,,Changing your +local configuration}. +@end ifclear + +@c ---------------------- +@node Problem Report fields +@subsection Problem Report fields +@cindex GNATS database fields +@cindex field format + +@c FIXME - this node is loooooooooooooooong... + +@subheading Field descriptions + +The following fields are present whenever a PR is submitted via the +program @code{send-pr}. @sc{gnats} adds additional fields when the PR +arrives at the Support Site; explanations of these follow this list. + +@cindex fields - list +@cindex GNATS fields - list +@table @code +@cindex @code{Submitter-Id} field +@cindex @code{>Submitter-Id:} +@item >Submitter-Id: +(@sc{Text}) A unique identification code assigned by the Support Site. +It is used to identify all Problem Reports coming from a particular +site. (Submitters without a value for this field can invoke +@code{send-pr} with the @samp{--request-id} option to apply for one from +the support organization. Problem Reports from those not affiliated +with the support organization should use the default value of @samp{net} +for this field.) + +@cindex @code{Originator} field +@cindex @code{>Originator:} +@item >Originator: +(@sc{Text}) Originator's real name. The default is the value of the +originator's environment variable @code{NAME}. + +@cindex @code{>Organization:} +@cindex @code{Organization} field +@item >Organization: +(@sc{MultiText}) The originator's organization. The default value is +set with the variable @w{@code{DEFAULT_ORGANIZATION}} in the +@ifclear SENDPR +@file{config} file (@pxref{config,,The @code{config} file}). +@end ifclear +@ifset SENDPR +@code{send-pr} shell script. +@end ifset + +@cindex @code{Confidential} field +@cindex @code{>Confidential:} +@cindex confidentiality in PRs +@cindex PR confidentiality +@item >Confidential: +(@sc{Enumerated}) Use of this field depends on the originator's +relationship with the support organization; contractual agreements often +have provisions for preserving confidentiality. Conversely, a lack of a +contract often means that any data provided will not be considered +confidential. Submitters should be advised to contact the support +organization directly if this is an issue. + +If the originator's relationship to the support organization provides +for confidentiality, then if the value of this field is @samp{yes} the +support organization treats the PR as confidential; any code samples +provided are not made publicly available (e.g., in regression test +suites). The default value is @samp{yes}. + +@cindex @code{Synopsis} field +@cindex @code{>Synopsis:} +@item >Synopsis: +(@sc{Text}) One-line summary of the problem. @w{@code{send-pr}} copies +this information to the @samp{Subject:} line when you submit a Problem +Report. + +@cindex @code{Severity} field +@cindex @code{>Severity:} +@item >Severity: +(@sc{Enumerated}) The severity of the problem. Accepted values include: + +@table @code +@cindex @emph{critical} severity problems +@item critical +The product, component or concept is completely non-operational or some +essential functionality is missing. No workaround is known. + +@cindex @emph{serious} severity problems +@item serious +The product, component or concept is not working properly or significant +functionality is missing. Problems that would otherwise be considered +@samp{critical} are rated @samp{serious} when a workaround is known. + +@cindex @emph{non-critical} severity problems +@item non-critical +The product, component or concept is working in general, but lacks +features, has irritating behavior, does something wrong, or doesn't +match its documentation. +@end table +@noindent +The default value is @samp{serious}. +@sp 1 + +@cindex @code{Priority} field +@cindex @code{>Priority:} +@item >Priority: +(@sc{Enumerated}) How soon the originator requires a solution. Accepted +values include: + +@table @code +@cindex @emph{high} priority problems +@item high +A solution is needed as soon as possible. + +@cindex @emph{medium} priority problems +@item medium +The problem should be solved in the next release. + +@cindex @emph{low} priority problems +@item low +The problem should be solved in a future release. +@end table +@noindent +The default value is @samp{medium}. +@sp 1 + +@cindex @code{Category} field +@cindex @code{>Category:} +@item >Category: +(@sc{Text}) The name of the product, component or concept where +the problem lies. The values for this field are defined by the Support +Site. +@ifclear SENDPR +@xref{categories,,The @code{categories} file}, for details. +@end ifclear + +@cindex @code{Class} field +@cindex @code{>Class:} +@item >Class: +(@sc{Enumerated}) The class of a problem can be one of the following: + +@table @code +@cindex @emph{sw-bug} class +@item sw-bug +A general product problem. (@samp{sw} stands for ``software''.) + +@cindex @emph{doc-bug} class +@item doc-bug +A problem with the documentation. + +@cindex @emph{change-request} class +@item change-request +A request for a change in behavior, etc. + +@cindex @emph{support} class +@item support +A support problem or question. + +@cindex @emph{duplicate} class +@item duplicate (@var{pr-number}) +Duplicate PR. @var{pr-number} should be the number of the original PR. + +@ifclear SENDPR +@cindex @emph{mistaken} class +@item mistaken +No problem, user error or misunderstanding. This value is valid only at +the Support Site. +@end ifclear +@end table + +@noindent +The default is @samp{sw-bug}. +@sp 1 + +@cindex @code{Release} field +@cindex @code{>Release:} +@item >Release: +(@sc{Text}) Release or version number of the product, component or +concept. + +@cindex @code{Environment} field +@cindex @code{>Environment:} +@item >Environment: +(@sc{MultiText}) Description of the environment where the problem occured: +machine architecture, operating system, host and target types, +libraries, pathnames, etc. + +@cindex @code{Description} field +@cindex @code{>Description:} +@item >Description: +(@sc{MultiText}) Precise description of the problem. + +@cindex @code{How-To-Repeat} field +@cindex @code{>How-To-Repeat:} +@item >How-To-Repeat: +(@sc{MultiText}) Example code, input, or activities to reproduce the +problem. The support organization uses example code both to reproduce +the problem and to test whether the problem is fixed. Include all +preconditions, inputs, outputs, conditions after the problem, and +symptoms. Any additional important information should be included. +Include all the details that would be necessary for someone else to +recreate the problem reported, however obvious. Sometimes seemingly +arbitrary or obvious information can point the way toward a solution. +See also @ref{Helpful hints,,Helpful hints}. + +@cindex @code{Fix} field +@cindex @code{>Fix:} +@item >Fix: +(@sc{MultiText}) A description of a solution to the problem, or a patch +which solves the problem. (This field is most often filled in at the +Support Site; we provide it to the submitter in case she has solved the +problem.) + +@end table + +@noindent +@sc{gnats} adds the following fields when the PR arrives at the Support +Site: + +@table @code +@cindex @code{Number} field +@cindex @code{>Number:} +@item >Number: +(@sc{Enumerated}) The incremental identification number for this PR. +@ifclear SENDPR +This is included in the automated reply to the submitter (if that +feature of @sc{gnats} is activated; @pxref{Local configuration,,Changing +your local configuration}). It is also included in the copy of the PR +that is sent to the maintainer. +@end ifclear + +The @samp{>Number:} field is often paired with the @samp{>Category:} +field as + +@smallexample +@var{category}/@var{number} +@end smallexample + +@noindent +in subsequent email messages. This is for historical reasons, as well +as because Problem Reports are stored in subdirectories which are named +by category. + +@cindex @code{State} field +@cindex @code{>State:} +@item >State: +(@sc{Enumerated}) The current state of the PR. Accepted values are: + +@table @code +@item open +The PR has been filed and the responsible person notified. + +@item analyzed +The responsible person has analyzed the problem. + +@item feedback +The problem has been solved, and the originator has been given a patch +or other fix. + +@item closed +The changes have been integrated, documented, and tested, and the +originator has confirmed that the solution works. + +@item suspended +Work on the problem has been postponed. +@end table + +@noindent +The initial state of a PR is @samp{open}. @xref{States,,States of +Problem Reports}. + +@cindex @code{Responsible} field +@cindex @code{>Responsible:} +@item >Responsible: +(@sc{Text}) The person responsible for this category. +@ifclear SENDPR +@sc{gnats} retrieves this information from the @file{categories} file +(@pxref{categories,,The @code{categories} file}). +@end ifclear + +@cindex @code{>Arrival-Date:} +@cindex @code{Arrival-Date} field +@item >Arrival-Date: +(@sc{Text}) The time that this PR was received by @sc{gnats}. The date +is provided automatically by @sc{gnats}. + +@cindex @code{>Audit-Trail:} +@cindex @code{Audit-Trail} field +@item >Audit-Trail: +(@sc{MultiText}) Tracks related electronic mail as well as changes in +the @samp{>State:} and @samp{>Responsible:} fields with the sub-fields: + +@table @code +@cindex @code{State-Changed-<From>-<To>:} in @code{>Audit-Trail:} +@item @w{State-Changed-<From>-<To>: @var{oldstate}>-<@var{newstate}} +The old and new @samp{>State:} field values. + +@cindex @code{Responsible-Changed-<From>-<To>:} in @code{>Audit-Trail:} +@item @w{Responsible-Changed-<From>-<To>: @var{oldresp}>-<@var{newresp}} +The old and new @samp{>Responsible:} field values. + +@cindex @code{State-Changed-By:} in @code{>Audit-Trail:} +@cindex @code{Responsible-Changed-By:} in @code{>Audit-Trail:} +@item State-Changed-By: @var{name} +@itemx Responsible-Changed-By: @var{name} +The name of the maintainer who effected the change. + +@cindex @code{State-Changed-When:} in @code{>Audit-Trail:} +@cindex @code{Responsible-Changed-When:} in @code{>Audit-Trail:} +@item State-Changed-When: @var{timestamp} +@itemx Responsible-Changed-When: @var{timestamp} +The time the change was made. + +@cindex @code{State-Changed-Why:} in @code{>Audit-Trail:} +@cindex @code{Responsible-Changed-Why:} in @code{>Audit-Trail:} +@item State-Changed-Why: @var{reason@dots{}} +@itemx Responsible-Changed-Why: @var{reason@dots{}} +The reason for the change. +@end table + +@cindex subsequent mail +@cindex other mail +@cindex appending PRs +@cindex saving related mail +@cindex related mail +@noindent +The @samp{>Audit-Trail:} field also contains any mail messages received +by @sc{gnats} related to this PR, in the order received. + +@cindex @code{>Unformatted:} +@cindex @code{Unformatted} field +@item + >Unformatted: +(@sc{MultiText}) Any random text found outside the fields in the +original Problem Report. +@end table +