Closed Bug 305057 Opened 19 years ago Closed 19 years ago

Meta-users for whining

Categories

(Bugzilla :: Whining, enhancement)

2.21
enhancement
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: karl, Assigned: erik)

References

(Depends on 1 open bug)

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.51
Build Identifier: 

Once bug 304989 is landed, I'd like to enhance whining by adding Meta-users.

Right now, a whining schedule entry can hold a reference to a user or to a group.  That's kindof 
problematic in cases where you don't actually know who the recipient will be until the query is 
executed.  For example, if you try to implement whineatnews functionality, you get stuck on the fact 
that the owner changes from bug to bug.  With this enhancement, that would no longer be a sticking 
point.

I would define the following Meta-users (one meta-user per line):

Bug reporter
Bug assignee
Everyone on the CC list
QA contact

(Yes, "Everyone on the CC list" isn't really a single user, but for these purposes I'm treating it as such).

When creating a new whining schedule entry, the user would be able to select one (or more) of the 
above meta-users as recipients of the whine.  Nomail is supported, so if a whine is supposed to go out 
to a person and they're on the nomail list, they won't be contacted.

There is one other interesting feature, and that is the "One email per bug" checkbox.  Here's what I'd 
do:  If the box is checked, then the query is run.  The list of recipients starts out containing only those 
explicitly-named users and users in an explicitly-named group.  Then every bug (resulting from the 
query) is examined.  Every matched meta-user is added to the recipient list.  Once the list is complete, 
users on the nomail list are removed, and the one email is sent to each user.  If the box is unchecked, 
the "build recipient list" process takes place once for each bug returned using the query.

On the issue of security, the query is run in the guise of the user who created the whine.  Of course, 
accessing this feature requires the ability to whine at others, so this should not be a new issue.

Now, on to the questions:  First of all, should watchers be supported?  In other words, if a whining 
email is sent out to a bug reporter (who is NOT on the nomail list), and one or more people watch that 
user (and are also not on the nomail list), will the watchers also be contacted?  Put another way, should 
this work like the normal BugMail when a bug is changed, or should we pretend that watchers don't 
exist?

Reproducible: Always

Steps to Reproduce:




Let me give an example of how whineatnews.pl could be implemented using a single, admin-created 
whine with meta-users:

* Whine subject & body would be whatever you want.
* There would be one schedule entry, set to run at whatever time & frequency you chose.  There would 
be no explicitly-named users or groups.  The "assignee" meta-user checkbox would be checked.
* There would be one query, referencing a saved search to be described below, and given whatever title 
you want.  "One email per bug" is CHECKED.
* The saved search would have the following parameters:  Status is 'NEW' or 'REOPENED', only bugs 
changed between: '1990-01-01' and '-3d', where one or more of the following changed: '[Bug 
Creation]', 'Status'.  All other boxes, checkboxes, and fields are empty, have no items selected, or are 
unchecked
Depends on: 304989
Version: unspecified → 2.21
*** Bug 305059 has been marked as a duplicate of this bug. ***
Karl,
   Isn't this covered by the pronouns in the boolean charts?
Well, it looks like this functionality can easily be produced by using the
boolean chart "XYZ is equal to %user%", where XYZ is one of several fields! 
Marking WORKSFORME.
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → WORKSFORME
Joel, one last question...

Given the current whining system, I can use what I said in comment 3 to find all
bugs where I am the (whatever).  As you said, this works because I, as the
recipient, am treated as the user executing the search.  How can I receive the
whine email unless I am already in the recipient list of a whine?  The current
recipient field in whining does not allow for things like %user%.

Going back to the whineatnews example, even though %user% exists, with the
current system wouldn't I still have to create one whining schedule for each
user that exists in the system?
For the whineatnews example..  you create a group called "everyone" with regexp .*

Then, you create a query that finds ("assigned_to" "equals" "%user%") AND
("status" "equals" "NEW")

Then, you schedule everyone in group everyone to get whined with the results of
that query.
You need to log in before you can comment on or make changes to this bug.