Table of Contents
BugMon is a desktop Konfabulator Widget designed to give you a continually updated view of a Bugzilla Project. In addition, it can serve as a simple Bugzilla front-end, by allowing you to create new bugs and jump to individual bugs for editing purposes.
Background (Back to the Top)
The genesis of BugMon came about after I played with David Dekker's BugzMonitor widget. I needed
flexability that it didn't provide and I wanted a quick way to learn JavaScript. So I combined the two.
As I added more features and decided to migrate the widget to Konfab 4.0, I ended up doing a
ground-up rewrite and producing a new critter entirely. Heck, even the graphics have been changed.
Support and Feature Requests (Back to the Top)
Essentially the same thing goes for Feature Requests. If you have a good idea, and I like it, and think
it'll be useful to lots of folks, I'll probably put it in. But I'm not tweaking 100 different copies for every
small field text change that's out there.
First thing, support. There officially isn't any. Please let me know if you find any bugs and I'll try to fix them in a reasonable fashion.
(For example, I had a bit of free time and the fix for Bug Security Groups (v1.1.1) was completed within a couple of hours of the bug being reported...) But if you really need guaranteed, mission-critical turn-around for bug fixes, I recommend you go out and learn to hack a widget. ;)
Revision History (Back to the Top)
BugMon 1.0 (05/09/2007)
• Initial Limited Release
BugMon 1.1 (05/24/2007)
• First Full-Public Release
BugMon 1.1.1 (07/03/2007)
• Added Filters for Component and Version
• Made Header-Click Execute Current Query in New Bugzilla Window
• Improved 'Clickability' of Icons
• Improved Window Scrolling Usability
• Added Refresh Icon to Header
• Added Help Icon to Header
• Added Full HTML Documentation
• Bug Group Security Fix
BugMon 1.2 (07/30/2007)
• Fixed Queries for Systems Running Bug Group Security
• Enhanced Customization Release
• Customizable Bug Coloring for Priority, Severity, and Status!
• Help File Works Properly
• Limited Header-Click to Text Area
• Version and Component Queries Working Properly
• Enhanced Support for Special HTML-Encoded Characters
• Auto/Manual-Check for Newer Versions of BugMon
• Unicode/UTF-8 Character Display Supported
• System-Generated Samples for Custom Query String Creation
Credits (Back to the Top)
Special thanks go out to the following people:
Intava Corp.
Builders of Cutting-Edge Tactile Digital Experiences and Touch-Screen Solutions,
(http://www.intava.com) for allowing me to tinker with this in the evenings and still return it
back to the public Bugzilla community.
David Dekker
Author of the original BugzMonitor. I hope this is something along the lines of where
he would have liked to see this concept evolve.
Mark James
Creator of the incredible SILK Icon Set. See these fantastic (and free!) icons at
http://www.famfamfam.com/lab/icons/silk/.
BugMon is installed in the same manner as any other Widget. You may either download it from the Yahoo Widgets Gallery and allow it to auto-install, or place the BugMon.widget file in your Widgets directory. Then add it to you desktop as usual.
Running for the Very First Time (Back to the Top)
1) Right-click on the BugMon widget and bring up the Widget Preferences... dialog.
The first time you execute BugMon it will not have a connection to your Bugzilla Server. Please perform the following steps to get connected:
2) On the Connection tab, fill in your Bugzilla Server URL, Username and Password.
(You will not be able to set a Project, Component, Version, or Milestone until BugMon
has actually connected to the server and downloaded the field values.)
3) Click Save and allow BugMon to establish a connection to your server.
4) After the initial connection has been made, go back in to the Widget Preferences and set
the rest of the options as desired.
Moving BugMon Around the Screen
Most of the BugMon widget is clickable so... to move the widget around the screen you can either click-and-drag any blank section of the Header line or most of the footer of the widget. Clicking pretty much anywhere else will call Bugzilla in some way or another.
Count
The first item in the Header is the number of bugs returned in the current query.
Filter/URL
Clicking this description will bring up Bugzilla with the current query loaded. This is useful for modifying a lot of bugs or for troubleshooting a Custom Query String.
The next item (in parens) is a short description of the current query -or- the Custom Query String currently in use.
Date/Time
On the right side of the header is the date and time the bug query was last refreshed.
Refresh Now
Clicking the green Refresh Now icon will immediately refresh the current bug query. (Instead of waiting for the timer to elapse...) The auto-refresh timer is reset when the Refresh Now button is clicked.
Define Custom Bug Colors
Clicking the yellow Paint Palette icon will bring up the Define Custom Bug Colors page where you can customize the Bug Coloring behavior of BugMon. (This is described in greater detail here.)
Help
Clicking the blue Help icon will bring up the BugMon User's Guide. (This is the document you're reading right now...)
Bug Body (Back to the Top)
The columns are (in order of display):
The majority of the BugMon window is taken up by the main Bug Body area. This is the area of
rows and columns that display the bug information itself. At this point you cannot select columns
or change their order, but hey, I've gotta leave something for future releases, right?
Bug Number
Status
Priority
Severity
Description (Summary)
Assigned To
Bug Number
The Bugzilla Bug Number. Simple enough.
Status
The Standard Bugzilla Status values (NEW, OPEN, RESOLVED, etc.) are auto-colored.
The current Status of the Bug. (Bugzilla generally displays only the first 4 characters of the Status value.)
Priority
The current Priority of the Bug. (Bugzilla only displays a limited number of charaters of the Priority.) The contents of this field will be auto-colored.
Severity
The current Severity of the Bug. (Bugzilla only displays a limited number of charaters of the Severity.) The contents of this field will be auto-colored.
Status, Priority & Severity Auto-Coloring
1) Standard Bugzilla Priority/Severity values are used (or at least the same first
BugMon examines the characters at the beginning of each field value. When it finds a match, it sets the text and background colors for that field. If multiple matches are possible, BugMon uses the first one it encounters.
The default colors range from a panic-inducing Red with Yelow lettering for the most serious values, to calm greens for the opposite end of the spectrum.
The default settings of BugMon will auto-color the Status, Priority and Severity fields using the following criteria:
two characters...)
2) The first character of a Custom Priority/Severity value is a digit between 1 and 5
For Example: 1-Blocking, 5-Feature Request, etc.
3) The first two characters of a Custom Priority/Severity value are 'P' or 'S' (for Priority
and Severity, respectively) followed by a digit between 0 and 9
For Example: P2-Must Fix, S3-Workaround Available, etc.
BL | 1 | P0 | S0 |
- | - | P1 | S1 |
CR | - | P2 | S2 |
MA | 2 | P3 | S3 |
NO | - | P4 | S4 |
- | 3 | P5 | S5 |
MI | - | P6 | S6 |
TR | 4 | P7 | S7 |
- | - | P8 | S8 |
EN | 5 | P9 | S9 |
Unknown Value |
Don't like the default colors or have different Priority & Severity values? No problem. You can customize the auto-coloring behavior here.
Description
Description/Summary contains the 'title' of the bug. This field is also truncated to a set number of characters by Bugzilla. (So making the Display Width really large may still not allow you to see more information in this field.)
Assigned To
By default, this field will auto-color silver-blue if the bug is assigned to YOU. Don't like the color? Go here to customize it!
The person the Bug is currently Assigned To.
Footer (Back to the Top)
The bottom line of the BugMon display is the footer. It contains summary information about the
current bug set. It also allows you to create new bugs and scroll through the current bug list.
Create New Bug
The orange asterisk in the bottom-left of the footer is the Create Bug link. Clicking it will bring up a Bugzilla New Bug window.
Footer Info
Immediately to the right of the Create New Bug icon is the Summary Area of the footer. This area contains summaries of Bug Status, Priority and/or Severity, depending on the settings on the Widget Preferences, Display Tab.
Sort Info
Following the summary section (assuming there's room) is the Sorted By indicator. This indicates the current sort order of the bugs being displayed.
Scroll Arrows
If there are additional bugs before or after the set on-screen, the Scroll Up and Scroll Down arrows light up appropriately. Clicking either arrown scrolls to the next page in the current bug set. The bug query is NOT refreshed. This is simply a scroll within the current set of bugs.
Right-Click Menu (Back to the Top)
Right-clicking on the BugMon window brings up a menu with additional functions plus
the standard widget functionality.
About
Display a simple About screen for BugMon.
Widget Preferences
Display the standard Preferences Screens for a widget. The items on these screens can be found in the Configuration Options section below.
Check For Widget Updates
Check the Widget Gallery to see if a different (newer) version of BugMon exists. This is the same check that is performed automatically each time you start BugMon.
Hide Widget
Hide Widget. Standard widget functionality.
Close Widget
Close Widget. Again. Standard widget functionality.
Bugzilla Server URL
The URL to your Bugzilla server. (Usually the URL of the BZ Home Page...) It should always start with
'http://'. You don't need to include the '/' at the end.
Username
The Username you use to connect to Bugzilla. It is appended to all Bugzilla queries in order to
connect to the system even when Login Cookies are not enabled.
Password
The Password that goes with the Username above. Also appended to queries.
Refresh Bug List Every XX Minutes
This is how often the bug list will refresh. For slower systems or queries that return a lot of bugs,
(thousands) choose a higher (slower) value. For a fast BZ server with a limited # of bugs, you may
be able to go as fast as once a minute.
Disable Check for New Versions
However, sometimes you may not want this behavior (behind a corporate firewall, have to use a special web proxy, really slow connection, etc.).
Selecting this box will disable the new version check on startup. You'll then need to check the gallery every so often for updates or use the
Check For Widget Updates ooption on the right-click menu.
By default, BugMon will connect to the Widget Gallery server each time it is started and look for a newer
version of itself. If it finds one, you are notified. Once. If you ignore this notification, you're not going to be bothered again. But you
can always use the Check For Widget Updates option on the right-click menu.
Bug Selection (Back to the Top)
Options on the Bug Selection Tab determine which bugs are displayed. Think of this as a modified
version of the Bugzilla Search screen. It works exactly the same way.
Only Bugs Assigned To Me
If this box is checked, only bugs currently assigned to you will be displayed.
Product
Selecting a value will display only bugs that are currently assigned to that Project.
(Leave blank for all bugs.)
Component
Selecting a value will display only bugs that are currently assigned to that Component.
(Leave blank for all bugs.)
Version
Selecting a value will display only bugs that are currently assigned to that Version.
(Leave blank for all bugs.)
Target Milestone
Selecting a value will display only bugs that are currently assigned to that Target Milestone.
(Leave blank for all bugs.)
Bug Status Checkboxes
Select one or more Bug Status checkboxes to display only bugs that have that status. Selecting
none of the boxes (or all of them) will result in all bugs being displayed.
Days Since
A value here will display only bugs that have changed in the past XX days. Set to '0' for all bugs.
Custom Query String
In a nutshell, here's how it works:
It's not perfect. And I've had some problems with very complicated queries. But, it does allow a
measure of query flexibility that's just not possible any other way.
The best way to troubleshoot a custom query string is to click the BugMon Header to run the query in Bugzilla and go from there. Remember, if you have specified a Username and/or Password on the Connection tab, BugMon will append the following to any Custom Query String you specify:
&Bugzilla_login=XXXXX&Bugzilla_password=XXXXX&submit=GoAheadAndLogIn
If a custom Query String is specified it will override all other options on the Bug Selection tab. It is
here to allow Power Users to create very complex bug queries.
1) Design a complicated bug query in Bugzilla
2) Execute the query
3) Make a copy of the Query String section of the URL (the first ? and everything following)
4) Massage the query to remove unneeded arguments
5) Test your new query in BZ to make sure it returns the bugs you're expecting
6) Paste the query into BugMon
7) Hope it works...
Last System-Built Query String
This field will always contain the LAST system-generated query string used by BugMon. It's here to use as a basic template for building your own Custom Query Strings. It has no other functionality and is overwritten each time BugMon refreshes.
Display (Back to the Top)
Options on the Display Tab determine how the bugs are displayed on your screen.
Bugs Per Screen
This is how many bugs will be displayed on-screen at any one time. If the query contains fewer bugs, the footer bar will be moved up below the last bug.
If the query contains more bugs, the Scroll Up and Scroll Down arrows will be appropriately enabled to allow you to scroll through the current bug set.
Show Summaries in Footer Checkboxes
If this option is selected, the footer will contain a summary of bugs broken down by Current Status, Priority, and/or Severity. You can mix and match these options as you desire.
Display Width
This is the width in pixels of the BugMon display. You may choose to make it larger (to support a larger font size or show more of the Bug Summary) or smaller (to take up less space on your desktop).
Bug List Sort Options
All sorts are initially Ascending. Checking the 'Sort Descending' box will reverse the sort for that field.
The three Bug List Sort option fields allow you to control the order of bugs displayed. Any combination of the three fields may be used. The first field set non-blank will be used as the Primary sort, second as Secondary, etc.
Display Font Size
The font size of the BugMon display can be configured to allow easier reading, or to put more information in a smaller space.
International (Back to the Top)
The following options are not needed if you run a boring English Bugzilla. In fact, they'll slow you
down a bit. But if you use a Unicode language or have lots of HTML-encoded characters, they
should be just what the doctor ordered.
Unicode/UTF-8 Encoding Fix
Turn this on if you are having problems displaying Unicode characters. (Chinese, Japanese, etc.) A Konfabulator bug corrupts these characters when accessing them through a URL. The workaround is (get this) to save them directly to the drive THEN load the text file. It's ugly but it works. And it may add a second or two to each bug refresh, but it's not a big hit.
CSS Font Family
All of the text fields in BugMon are set to follow this CSS Font Family setting. By default BugMon uses '"Arial Unicode MS",Arial,sans-serif' (Yes, you need the "s...) If you use a Unicode language not supported by this font, feel free to change the Font here. Search 'CSS Font Family' on the web for more information on constructing valid entries. (Screw it up and it'll use the default setting...)
Enhanced Status, Pri, Sev HTML Translation
Normally, for speed, only a few characters are decoded from the HTML string. (!, ", &, ', <, >, @, and \) But many International systems use a great deal more of these characters. Selecting this option will translate ALL HTML-encoded characters up to asc-255. In all encodings. Again, leave it off unless you find a lot of unescaped HTML in your results.
Custom Bug Colors (Back to the Top)
This screen allows you to control the auto-coloring behavior of bugs on your display.
Define Custom Bug Colors Screen
Most of this screen is taken up by colored boxes. Each box represents a color combination for a particular Bug Status, Priortiy, or Severity value(s). Clicking on a box selects or deselects the box. Once selected, you may use the buttons below to change the Test Color, Background Color, or Text Strings for that combination.
Bug Strings
A Bug String is a comma-separated list of values that are used to determine if a bug should be a specific color. When each bug is displayed, it's values are compared against the values in the list of Bug Strings. (From the start of the value...) As soon as one is found that matches, the bug is set to use that color combination.
Status Values
Bug Strings for the standard 7 Bugzilla Statuses have been preset. These cannot be changed at this time. You may, however, change the Text Color and Background Color as desired.
Priority Values
You may change Text Color, Background Color, and Bug String for Priorities.
There are 10 combinations available for Priority colors. You do not have to use them all. Simply leave the Bug String blank for ones you do not wish to use.
Severity Values
There are 10 combinations available for Severity colors. Same deal here as with Priority. Change what you wish. Leave them blank if you don't want to use them. Also, by default colors for Priority and Severity are essentially the same. They don't have to be. So knock yourself out. Just remember, you've got to look at them all day...
{Unknown Value}
At the bottom of each column (Status, Priority, and Severity) are cells labeled {Unknown Value}. Any bug that does not match one of the strings in the column will default to this color.
Bugs Assigned To Me
The large box immediately below the Status, Priority and Severity columns defines the color for Bugs that are currently assigned to you.
Edit Bug Strings
Each value will have Leading and Trailing spaces removed, be converted to UPPER-CASE, and then be truncated to 4 characters, if it's longer than that. If more that 5 values are entered, extras are discarded before saving.
Selecting a box and clicking the Edit Bug Strings button allows you to edit the Bug Strings for that color combination. Enter strings as a comma-seperated list of values. You may specify up to 5 values for each Bug String.
Edit Text Color
Selecting a box and clicking the Edit Text Color button allows you to edit the text color of the current combination. It uses a standard color picker. No further explanation needed here...
Edit BG Color
Selecting a box and clicking the Edit BG Color button allows you to edit the background color of the current combination. Same as text Color, no further instructions should be needed.
Reset ALL to Defaults
Clicking this button will reset ALL Colors and Bug Strings to the default values and return you to the normal BugMon display. Not just the selected box, ALL OF THEM. You can't undo this. So be sure...
Discard Changes
Clicking this button will discard all Bug Color and Bug String changes you have made and return you to the normal BugMon display.
Save Changes
Clicking this button saves the Bug Color and String settings you have made and stores them in your Preferences for future use. You are then returned to the normal BugMon display.