Difference between revisions of "Using the bug tracker"

From Gramps
Jump to: navigation, search
(2. Search existing bugs)
m (Useful Mantis bug tracker Syntax codes: add note to "mention" about that names with embedded spaces not currently supported by MantisBT)
(30 intermediate revisions by one other user not shown)
Line 12: Line 12:
 
===1. Login===
 
===1. Login===
 
To report a bug or raise a feature request, you must have a login account on the Gramps bug tracker:
 
To report a bug or raise a feature request, you must have a login account on the Gramps bug tracker:
* Login to your account at https://gramps-project.org/bugs/login_page.php  or;
+
* {{man button|Login}} to your account at https://gramps-project.org/bugs/login_page.php  or;
* Visit the following link to create a new login account: https://gramps-project.org/bugs/signup_page.php . When you create a user account, remember that it can take up to 12 hours before a notification email is send to you. Only after clicking on the link in the confirmation email can you submit bugs. Your email address will be handled confidentially.
+
* Select {{man button|Signup for a new account}} or visit the following link to create a new login account: https://gramps-project.org/bugs/signup_page.php . When you create a user account, remember that it can take up to 12 hours before a notification email is send to you. Only after clicking on the link in the confirmation email can you submit bugs. Your email address will be handled confidentially.
 +
 
 +
{{-}}
  
 
===2. Search existing bugs===
 
===2. Search existing bugs===
 
[[File:Search box for existing bugs.png|thumb|right|450px|Search Box]]
 
[[File:Search box for existing bugs.png|thumb|right|450px|Search Box]]
Perhaps the bug you want to report has been submitted before. To check this, click on '[https://gramps-project.org/bugs/view_all_bug_page.php {{man button|View Issues}}]'. The top of the page is reserved for filters, which you set. Normally the default filters are just fine. Under these filters, there is a search box. Enter the terms best describing the bug, and click apply filter. If you have an error message, try pasting a part of the error, to see if it is has been reported already.
+
Perhaps the bug you want to report has been submitted before. To check this, click on [https://gramps-project.org/bugs/view_all_bug_page.php {{man button|View Issues}}]. The top of the page is reserved for filters, which you set. Normally the default filters are just fine. Under these filters, there is a {{man label|Search}} box. Enter the terms best describing the bug, and click {{man button|Apply Filter}} to search. If you have an error message, try pasting a part of the error, to see if it is has been reported already.
  
 
If the bug is already reported, read over the bug report, and see if you can add to the information. If so, you can leave a note with extra information to help the developers.
 
If the bug is already reported, read over the bug report, and see if you can add to the information. If so, you can leave a note with extra information to help the developers.
 +
{{-}}
  
 
===3. Submit new bug===
 
===3. Submit new bug===
Click on Report Issue, and enter the required information, see below on how to select the project to which the bug belongs. Be verbose, the developers are bad at mind reading. We shall mercilessly close the bugs which have no meaningful information at all, such as #{{bug|7126}}. Do not forget to list the Gramps version you are using. You can check this in Gramps by clicking in the Gramps program the Help menu, option About.
+
[[File:Report issue buttons Gramps bugs.png|thumb|right|450px|'Report Issue' buttons.]]
 
+
Click on one of the {{man label|Report Issue}} buttons, and enter the required information, see below on how to select the project to which the bug belongs. Be verbose, the developers are bad at mind reading. We shall mercilessly close the bugs which have no meaningful information at all, such as #{{bug|7126}}. Do not forget to list the Gramps version you are using. You can check this in Gramps by clicking in the Gramps program the Help menu, option About.
==== Projects ====
+
{{-}}
On the issue tracker from the '''Select Project''' box, use the '''Choose Project''' drop down list to select the "project" for the bugs. "Projects" are a way to categorize issues. There are two types of projects in the issue tracker:
+
==== How to proceed ====
 
 
 
[[File:Dropdown-Choose-Project-GrampsBugtracker.png|thumb|right|450px|Choose Project - selection list]]
 
[[File:Dropdown-Choose-Project-GrampsBugtracker.png|thumb|right|450px|Choose Project - selection list]]
 +
The first step in submitting an issue on the tracker is to determine which project it belongs to on the issue tracker from the '''Select Project''' box, use the '''Choose Project''' drop down list to select the "project" for the bugs. "Projects" are a way to categorize issues. There are two types of projects in the issue tracker, '''Feature Requests''' and '''Gramps''':
  
#The '''Feature Requests''' project is a place for recording requests for new features.  
+
*The '''Feature Requests''' project is a place for recording requests for new features.  
#The '''Gramps''' project is a place for recording all issues with Gramps.
+
**If the issue represents functionality that does not currently exist in Gramps, then the issue should be filed under the '''Feature Requests''' project.
##The projects with names that look like '''Gramps x.x.X''' are where issues are reported that apply specifically to a maintenance branch (see [[Brief_introduction_to_Git#Types_of_branches|Types of Branches]]). A separate project exists for each maintenance branch.
 
##The '''Gramps Master''' project should only be used by developers and testers of the latest code. It is a place for recording issues that only apply to the master branch in Git (see [[Brief_introduction_to_Git#Types_of_branches|Types of Branches]]). There is only one "Gramps Master" project because there is only one master branch in the Git repository.
 
 
 
==== How to proceed ====
 
The first step in submitting an issue on the tracker is to determine which project it belongs to.
 
 
 
*If the issue represents functionality that does not currently exist in Gramps, then the issue should be filed under the '''Feature Requests''' project.
 
  
*If the issue represents a problem with functionality that has been released in a stable release of code, then the issue should be filed under the project that corresponds to the maintenance branch for that release. For example, a bug found in Gramps 5.1.0 should be filed under the '''Gramps 5.1.0''' project.
+
*The '''Gramps''' project is a place for recording all issues with Gramps.
 +
**If the issue represents a problem with functionality that has been released in a stable release of code, then the issue should be filed under the project that corresponds to the maintenance branch for that release. For example, a bug found in Gramps 5.1.0 should be filed under the '''Gramps 5.1.0''' project.
  
*If the issue represents a problem with functionality that only exists the master branch, or the problem exists in the master branch, but not any stable releases, then the issue should be filed under the '''Gramps Master''' project.
+
*If the issue represents a problem with functionality that only exists in the master branch, or the problem exists in the master branch, but not any stable releases, then the issue should be filed under the '''Gramps Master''' project.
 +
{{-}}
  
== Resolving bugs ==
+
==== Enter Issue Details ====
This information is for the developers following up on the submitted issues.
+
[[File:Enter Issue Details page Gramps bugs.png|thumb|right|550px|Enter Issue Details - page]]
 +
The {{man label|Enter Issue Details}} page is where you share with the developers what your issue or feature request is.
  
The [https://gramps-project.org/bugs/roadmap_page.php roadmap page] of the bug tracker lists the bugs currently prioritized for the next releases. If you are looking for a bug to fix, this is a good place to start. Placement on the roadmap is controlled by the "Target Version" field fo the bug. Special "X.Y.99" phony releases, such as "3.4.99" and "4.0.99", list bugs that we would eventually like to fix for the "X.Y" version, but don't really know the milestone yet. Bugs that really should hold up a release
+
Try and complete all the relevant sections as well as you can and be prepared to answer follow up questions if your report needs clarification, it may help you to read the '''[[How to create a good bug report]]''' article.
should be on the roadmap with a real release number, and should only be moved after giving a reason or heads up on the devel list  [http://sourceforge.net/mailarchive/message.php?msg_id=31870820]. If you fix a bug scheduled for a later
 
milestone before a previous one is out, '''please manually adjust the target release field before marking the bug resolved,''' otherwise the roadmap display will be inaccurate [http://sourceforge.net/mailarchive/message.php?msg_id=31870821].
 
  
In general, when resolving an issue, it is always a good idea to add a note with the hash of the commit that fixed the problem.
+
===== Filling out the page =====
  
When resolving issues in a maintenance branch, one should always set the "Fixed in version" field to the version of the next release that will be made from that branch. This is done so that the issue properly appears in the ChangeLog page for that project ( https://gramps-project.org/bugs/changelog_page.php ).
+
* Product Version
 +
**The projects with names that look like '''Gramps x.x.X''' are where issues are reported that apply specifically to a maintenance branch (see [[Brief_introduction_to_Git#Types_of_branches|Types of Branches]]). A separate project exists for each maintenance branch.
 +
**The '''Gramps Master''' project should only be used by developers and testers of the latest code. It is a place for recording issues that only apply to the master branch in Git (see [[Brief_introduction_to_Git#Types_of_branches|Types of Branches]]). There is only one "Gramps Master" project because there is only one master branch in the Git repository.
 +
{{-}}
  
Bugs in maintenance branch projects should not be marked as closed until the developer has committed the change into the corresponding maintenance branch. Additionally, it is the developers responsibility to make sure the change has been merged into the master branch.
 
  
==Bug triage==
+
==Useful Mantis bug tracker Syntax codes==
  
Help the Gramps project [[Bug triage]].
+
The following are useful [http://www.mantisbt.org/ Mantis bug tracker] syntax codes you can use:
 +
* Using ''<code>#</code>'' before a bug number writes a link to the bug. eg: ''<code>#1</code>'' becomes {{bug|1}}
 +
* Use ''<code>@</code>'' before a user name to mention a person (note: user names with embedded spaces are not supported)
 +
* Using ''<code>~</code>'' before a comment number writes a link to the comment, same as : ''<code>{url}#c{comment number}</code>''. eg: ''<code>~3</code>'' becomes [https://gramps-project.org/bugs/view.php?id=1#c3]
  
==Syntax==
+
=== Limited HTML tags ===
 
 
[http://www.mantisbt.org/ Mantis bug tracker] uses its own syntax code :
 
* ''<code>#</code>'' before a bug number writes a link to the bug. eg: ''<code>#1</code>'' becomes {{bug|1}}
 
* ''<code>@</code>'' before a user name to mention a person
 
* ''<code>~</code>'' before a comment number writes a link to the comment, same as : ''<code>{url}#c{comment number}</code>''. eg: ''<code>~3</code>'' becomes [https://gramps-project.org/bugs/view.php?id=1#c3]
 
 
* A [https://github.com/mantisbt/mantisbt/blob/55fb5721ea7d980557da484390db5c6003b63cd0/config_defaults_inc.php#L1979 limited set] of [https://www.w3schools.com/tags/ HTML tags] can be used in the text field:
 
* A [https://github.com/mantisbt/mantisbt/blob/55fb5721ea7d980557da484390db5c6003b63cd0/config_defaults_inc.php#L1979 limited set] of [https://www.w3schools.com/tags/ HTML tags] can be used in the text field:
 
**<code> &lt;p&gt; &lt;/p&gt;</code>  to define a paragraph.
 
**<code> &lt;p&gt; &lt;/p&gt;</code>  to define a paragraph.
Line 79: Line 76:
 
**<code> &lt;strong&gt;</code>  It defines important text.
 
**<code> &lt;strong&gt;</code>  It defines important text.
  
 +
== Resolving bugs for developers ==
 +
This information is for the developers following up on the submitted issues.
 +
 +
The [https://gramps-project.org/bugs/roadmap_page.php roadmap page] of the bug tracker lists the bugs currently prioritized for the next releases. If you are looking for a bug to fix, this is a good place to start. Placement on the roadmap is controlled by the "Target Version" field fo the bug. Special "X.Y.99" phony releases, such as "3.4.99" and "4.0.99", list bugs that we would eventually like to fix for the "X.Y" version, but don't really know the milestone yet. Bugs that really should hold up a release
 +
should be on the roadmap with a real release number, and should only be moved after giving a reason or heads up on the devel list  [http://sourceforge.net/mailarchive/message.php?msg_id=31870820]. If you fix a bug scheduled for a later
 +
milestone before a previous one is out, '''please manually adjust the target release field before marking the bug resolved,''' otherwise the roadmap display will be inaccurate [http://sourceforge.net/mailarchive/message.php?msg_id=31870821].
 +
 +
In general, when resolving an issue, it is always a good idea to add a note with the hash of the commit that fixed the problem.
 +
 +
When resolving issues in a maintenance branch, one should always set the "Fixed in version" field to the version of the next release that will be made from that branch. This is done so that the issue properly appears in the ChangeLog page for that project ( https://gramps-project.org/bugs/changelog_page.php ).
 +
 +
Bugs in maintenance branch projects should not be marked as closed until the developer has committed the change into the corresponding maintenance branch. Additionally, it is the developers responsibility to make sure the change has been merged into the master branch.
 +
 +
==See also==
 +
* [[How to create a good bug report]]
 +
* [[Known issues]]
 +
* [[Common problems]]
 +
* Help the Gramps project [[Bug triage]].
  
 
[[Category:Developers/General]]
 
[[Category:Developers/General]]
 
[[Category:Developers/Quality Assurance]]
 
[[Category:Developers/Quality Assurance]]

Revision as of 00:49, 25 September 2020

The bug/issue tracker for Gramps is located at the following URL: https://www.gramps-project.org/bugs This bug/issue tracker allows users and developers to log new issues and track them as they progress. Please take some time to read the issue tracker instructions below and read how to create a good bug report. Also, have a look at known issues and common problems.

Quick recommendations

  • Be precise
  • Be clear: explain how to reproduce the problem, step by step, so others can reproduce the bug, or understand the request.
  • Include only one problem per report
  • Include any relevant links and examples

Report a bug

1. Login

To report a bug or raise a feature request, you must have a login account on the Gramps bug tracker:


2. Search existing bugs

Search Box

Perhaps the bug you want to report has been submitted before. To check this, click on View Issues. The top of the page is reserved for filters, which you set. Normally the default filters are just fine. Under these filters, there is a Search box. Enter the terms best describing the bug, and click Apply Filter to search. If you have an error message, try pasting a part of the error, to see if it is has been reported already.

If the bug is already reported, read over the bug report, and see if you can add to the information. If so, you can leave a note with extra information to help the developers.

3. Submit new bug

'Report Issue' buttons.

Click on one of the Report Issue buttons, and enter the required information, see below on how to select the project to which the bug belongs. Be verbose, the developers are bad at mind reading. We shall mercilessly close the bugs which have no meaningful information at all, such as #7126. Do not forget to list the Gramps version you are using. You can check this in Gramps by clicking in the Gramps program the Help menu, option About.

How to proceed

Choose Project - selection list

The first step in submitting an issue on the tracker is to determine which project it belongs to on the issue tracker from the Select Project box, use the Choose Project drop down list to select the "project" for the bugs. "Projects" are a way to categorize issues. There are two types of projects in the issue tracker, Feature Requests and Gramps:

  • The Feature Requests project is a place for recording requests for new features.
    • If the issue represents functionality that does not currently exist in Gramps, then the issue should be filed under the Feature Requests project.
  • The Gramps project is a place for recording all issues with Gramps.
    • If the issue represents a problem with functionality that has been released in a stable release of code, then the issue should be filed under the project that corresponds to the maintenance branch for that release. For example, a bug found in Gramps 5.1.0 should be filed under the Gramps 5.1.0 project.
  • If the issue represents a problem with functionality that only exists in the master branch, or the problem exists in the master branch, but not any stable releases, then the issue should be filed under the Gramps Master project.


Enter Issue Details

Enter Issue Details - page

The Enter Issue Details page is where you share with the developers what your issue or feature request is.

Try and complete all the relevant sections as well as you can and be prepared to answer follow up questions if your report needs clarification, it may help you to read the How to create a good bug report article.

Filling out the page
  • Product Version
    • The projects with names that look like Gramps x.x.X are where issues are reported that apply specifically to a maintenance branch (see Types of Branches). A separate project exists for each maintenance branch.
    • The Gramps Master project should only be used by developers and testers of the latest code. It is a place for recording issues that only apply to the master branch in Git (see Types of Branches). There is only one "Gramps Master" project because there is only one master branch in the Git repository.



Useful Mantis bug tracker Syntax codes

The following are useful Mantis bug tracker syntax codes you can use:

  • Using # before a bug number writes a link to the bug. eg: #1 becomes 1
  • Use @ before a user name to mention a person (note: user names with embedded spaces are not supported)
  • Using ~ before a comment number writes a link to the comment, same as : {url}#c{comment number}. eg: ~3 becomes [1]

Limited HTML tags

  • A limited set of HTML tags can be used in the text field:
    • <p> </p> to define a paragraph.
    • <li> to defines a list item used with:
      • <ul> unordered lists
      • <ol> ordered lists
    • <br> to insert a single line break.
    • <pre> </pre> to add preformatted text, that is displayed in a fixed-width font, and it preserves both spaces and line breaks.
    • <i> </i> usually displays text in italics.
    • <b> </b> shows bold text
    • <u> </u> Underline a misspelled word
    • <em> </em> It renders as emphasized text.
    • <strong> It defines important text.

Resolving bugs for developers

This information is for the developers following up on the submitted issues.

The roadmap page of the bug tracker lists the bugs currently prioritized for the next releases. If you are looking for a bug to fix, this is a good place to start. Placement on the roadmap is controlled by the "Target Version" field fo the bug. Special "X.Y.99" phony releases, such as "3.4.99" and "4.0.99", list bugs that we would eventually like to fix for the "X.Y" version, but don't really know the milestone yet. Bugs that really should hold up a release should be on the roadmap with a real release number, and should only be moved after giving a reason or heads up on the devel list [2]. If you fix a bug scheduled for a later milestone before a previous one is out, please manually adjust the target release field before marking the bug resolved, otherwise the roadmap display will be inaccurate [3].

In general, when resolving an issue, it is always a good idea to add a note with the hash of the commit that fixed the problem.

When resolving issues in a maintenance branch, one should always set the "Fixed in version" field to the version of the next release that will be made from that branch. This is done so that the issue properly appears in the ChangeLog page for that project ( https://gramps-project.org/bugs/changelog_page.php ).

Bugs in maintenance branch projects should not be marked as closed until the developer has committed the change into the corresponding maintenance branch. Additionally, it is the developers responsibility to make sure the change has been merged into the master branch.

See also