Brew your own bugzilla

This page describes the process of customising Bugzilla for Audacity's needs, as outlined on the Review of Issue Trackers page.

Basis
This guide was written whilst customising bugzilla 3.4.1 because it was what I had handy. It should be updated when newer Bugzilla releases are deployed, although most of the work won't need to be re-done because the changes are stored in the database not in the installation files.

It assumes you have already set up and installed Bugzilla so you have a working vanilla installation.

Changes made in the Web interface
Most of the configuration of Bugzilla is done by logging in to the web interface as an administrative user and using the pages accessed from the Administration link in the footer. For simplicity I have simply listed the end result for each form, although it will probably require multiple actions to get there (e.g. adding values to a field one at a time).

Parameters

 * Required Settings:
 * Lots of things always need doing here, nothing is special to Audacity
 * We DO want utf8 encoding on.
 * User Authentication
 * Set createemailregexp to blank, which means all accounts will have to be created by an administrator.
 * Attachments
 * Turn allow_attach_url on.
 * Turn convert_uncompressed_images on
 * Bug Change Policies
 * Turn letsubmitterchoosemilestone off (we aren't using milestones at the moment)
 * Turn noresolveonopenblockers on
 * Bug Fields
 * (usetargetmilestone should be already off)
 * (usestatuswhiteboard should be already off)
 * defaultseverity and defaultpriority are here, but we need to change the contents of the lists first.
 * Group Security
 * Make timetrackinggroup empty (nothing selected) to turn off time fields.
 * Query Defaults
 * set quip_list_entry_control to Moderated at least (not open!)

Field Values

 * Priority
 * Add a 'PX' value with sort key 50, so it goes at the top of the list.
 * OS
 * Change 'Windows' to 'Windows XP' at 200
 * Add 'Windows Vista' at 205
 * Add 'Windows 7' at 210
 * Add 'All Windows' at 250
 * Add 'Windows Vista / 7' at 260
 * Add 'Linux and OS X' at 450
 * Severity (we will re-name this field and use it for bug type)
 * Repeatable: 100
 * MoonPhase: 200
 * HeisenBug: 300
 * Summary: 400
 * Change Enhancement to 500 (this is the default)
 * Review: 450
 * delete Trivial

Parameters (again)
These have to come after the field values have been set up
 * Bug Fields
 * set defaultpriority to 'PX'
 * set defaultseverity

Users

 * Create a user "new-bugs@audacityteam.org", real name "Default Asignee for New Bugs", disable bugmail. Random password which no-one needs to know, and doesn't need any system rights.

Products

 * Edit TestProduct
 * set the name to Audacity
 * set the description to 'Audacity itself. Not the website, the forum, the bugtracker or anything outside of the core Audacity program.'
 * Edit Components


 * Edit versions:
 * 1.2.5
 * 1.2.6
 * 1.3.9
 * 1.3.10


 * Add a product 'Audacity Manual' with description 'The Audacity manual on http://manual.audacityteam.org/'
 * Edit it's components and add a single component 'Wiki Manual'

Flags
The following flags are set up:

Custom Fields

 * Add new custom field
 * Name: cf_stepstoreproduce, Description: "Steps To Reproduce", Type: Large Text Box, Can be set on bug creation: Yes, Displayed in bugmail for new bugs: Yes, Field only appears when: Product is set to Audacity.
 * Name: cf_releasenotetext, Description: "Release Notes", Type: Large Text Box, Can be set on bug creation: No, Field only appears when: Product is set to Audacity.

Changes Made to the Templates
These are page appearance changes which need shell access to edit the template files on the web server. See http://www.bugzilla.org/docs/3.4/en/html/cust-templates.html for background. From the shell prompt in the top level directory of the bugzilla installation:
 * mkdir template/en/custom
 * cd template/en/custom
 * mkdir -p bug/create
 * cp ../default/bug/create/create-guided.html.tmpl bug/create/ This takes our own copy of the template file which defines the bug creation form so we can modify it for our local usage
 * Edit bug/create/create-guided.html.tmpl to reflect the new field name (Bug Type).
 * TODO: This page hard-codes the default field list an explanations. We should modify it to collect the information that is held elsewhere in bugzilla which does explain what is going on correctly.
 * mkdir global
 * cp ../default/global/field-descs.none.tmpl global/
 * Edit global/field-descs.none.tmpl to set the name of the "bug_severity" field to be "Bug Type"
 * mkdir list
 * cp ../default/list/edit-multiple.html.tmpl list/
 * mkdir pages
 * cp ../default/pages/quicksearchhack.html.tmpl pages/
 * cp ../default/pages/fields.html.tmpl pages/
 * TODO: This has another hard coded copy of the default severity list which needs changing.
 * mkdir reports
 * cp ../default/reports/duplicates-table.html.tmpl reports/
 * mkdir search
 * cp ../default/search/form.html.tmpl search/
 * mkdir whine
 * cp ../default/whine/mail.txt.tmpl whine/

Hopefully future upgrades will make more use of the entry in global/field-descs and reduce the number of other entries for the same string.


 * Finally, run checksetup to build the new templates and make the changes show up in the UI.
 * cd ../../..
 * ./checksetup.pl