Jump to content
Mark
 Share


New Bug Tracker, powered by IP.Content

Hopefully most of you don't have the need to visit our bug tracker enough to have noticed, but we recently switched from a third party application for managing our bugs to IP.Content.

The history of the software we used to use for our bug tracker goes back quite a bit. It was originally written by Matt, many years ago - before that we used regular forum topics as bug reports!

A couple of years ago, around the time IP.Board 3.0 was released, we handed over the codebase to a group of volunteers who wanted to develop the bug tracker application further - and they did.

The developers have done a fantastic job with Tracker, however since then we've released IP.Content, our own application which lets you create (amongst other things) custom databases.

We decided that since moving forward it's definitely easier for us to be using our own applications (otherwise we have issues whenever we upgrade this site to beta software) especially as soon we'll be developing them all under one release cycle, and IP.Content is more than capable of handling the task, to switch from Tracker to IP.Content.


So what did we do to turn IP.Content into a fully featured bug tracker? Actually, nothing special!

IP.Content's databases already have support for categories (we created one for each product) and custom fields (we created fields for "status", "version" and "fixed in version"). We didn't need to do any skinning either - the default database templates work fantastic for a bug tracker. We also took this opportunity to have one of our non-technical members of staff create the database. This gave us some great ideas on improving the system for ease of use.

In fact, there was only 3 hurdles we had to overcome:


1. Filter Bars

When you're working through bug reports you only really want to see open bug reports - we needed a way to filter the records being shown created on the custom "status" field we'd created.

After thinking about the best approach for this, we realised that there's probably other uses for IP.Content which also might benefit from fields being "filterable". So we went ahead and added the feature to IP.Content.

When the next version of IP.Content is released, any enumerable field type (dropdowns, radio boxes, checkboxes) will be able to be selected as "filterable".

When viewing records you'll then see a sidebar allowing you to select one or more of those values to filter the records by.

This is what it looks like in our new bug tracker:



2. Quick Changing Fields

Unlike most database uses, in a bug tracker, you need to be able to change the record's data (status, fixed in version) quickly - and often at the same time as making a comment on the report.

We decided for this we'd need to write some code specifically for our needs. Fortunately, IP.Board's hook system makes this really easy.

In case anyone out there is feeling particularly geeky and wants to know how this works, the hook has 3 parts:

  • A skin overloader which adds dropdown boxes above the comment form
  • A data hook which intercepts the comment being added and updates the records data based on the dropdown box values. It also edits the comment that was posted and adds in "Updating Status to: X", or whatever was changed.
  • An action overloader which stops an error being thrown if the comment is empty.

In total, the hook is just 81 lines of code and took about 30 minutes to write.


3. Moving the data


Our final hurdle was converting the data (for which I whipped up a CLI script).

Naturally, we also had to make sure that old bug report links gave HTTP 301 redirects to the new reports - wouldn't want our SEO to suffer!

To do this, I just dropped a few lines of code in one of the old Tracker source files.






So here it is, our brand new bug tracker, completely powered by IP.Content.




Read more about IP.Content or try it for free.
If you have any questions about what IP.Content can do, shoot us an email - we'd love to hear from you.
 Share

Comments

Recommended Comments



So what about My Issues button? I have to go seraching for list of stuff for items I reported on and want a quick check on it? There is no way to do this.


[quote name='Axel Wers' timestamp='1342534131']
Wow, Bug Tracker is powered by IP.Content? Great! I thought it was the newest Tracker :D


The new one is.

Link to comment
Share on other sites

  • Management

Any bug report you're interested in, be it one you submitted or one someone else did, you can simply use the Follow feature.



Actually there is: for specific bug reports you created simply go to My Content then select Resources then Bug Tracker.

As this is running IP.Content all the standard features of the IPS Community Suite are available :)

I have to go seraching for list of stuff for items I reported on and want a quick check on it? There is no way to do this.

Link to comment
Share on other sites

[quote name='ZakRhyno' timestamp='1342534443'] So what about My Issues button? I have to go seraching for list of stuff for items I reported on and want a quick check on it? There is no way to do this. The new one is.

You can use the My Content feature in the user menu. Then click Resources > Bug Tracker.

http://screencast.com/t/5pfisTaSU

Link to comment
Share on other sites

Will the next release of IPC also include the new bug tracker? If not what about instructions on how to create it for ourselves? What about something to port over the data from the tracker app to the IPC powered one?

Link to comment
Share on other sites

Wolfie - where as you could recreate a bug tracker in IP.Content (as we have done), it was done to suit us better. If you want a bug tracker on your forums, Tracker is still being developed.

Link to comment
Share on other sites

[quote name='Alex' timestamp='1342574421']Wolfie - where as you could recreate a bug tracker in IP.Content (as we have done), it was done to suit us better. If you want a bug tracker on your forums, Tracker is still being developed.
It's part of the novelty of knowing how exactly it was done. What fields were added (not only ones the public can see but any private ones as well), etc.

Before IP.Links was used, there was a directory of sites running IPB or had resources for IPB and there was an article giving directions on how it was made. Something like that. Not necessarily to use it over the app but to know how it's done and such. :)

Link to comment
Share on other sites

I have Links and Tracker. I would like to know if there are instruction on how to make IP.Content to do their work and move there. If available please give links or for those that they know, write a couple of articles. Thanks.

Link to comment
Share on other sites

[quote name='Alex' timestamp='1342574421']
Wolfie - where as you could recreate a bug tracker in IP.Content (as we have done), it was done to suit us better. If you want a bug tracker on your forums, Tracker is still being developed.


[quote name='Wolfie' timestamp='1342583385']
It's part of the novelty of knowing how exactly it was done. What fields were added (not only ones the public can see but any private ones as well), etc.

Before IP.Links was used, there was a directory of sites running IPB or had resources for IPB and there was an article giving directions on how it was made. Something like that. Not necessarily to use it over the app but to know how it's done and such. :smile:


[quote name='RObiN-HoOD' timestamp='1342592300']
I have Links and Tracker. I would like to know if there are instruction on how to make IP.Content to do their work and move there. If available please give links or for those that they know, write a couple of articles. Thanks.


People need real world examples(with the accompanying code) to begin to grasp IPC, these examples, while seemingly trivial to you Mark, make the difference for new IPC users.

Link to comment
Share on other sites

[quote name='Marcher Technologies' timestamp='1342593549']
People need real world examples(with the accompanying code) to begin to grasp IPC, these examples, while seemingly trivial to you Mark, make the difference for new IPC users.


As I keep saying: there's no code :P

Link to comment
Share on other sites

[quote name='Boost Samurai' timestamp='1342595736']
Where exactly do I get my hands on, download wise, this new tracker?

I was using the old tracker as a support tool for my users and would like to employ the new one in a similar fashion.


Do you use any relational fields within your database?

Link to comment
Share on other sites

[quote name='Marcher Technologies' timestamp='1342597509']
As we keep saying, we cannot see half the interface you speak of regarding the fields used and editable for canned responses. :tongue:


I'd be happy to release that hook - it won't work though without the new filter feature which is in the next Content version.
I'll see if I can put it out when that gets released.

Link to comment
Share on other sites

[quote name='Marcher Technologies' timestamp='1342593549']
People need real world examples(with the accompanying code) to begin to grasp IPC, these examples, while seemingly trivial to you Mark, make the difference for new IPC users.


Exactly! If you can do something like this .. then .. SHOW US so we can learn!

Link to comment
Share on other sites




Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...