Issue Tracking

A-A-P home page | A-A-P Recipe Executive
--- | ---
Prev |  | Next

# Chapter 18. Issue Tracking

    BUG REPORTING

    A recipe used to install an application should offer the "report" target.
    This is the standard way for a user to report a problem.  The recipe should
    then help the user with reporting a problem as much as possible.

    An example is to send the developer an e-mail.  All useful information is put
    in the message by the recipe, so that the user only has to fill in his
    specific problem.  Example:

    	report:
    		tmpfile = `tempfname()`
    		:print >$tmpfile  program version: $VERSION
    		:print >>$tmpfile system type: `os.name`
    		@if os.name == "posix":
    			:print >>$tmpfile "      " `os.uname()`
    		:do email {subject = 'problem in foobar'}
    				{to = bugs@foobar.org}
    				{edit}
    				{remove}
    				$tmpfile

    When a web form is to be filled in, give the user hints about what information
    to fill in certain fields and start a browser on the right location.  Example:

    	report:
    		:do view {async} http://www.foo.org/bugreport/
    		tmpfile = `tempfname()`
    		:print >$tmpfile   use this information in the bug report:
    		:print >>$tmpfile  program version: $VERSION
    		:print >>$tmpfile  system type: `os.name`
    		:do view {remove} $tmpfile

    BUG FIXING

    One a bug has been fixed, the developer needs to update the related bug
    report.  The "tracker" target is the standard way for a developer to get to
    the place where the status of the bug report can be changed.

    Since trackers work in many different ways the recipe has to specify the
    commands.  Example:

    	tracker:
    		:do view {async} http://www.foo.org/tracker?assigned_to=$USER

    This is very primitive.  The developer still has to locate the bug report and
    change the status and add remarks.  The above example at least lists the bug
    reports for the current user.

Prev | Contents | Next
Using CVS | Up | Using Python