| <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> --> |
| |
| <chapter id="using"> |
| <title>Using Bugzilla</title> |
| |
| <section id="using-intro"> |
| <title>Introduction</title> |
| <para>This section contains information for end-users of Bugzilla. There |
| is a Bugzilla test installation, called |
| <ulink url="http://landfill.bugzilla.org/">Landfill</ulink>, which you are |
| welcome to play with (if it's up). However, not all of the Bugzilla |
| installations there will necessarily have all Bugzilla features enabled, |
| and different installations run different versions, so some things may not |
| quite work as this document describes.</para> |
| </section> |
| |
| <section id="myaccount"> |
| <title>Create a Bugzilla Account</title> |
| |
| <para>If you want to use Bugzilla, first you need to create an account. |
| Consult with the administrator responsible for your installation of |
| Bugzilla for the URL you should use to access it. If you're |
| test-driving Bugzilla, use this URL: |
| <ulink url="&landfillbase;"/>. |
| </para> |
| |
| <orderedlist> |
| <listitem> |
| <para>Click the |
| <quote>Open a new Bugzilla account</quote> |
| |
| link, enter your email address and, optionally, your name in the |
| spaces provided, then click |
| <quote>Create Account</quote> |
| |
| .</para> |
| </listitem> |
| |
| <listitem> |
| <para>Within moments, you should receive an email to the address |
| you provided, which contains your login name (generally the |
| same as the email address), and a password. |
| This password is randomly generated, but can be |
| changed to something more memorable.</para> |
| </listitem> |
| |
| <listitem> |
| <para>Click the |
| <quote>Log In</quote> |
| link in the footer at the bottom of the page in your browser, |
| enter your email address and password into the spaces provided, and |
| click |
| <quote>Login</quote>. |
| </para> |
| |
| </listitem> |
| </orderedlist> |
| |
| <para>You are now logged in. Bugzilla uses cookies to remember you are |
| logged in so, unless you have cookies disabled or your IP address changes, |
| you should not have to log in again.</para> |
| </section> |
| |
| <section id="bug_page"> |
| <title>Anatomy of a Bug</title> |
| |
| <para>The core of Bugzilla is the screen which displays a particular |
| bug. It's a good place to explain some Bugzilla concepts. |
| <ulink |
| url="&landfillbase;show_bug.cgi?id=1"> |
| Bug 1 on Landfill</ulink> |
| |
| is a good example. Note that the labels for most fields are hyperlinks; |
| clicking them will take you to context-sensitive help on that |
| particular field. Fields marked * may not be present on every |
| installation of Bugzilla.</para> |
| |
| <orderedlist> |
| <listitem> |
| <para> |
| <emphasis>Product and Component</emphasis>: |
| Bugs are divided up by Product and Component, with a Product |
| having one or more Components in it. For example, |
| bugzilla.mozilla.org's "Bugzilla" Product is composed of several |
| Components: |
| <simplelist> |
| <member> |
| <emphasis>Administration:</emphasis> |
| Administration of a Bugzilla installation.</member> |
| |
| <member> |
| <emphasis>Bugzilla-General:</emphasis> |
| Anything that doesn't fit in the other components, or spans |
| multiple components.</member> |
| |
| <member> |
| <emphasis>Creating/Changing Bugs:</emphasis> |
| Creating, changing, and viewing bugs.</member> |
| |
| <member> |
| <emphasis>Documentation:</emphasis> |
| The Bugzilla documentation, including The Bugzilla Guide.</member> |
| |
| <member> |
| <emphasis>Email:</emphasis> |
| Anything to do with email sent by Bugzilla.</member> |
| |
| <member> |
| <emphasis>Installation:</emphasis> |
| The installation process of Bugzilla.</member> |
| |
| <member> |
| <emphasis>Query/Buglist:</emphasis> |
| Anything to do with searching for bugs and viewing the |
| buglists.</member> |
| |
| <member> |
| <emphasis>Reporting/Charting:</emphasis> |
| Getting reports from Bugzilla.</member> |
| |
| <member> |
| <emphasis>User Accounts:</emphasis> |
| Anything about managing a user account from the user's perspective. |
| Saved queries, creating accounts, changing passwords, logging in, |
| etc.</member> |
| |
| <member> |
| <emphasis>User Interface:</emphasis> |
| General issues having to do with the user interface cosmetics (not |
| functionality) including cosmetic issues, HTML templates, |
| etc.</member> |
| </simplelist> |
| </para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Status and Resolution:</emphasis> |
| |
| These define exactly what state the bug is in - from not even |
| being confirmed as a bug, through to being fixed and the fix |
| confirmed by Quality Assurance. The different possible values for |
| Status and Resolution on your installation should be documented in the |
| context-sensitive help for those items.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Assigned To:</emphasis> |
| The person responsible for fixing the bug.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>*URL:</emphasis> |
| A URL associated with the bug, if any.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Summary:</emphasis> |
| A one-sentence summary of the problem.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>*Status Whiteboard:</emphasis> |
| (a.k.a. Whiteboard) A free-form text area for adding short notes |
| and tags to a bug.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>*Keywords:</emphasis> |
| The administrator can define keywords which you can use to tag and |
| categorise bugs - e.g. The Mozilla Project has keywords like crash |
| and regression.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Platform and OS:</emphasis> |
| These indicate the computing environment where the bug was |
| found.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Version:</emphasis> |
| The "Version" field is usually used for versions of a product which |
| have been released, and is set to indicate which versions of a |
| Component have the particular problem the bug report is |
| about.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Priority:</emphasis> |
| The bug assignee uses this field to prioritise his or her bugs. |
| It's a good idea not to change this on other people's bugs.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Severity:</emphasis> |
| This indicates how severe the problem is - from blocker |
| ("application unusable") to trivial ("minor cosmetic issue"). You |
| can also use this field to indicate whether a bug is an enhancement |
| request.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>*Target:</emphasis> |
| (a.k.a. Target Milestone) A future version by which the bug is to |
| be fixed. e.g. The Bugzilla Project's milestones for future |
| Bugzilla versions are 2.18, 2.20, 3.0, etc. Milestones are not |
| restricted to numbers, thought - you can use any text strings, such |
| as dates.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Reporter:</emphasis> |
| The person who filed the bug.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>CC list:</emphasis> |
| A list of people who get mail when the bug changes.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Attachments:</emphasis> |
| You can attach files (e.g. testcases or patches) to bugs. If there |
| are any attachments, they are listed in this section. Attachments are |
| normally stored in the Bugzilla database, unless they are marked as |
| Big Files, which are stored directly on disk and (unlike attachments |
| kept in the database) may be deleted at some future time. |
| </para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>*Dependencies:</emphasis> |
| If this bug cannot be fixed unless other bugs are fixed (depends |
| on), or this bug stops other bugs being fixed (blocks), their |
| numbers are recorded here.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>*Votes:</emphasis> |
| Whether this bug has any votes.</para> |
| </listitem> |
| |
| <listitem> |
| <para> |
| <emphasis>Additional Comments:</emphasis> |
| You can add your two cents to the bug discussion here, if you have |
| something worthwhile to say.</para> |
| </listitem> |
| </orderedlist> |
| </section> |
| |
| <section id="lifecycle"> |
| <title>Life Cycle of a Bug</title> |
| |
| <para> |
| The life cycle, also known as work flow, of a bug is currently hardcoded |
| into Bugzilla. <xref linkend="lifecycle-image"/> contains a graphical |
| repsentation of this life cycle. If you wish to customize this image for |
| your site, the <ulink url="../images/bzLifecycle.xml">diagram file</ulink> |
| is available in <ulink url="http://www.gnome.org/projects/dia">Dia's</ulink> |
| native XML format. |
| </para> |
| |
| <figure id="lifecycle-image"> |
| <title>Lifecycle of a Bugzilla Bug</title> |
| <mediaobject> |
| <imageobject> |
| <imagedata fileref="../images/bzLifecycle.png" scale="66" /> |
| </imageobject> |
| </mediaobject> |
| </figure> |
| </section> |
| |
| <section id="query"> |
| <title>Searching for Bugs</title> |
| |
| <para>The Bugzilla Search page is the interface where you can find |
| any bug report, comment, or patch currently in the Bugzilla system. You |
| can play with it here: |
| <ulink url="&landfillbase;query.cgi"/>.</para> |
| |
| <para>The Search page has controls for selecting different possible |
| values for all of the fields in a bug, as described above. For some |
| fields, multiple values can be selected. In those cases, Bugzilla |
| returns bugs where the content of the field matches any one of the selected |
| values. If none is selected, then the field can take any value.</para> |
| |
| <para>Once you've run a search, you can save it as a Saved Search, which |
| appears in the page footer.</para> |
| |
| <section id="boolean"> |
| <title>Boolean Charts</title> |
| <para> |
| Highly advanced querying is done using Boolean Charts. |
| </para> |
| <para> |
| The boolean charts further restrict the set of results |
| returned by a query. It is possible to search for bugs |
| based on elaborate combinations of critera. |
| </para> |
| <para> |
| The simplest boolean searches have only one term. These searches |
| permit the selected left <emphasis>field</emphasis> |
| to be compared using a |
| selectable <emphasis>operator</emphasis> to a |
| specified <emphasis>value.</emphasis> |
| Using the "And," "Or," and "Add Another Boolean Chart" buttons, |
| additonal terms can be included in the query, further |
| altering the list of bugs returned by the query. |
| </para> |
| <para> |
| There are three fields in each row of a boolean search. |
| </para> |
| <itemizedlist> |
| <listitem> |
| <para> |
| <emphasis>Field:</emphasis> |
| the items being searched |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| <emphasis>Operator:</emphasis> |
| the comparison operator |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| <emphasis>Value:</emphasis> |
| the value to which the field is being compared |
| </para> |
| </listitem> |
| </itemizedlist> |
| <section id="pronouns"> |
| <title>Pronoun Substitution</title> |
| <para> |
| Sometimes, a query needs to compare a field containing |
| a user's ID (such as ReportedBy) with |
| a user's ID (such as the user running the query or the user |
| to whom each bug is assigned). When the operator is either |
| "equals" or "notequals", the value can be "%reporter%", |
| "%assignee%", "%qacontact%", or "%user%." The user pronoun |
| referes to the user who is executing the query or, in the case |
| of whining reports, the user who will be the recipient |
| of the report. The reporter, assignee, and qacontact |
| pronouns refer to the corresponding fields in the bug. |
| </para> |
| </section> |
| <section id="negation"> |
| <title>Negation</title> |
| <para> |
| At first glance, negation seems redundant. Rather than |
| searching for |
| <blockquote> |
| <para> |
| NOT("summary" "contains the string" "foo"), |
| </para> |
| </blockquote> |
| one could search for |
| <blockquote> |
| <para> |
| ("summary" "does not contain the string" "foo"). |
| </para> |
| </blockquote> |
| However, the search |
| <blockquote> |
| <para> |
| ("CC" "does not contain the string" "@mozilla.org") |
| </para> |
| </blockquote> |
| would find every bug where anyone on the CC list did not contain |
| "@mozilla.org" while |
| <blockquote> |
| <para> |
| NOT("CC" "contains the string" "@mozilla.org") |
| </para> |
| </blockquote> |
| would find every bug where there was nobody on the CC list who |
| did contain the string. Similarly, the use of negation also permits |
| complex expressions to be built using terms OR'd together and then |
| negated. Negation permits queries such as |
| <blockquote> |
| <para> |
| NOT(("product" "equals" "update") OR |
| ("component" "equals" "Documentation")) |
| </para> |
| </blockquote> |
| to find bugs that are neither |
| in the update product or in the documentation component or |
| <blockquote> |
| <para> |
| NOT(("commenter" "equals" "%assignee%") OR |
| ("component" "equals" "Documentation")) |
| </para> |
| </blockquote> |
| to find non-documentation |
| bugs on which the assignee has never commented. |
| </para> |
| </section> |
| <section id="multiplecharts"> |
| <title>Multiple Charts</title> |
| <para> |
| The terms within a single row of a boolean chart are all |
| constraints on a single piece of data. If you are looking for |
| a bug that has two different people cc'd on it, then you need |
| to use two boolean charts. A search for |
| <blockquote> |
| <para> |
| ("cc" "contains the string" "foo@") AND |
| ("cc" "contains the string" "@mozilla.org") |
| </para> |
| </blockquote> |
| would return only bugs with "foo@mozilla.org" on the cc list. |
| If you wanted bugs where there is someone on the cc list |
| containing "foo@" and someone else containing "@mozilla.org", |
| then you would need two boolean charts. |
| <blockquote> |
| <para> |
| First chart: ("cc" "contains the string" "foo@") |
| </para> |
| <para> |
| Second chart: ("cc" "contains the string" "@mozilla.org") |
| </para> |
| </blockquote> |
| The bugs listed will be only the bugs where ALL the charts are true. |
| </para> |
| </section> |
| </section> |
| </section> |
| |
| <section id="list"> |
| <title>Bug Lists</title> |
| |
| <para>If you run a search, a list of matching bugs will be returned. |
| </para> |
| |
| <para>The format of the list is configurable. For example, it can be |
| sorted by clicking the column headings. Other useful features can be |
| accessed using the links at the bottom of the list: |
| <simplelist> |
| <member> |
| <emphasis>Long Format:</emphasis> |
| |
| this gives you a large page with a non-editable summary of the fields |
| of each bug.</member> |
| |
| <member> |
| <emphasis>CSV:</emphasis> |
| |
| get the buglist as comma-separated values, for import into e.g. |
| a spreadsheet.</member> |
| |
| <member> |
| <emphasis>RSS</emphasis> |
| |
| get the buglist as an RSS 1.0 feed. Copy this link into your |
| favorite feed reader. If you are using Firefox, you can also |
| save the list as a live bookmark by clicking the live bookmark |
| icon in the status bar. To limit the number of bugs in the feed, |
| add a limit=n parameter to the URL.</member> |
| |
| <member> |
| <emphasis>iCalendar</emphasis> |
| |
| Get the buglist as an iCalendar file. Each bug is represented as a |
| to-do item in the imported calendar.</member> |
| |
| <member> |
| <emphasis>Change Columns:</emphasis> |
| |
| change the bug attributes which appear in the list.</member> |
| |
| <member> |
| <emphasis>Change several bugs at once:</emphasis> |
| |
| If your account is sufficiently empowered, you can make the same |
| change to all the bugs in the list - for example, changing their |
| assignee.</member> |
| |
| <member> |
| <emphasis>Send mail to bug assignees:</emphasis> |
| |
| Sends mail to the assignees of all bugs on the list.</member> |
| |
| <member> |
| <emphasis>Edit Search:</emphasis> |
| |
| If you didn't get exactly the results you were looking for, you can |
| return to the Query page through this link and make small revisions |
| to the query you just made so you get more accurate results.</member> |
| |
| <member> |
| <emphasis>Remember Search As:</emphasis> |
| |
| You can give a search a name and remember it; a link will appear |
| in your page footer giving you quick access to run it again later. |
| </member> |
| </simplelist> |
| </para> |
| |
| <para> |
| If you would like to access the bug list from another program |
| it is often useful to have the list returned in something other |
| than HTML. By adding the ctype=type parameter into the bug list URL |
| you can specify several alternate formats. The supported formats |
| are: Comma Separated Values (ctype=csv), iCalendar (ctype=ics), |
| RDF Site Summary (RSS) 1.0 (ctype=rss), ECMAScript, also known |
| as JavaScript (ctype=js), and finally Resource Description Framework |
| RDF/XML (ctype=rdf). |
| </para> |
| </section> |
| |
| <section id="bugreports"> |
| <title>Filing Bugs</title> |
| |
| <para>Years of bug writing experience has been distilled for your |
| reading pleasure into the |
| <ulink |
| url="&landfillbase;page.cgi?id=bug-writing.html"> |
| Bug Writing Guidelines</ulink>. |
| While some of the advice is Mozilla-specific, the basic principles of |
| reporting Reproducible, Specific bugs, isolating the Product you are |
| using, the Version of the Product, the Component which failed, the |
| Hardware Platform, and Operating System you were using at the time of |
| the failure go a long way toward ensuring accurate, responsible fixes |
| for the bug that bit you.</para> |
| |
| <para>The procedure for filing a test bug is as follows:</para> |
| |
| <orderedlist> |
| <listitem> |
| <para>Go to |
| <ulink url="&landfillbase;"> |
| Landfill</ulink> |
| in your browser and click |
| <ulink |
| url="&landfillbase;enter_bug.cgi"> |
| Enter a new bug report</ulink>. |
| </para> |
| </listitem> |
| |
| <listitem> |
| <para>Select a product - any one will do.</para> |
| </listitem> |
| |
| <listitem> |
| <para>Fill in the fields. Bugzilla should have made reasonable |
| guesses, based upon your browser, for the "Platform" and "OS" |
| drop-down boxes. If they are wrong, change them.</para> |
| </listitem> |
| |
| <listitem> |
| <para>Select "Commit" and send in your bug report.</para> |
| </listitem> |
| </orderedlist> |
| |
| <para>Try to make sure that everything said in the summary is also |
| said in the first comment. Summaries are often updated and this will |
| ensure your original information is easily accessible. |
| </para> |
| |
| <para> |
| You do not need to put "any" or similar strings in the URL field. |
| If there is no specific URL associated with the bug, leave this |
| field blank. |
| </para> |
| |
| <para>If you feel a bug you filed was incorrectly marked as a |
| DUPLICATE of another, please question it in your bug, not |
| the bug it was duped to. Feel free to CC the person who duped it |
| if they are not already CCed. |
| </para> |
| |
| </section> |
| |
| <section id="patchviewer"> |
| <title>Patch Viewer</title> |
| |
| <para>Viewing and reviewing patches in Bugzilla is often difficult due to |
| lack of context, improper format and the inherent readability issues that |
| raw patches present. Patch Viewer is an enhancement to Bugzilla designed |
| to fix that by offering increased context, linking to sections, and |
| integrating with Bonsai, LXR and CVS.</para> |
| |
| <para>Patch viewer allows you to:</para> |
| |
| <simplelist> |
| <member>View patches in color, with side-by-side view rather than trying |
| to interpret the contents of the patch.</member> |
| <member>See the difference between two patches.</member> |
| <member>Get more context in a patch.</member> |
| <member>Collapse and expand sections of a patch for easy |
| reading.</member> |
| <member>Link to a particular section of a patch for discussion or |
| review</member> |
| <member>Go to Bonsai or LXR to see more context, blame, and |
| cross-references for the part of the patch you are looking at</member> |
| <member>Create a rawtext unified format diff out of any patch, no |
| matter what format it came from</member> |
| </simplelist> |
| |
| <section id="patchviewer_view"> |
| <title>Viewing Patches in Patch Viewer</title> |
| <para>The main way to view a patch in patch viewer is to click on the |
| "Diff" link next to a patch in the Attachments list on a bug. You may |
| also do this within the edit window by clicking the "View Attachment As |
| Diff" button in the Edit Attachment screen.</para> |
| </section> |
| |
| <section id="patchviewer_diff"> |
| <title>Seeing the Difference Between Two Patches</title> |
| <para>To see the difference between two patches, you must first view the |
| newer patch in Patch Viewer. Then select the older patch from the |
| dropdown at the top of the page ("Differences between [dropdown] and |
| this patch") and click the "Diff" button. This will show you what |
| is new or changed in the newer patch.</para> |
| </section> |
| |
| <section id="patchviewer_context"> |
| <title>Getting More Context in a Patch</title> |
| <para>To get more context in a patch, you put a number in the textbox at |
| the top of Patch Viewer ("Patch / File / [textbox]") and hit enter. |
| This will give you that many lines of context before and after each |
| change. Alternatively, you can click on the "File" link there and it |
| will show each change in the full context of the file. This feature only |
| works against files that were diffed using "cvs diff".</para> |
| </section> |
| |
| <section id="patchviewer_collapse"> |
| <title>Collapsing and Expanding Sections of a Patch</title> |
| <para>To view only a certain set of files in a patch (for example, if a |
| patch is absolutely huge and you want to only review part of it at a |
| time), you can click the "(+)" and "(-)" links next to each file (to |
| expand it or collapse it). If you want to collapse all files or expand |
| all files, you can click the "Collapse All" and "Expand All" links at the |
| top of the page.</para> |
| </section> |
| |
| <section id="patchviewer_link"> |
| <title>Linking to a Section of a Patch</title> |
| <para>To link to a section of a patch (for example, if you want to be |
| able to give someone a URL to show them which part you are talking |
| about) you simply click the "Link Here" link on the section header. The |
| resulting URL can be copied and used in discussion. (Copy Link |
| Location in Mozilla works as well.)</para> |
| </section> |
| |
| <section id="patchviewer_bonsai_lxr"> |
| <title>Going to Bonsai and LXR</title> |
| <para>To go to Bonsai to get blame for the lines you are interested in, |
| you can click the "Lines XX-YY" link on the section header you are |
| interested in. This works even if the patch is against an old |
| version of the file, since Bonsai stores all versions of the file.</para> |
| |
| <para>To go to LXR, you click on the filename on the file header |
| (unfortunately, since LXR only does the most recent version, line |
| numbers are likely to rot).</para> |
| </section> |
| |
| <section id="patchviewer_unified_diff"> |
| <title>Creating a Unified Diff</title> |
| <para>If the patch is not in a format that you like, you can turn it |
| into a unified diff format by clicking the "Raw Unified" link at the top |
| of the page.</para> |
| </section> |
| |
| </section> |
| |
| <section id="hintsandtips"> |
| <title>Hints and Tips</title> |
| |
| <para>This section distills some Bugzilla tips and best practices |
| that have been developed.</para> |
| |
| <section> |
| <title>Autolinkification</title> |
| <para>Bugzilla comments are plain text - so typing <U> will |
| produce less-than, U, greater-than rather than underlined text. |
| However, Bugzilla will automatically make hyperlinks out of certain |
| sorts of text in comments. For example, the text |
| "http://www.bugzilla.org" will be turned into a link: |
| <ulink url="http://www.bugzilla.org"/>. |
| Other strings which get linkified in the obvious manner are: |
| <simplelist> |
| <member>bug 12345</member> |
| <member>comment 7</member> |
| <member>bug 23456, comment 53</member> |
| <member>attachment 4321</member> |
| <member>mailto:george@example.com</member> |
| <member>george@example.com</member> |
| <member>ftp://ftp.mozilla.org</member> |
| <member>Most other sorts of URL</member> |
| </simplelist> |
| </para> |
| |
| <para>A corollary here is that if you type a bug number in a comment, |
| you should put the word "bug" before it, so it gets autolinkified |
| for the convenience of others. |
| </para> |
| </section> |
| |
| <section id="quicksearch"> |
| <title>Quicksearch</title> |
| |
| <para>Quicksearch is a single-text-box query tool which uses |
| metacharacters to indicate what is to be searched. For example, typing |
| "<filename>foo|bar</filename>" |
| into Quicksearch would search for "foo" or "bar" in the |
| summary and status whiteboard of a bug; adding |
| "<filename>:BazProduct</filename>" would |
| search only in that product. |
| </para> |
| |
| <para>You'll find the Quicksearch box on Bugzilla's |
| front page, along with a |
| <ulink url="../../quicksearch.html">Help</ulink> |
| link which details how to use it.</para> |
| </section> |
| |
| <section id="commenting"> |
| <title>Comments</title> |
| |
| <para>If you are changing the fields on a bug, only comment if |
| either you have something pertinent to say, or Bugzilla requires it. |
| Otherwise, you may spam people unnecessarily with bug mail. |
| To take an example: a user can set up their account to filter out messages |
| where someone just adds themselves to the CC field of a bug |
| (which happens a lot.) If you come along, add yourself to the CC field, |
| and add a comment saying "Adding self to CC", then that person |
| gets a pointless piece of mail they would otherwise have avoided. |
| </para> |
| |
| <para> |
| Don't use sigs in comments. Signing your name ("Bill") is acceptable, |
| if you do it out of habit, but full mail/news-style |
| four line ASCII art creations are not. |
| </para> |
| </section> |
| |
| <section id="attachments"> |
| <title>Attachments</title> |
| |
| <para> |
| Use attachments, rather than comments, for large chunks of ASCII data, |
| such as trace, debugging output files, or log files. That way, it doesn't |
| bloat the bug for everyone who wants to read it, and cause people to |
| receive fat, useless mails. |
| </para> |
| |
| <para>Trim screenshots. There's no need to show the whole screen if |
| you are pointing out a single-pixel problem. |
| </para> |
| |
| <para>Don't attach simple test cases (e.g. one HTML file, one |
| CSS file and an image) as a ZIP file. Instead, upload them in |
| reverse order and edit the referring file so that they point to the |
| attached files. This way, the test case works immediately |
| out of the bug. |
| </para> |
| <para>Bugzilla stores and uses a Content-Type for each attachment |
| (e.g. text/html). To download an attachment as a different |
| Content-Type (e.g. application/xhtml+xml), you can override this |
| using a 'content-type' parameter on the URL, e.g. |
| <filename>&content-type=text/plain</filename>. |
| </para> |
| |
| <para> |
| If you have a really large attachment, something that does not need to |
| be recorded forever (as most attachments are), you can mark your |
| attachment as a Big File, Assuming the administrator of the |
| installation has enabled this feature. Big Files are stored directly on |
| disk instead of in the database, and can be deleted when it is no longer |
| needed. The maximum size of a Big File is normally larger than the |
| maximum size of a regular attachment. |
| </para> |
| </section> |
| </section> |
| |
| <section id="userpreferences"> |
| <title>User Preferences</title> |
| |
| <para>Once you have logged in, you can customise various aspects of |
| Bugzilla via the "Edit prefs" link in the page footer. |
| The preferences are split into three tabs:</para> |
| |
| <section id="accountsettings" xreflabel="Account Settings"> |
| <title>Account Settings</title> |
| |
| <para>On this tab, you can change your basic account information, |
| including your password, email address and real name. For security |
| reasons, in order to change anything on this page you must type your |
| <emphasis>current</emphasis> |
| password into the |
| <quote>Password</quote> |
| field at the top of the page. |
| If you attempt to change your email address, a confirmation |
| email is sent to both the old and new addresses, with a link to use to |
| confirm the change. This helps to prevent account hijacking.</para> |
| </section> |
| |
| <section id="emailsettings"> |
| <title>Email Settings</title> |
| |
| <para> |
| This tab controls the amount of email Bugzilla sends you. |
| </para> |
| |
| <para> |
| The first item on this page is marked <quote>Users to watch</quote>. |
| When you enter one or more comma-delineated user accounts (usually email |
| addresses) into the text entry box, you will receive a copy of all the |
| bugmail those users are sent (security settings permitting). |
| This powerful functionality enables seamless transitions as developers |
| change projects or users go on holiday. |
| </para> |
| |
| <note> |
| <para> |
| The ability to watch other users may not be available in all |
| Bugzilla installations. If you don't see this feature, and feel |
| that you need it, speak to your administrator. |
| </para> |
| </note> |
| |
| <para> |
| In general, users have almost complete control over how much (or |
| how little) email Bugzilla sends them. If you want to receive the |
| maximum amount of email possible, click the <quote>Enable All |
| Mail</quote> button. If you don't want to receive any email from |
| Bugzilla at all, click the <quote>Disable All Mail</quote> button. |
| </para> |
| |
| <note> |
| <para> |
| Your Bugzilla administrator can stop a user from receiving |
| bugmail by adding the user's name to the |
| <filename>data/nomail</filename> file. This is a drastic step |
| best taken only for disabled accounts, as it overrides the |
| the user's individual mail preferences. |
| </para> |
| </note> |
| |
| <para> |
| If you'd like to set your bugmail to something besides |
| 'Completely ON' and 'Completely OFF', the |
| <quote>Field/recipient specific options</quote> table |
| allows you to do just that. The rows of the table |
| define events that can happen to a bug -- things like |
| attachments being added, new comments being made, the |
| priority changing, etc. The columns in the table define |
| your relationship with the bug: |
| </para> |
| |
| <itemizedlist spacing="compact"> |
| <listitem> |
| <para> |
| Reporter - Where you are the person who initially |
| reported the bug. Your name/account appears in the |
| <quote>Reporter:</quote> field. |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| Assignee - Where you are the person who has been |
| designated as the one responsible for the bug. Your |
| name/account appears in the <quote>Assigned To:</quote> |
| field of the bug. |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| QA Contact - You are one of the designated |
| QA Contacts for the bug. Your account appears in the |
| <quote>QA Contact:</quote> text-box of the bug. |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| CC - You are on the list CC List for the bug. |
| Your account appears in the <quote>CC:</quote> text box |
| of the bug. |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| Voter - You have placed one or more votes for the bug. |
| Your account appears only if someone clicks on the |
| <quote>Show votes for this bug</quote> link on the bug. |
| </para> |
| </listitem> |
| </itemizedlist> |
| |
| |
| <note> |
| <para> |
| Some columns may not be visible for your installation, depending |
| on your site's configuration. |
| </para> |
| </note> |
| |
| <para> |
| To fine-tune your bugmail, decide the events for which you want |
| to receive bugmail; then decide if you want to receive it all |
| the time (enable the checkbox for every column), or only when |
| you have a certain relationship with a bug (enable the checkbox |
| only for those columns). For example: if you didn't want to |
| receive mail when someone added themselves to the CC list, you |
| could uncheck all the boxes in the <quote>CC Field Changes</quote> |
| line. As another example, if you never wanted to receive email |
| on bugs you reported unless the bug was resolved, you would |
| un-check all boxes in the <quote>Reporter</quote> column |
| except for the one on the <quote>The bug is resolved or |
| verified</quote> row. |
| </para> |
| |
| <note> |
| <para> |
| Bugzilla adds the <quote>X-Bugzilla-Reason</quote> header to |
| all bugmail it sends, describing the recipient's relationship |
| (AssignedTo, Reporter, QAContact, CC, or Voter) to the bug. |
| This header can be used to do further client-side filtering. |
| </para> |
| </note> |
| |
| <para> |
| Two items not in the table (<quote>Email me when someone |
| asks me to set a flag</quote> and <quote>Email me when someone |
| sets a flag I asked for</quote>) define how you want to |
| receive bugmail with regards to flags. Their use is quite |
| straightforward; enable the checkboxes if you want Bugzilla to |
| send you mail under either of the above conditions. |
| </para> |
| |
| <para> |
| By default, Bugzilla sends out email regardless of who made the |
| change... even if you were the one responsible for generating |
| the email in the first place. If you don't care to receive bugmail |
| from your own changes, check the box marked <quote>Only email me |
| reports of changes made by other people</quote>. |
| </para> |
| |
| </section> |
| |
| <section id="permissionsettings"> |
| <title>Permissions</title> |
| |
| <para>This is a purely informative page which outlines your current |
| permissions on this installation of Bugzilla - what product groups you |
| are in, and whether you can edit bugs or perform various administration |
| functions.</para> |
| </section> |
| </section> |
| |
| |
| <section id="reporting"> |
| <title>Reports and Charts</title> |
| |
| <para>As well as the standard buglist, Bugzilla has two more ways of |
| viewing sets of bugs. These are the reports (which give different |
| views of the current state of the database) and charts (which plot |
| the changes in particular sets of bugs over time.)</para> |
| |
| <section id="reports"> |
| <title>Reports</title> |
| |
| <para> |
| A report is a view of the current state of the bug database. |
| </para> |
| |
| <para> |
| You can run either an HTML-table-based report, or a graphical |
| line/pie/bar-chart-based one. The two have different pages to |
| define them, but are close cousins - once you've defined and |
| viewed a report, you can switch between any of the different |
| views of the data at will. |
| </para> |
| |
| <para> |
| Both report types are based on the idea of defining a set of bugs |
| using the standard search interface, and then choosing some |
| aspect of that set to plot on the horizontal and/or vertical axes. |
| You can also get a form of 3-dimensional report by choosing to have |
| multiple images or tables. |
| </para> |
| |
| <para> |
| So, for example, you could use the search form to choose "all |
| bugs in the WorldControl product", and then plot their severity |
| against their component to see which component had had the largest |
| number of bad bugs reported against it. |
| </para> |
| |
| <para> |
| Once you've defined your parameters and hit "Generate Report", |
| you can switch between HTML, CSV, Bar, Line and Pie. (Note: Pie |
| is only available if you didn't define a vertical axis, as pie |
| charts don't have one.) The other controls are fairly self-explanatory; |
| you can change the size of the image if you find text is overwriting |
| other text, or the bars are too thin to see. |
| </para> |
| |
| </section> |
| |
| <section id="charts"> |
| <title>Charts</title> |
| |
| <para> |
| A chart is a view of the state of the bug database over time. |
| </para> |
| |
| <para> |
| Bugzilla currently has two charting systems - Old Charts and New |
| Charts. Old Charts have been part of Bugzilla for a long time; they |
| chart each status and resolution for each product, and that's all. |
| They are deprecated, and going away soon - we won't say any more |
| about them. |
| New Charts are the future - they allow you to chart anything you |
| can define as a search. |
| </para> |
| |
| <note> |
| <para> |
| Both charting forms require the administrator to set up the |
| data-gathering script. If you can't see any charts, ask them whether |
| they have done so. |
| </para> |
| </note> |
| |
| <para> |
| An individual line on a chart is called a data set. |
| All data sets are organised into categories and subcategories. The |
| data sets that Bugzilla defines automatically use the Product name |
| as a Category and Component names as Subcategories, but there is no |
| need for you to follow that naming scheme with your own charts if |
| you don't want to. |
| </para> |
| |
| <para> |
| Data sets may be public or private. Everyone sees public data sets in |
| the list, but only their creator sees private data sets. Only |
| administrators can make data sets public. |
| No two data sets, even two private ones, can have the same set of |
| category, subcategory and name. So if you are creating private data |
| sets, one idea is to have the Category be your username. |
| </para> |
| |
| <section> |
| <title>Creating Charts</title> |
| |
| <para> |
| You create a chart by selecting a number of data sets from the |
| list, and pressing Add To List for each. In the List Of Data Sets |
| To Plot, you can define the label that data set will have in the |
| chart's legend, and also ask Bugzilla to Sum a number of data sets |
| (e.g. you could Sum data sets representing RESOLVED, VERIFIED and |
| CLOSED in a particular product to get a data set representing all |
| the resolved bugs in that product.) |
| </para> |
| |
| <para> |
| If you've erroneously added a data set to the list, select it |
| using the checkbox and click Remove. Once you add more than one |
| data set, a "Grand Total" line |
| automatically appears at the bottom of the list. If you don't want |
| this, simply remove it as you would remove any other line. |
| </para> |
| |
| <para> |
| You may also choose to plot only over a certain date range, and |
| to cumulate the results - that is, to plot each one using the |
| previous one as a baseline, so the top line gives a sum of all |
| the data sets. It's easier to try than to explain :-) |
| </para> |
| |
| <para> |
| Once a data set is in the list, one can also perform certain |
| actions on it. For example, one can edit the |
| data set's parameters (name, frequency etc.) if it's one you |
| created or if you are an administrator. |
| </para> |
| |
| <para> |
| Once you are happy, click Chart This List to see the chart. |
| </para> |
| |
| </section> |
| |
| <section> |
| <title>Creating New Data Sets</title> |
| |
| <para> |
| You may also create new data sets of your own. To do this, |
| click the "create a new data set" link on the Create Chart page. |
| This takes you to a search-like interface where you can define |
| the search that Bugzilla will plot. At the bottom of the page, |
| you choose the category, sub-category and name of your new |
| data set. |
| </para> |
| |
| <para> |
| If you have sufficient permissions, you can make the data set public, |
| and reduce the frequency of data collection to less than the default |
| seven days. |
| </para> |
| </section> |
| |
| </section> |
| |
| </section> |
| |
| <section id="flags"> |
| <title>Flags</title> |
| |
| <para> |
| A flag is a kind of status that can be set on bugs or attachments |
| to indicate that the bugs/attachments are in a certain state. |
| Each installation can define its own set of flags that can be set |
| on bugs or attachments. |
| </para> |
| |
| <para> |
| If your installation has defined a flag, you can set or unset that flag, |
| and if your administrator has enabled requesting of flags, you can submit |
| a request for another user to set the flag. |
| </para> |
| |
| <para> |
| To set a flag, select either "+" or "-" from the drop-down menu next to |
| the name of the flag in the "Flags" list. The meaning of these values are |
| flag-specific and thus cannot be described in this documentation, |
| but by way of example, setting a flag named "review" to "+" may indicate |
| that the bug/attachment has passed review, while setting it to "-" |
| may indicate that the bug/attachment has failed review. |
| </para> |
| |
| <para> |
| To unset a flag, click its drop-down menu and select the blank value. |
| </para> |
| |
| <para> |
| If your administrator has enabled requests for a flag, request a flag |
| by selecting "?" from the drop-down menu and then entering the username |
| of the user you want to set the flag in the text field next to the menu. |
| </para> |
| |
| <para> |
| A set flag appears in bug reports and on "edit attachment" pages with the |
| abbreviated username of the user who set the flag prepended to the |
| flag name. For example, if Jack sets a "review" flag to "+", it appears |
| as Jack: review [ + ] |
| </para> |
| |
| <para> |
| A requested flag appears with the user who requested the flag prepended |
| to the flag name and the user who has been requested to set the flag |
| appended to the flag name within parentheses. For example, if Jack |
| asks Jill for review, it appears as Jack: review [ ? ] (Jill). |
| </para> |
| |
| <para> |
| You can browse through open requests made of you and by you by selecting |
| 'My Requests' from the footer. You can also look at open requests limited |
| by other requesters, requestees, products, components, and flag names from |
| this page. Note that you can use '-' for requestee to specify flags with |
| 'no requestee' set. |
| </para> |
| </section> |
| |
| <section id="whining"> |
| <title>Whining</title> |
| |
| <para> |
| Whining is a feature in Bugzilla that can regularly annoy users at |
| specified times. Using this feature, users can execute saved searches |
| at specific times (i.e. the 15th of the month at midnight) or at |
| regular intervals (i.e. every 15 minutes on Sundays). The results of the |
| searches are sent to the user, either as a single email or as one email |
| per bug, along with some descriptive text. |
| </para> |
| |
| <warning> |
| <para> |
| Throughout this section it will be assumed that all users are members |
| of the bz_canusewhines group, membership in which is required in order |
| to use the Whining system. You can easily make all users members of |
| the bz_canusewhines group by setting the User RegExp to ".*" (without |
| the quotes). |
| </para> |
| |
| <para> |
| Also worth noting is the bz_canusewhineatothers group. Members of this |
| group can create whines for any user or group in Bugzilla using a |
| extended form of the whining interface. Features only available to |
| members of the bz_canusewhineatothers group will be noted in the |
| appropriate places. |
| </para> |
| </warning> |
| |
| <note> |
| <para> |
| For whining to work, a special Perl script must be executed at regular |
| intervals. More information on this is available in |
| <xref linkend="installation-whining"/>. |
| </para> |
| </note> |
| |
| <note> |
| <para> |
| This section does not cover the whineatnews.pl script. See |
| <xref linkend="installation-whining-cron"/> for more information on |
| The Whining Cron. |
| </para> |
| </note> |
| |
| <section id="whining-overview"> |
| <title>The Event</title> |
| |
| <para> |
| The whining system defines an "Event" as one or more queries being |
| executed at regular intervals, with the results of said queries (if |
| there are any) being emailed to the user. Events are created by |
| clicking on the "Add new event" button. |
| </para> |
| |
| <para> |
| Once a new event is created, the first thing to set is the "Email |
| subject line". The contents of this field will be used in the subject |
| line of every email generated by this event. In addition to setting a |
| subject, space is provided to enter some descriptive text that will be |
| included at the top of each message (to help you in understanding why |
| you received the email in the first place). |
| </para> |
| |
| <para> |
| The next step is to specify when the Event is to be run (the Schedule) |
| and what searches are to be performed (the Queries). |
| </para> |
| |
| </section> |
| |
| <section id="whining-schedule"> |
| <title>Whining Schedule</title> |
| |
| <para> |
| Each whining event is associated with zero or more schedules. A |
| schedule is used to specify when the query (specified below) is to be |
| run. A new event starts out with no schedules (which means it will |
| never run, as it is not scheduled to run). To add a schedule, press |
| the "Add a new schedule" button. |
| </para> |
| |
| <para> |
| Each schedule includes an interval, which you use to tell Bugzilla |
| when the event should be run. An event can be run on certain days of |
| the week, certain days of the month, during weekdays (defined as |
| Monday through Friday), or every day. |
| </para> |
| |
| <warning> |
| <para> |
| Be careful if you set your event to run on the 29th, 30th, or 31st of |
| the month, as your event may not run exactly when expected. If you |
| want your event to run on the last day of the month, select "Last day |
| of the month" as the interval. |
| </para> |
| </warning> |
| |
| <para> |
| Once you have specified the day(s) on which the event is to be run, you |
| should now specify the time at which the event is to be run. You can |
| have the event run at a certain hour on the specified day(s), or |
| every hour, half-hour, or quarter-hour on the specified day(s). |
| </para> |
| |
| <para> |
| If a single schedule does not execute an event as many times as you |
| would want, you can create another schedule for the same event. For |
| example, if you want to run an event on days whose numbers are |
| divisible by seven, you would need to add four schedules to the event, |
| setting the schedules to run on the 7th, 14th, 21st, and 28th (one day |
| per schedule) at whatever time (or times) you choose. |
| </para> |
| |
| <note> |
| <para> |
| If you are a member of the bz_canusewhineatothers group, then you |
| will be presented with another option: "Mail to". Using this you |
| can control who will receive the emails generated by this event. You |
| can choose to send the emails to a single user (identified by email |
| address) or a single group (identified by group name). To send to |
| multiple users or groups, create a new schedule for each additional |
| user/group. |
| </para> |
| </note> |
| </section> |
| |
| <section id="whining-query"> |
| <title>Whining Queries</title> |
| |
| <para> |
| Each whining event is associated with zero or more queries. A query is |
| a saved search that is executed on the schedule specified (see above). |
| You start out with zero queries attached to the event (which means that |
| the event will not run, as there will never be any results to return). |
| To add a query, press the "Add a new query" button. |
| </para> |
| |
| <para> |
| The first field to examine in your new query is the Sort field. Queries |
| are executed, and results returned, in the order specified by the Sort |
| field. Queries with lower Sort values will run before queries with |
| higher Sort values. |
| </para> |
| |
| <para> |
| The next field to examine is the Search field. This is where you |
| choose the actual search that is to be run. Instead of defining search |
| parameters here, you are asked to choose from the list of saved |
| searches (the same list that appears at the bottom of every Bugzilla |
| page). You are only allowed to choose from searches that you have |
| saved yourself (the default saved search, "My Bugs", is not a valid |
| choice). If you do not have any saved searches, you can take this |
| opportunity to create one (see <xref linkend="list"/>). |
| </para> |
| |
| <note> |
| <para> |
| When running queries, the whining system acts as if you are the user |
| executing the query. This means that the whining system will ignore |
| bugs that match your query, but that you can not access. |
| </para> |
| </note> |
| |
| <para> |
| Once you have chosen the saved search to be executed, give the query a |
| descriptive title. This title will appear in the email, above the |
| results of the query. If you choose "One message per bug", the query |
| title will appear at the top of each email that contains a bug matching |
| your query. |
| </para> |
| |
| <para> |
| Finally, decide if the results of the query should be sent in a single |
| email, or if each bug should appear in its own email. |
| </para> |
| |
| <warning> |
| <para> |
| Think carefully before checking the "One message per bug" box. If |
| you create a query that matches thousands of bugs, you will receive |
| thousands of emails! |
| </para> |
| </warning> |
| </section> |
| |
| <section> |
| <title>Saving Your Changes</title> |
| |
| <para> |
| Once you have defined at least one schedule, and created at least one |
| query, go ahead and "Update/Commit". This will save your Event and make |
| it available for immediate execution. |
| </para> |
| |
| <note> |
| <para> |
| If you ever feel like deleting your event, you may do so using the |
| "Remove Event" button in the upper-right corner of each Event. You |
| can also modify an existing event, so long as you "Update/Commit" |
| after completing your modifications. |
| </para> |
| </note> |
| </section> |
| |
| </section> |
| |
| </chapter> |
| |
| <!-- Keep this comment at the end of the file |
| Local variables: |
| mode: sgml |
| sgml-always-quote-attributes:t |
| sgml-auto-insert-required-elements:t |
| sgml-balanced-tag-edit:t |
| sgml-exposed-tags:nil |
| sgml-general-insert-case:lower |
| sgml-indent-data:t |
| sgml-indent-step:2 |
| sgml-local-catalogs:nil |
| sgml-local-ecat-files:nil |
| sgml-minimize-attributes:nil |
| sgml-namecase-general:t |
| sgml-omittag:t |
| sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter") |
| sgml-shorttag:t |
| sgml-tag-region-if-active:t |
| End: |
| --> |
| |