Developer Area/Bug Status

From Mahara Wiki
< Developer Area
Revision as of 20:39, 18 August 2011 by Kabalin (talk | contribs) (better formatting and add sections)
Jump to navigation Jump to search

The status, priority, milestone, tags in Launchpad are used by Mahara developers for effective bug management. This page describe the current use of these features.

Bug status

The bug status reflects the current state of the bug. When the new bug is reported it obtains "New" status automatically (unless specified otherwise) and then usually goes through a number other statuses depending on developers actions and decisions. The list below describe each of the statuses and provides useful hints on status chnages.

  • New - The status field is automatically set to "new" when a bug is created.
  • Triaged - Once we've looked at a bug and decided on a priority and a milestone, it's changed to "triaged". Triaged is for bugs we haven't tried to reproduce.
  • Confirmed - Status is changed to "confirmed" once we've been able to reproduce it, or to "incomplete" if we need more information to be able to reproduce it.
  • Invalid , Wont fix, Opinion - are all statuses that effectively close the bug.  "Invalid" is for things we don't really think are bugs at all, or maybe they're bugs but not bugs in Mahara.  "Won't fix" is self-explanatory.  "Opinion" is a softer version of "won't fix", and indicates to the reporter that there is reasonable disagreement about whether the bug is a bug or should be fixed (and invites more comments).
  • In progress - is for bugs which are currently being worked on.
  • Fix committed - is for when a fix is committed to git. Bugs which have been fixed only in the commit author's local branch or personal clone repository should not be marked as Fix Committed until they're fixed in the master (or stable) branch from which releases are created.  Any time a bug is marked as "fix committed", the milestone field must also be updated to the next planned release milestone on the appropriate branch, and if the bug is still unassigned, it should be assigned to whoever provided the patch.
  • Fix Released - Status is flipped to "Fix Released" once there is a stable release (i.e. a tarball) which includes the fix (alphas, betas and release candidates don't count).

Periodically the core development team will go through the open bugs, decide what should be fixed before the next release, and update the status and milestone fields accordingly.

Bug importance

Importance is highly subjective. "Critical" should generally be reserved for things that make the software unusable or pose a serious security risk for people running it.  Most of the bad bugs that inconvenience people should be marked as "high" priority.  Distinguishing bugs from enhancement/feature requests is difficult in Launchpad, and we've overused the "Wishlist" priority which has a bit of a double meaning.  A bug might have been marked "wishlist" because it's not really a bug, but we might still feel it's very important to address, and tackle it before a medium-priority bug that doesn't affect many users. "Medium" and "Low" reflect the bugs that are less important, not obvious and sometimes difficult to notice (such as those that trigger php warnings, but still work fine).

Tags

We encourage the use of tags to group bugs together!  If you triage a bug and think it's easy, but you don't plan to fix it immediately, tag it as "bite-sized". If we get enough bite-sized bugs, we can list them on openhatch.org, or other sites that might encourage new contributors.