Closed Bug 1123769 Opened 5 years ago Closed 5 years ago

add a "rank" field to bugzilla to track priority

Categories

(bugzilla.mozilla.org :: General, defect)

Production
x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: shell, Assigned: glob)

References

Details

User Story

Created attachment 8551866 [details]
iteration and points.png

can we add another drop down option to "blocking-loop" for "backlog ?" and "backlog -" and change existing "backlog" to backlog +"?

can we also add a new field to bugzilla for "Rank" that allows free number entry - no words.  Fine with wherever it goes - but ideas are either to the right after Priority (P1-P5) and the "Normal, ..".  or down by "iteration" and "points"

For the new "Rank" field we could limit to just the products Firefox and Loop for now.

can we limit access to certain people to change that field?
loop-drivers and the firefox-drivers (or whatever the name is of the team that can set the "+" flag in their firefox backlog flag)

Attachments

(5 files)

can we add another drop down option to blocking-loop for "parking lot"?

can we also add another field to bugzilla for "Rank" that allows free number entry - no words.  Fine with wherever it goes - but ideas are either to the right after Priority (P1-P5) and the "Normal, etc".  or down by "iteration" and "points"
Attached image PriorityArea.png
For the new "Rank" field - can we limit access to certain people (if other teams want to use - fine with them requesting access - just starting with PM's, EPMs, UX, and Devs that I know will use logically to manage the backlog of work from Hello and Firefox desktop management team).  We don't want changeable by everyone that files a bug.
  
what is the simplest way to grant the following folks access?:
sescalante@mozilla.com
rtestard@mozilla.com
standard8@mozilla.com
gavin.sharp@gmail.com
mreavy@mozilla.com
rjesup@mozilla.com
mmucci@mozilla.com
madhava@mozilla.com
cweiner@mozilla.com
sfranks@mozilla.com
User Story: (updated)
(In reply to sescalante from comment #0)
> can we add another drop down option to blocking-loop for "parking lot"?

should this be settable by anyone, loop-drivers, or a different group?

> can we also add another field to bugzilla for "Rank" that allows free number entry..

this appears to be a duplicate of the priority field.  can you explain why the current priority field isn't suitable?  it would be better to augment the existing priority field instead of adding a new field which duplicates its functionality.

what product/products should this field be visible on?
do you have a time frame for when you'd like to see this implemented?

note to self: bugzilla's custom fields doesn't support integer-only.  we should add a hook to Bug::VALIDATORS so we can override the default validator for this field with an integer-only checker.
Flags: needinfo?(sescalante)
Summary: Adding bugzilla field → add a "rank" field to bugzilla to track priority
Thanks Byron,  
1.  The blocking-loop flag should be settable by "loop drivers".  Can we add Gavin Sharp to loop drivers?  gavin.sharp@gmail.com
2.  The priority field is good for general bucketing.  I put the rules that Firefox follows when using the priority field on the wiki page below, and also how I hope to use a "Rank" field.

https://wiki.mozilla.org/Firefox/Iterative_Hello_Development#Product_Backlog

Today what happens is the Firefox team uses Priority - but then also keeping a master spreadsheet of an ordered list of bugs for developers to pull from, since there are so many bugs in each Priority bucket.  The Hello team (called Loop on Bugzilla) uses Priority and also maintains a Trello board https://trello.com/b/weRHRo0X/loop-sprints to try and show highest priority bugs.  

Both are work arounds because the priority buckets are fantastic for grouping bugs to be evaluated relative to each other... but are not granular enough to sort and work with.  The fields elaborating on the "Priority" are good - but we need to query and sort in a 1-100 type of view (duplicate "Ranks" would be fine - it's still more granular)

Both work arounds require a good amount of weekly maintenance - where keeping it in Bugzilla would require less work and also reflect prioritization directly in the tool we use as the "ultimate" source of dev truth. 

It should be visible to the Loop Product and Firefox product to start and only configurable by loop-drivers and the firefox-drivers (or whatever the firefox group is named that can set their flags to "+").  There are other groups that have expressed interest - but we could be guinea pigs.  It's a common field in other bug management tools.
User Story: (updated)
thanks for the clarification; that makes a lot of sense.

> 1.  The blocking-loop flag should be settable by "loop drivers".  Can we add
> Gavin Sharp to loop drivers?  gavin.sharp@gmail.com

done

> can we add another drop down option to "blocking-loop" for "backlog ?" and "backlog -" and
> change existing "backlog" to backlog +"?

done - anyone can set the field to "backlog?", but only the loop-drivers can set it to "backlog-" or "backlog+".

> add a "rank" field

i will work on that.  notes to self:
- add a new freetext custom field cf_rank via checksetup
- use cf_visible_in_product to control visibility; Loop & Firefox only
- add a new "rank-setters" group, with loop-drivers and firefox-drivers as members, shell as owner
- display on show_bug next to the importance (labeled), html5 to enforce integers only
- add a hook to Bug::VALIDATORS and override to ensure an integer or an empty string is provided
- use can_change_field to enforce permissions
Assignee: nobody → glob
Component: Administration → General
Flags: needinfo?(sescalante)
Attached patch 1123769_1.patchSplinter Review
Attachment #8556355 - Flags: review?(dkl)
here's a screenshot of it on show_bug, for users who are able to set the rank's value.

if a user does not have permissions to change the rank field, it's displayed as normal text if a value is set, or not at all if a rank value isn't set.
Comment on attachment 8556355 [details] [diff] [review]
1123769_1.patch

Review of attachment 8556355 [details] [diff] [review]:
-----------------------------------------------------------------

I think it would be better to backport bug 466178 and then add the custom bits on top of that such as edit-after_importance.html.tmpl, edit_bug.css and the permissions checks.
Attachment #8556355 - Flags: review?(dkl) → review-
Attached patch 1123769_2.patchSplinter Review
- backport bug 466178 for cf-integer support
- modify to all NULL values in cf-integer fields
- add missing bug/edit-custom_field.html.tmpl hook
Attachment #8556914 - Flags: review?(dkl)
Comment on attachment 8556914 [details] [diff] [review]
1123769_2.patch

Review of attachment 8556914 [details] [diff] [review]:
-----------------------------------------------------------------

Otherwise looks and works fine. Fixes on commit. r=dkl

::: extensions/BMO/lib/Data.pm
@@ +108,4 @@
>      qw/^cf_machine_state$/ => {
>          "Release Engineering" => ["Buildduty"],
>      },
> +    qw/^cf_rank$/ => {

Shouldn't this be qr instead of qw. I see this is in several of the regexes of cf_visible_in_products. from the git blame, these been this way for quite some time :(

::: extensions/BMO/template/en/default/hook/bug/edit-after_importance.html.tmpl
@@ +74,5 @@
>      }
>    });
>  </script>
> +
> +[% IF bug.check_can_change_field('cf_rank', 0, 1) %]

Need to wrap this all in 

[% IF NOT cf_hidden_in_product('cf_rank', bug.product, bug.component) %]
                                                                                                  
[% END %]

Otherwise it is visible for all products.
Attachment #8556914 - Flags: review?(dkl) → review+
To ssh://gitolite3@git.mozilla.org/webtools/bmo/bugzilla.git
   e62f307..1ccc683  master -> master
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
This may have broken the "change many bugs at once" functionality. I was managing a list of security bugs and I get an error box that the field is not in the required format even though I left it untouched at the default --do_not_change-- text.
Blocks: 1129101
You need to log in before you can comment on or make changes to this bug.