Desired Tracker Features¶
Legacy Wiki Page
This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.
Desired Tracker Features¶
Patch and Test Tracking
Instead of the âneeds testâ and âneeds patchâ stages, it would be better to have a checkbox grid something like this:
NA needs patch has patch
docs ( ) ( ) ( )
tests ( ) ( ) ( )
code ( ) ( ) ( )
We could then have a âpatch incompleteâ stage instead of the âneedsâ stages, where the checkboxes would make clear what things were missing.
Instead of radio boxes we could have three drop-down inputs like:
docs [____________[âŒ]
tests [____________[âŒ]
code [____________[âŒ]
With ânot neededâ, âneededâ, âprovidedâ, âcommittedâ as possible values.
This is probably unnecessary and adds too much clutter to the interface. It would also take 6 clicks to open the 3 dropdowns and select âprovidedâ. Moving the stage from âpatch reviewâ to âcommit reviewâ should be enough to indicate that the patch is complete and has docs/tests/code.
The stages could be something like âdiscussingâ (when no patch has been provided yet), âin progressâ (when there is some patch), âcommittedâ (when all the patches have been committed). The stage field could also be removed altogether and replaced by these 3 fields; the additional details can be provided by the âstatusâ and âresolutionâ fields.
In the meanwhile the stages could be changed to âneeds unit testâ, âneeds patchâ, âneeds reviewâ, âresolvedâ.
See also some notes on python-dev
Python Version Tracking
Instead of a multi-selection list for python versions, perhaps we could have a list of versions like this:
confirmed will apply committed
3.3 ( ) ( ) [ ]
3.2 ( ) ( ) [ ]
3.1 ( ) ( ) [ ]
3.0 ( ) ( ) [ ]
2.7 ( ) ( ) [ ]
...
This would allow the tracker to record which versions a bug is present in, even if it doesnât get fixed in that version, and also allow us to track the progress when more than one version needs to be patched. We might perhaps want to add a stage âcommittingâ when a patch has been committed to one branch but not all. (Note: for feature requests âconfirmedâ would be left blank). âwill applyâ would be checked when someone determines that the patch, whether it exists or not, should be applied to the given branch. âcommittedâ would be the revision in which the patch was committed. Ideally this would be auto-filled by the change management system based on tags in the commit message.
If the above is deemed too complex, then we should at least have a way to mark issues as accepted regardless of whether or not they have a complete patch. This is to differentiate between issues that just need work, and issues where we havenât even decided that we are going to accept it.
The above is too complex and probably unnecessary. Recording the version is useful, but the roundup/hg script + the highlight on the message should already be enough. Differentiate between issues that need work and ones where we have to decide might be useful sometimes, but itâs not so common, so it might not be worth adding another field.
Another alternative is using drop-downs, e.g.:
3.1 [____________[âŒ]
3.2 [____________[âŒ]
3.3 [____________[âŒ]
With values like âunaffectedâ, âaffectedâ, âcommittedâ, âto be portedâ.
Dropdowns require too many clicks, and this is probably unnecessary too.
Using checkboxes instead of multi-value select elements is a huge usability win.(No references handy, just memory.) âmerwok
Checkboxes are better from an usability point of view but might make the interface more cluttered. Hiding somehow the values that are not selected might make the situation better, but previous experiments with this werenât too successful. Using a lower opacity for unchecked fields and restore it on hover might work. For some experiments with checkboxes see http://psf.upfronthosting.co.za/roundup/meta/issue384
Checkboxes could be used for versions, like:
[ ] 2.5 [ ] 2.6 [ ] 2.7 [ ] 3.1 [ ] 3.2 [ ] 3.3or:
[ ] 2.5 [ ] 3.1 [ ] 2.6 [ ] 3.2 [ ] 2.7 [ ] 3.3the â3rd partyâ value could IMHO be removed, since there are only 3 issues opened that use it.
New Field for Module/Package
When I want to find all bugs related to one module or package, I have to use the plain text search, which could give false positives and leave out valid results. For some packages I can use a component, e.g. Distutils, but not for all. I suggest a new field that would allow selecting what module(s)/package(s) a bug apply to. This would provide reliable and discoverable URIs for people who want to monitor particular modules or packages.
This has been suggested and rejected a number of times on python-dev. âRDM
:
This information is not useful. Can you list the arguments? \-- techtonik : No, but it would be great if you would search the archives and post links to the threads here. \--RDM : I tried with no luck. It would be useful to find the threads for future reference, but your memory is enough for me to withdraw my feature request. --merwok : Found this: [http://psf.upfronthosting.co.za/roundup/meta/issue78](http://psf.upfronthosting.co.za/roundup/meta/issue78) ---merwok : Nice catch. But that\'s not python-dev requests RDM is referring to. -techtonik : [http://psf.upfronthosting.co.za/roundup/meta/issue373](http://psf.upfronthosting.co.za/roundup/meta/issue373)
Easier Monitoring
(merwok)
Provide Atom feeds for saved queries to make keeping up with a particular area or component easier. (See http://psf.upfronthosting.co.za/roundup/meta/issue155, which however uses one of the legacy RSS formats.)
Add OpenSearch support to allow browsers to get search suggestions (completion) and scripts to get search results as easily-parsable feeds (see Wikipediaâs OpenSearch file for an example). It means adding one simple XML file, and returning search results as Atom feeds with some OpenSearch elements.
Allow any user to set her/himself as auto-nosy for some criteria. Allow any user with developer status to set her/himself as auto-assignee for some for some criteria.
For the record, these can be done by âCoordinatorsâ from the âcomponentâ page. Making the form editable by any user is not an option, so this would require a separate page if itâs implemented.
Add a stats page that shows stats and graphs similar to the ones included in the weekly summary reports.
Files
(merwok)
Warn the user if they send an inappropriate file (zipfile, .exe, Microsoft office formats).
- Attach files to emails sent to nosy if they have a sane mime type and size (possibly with a user option).
This can be already enabled in Roundup, but the sanity check should probably be implemented separately.
Misc
There could be a short (one line) description that depending on the stage of the issue says what should be done next (triaging, adding tests, a patch, review it, commit it), with a link to the respective section of the devguide.
This could be implemented as a âprogress/stage barâ at the top of the page that would list the stages from left to right. The current state would be highlighted somehow. The bar should probably be read-only and just provide information about the current stage of the issue and whatâs next.
The template for a new issue could include a short introduction that links to the devguide and suggests to check if a similar issue already exists before reporting a new one.
When an issue is closed stage should be automatically set to âresolvedâ. [Done in #595]
There should be a field in which you can enter an issue number of an issue of which this issue is a duplicate, and submitting it should
merge the nosy list from this issue into the specified issue
set the resolution to duplicate
close the issue (setting stage to resolved per above)
When a user adds a file there should be a note among the messages (or even inside the message) with a link to the added file. This would avoid confusion if the user says âThis patch âŠâ and there are several files attached.
Emails can contain useful links like âremove me from nosyâ and also link directly to the message using an anchor (i.e. âŠ/issue1234#msg12345).
Removing someone from nosy via a link, IOW modifying state with a GET request, is a proved bad idea. Ok for a link that would open a page with a form that sends a POST request to remove oneself from nosy. âmerwok
Assignment should be open to anyone with an account. Assignment suggests responsibility. Many issues may be worth fixing, but not interesting enough to someone with tracker privileges to fix.
There might be an âassigned toâ field open to everyone is working or wants to work on the issue and a âreviewer/committerâ field for a core developer that can review and commit the patch once itâs ready.
Mails for âunimportantâ changes (e.g. nosy changes, files/msgs removed) could be avoided. These changes could still be included in the next message or when enough unimportant changes are collected, making sure that itâs clear who changed what. The only problem is that if thereâs no ânext messageâ the change will pass unnoticed. This is a problem especially for messages that gets removed accidentally. See #279.
Links to msgs (e.g. msg12345) should use anchors (i.e. issue1234#msg12345).
Ability to make groups of related issues, i.e. issue7833, issue8870 and issue8871 are independent, but related and will be interesting for developer of any of them. â techtonik
Ability to link/track status of issues from external trackers. â techtonik
Consider Trac 0.12 as an alternative to Roundup http://trac.edgewall.org/wiki/TracWorkflow â techtonik
CategoryTracker