Tracker guide: Difference between revisions
Helen Foster (talk | contribs) (draft template, workflow, removing out-of-date information) |
Dev Docs Bot (talk | contribs) m (Protected "Tracker guide": Developer Docs Migration ([Edit=Allow only administrators] (indefinite))) |
||
(40 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Template:Migrated|newDocId=/general/development/tracker/guide}} | ||
The [http://tracker.moodle.org/ Moodle Tracker] is our database for recording and managing all Moodle development issues - bugs, improvements and feature requests. | The [http://tracker.moodle.org/ Moodle Tracker] is our database for recording and managing all Moodle development issues - bugs, improvements and feature requests. | ||
''For an intro guide to the tracker, see [[ | ''For an intro guide to the tracker, see [[Tracker introduction]].'' | ||
To do anything more than browsing and searching in the tracker, you'll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create an account] and then login. | To do anything more than browsing and searching in the tracker, you'll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create an account] and then login. | ||
Line 16: | Line 16: | ||
===When creating an issue=== | ===When creating an issue=== | ||
'''Project''' | {| class="wikitable" | ||
: | ! Field | ||
: | ! Values | ||
! Notes | |||
|- | |||
'''Issue Type''' | | valign=top | '''Project''' | ||
: | | valign=top | | ||
; Moodle | |||
: For an issue relating to the Moodle codebase | |||
: | ; Moodle Community Sites | ||
: For an issue on tracker.moodle.org, docs.moodle.org, demo.moodle.org, download.moodle.org, moodle.org, etc.. | |||
; Non-core contributed modules | |||
'''Summary''' | : For an issue with a contributed plugin | ||
(There are a few more projects, but these are the main ones.) | |||
'''Description''' | | valign=top | | ||
* Tracker is used for multiple projects. | |||
''' | |- | ||
| valign=top | '''Issue Type''' | |||
''' | | valign=top | | ||
; Bug | |||
'''Component/s''' | : A problem which impairs or prevents Moodle from functioning correctly. | ||
; Improvement'' | |||
: An enhancement to an existing Moodle feature. | |||
; New Feature'' | |||
''' | : A new Moodle feature which has yet to be developed. | ||
; Task | |||
: A task that needs to be completed, usually apart from coding. | |||
: | ; Sub-Task | ||
: Part of a greater task | |||
|- | |||
| valign=top | '''Summary''' | |||
| valign=top | A brief, concise description of the problem. | |||
| valign=top | | |||
* When the issue is about applying an existing solution to another, usually older, branch (namely "backport"), please use the summary of the existing solution plus its issue number (i.e. "Fix forum alignment (backport of MDL-99999)"). | |||
|- | |||
| valign=top | '''Description''' | |||
'' | | valign=top | | ||
A full and complete description of the issue including: | |||
* replication steps, | |||
* the expected result, | |||
* the actual result, | |||
* any error messages shown with [[:en:Debugging|Debugging]] turned on, and | |||
* any other relevant information. | |||
| valign=top | | |||
* Please provide as much detail as possible. | |||
* More detail means an issue will be easier to resolve. | |||
|- | |||
| valign=top | '''Affects Version/s''' | |||
| | |||
* For bugs: the latest ''released'' version in which the bug is found | |||
* For improvements: the latest ''released'' version | |||
* For new features: Use 'Future dev' | |||
| | |||
|- | |||
| valign=top | '''Component/s''' | |||
| valign=top | The area(s) in Moodle which is affected by the issue. | |||
| valign=top | | |||
* Select 'Unknown' if you are unsure. | |||
|- | |||
| valign=top | '''Security Level''' | |||
| valign=top | | |||
; None | |||
: Viewable by everyone, including non-logged-in users | |||
; Could be a security issue | |||
: Viewable by members of the jira-developers group | |||
; Minor security issue | |||
: Viewable by members of the security team only | |||
; Serious security issue | |||
: Viewable by members of the security team only | |||
| valign=top | | |||
* The reporter can view the issue they reported, regardless of the security level set. | |||
* The higher the security level, the fewer people who can view the issue. | |||
* The 'Could be a security issue' should only be used temporarily when the issue is reported. A decision should be made as soon as possible to set another level. | |||
|} | |||
===When editing an issue=== | ===When editing an issue=== | ||
Line 60: | Line 95: | ||
Once an issue has been created, the following additional fields are able to be changed/set by editing the issue. Not all users can edit all fields. | Once an issue has been created, the following additional fields are able to be changed/set by editing the issue. Not all users can edit all fields. | ||
'''Fixed Version/s''' | {| class="wikitable" | ||
! Field | |||
! Values | |||
! Notes | |||
|- | |||
| valign=top | '''Fixed Version/s''' | |||
| valign=top | | |||
'''Priority''' | * Prior to integration, this will be set to a backlog (a queue of development work), for example STABLE Backlog, Dev Sprint 2. | ||
: | * After integration, this will be set to the Moodle version the bug was fixed in, for example 2.4.1. | ||
: | | | ||
: | * This is usually set during triage, or later by a developer or integrator. | ||
: | * If you resolve the bug as anything but "Fixed" (Cannot Reproduce, Won't Fix, etc.) leave Fix Version/s blank. | ||
: | * Fix version/s are used to automatically build release notes (see the tabs on http://tracker.moodle.org/browse/MDL). | ||
|- | |||
| valign=top | '''Priority''' | |||
| valign=top | | |||
'''Reporter''' | ; Blocker | ||
: Blocks development and/or testing, prevents Moodle from running | |||
'''Assignee''' | : Applicable to bugs only | ||
; Critical | |||
'''Peer reviewer''' | : Crashes server, loss of data, severe memory leak | ||
; Major | |||
'''Integrator''' | : Major loss of function, incorrect output | ||
; Minor | |||
'''Tester''' | : Minor loss of function where workaround is possible | ||
; Trivial | |||
''' | : Cosmetic problem like misspelt words or misaligned text | ||
| valign=top | | |||
''' | * When it is reported, the priority level represents the severity of an bug. | ||
* After being reported, the priority may be promoted by HQ developers and component leads as an issue escalates. | |||
'''Comment''' | * Other users wishing to influence the priority of issues should do so by voting for the issue. | ||
* The priority of new features and improvements should generally remain at the default (Minor) level. | |||
|- | |||
| valign=top | '''Reporter''' | |||
| valign=top | The person who logs the bug. This field is automatically filled by Tracker. | |||
| | |||
|- | |||
| valign=top | '''Assignee''' | |||
| valign=top | The person who will fix the issue. Prior to May 2013, developers were [[Changes to issue assignment|automatically assigned]]. Currently, the assignee should be set when there is a definite intention to complete the issue. | |||
| | |||
* Developers or QA Testers can reassign issues. | |||
* Please note that even though a person may be assigned to an issue, this does not mean they are currently working on the issue, although they are likely to in future. | |||
|- | |||
| valign=top | '''Peer reviewer''' | |||
| valign=top | The person who will check the fix at the code level. | |||
| | |||
|- | |||
| valign=top | '''Integrator''' | |||
| valign=top | The person who will integrate the code into the Moodle codebase. | |||
| | |||
|- | |||
| valign=top | '''Tester''' | |||
| valign=top | The person who will test the solution at a functional level, according to the test instructions provided. | |||
| | |||
|- | |||
| valign=top | '''Environment''' | |||
| valign=top | The operating system, server and/or browser specifications if applicable to this bug. | |||
| | |||
* Note that the database is specified separately in the database field below. | |||
|- | |||
| valign=top | '''Database''' | |||
| valign=top | If applicable to the bug, identify the database type. | |||
| | |||
|- | |||
| valign=top | '''Testing instructions''' | |||
| valign=top | The steps that a tester should follow to achieve the expected behaviour after the issue has been resolved. | |||
| valign=top | | |||
* This may be different to the replication steps reported in the description. | |||
* These instructions are written by the developer working on the issue. | |||
|- | |||
| valign=top | '''Workaround''' | |||
| valign=top | A way to achieve the desired functionality by other means. | |||
| valign=top | | |||
* This will be very useful to other Moodle users who have the same problem, until the issue is resolved. | |||
* If the issue can be resolved by a simple code change, say one line, then you can give that as a workaround, although patches and Git branches are preferred. | |||
|- | |||
| '''Attachment''' | |||
| valign=top | Patch files, Screenshots, example backups or other related files | |||
| valign=top | | |||
* Attaching a file will help developers and testers better understand the bug. | |||
* Maximum attachment size is 512Kb. | |||
|- | |||
| valign=top | '''URL''' | |||
| valign=top | If possible, provide a URL address that demonstrates an example of this bug. | |||
| | |||
|- | |||
| valign=top | '''Epic Name''' | |||
| valign=top | A short name given to an issue of type Epic so that linked issues can be grouped by this name. It should only be a few words at most. | |||
| valign=top | Only applies to issues of type Epic. | |||
|- | |||
| valign=top | '''Epic Link''' | |||
| valign=top | A link to an Epic issue. This can be added by providing the issue ID or Epic name. It is a way of organising related issues as part of a project. | |||
| valign=top | Only applies to issues that need to be collected together for a project. | |||
|- | |||
| valign=top | '''Labels''' | |||
| valign=top | See [[Tracker issue labels]] | |||
| | |||
* Labels should be specific values used in filters and searches. | |||
* This is not a field for including generic keywords. | |||
|- | |||
| valign=top | '''Pull...''' | |||
| valign=top | Links to a code solution in a Git repository. | |||
| | |||
* These fields are used by developers. | |||
* There may be multiple solutions if the problem affects multiple Moodle versions. | |||
|- | |||
| valign=top | '''Documentation link''' | |||
| valign=top | URL of related documentation. | |||
| valign=top | | |||
* When changes require documentation to be updated, this field should be filled. | |||
|- | |||
| valign=top | '''Comment''' | |||
| valign=top | | |||
* Notes made by all interested parties. | |||
* A detailed register of all changes that relate to this bug. | |||
| | |||
|} | |||
===When closing an issue=== | ===When closing an issue=== | ||
{| class="wikitable" | |||
! Field | |||
! Values | |||
! Notes | |||
|- | |||
| valign=top | '''Resolution''' | |||
| valign=top | | |||
; Fixed | |||
: Bug has been fixed; a code change has been integrated into Moodle code. | |||
; Won't Fix | |||
: The problem described is an issue which will never be fixed. Specific reasons should be given. | |||
; Not a bug | |||
: This issue is not a bug. The issue may have been logged in error. Use this code if the bug was fixed by another bug report or in some earlier Moodle version. | |||
; Duplicate | |||
: The problem is a duplicate of an existing issue. | |||
; Incomplete | |||
: More information was needed to understand this bug, but it was not provided. | |||
; Can't Reproduce | |||
: Attempts at reproduce the issue failed. If more information appears later, please open a new issue. | |||
; Deferred | |||
: The resolution to this bug will be deferred to a later release or to a fix in a third-party plugin used in Moodle. | |||
| valign=top | | |||
* This field is only displayed when resolving or closing a bug. | |||
|} | |||
== Tracker groups and permissions == | |||
There are a number of groups used to define the potential of users in Tracker. Here are some important ones. | |||
''' | {| class="wikitable" | ||
! Name | |||
! Jira group | |||
! Potential | |||
! How to become one | |||
|- | |||
| valign=top | '''Users''' | |||
| valign=top | jira-users | |||
| valign=top | Users can create new issues, comment on issues, vote for issues, link issues, attach files, create sub-tasks and watch issues. | |||
| valign=top | Anyone who creates a tracker account becomes a member of the Users group. | |||
|- | |||
| valign=top | '''Moodle Security''' | |||
| valign=top | moodle-security | |||
| valign=top | Trusted developers and administrators who need to work on security issues that are hidden from normal users. (See [[Moodle security procedures]].) | |||
| valign=top | This is generally limited to developers at Moodle HQ and Partner organisations. People wishing join the Moodle Security group should email [mailto:security@moodle.org security@moodle.org] with the reasons for your request. | |||
|- | |||
| valign=top | '''Developers''' | |||
| valign=top | jira-developers | |||
| valign=top | Developers can edit issues and assign issues to themselves. They are also able to request peer reviews from HQ staff and component leads. They cannot submit code directly for integration review, but an HQ staff member or component lead can do this after a satisfactory peer review. (See [[Process]].) | |||
| valign=top | People wishing to join the Developers group should be able to demonstrate a history of contributing patches to issues. | |||
' | When a developer's first patch is integrated, tested and the issue is closed, they are added to the group and set as issue assignee. | ||
If that doesn't happen automatically, please send an email to [mailto:integration@moodle.com integration@moodle.com] with your tracker username and links to issues where you have contributed patches. | |||
|- | |||
| valign=top | '''Integration requesters''' | |||
| valign=top | pull-requesters | |||
| valign=top | Developers can send issues for integration review. (See [[Process]].) | |||
| valign=top | This role is reserved for Moodle HQ developers and component leads. | |||
|- | |||
| valign=top | '''Integration testers''' | |||
| valign=top | pull-testers | |||
| valign=top | Users that can tests issues under integration and pass/fail them. (See [[Process]].) | |||
| valign=top | Usually reserved for HQ developers and external testers. | |||
|} | |||
Note that you can browse a project without being logged in to Tracker, however you will be unable edit or comment on bugs. | |||
==See also== | ==See also== | ||
*[[Tracker introduction]] - less scary version of this page for new users. | |||
*[[Process]] | *[[Process]] | ||
*[[Bug triage]] | *[[Bug triage]] | ||
*[[Testing]] | *[[Tracker issue labels]] | ||
*[[Testing of integrated issues]] | |||
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=43952 How to manipulate Moodle developers] forum discussion | *Using Moodle [http://moodle.org/mod/forum/discuss.php?d=43952 How to manipulate Moodle developers] forum discussion | ||
*Wikipedia [http://en.wikipedia.org/wiki/Software_bug Definition of a bug] | *Wikipedia [http://en.wikipedia.org/wiki/Software_bug Definition of a bug] | ||
[[Category: | [[Category:Tracker]] | ||
[[Category:Quality Assurance]] | [[Category:Quality Assurance]] |
Latest revision as of 07:27, 6 May 2022
Important:
This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date. Why not view this page on the new site and help us to migrate more content to the new site! |
The Moodle Tracker is our database for recording and managing all Moodle development issues - bugs, improvements and feature requests.
For an intro guide to the tracker, see Tracker introduction.
To do anything more than browsing and searching in the tracker, you'll need to create an account and then login.
Integration workflow
The following diagram illustrates the integration workflow in the tracker and lists the different statuses of an issue.
Tracker fields
When creating an issue
Field | Values | Notes |
---|---|---|
Project |
(There are a few more projects, but these are the main ones.) |
|
Issue Type |
| |
Summary | A brief, concise description of the problem. |
|
Description |
A full and complete description of the issue including:
|
|
Affects Version/s |
|
|
Component/s | The area(s) in Moodle which is affected by the issue. |
|
Security Level |
|
|
When editing an issue
Once an issue has been created, the following additional fields are able to be changed/set by editing the issue. Not all users can edit all fields.
Field | Values | Notes |
---|---|---|
Fixed Version/s |
|
|
Priority |
|
|
Reporter | The person who logs the bug. This field is automatically filled by Tracker. | |
Assignee | The person who will fix the issue. Prior to May 2013, developers were automatically assigned. Currently, the assignee should be set when there is a definite intention to complete the issue. |
|
Peer reviewer | The person who will check the fix at the code level. | |
Integrator | The person who will integrate the code into the Moodle codebase. | |
Tester | The person who will test the solution at a functional level, according to the test instructions provided. | |
Environment | The operating system, server and/or browser specifications if applicable to this bug. |
|
Database | If applicable to the bug, identify the database type. | |
Testing instructions | The steps that a tester should follow to achieve the expected behaviour after the issue has been resolved. |
|
Workaround | A way to achieve the desired functionality by other means. |
|
Attachment | Patch files, Screenshots, example backups or other related files |
|
URL | If possible, provide a URL address that demonstrates an example of this bug. | |
Epic Name | A short name given to an issue of type Epic so that linked issues can be grouped by this name. It should only be a few words at most. | Only applies to issues of type Epic. |
Epic Link | A link to an Epic issue. This can be added by providing the issue ID or Epic name. It is a way of organising related issues as part of a project. | Only applies to issues that need to be collected together for a project. |
Labels | See Tracker issue labels |
|
Pull... | Links to a code solution in a Git repository. |
|
Documentation link | URL of related documentation. |
|
Comment |
|
When closing an issue
Field | Values | Notes |
---|---|---|
Resolution |
|
|
Tracker groups and permissions
There are a number of groups used to define the potential of users in Tracker. Here are some important ones.
Name | Jira group | Potential | How to become one |
---|---|---|---|
Users | jira-users | Users can create new issues, comment on issues, vote for issues, link issues, attach files, create sub-tasks and watch issues. | Anyone who creates a tracker account becomes a member of the Users group. |
Moodle Security | moodle-security | Trusted developers and administrators who need to work on security issues that are hidden from normal users. (See Moodle security procedures.) | This is generally limited to developers at Moodle HQ and Partner organisations. People wishing join the Moodle Security group should email security@moodle.org with the reasons for your request. |
Developers | jira-developers | Developers can edit issues and assign issues to themselves. They are also able to request peer reviews from HQ staff and component leads. They cannot submit code directly for integration review, but an HQ staff member or component lead can do this after a satisfactory peer review. (See Process.) | People wishing to join the Developers group should be able to demonstrate a history of contributing patches to issues.
When a developer's first patch is integrated, tested and the issue is closed, they are added to the group and set as issue assignee. If that doesn't happen automatically, please send an email to integration@moodle.com with your tracker username and links to issues where you have contributed patches. |
Integration requesters | pull-requesters | Developers can send issues for integration review. (See Process.) | This role is reserved for Moodle HQ developers and component leads. |
Integration testers | pull-testers | Users that can tests issues under integration and pass/fail them. (See Process.) | Usually reserved for HQ developers and external testers. |
Note that you can browse a project without being logged in to Tracker, however you will be unable edit or comment on bugs.
See also
- Tracker introduction - less scary version of this page for new users.
- Process
- Bug triage
- Tracker issue labels
- Testing of integrated issues
- Using Moodle How to manipulate Moodle developers forum discussion
- Wikipedia Definition of a bug