Closed Bug 232717 Opened 21 years ago Closed 21 years ago

replace flag inclusions/exclusions with inclusions by itself

Categories

(Bugzilla :: Attachments & Requests, enhancement)

2.17.6
enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mkanat, Assigned: myk)

Details

I'm working on bug 232554 right now. It's *really* difficult to wrap my mind around the necessary SQL, and I'm not stupid. Particularly without subselects, flag exclusions result in some complex code. I searched b.m.o for the original rationale behind flag exclusions, and I couldn't find it. It's a nifty sort of idea, but I think it might be more pain than it's worth. Here's what I propose: In the GUI, replace flag inclusions/exclusions with a multi-select for just inclusions. That way, if people have a lot of components, they can still easily include them all, while eliminating the code difficulties caused by exclusions. We would include code in checksetup to translate inclusions/exclusions to just inclusions. (It's not that hard -- everything gets included that isn't excluded, and then we just make sure that we're doing some sort of DISTINCT.) What do ya say? :-) -M
Here's the UI I'm thinking of: Add To Inclusions: Current Inclusions: --------------- -------------- ----------- --------------------- | Product | V | | Component1 | |Include >| | Product:Component | --------------- | Component2 | ----------- | Product:Component | | Component3 | | ... | | ... | ------------ | | | | | < Remove | | | -------------- ------------ |-------------------| Alternately, Product could also be a multi-select, with only "__Any__" as the component option. I think this would be simpler for users and simpler for us. -M
Flag inclusions are for cases where most components within a product (or most products) should be included, but a few should not. Instead of including a bunch of components, you include the product and then exclude a few components. This is a common design pattern and used in Apache authentication (allow, deny), MySQL replication (include-db, ignore-db), and other places. It's more complex than a mere inclusions mechanism, but it's also more flexible, and it's easier for the common case (on b.m.o at least) where an administrator wants to turn on flags for a product but exclude one or two of that product's components. Regarding code complexity, I think the feature is worth it, but note that subselects are coming in MySQL 4.1. We should have a "require MySQL 4.1" bug like the existing "require MySQL 4.0" bug (bug 204217) and file dependent bugs for improving specific bits of syntax using subqueries. Regarding UI complexity, I'm sure there are things we can do to improve it without sacrificing the functionality itself.
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → WONTFIX
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.