Bug 198411

Summary: Restrict "ports framework" and "package infrastructure" components from the Ports & Packages product to committers only.
Product: Services Reporter: Mathieu Arnold <mat>
Component: Bug TrackerAssignee: Bugmeister <bugmeister>
Status: Closed FIXED    
Severity: Affects Only Me CC: gonzo, koobs, linimon, mmokhi, swills
Priority: --- Keywords: feature, needs-patch
Version: unspecified   
Hardware: Any   
OS: Any   
See Also: https://bugzilla.mozilla.org/show_bug.cgi?id=317051
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228504

Description Mathieu Arnold freebsd_committer freebsd_triage 2015-03-08 09:42:07 UTC
<mat_> mva, do you think bugzilla could be changed so that when someone adds a new "ports & package" bug the default component is "individual port" ? people keep adding them to the two other categories by mistake :-)
<mva> mat: that was the idea behind the quick link on the homepage...
<mva> mat: the risk with the default component is that people file issues without proper classifying
<mat_> mva, doesn't work when you do as you're told and go to /submit/
<mva> eh?
<mat_> when you click on ports & packages on the /submit/ page, you don't have the default component
<mat_> I'd rather have the very few bug reports that should be in another component be fixed after being added than people continuing to click one component at random to be able to submit their bug :-)
<mva> hmhm
<mva> just to understand the impact: about how many wrongly classified ones (per week) do we talk?
<mat_> 2/3 a day
<mva> ouch
<mat_> we will always get the one from people who don't understand their problem and categorize them wrong, but it should reduce the number of misassigned ones :-)
<mva> mat: can you file a brief PR on that for us, so we do not forget about it
Comment 1 Mathieu Arnold freebsd_committer freebsd_triage 2015-05-18 11:43:50 UTC
ping ?

It's not that it's a big burden, but portmgr still receives one or two wrongly assigned PR each day, if this is possible, it'd be great :-)
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2015-05-18 11:55:26 UTC
I'd opt for bumping the upstream issue (referenced in this bug) to ensure it gets committed there and is available in future versions.

There is a patch in the upstream issue (of unknown quality) that *may* be able to patched into out local instance, though I'm not entirely comfortable with patching given the low impact.

Having said that, I will note that it is desirable to mitigate misclassification where we can do so without adding overhead.
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2015-10-28 14:45:54 UTC
For reference, this can/could be done in the template
Comment 4 Mathieu Arnold freebsd_committer freebsd_triage 2016-05-30 13:07:24 UTC
Is this ever going to be fixed ? it is really annoying.
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2016-06-25 03:01:41 UTC
@Mokhi Could you look at confirming whether its possible and what changes are required to setting a particular Component as the default (selected) for a Product via templates?
Comment 6 Mathieu Arnold freebsd_committer freebsd_triage 2016-09-05 18:39:47 UTC
ping
Comment 7 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-09-06 06:51:01 UTC
(In reply to Kubilay Kocak from comment #5)
Hi.
Sorry for late in my response.
I've checked requirement changes needed for that feature in Bugzilla template.
It's not so big, but a little fundamental.

Can we keep them as local patches for our project or Bugzilla will accept it?
Comment 8 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-09-06 07:04:35 UTC
As more detailed explanations,

we need to change these modules and templates to add a default component:
'Bugzilla/Bug.pm'
'Bugzilla/Product.pm'
'Bugzilla/DB/Schema.pm'
'editproducts.cgi'
'template/en/default/admin/products/edit.html.tmpl'
'template/en/default/bug/create/create.html.tmpl'
'template/en/default/global/select-menu.html.tmpl'
'template/en/default/admin/products/edit-common.html.tmpl'


And to keep things backward compatible, we have to change this too:
'Bugzilla/Install/DB.pm'


If you're okay with it, I can happily work on it :)
Comment 9 Mathieu Arnold freebsd_committer freebsd_triage 2017-01-10 16:05:59 UTC
If this cannot be done, maybe the "ports framework" and "package infrastructure" could be restricted to committers.
Comment 10 Mahdi Mokhtari freebsd_committer freebsd_triage 2017-01-10 16:42:19 UTC
(In reply to Mathieu Arnold from comment #9)
Well I listed the files/parts which changes are needed to be done on them in order to make default components for parts.
If thoughts (by bugmeisters) are done and decisions are made, as I said before I'd be happy to work on it.
Though I'm not a committer, but it wouldn't be problem IMO, cause I can do works and publish a patch and committers can review and merge it :)
Comment 11 Mathieu Arnold freebsd_committer freebsd_triage 2017-01-22 13:40:01 UTC
ping ?

It would really be great that this goes forward.

Having thought about it a bit more, I think if the "ports framework" and "package infrastructure" components were restricted to committers only.
Comment 12 Mathieu Arnold freebsd_committer freebsd_triage 2017-01-29 12:34:12 UTC
Ping.
Comment 13 Mathieu Arnold freebsd_committer freebsd_triage 2017-02-05 07:20:08 UTC
ping.
Comment 14 Mahdi Mokhtari freebsd_committer freebsd_triage 2017-02-05 13:45:05 UTC
(In reply to Mathieu Arnold from comment #13)
Still working on it 😁😅
Sorry for the delay, my Working-Queue is a bit overflowed these days.
Hopefully I'll submit the patch on Bugzilla community's issue tracker, and link that PR here too 🙏
Comment 15 Mathieu Arnold freebsd_committer freebsd_triage 2017-02-14 08:46:51 UTC
ping
Comment 16 Mathieu Arnold freebsd_committer freebsd_triage 2017-03-05 08:32:54 UTC
ping.
Comment 17 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2017-03-09 18:53:21 UTC
(In reply to Mathieu Arnold from comment #16)

I customized "select product" template and added default category for 'Ports & Packages' product. Could you check if opening new bug via 
https://bugs.freebsd.org/bugzilla/enter_bug.cgi selects Individual Port category by default?  

Thank you
Comment 18 Mathieu Arnold freebsd_committer freebsd_triage 2017-03-13 09:32:20 UTC
It does, but I don't have a non-committer account to check that the "ports framework" and "package infrastructure" are not available when you are not a committer.
Comment 19 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2017-03-13 18:55:29 UTC
(In reply to Mathieu Arnold from comment #18)

There is no easy way to limit components to user group and upstream is not going to implement it AFAIK. All access rights work at product level. So if selecting default component on new bug screen is not enough we have several options:

- Move frameworks/infrastructure categories to separate product with write access available for committers group only
- Create custom template with hardcoded logic that hides these two categories using templatetoolkit IF directives or javascript
- Add ALL CAPS warning to categories help texts use "Individual Ports" category unless you're a committer or know what you're doing.

I suggest we monitor number of mis-categorized PRs with current fix, if it's not acceptable we apply option (3) if number does not go down - resort to first two options.
Comment 20 Mathieu Arnold freebsd_committer freebsd_triage 2017-03-14 07:35:03 UTC
Mmm, ok, let's see how this goes.
Comment 21 Mathieu Arnold freebsd_committer freebsd_triage 2017-06-12 10:15:21 UTC
So, nothing has changed. We still get badly assigned PR on a daily basis.
Comment 22 Mathieu Arnold freebsd_committer freebsd_triage 2018-01-04 13:14:57 UTC
ping
Comment 23 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2018-01-11 00:01:49 UTC
(In reply to Mathieu Arnold from comment #22)

I'm going to try to hide these categories using template language.
Comment 24 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2018-02-11 08:56:26 UTC
I limited these two categories to committer using extension and template modification. Please test and let me know if fix works for you. Once required functionality is confirmed - I'll commit patch
Comment 25 Mathieu Arnold freebsd_committer freebsd_triage 2018-02-12 11:57:23 UTC
Well, I still have access to those fields, but I do not have a non committer account, so I cannot really test that case.
Comment 26 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2018-02-12 20:17:29 UTC
I tested this functionality as committer and non-committer: works as intended. Fix committed as https://github.com/gonzoua/bugzilla/commit/ff60c1c4eb37781ea04f4e7b446c5ff3d8c4747e