No way to filter out all topics
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Won't Fix
|
Wishlist
|
Mark Sapiro |
Bug Description
At the moment, topic filtering is only enabled if you have selected a topic. However, you may want to get all messages *except* ones that match topics.
Our specific use case is a mixed developer + user mailing list. We didn't want separate lists, because of problems with threads crossing lists, etc.
We wanted to try to allow our users to filter out the in-depth discussion by using a topic for that discussion. So we added a topic "codereview".
However, at this point, we have 1 topic (codereview), so to enable topic filtering, you have to select a topic. But you explicitly *don't* want the only topic we have.
In the future, we might add more topics, but there still would be no way to receive uncategorized mail, without receiving any topic email.
The workaround for now is to either:
1) Create a dummy topic which matches everything not otherwise matched. This is difficult, because all topics matching the regex are included, so you can't just use a ".*" regex. You have to do a negative regex (does not match FOO) and you have to work that out against all topics you have so far.
2) Create a dummy topic which matches nothing, and is just used to enable topic filtering (you then select the "Receive messages that do not match any topic filter").
(2) is an easier to use workaround, but it would be better if users had a different checkbox or yes/no question about whether they want topic filtering enabled at all. You could even structure it as:
Enable Topic Filtering []
Receive Messages with no topic []
topic1 []
topic2 []
topic3 []
That could be more understandable than the current yes/no implicit opt-in logic.
Related branches
- Barry Warsaw: Pending (design code) requested
-
Diff: 193 lines (+70/-33)5 files modifiedMailman/Cgi/options.py (+34/-5)
Mailman/Gui/Topics.py (+4/-2)
Mailman/Handlers/CalcRecips.py (+6/-5)
Mailman/versions.py (+10/-0)
templates/en/options.html (+16/-21)
I've got a preliminary fix in progress on the linked branch.