Skip to main content

I'm writing this from the perspective of Redmine. I haven't used Trac and only massaged the source with my eyes (not even reading it). AtAt a high level, it appears to be similar to Redmine so many of the things that I say may apply to it too.

The first question that you need to look at is the integration between the bug tracking (and code change) side and the "customer facing" issue tracking. DifferentDifferent places may allow for a degree of openness that is not available in others.

  • A closed-source software product certainly won't let the code changes get anywhere near the customer facing bug tracking system. TheThe risk of having some code getgetting out is a worry for many of them.
  • An open-source software product will often host the source code and bug tracking right along sidealongside the customer issue tracking (they are one and the same). ThisThis can be seen in both Redmine and Trac.
  • An academic setting... well, its probably somewhere in between.

That last point is key - is it a problem if the source gets out? OrOr for that matter, is it a problem if people see the discussion between developers of the product in the notes of aan issue?

Redmine has the ability to restrict withwhich certain users seecan read. YouYou may have individual notes marked private or things such as "only people with the programmer role can see the repository."

If this is acceptable, the easiest thing is to integrate the end user issue tracking and bug tracking in the same system. YouYou will likely want to separate "bugs" and "issues" from each other, though note that there is a relationship between them. AnAn end user issue may be caused by a bug, or it may be something the end user doesn't understand.

Issues and bugs have different work flows - issues may go through something like "new -> confirmed -> waiting for fix -> resolved" while a bug may go through "new -> assigned -> working -> code review -> working -> code review -> deployed -> closed" or something like that. ThereThere are likely as many work flows as there are installations. HavingHaving a "blocked by" relationship from the issue to the bug allows you to easily relate the two systems together.

All of that was assuming that it was acceptable to have one system host both, you will then find yourself with two different systems - one that is customer facing, one that is developer facing. ThisThis may involve a bit more work - somehow, someone needs to bridge the gap between the two - developers need to be aware of bugs that are discovered by the end user in their bug tracking system.

I haven't found a modern bug tracking system that plays nicely with others. EverythingEverything tries to be self contained and when commercial products have bug tracking systems, they make it so itsthat it's easy to migrate to it and use everything within its own product line. YouYou may find an API that lets you do some things, but for the most part - nope.

The question here becomes what is the workload and how does one want to integrate the two (picture two spoiled children sitting with their backs to each other not wanting to play)? Is it enough just to have a link from one system to the other? IsIs the amount of new issues low enough that this can be done by hand? or will you need to start exploring some way to poll from one and update the other?

Make sure that when integrating the two systems that you use the API rather than trying to go behind its back and tinker with the database with updates directly. ThereThere are dangers to that - the table structure of modern bug trackers is a big large and they are managed in the application. GoingGoing behind the back of the application may cause issues with data integrity. As mentioned before, instead of updating and inserting at the database, use the public API for the application (Redmine's API for issues for example).

The extent of the business logic and the integration points are something that needs to be examined before jumping off and doing it. WhichWhich way does the data flow (both ways gets very interesting at times) and what data flows. AreAre you copying issues into bugs once they reach a certain state? How do you keep track to make sure you don't create the same issue again and again (need to update the data model of the bug tracking system)? WhatWhat happens when aan issue is marked as closed in a bug tracking system - does that flow back?

I'm writing this from the perspective of Redmine. I haven't used Trac and only massaged the source with my eyes (not even reading it). At a high level, it appears to be similar to Redmine so many of the things that I say may apply to it too.

The first question that you need to look at is the integration between the bug tracking (and code change) side and the "customer facing" issue tracking. Different places may allow for a degree of openness that is not available in others.

  • A closed-source software product certainly won't let the code changes get anywhere near the customer facing bug tracking. The risk of having some code get out is a worry for many of them.
  • An open-source software product will often host the source code and bug tracking right along side the customer issue tracking (they are one and the same). This can be seen in both Redmine and Trac.
  • An academic setting... well, its probably somewhere in between.

That last point is key - is it a problem if the source gets out? Or for that matter, is it a problem if people see the discussion between developers of the product in the notes of a issue?

Redmine has the ability to restrict with certain users see. You may have individual notes marked private or things such as "only people with the programmer role can see the repository."

If this is acceptable, the easiest thing is to integrate the end user issue tracking and bug tracking in the same system. You will likely want to separate "bugs" and "issues" from each other, though note that there is a relationship between them. An end user issue may be caused by a bug, or it may be something the end user doesn't understand.

Issues and bugs have different work flows - issues may go through something like "new -> confirmed -> waiting for fix -> resolved" while a bug may go through "new -> assigned -> working -> code review -> working -> code review -> deployed -> closed" or something like that. There are likely as many work flows as there are installations. Having a "blocked by" relationship from the issue to the bug allows you to easily relate the two systems together.

All of that was assuming that it was acceptable to have one system host both, you will then find yourself with two different systems - one that is customer facing, one that is developer facing. This may involve a bit more work - somehow, someone needs to bridge the gap between the two - developers need to be aware of bugs that are discovered by the end user in their bug tracking system.

I haven't found a modern bug tracking system that plays nicely with others. Everything tries to be self contained and when commercial products have bug tracking systems, they make it so its easy to migrate to it and use everything within its own product line. You may find an API that lets you do some things, but for the most part - nope.

The question here becomes what is the workload and how does one want to integrate the two (picture two spoiled children sitting with their backs to each other not wanting to play)? Is it enough just to have a link from one system to the other? Is the amount of new issues low enough that this can be done by hand? or will you need to start exploring some way to poll from one and update the other?

Make sure that when integrating the two systems that you use the API rather than trying to go behind its back and tinker with the database with updates directly. There are dangers to that - the table structure of modern bug trackers is a big large and they are managed in the application. Going behind the back of the application may cause issues with data integrity. As mentioned, instead of updating and inserting at the database, use the public API for the application (Redmine's API for issues for example).

The extent of the business logic and the integration points are something that needs to be examined before jumping off and doing it. Which way does the data flow (both ways gets very interesting at times) and what data flows. Are you copying issues into bugs once they reach a certain state? How do you keep track to make sure you don't create the same issue again and again (need to update the data model of the bug tracking system)? What happens when a issue is marked as closed in a bug tracking system - does that flow back?

I'm writing this from the perspective of Redmine. I haven't used Trac and only massaged the source with my eyes (not even reading it). At a high level, it appears to be similar to Redmine so many of the things that I say may apply to it too.

The first question that you need to look at is the integration between the bug tracking (and code change) side and the "customer facing" issue tracking. Different places may allow for a degree of openness that is not available in others.

  • A closed-source software product certainly won't let the code changes get anywhere near the customer facing bug tracking system. The risk of having some code getting out is a worry for many of them.
  • An open-source software product will often host the source code and bug tracking right alongside the customer issue tracking (they are one and the same). This can be seen in both Redmine and Trac.
  • An academic setting... well, its probably somewhere in between.

That last point is key - is it a problem if the source gets out? Or for that matter, is it a problem if people see the discussion between developers of the product in the notes of an issue?

Redmine has the ability to restrict which certain users can read. You may have individual notes marked private or things such as "only people with the programmer role can see the repository."

If this is acceptable, the easiest thing is to integrate the end user issue tracking and bug tracking in the same system. You will likely want to separate "bugs" and "issues" from each other, though note that there is a relationship between them. An end user issue may be caused by a bug, or it may be something the end user doesn't understand.

Issues and bugs have different work flows - issues may go through something like "new -> confirmed -> waiting for fix -> resolved" while a bug may go through "new -> assigned -> working -> code review -> working -> code review -> deployed -> closed" or something like that. There are likely as many work flows as there are installations. Having a "blocked by" relationship from the issue to the bug allows you to easily relate the two systems together.

All of that was assuming that it was acceptable to have one system host both, you will then find yourself with two different systems - one that is customer facing, one that is developer facing. This may involve a bit more work - somehow, someone needs to bridge the gap between the two - developers need to be aware of bugs that are discovered by the end user in their bug tracking system.

I haven't found a modern bug tracking system that plays nicely with others. Everything tries to be self contained and when commercial products have bug tracking systems, they make it so that it's easy to migrate to it and use everything within its own product line. You may find an API that lets you do some things, but for the most part - nope.

The question here becomes what is the workload and how does one want to integrate the two (picture two spoiled children sitting with their backs to each other not wanting to play)? Is it enough just to have a link from one system to the other? Is the amount of new issues low enough that this can be done by hand? or will you need to start exploring some way to poll from one and update the other?

Make sure that when integrating the two systems that you use the API rather than trying to go behind its back and tinker with the database with updates directly. There are dangers to that - the table structure of modern bug trackers is a big large and they are managed in the application. Going behind the back of the application may cause issues with data integrity. As mentioned before, instead of updating and inserting at the database, use the public API for the application (Redmine's API for issues for example).

The extent of the business logic and the integration points are something that needs to be examined before jumping off and doing it. Which way does the data flow (both ways gets very interesting at times) and what data flows. Are you copying issues into bugs once they reach a certain state? How do you keep track to make sure you don't create the same issue again and again (need to update the data model of the bug tracking system)? What happens when an issue is marked as closed in a bug tracking system - does that flow back?

Yes, I found another stupid, small typo.
Source Link
user40980
user40980

If this is acceptable, the easiest thing is to integrate the end user issue tracking and bug tracking in the same system. You will likely want to separate "bugs" and "issues" from each other, though note that there is a relationship betwenebetween them. An end user issue may be caused by a bug, or it may be something the end user doesn't understand.

If this is acceptable, the easiest thing is to integrate the end user issue tracking and bug tracking in the same system. You will likely want to separate "bugs" and "issues" from each other, though note that there is a relationship betwene them. An end user issue may be caused by a bug, or it may be something the end user doesn't understand.

If this is acceptable, the easiest thing is to integrate the end user issue tracking and bug tracking in the same system. You will likely want to separate "bugs" and "issues" from each other, though note that there is a relationship between them. An end user issue may be caused by a bug, or it may be something the end user doesn't understand.

Fix minor typo.
Source Link
user40980
user40980

All of that was assuming that it was acceptable to have one system host both, you will then find yourself with two different systems - one that is customer facing, one that is developer facing. This may involve a bigbit more work - somehow, someone needs to bridge the gap between the two - developers need to be aware of bugs that are discovered by the end user in their bug tracking system.

All of that was assuming that it was acceptable to have one system host both, you will then find yourself with two different systems - one that is customer facing, one that is developer facing. This may involve a big more work - somehow, someone needs to bridge the gap between the two - developers need to be aware of bugs that are discovered by the end user in their bug tracking system.

All of that was assuming that it was acceptable to have one system host both, you will then find yourself with two different systems - one that is customer facing, one that is developer facing. This may involve a bit more work - somehow, someone needs to bridge the gap between the two - developers need to be aware of bugs that are discovered by the end user in their bug tracking system.

Source Link
user40980
user40980
Loading