Part of the EllisLab Network

Building a Bug Tracker

Lisa Wess
Director of Community Services

Building a Bug Tracker: Setting up the Infrastructure

ExpressionEngine is an incredibly flexible system, capable of handling many different types of data.  The reason for this is the underlying power and flexibility of the Weblog Module, its Custom Field Sets, Category Groups, and Statuses.

On our own site here at ExpressionEngine.com, we have used that flexibility to run the Bug Tracker.  I often see the question, “when will...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Setting up the Templates

So, it’s time to dig in a bit more and get further with the Bug Tracker.  Please remember that you can always find the series Table of Contents on the Building a Bug Tracker page.

Today we’re going to set up our template group and variables.  Before we begin, you might like to take a few minutes to add a few entries to your bug tracker weblog. Have fun with it, you’ll be...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Template Groundwork

In parts one and two of the Building a Bug Tracker, we got our infrastructure setup - our weblog, our path.php variables, and our custom groups.  We’ve also added some entries to our Bug Tracker so that we have some data to work with as we do the real core of the work - building the templates.

So now it’s time to decide is what template to use for the Bug Tracker.  For this tutorial,...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Diagnostics

ExpressionEngine includes a variety of tools to assess how well your templates are optimized.  These include telling you the total queries, elapsed time, and template debugging.

Some of these will be extremely useful as we build the site.  Before we begin pulling out our weblog data, it would be good to have some of this information immediately available.

The first thing to...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Creating a List of Reported Bugs

The main functionality of the Bug Tracker is managing bug reports.  The way that we’re handling this means that each entry in the Bug Tracker weblog is an actual bug report.

Now that we have the templates setup, the next step is to output a basic list of entries.  It’s time to begin working with the data that we’ve previously entered.

The basic list of entries is very...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Structuring the Navigation

Before we begin building the rest of our templates, what we’ll want to do is take a deep breath and think about our Bug Tracker’s structure. 

In my experience there are two ways to approach this:

1. Plan out the navigation, then build your structure according to that or,
2. Build the structure, then figure out how to create navigation that makes sense.

A Bug Tracker is a...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Bug Submissions

Now we know what kind of functionality the bug tracker will have.  The first thing the bug tracker needs to do is accept bug reports.  We don’t really want to give all of our members access to the control panel, but really any member should be able to submit a bug. 

Let’s explore getting the bug reporting set up then, shall we?

The first thing to do is head to Admin -...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Bug List Layout

Before we can adventure into filtering and sorting content, we should first come up with a good display for that content.

One of the things that newcomers often don’t realize with ExpressionEngine is that the templates really are entirely under your control.  Expression assumes very little, so it follows that the weblog entries tag outputs only what you’ve told it...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: My Bugs Section

With the layout ready to go, we are ready to consider how to display posts in a variety of useful ways, so that both reporters and developers can easily sift through what has already been reported, the report’s status, and any discussion regarding that report.

To begin, let’s start by quickly supply the reporters a list of their own reports.  That way they can track the...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Filtering by Severity

In the beginning of this series, we set up some custom fields to handle data for the bug tracker.  Those custom fields can be used now, to help filter the data and get a more specific view for issues pertaining to any of those custom fields. 

The magic here will be using the weblog entries tag with the search parameter and segments.

Shall we? 

For this article, we’re...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Filtering by Status

Along with filtering by severity, and viewing one’s own bug reports, it is also important to be able to filter by status.  This allows developers to see what still needs to be worked on, and allows users to see what may still be open and what may already be fixed.

For this purpose, we’ll use the same methods that we used in the article on Filtering by Severity.

There are...

Continue Reading
Lisa Wess
Director of Community Services

Building a Bug Tracker: Filtering by Assignment

Within a bug tracker, it can often be helpful to see who the bug is assigned to.  For this reason, we set up the bug_tracker_assignment custom field.  Now we’re going to implement filtering by that custom field.

In fact, the structure is already in place, so this will be extremely easy to add; it is just a matter of a few conditionals and a few links.  Ready?

Open up the...

Continue Reading