IssueTrackerProduct

A user friendly bug tracking web application for Zope

Features

Proud features in no particular order...

Easy to use

What makes the IssueTrackerProduct stand out from its competition is that is much easier to use than other similar systems. This doesn't come at the price of reduced functionality because the IssueTrackerProduct has many of the advanced and powerful features that many other similar systems have too, except this time you don't have to read a manual understand how to use it.

When you start with a fresh installation of the IssueTrackerProduct almost all of the advanced features are switched off. Some are switched off on a "per system level" and some are switched off on a "per user level". So, if you're a user or an administrator you know you can start with the basic functionality and slowly enable the more advanced features as you get more and more comfortable with how the system works.

Unintrusive AJAX components to speed things up

The IssueTrackerProduct uses a lot of AJAX techniques to speed up the interface and makes the interface appear to be more alive and active than just numb web pages. AJAX is used to automatically save drafts for issues and followups in case your browser crashes. AJAX is used to update a page you're looking at whenever it changes on the server, so that you won't have to press the Refresh button on your browser every minute to make sure you're looking at all the latest followups. AJAX is used to refresh certain block elements such as the filter options on the List Issues page so that you don't have to refresh the whole page just to open up the filter options form.

Automatic email notifications

You can set up your IssueTrackerProduct instance to send an email notification to your email whenever a new issue is added. Obviously you won't get an email if you yourself is adding a new issue. This is very useful if you work in a team and it's your responsibility to deal with new issues coming in and you don't have the time to sit and refresh the List Issues page.

As soon as the issue has been added and you have received your email notification you will not get any more email notifications about that particular issue unless you're involved in it. You will be involved if you have either added the issue, posted a followup or subscribed to the issue.

Ability to add issues via email

If you set up a POP3 account and dedicate an email address or two to the IssueTrackerProduct you make it possible for people to add issues from the Gmail, Hotmail, Outlook, Thunderbird or any other program or application that can send emails. When you set this up you can define how every matching inbound email address should be dealt with. For example, emails sent to panicsupport@somebig.com should be automatically marked as Urgent. If it also possible to whitelist and blacklist certain email patterns if you for example want to allow only certain few to be able to send emails in.

With the automatic email notifications you get an email whenever an issue has been modified by someone else. If you set up your POP3 account right you can reply to the email notification back into the IssueTrackerProduct simply by pressing the Reply button in your email program. This means that you can effectively participate fully in an issue without ever even using a web browser.

RSS and XML-RPC

With Zope comes out-of-the-box support for XML-RPC which means that you can call any of the IssueTrackerProducts non-private functions from a script or a program located on a completely different network. This is for power users who might want to monitor certain progress or create a detailed report on a particular users usage.

With the RSS support you can take your list of issues with you into any other feed reading program such as Bloglines, Google Reader, Sage etc. If you want more than just the recently added issues you can use the RSS feed to also include any modifications to any of the existing issues as well.

Auto saving forms and drafts

Suppose you're writing up a bug report into the issuetracker or a long followup and your web browser freezes up or you have a power shortage in the house so that the whole computer shuts down faster than you can say D'oh! The issuetracker automatically auto saves what you write in the textboxes with a periodic Javascript on the server so to recover your half-finished bug report, all you need to do is to restart you computer and go back to the Add Issue page and you'll see a help link about your auto saved draft that you can continue on. This very useful function even if your computer isn't crashing because it means that you can return to saved drafts any time.

Accurate and easy to use filter options

Since every issue entered has a certain set of meta data such as status, sections or submitter you can list only certain issues on the List Issues page. This filtering and scoping is done by selecting some simple filter options either with a "Don't show..." or a "Do only show..." rule. The system remembers every filter setting you apply and stores them centrally on the server so that the next time you return to the List Issues page, you will be able to select any of your previously applied filter settings.

Reports with very specific filtering

The filter options makes it possible to reduce the list of issues down to a specific criteria, but the filter options is also limited in that it can't contain much business logic. What if you want to see only Completed issues completed on a Friday by George or Bill in the last month? Reports are via-the-web Python scripts that are very easy to write based on your specific needs. Alternatively you can download existing example report scripts to get started.

Every report has a unique URL that anybody with access to the IssueTrackerProduct instance can view. This makes it possible to share a report amongst several people in an organisation simply by passing on a URL to the report.

Ability to subscribe to added issues

If you enable the Subscription feature on a per system level it means that users can opt in to subscribe to receive email notifications on any changes made on a particular issue. This makes it possible for the user to track changes to an issue without having to click the Refresh button on the web browser every 5 minutes.

Change any layout without changing the source

The IssueTrackerProduct comes with a large set of various templates (about 100 of them) that govern the layout and some of the presentation functionality. With every new release of the IssueTrackerProduct some of these are improved and changed so if you have changed the sources of the release package, it will be hell to keep things in order. And also, what if you want to change the layout of one instance and not the other instances on one server? If so you can't change the source package. With the IssueTrackerProduct, all templates are proxied as Checkoutable Templates which means that you can check out a particular template and modify it without changing the original source package.

Issue assignment

When you add a new issue you can assign it to an individual user if you for some reason know beforehand that you want to assign it to that person. The issue assignment feature is be default not enabled but when it is you get a another question asked when you add issues and the assignee you select when adding the issue will get an email notification urging for his/her attention to the issue. The assignee of the issue can reassign the issue to someone else.

Straight forward statistics

The statistics gives you a broad picture of the how much has been added and resolved on the issuetracker instance. You can also see how many new issues have been added in certain time intervals in the history of the issuetracker's total time. The statistics can optionally be hidden from anonymous visitors if you have any.

Anonymous access

If you want to allow people to enter issues and participate in discussions about issues without having to be registered as a user with a password you can. The IssueTrackerProduct is built to by default allow people to use it without having to register and sign in. If you don't have a username and password almost all of your settings are still remembered (using cookies) so that these anonymous visitors still can identify themselfs. If however you want to exclude all public access you can simply make it a closed system where all people need to have usernames and passwords. Or even better: a mix. Some people anonymous who can only enter issues and followups and some people who can close and change issues.

Addictive keyboard shortcuts to speed up navigation

This is not for the novice to fiddle with. If you've been using the IssueTrackerProduct for a while or even if you haven't but you're using it on a daily basis then it might be worth considering to switch on the keyboard shortcuts. In true Web 2.0 spirit it's an unintrusive Javascript function that lets you navigate amongst issues, searches and various pages without using the mouse. For example, if you enter # a little dialog pops up asking you which issue number you want to go to.

Clever error messages

If you by accident enter an invalid URL that isn't recognized two things can happen: either the IssueTrackerProduct can figure out what you really wanted to by analysing the error and go straight there or it will analyse the error and come up with a few suitable suggestions that you can click on.

The IssueTrackerProduct is never 100% bug free but if there are bugs, these should be quickly reported back to the Real Issue Tracker for fixing as soon as possible. If an error does occur a helpful response is shown with the option to easily report the bug by the press of a button.

Built-in spam protection

On a public facing issuetracker instance it's quite possible that evil spammers soon find out about your input forms and start posting spam issues and followups. This can be controlled with the built-in spam protection feature. You write down exactly those words or combinations that you find they want to enter and the next time they try the spam won't get through.

It is also possible to switch on captchas so that people not logged in have to identify the numbers in a set of random images.