slightly more paranoid database schema:.
made column 'program' in table 'versions' be not null, and unique.
optimally you would want a unique index on 'value' and 'program' but
indexes are not supported on datatype 'tinytext' until mysql 3.23
Add conditional support to display users real name in bug reports if user
entered in that information. Thanks to
Chris Baldwin <cbaldwin@redback.com>
for providing the patch.
backing out because this has broken bugzilla.mozilla.org. the choice is no longer given in show_bug.cgi to make bugs confidential. I need to change lounge so it no longer automatically updates.
1. BugzillaEmail.pm is a (kinda, sorta) module which is going to hold the various code which is common between all the scripts which access bugzilla via email.
2. bug_email.pl uses this module
3. bugzilla_email_append.pl is a mostly ready script which will append messages to existing bugs.
Sigh. We now need to lock the attachments table, too, just in case a
midair collision happens which needs to generate text which needs to
look at the attachments table. Sigh.
Italicize the "Additional Comments From" stuff, so that you can tell
the difference between new comments and people copying stuff in from
old comments.
Patch by Joe Robins <jmrobins@tgix.com> -- allow automatic definition
of a group per project, and automatically put new bugs against that
project into that group, thus allowing entire projects to be protected
against viewing by unauthorized users. This is all optional,
controlled by new parameters.
Added an optional ability to keep a read-only shadow database, so that
bug queries can be run against it, so that these slow queries won't be
able to tie up the rest of the system.
Display all possible state transitions in a bug if the user is not
logged in. Since they haven't logged in, we don't know what they will
be allowed to do. And users who disable cookies tend to pretty often
not be logged in.
Major spankage. Added a new state, UNCONFIRMED. Added new groups,
"editbugs" and "canconfirm". People without these states are now much
more limited in what they can do.
For backwards compatability, by default all users will have the
editbugs and canconfirm bits on them. Installing this changes as is
should only have one major visible effect -- an UNCONFIRMED state
will appear in the query page. But no bugs will become in that state,
until you tweak some of the new voting-related parameters you'll find
when editing products.
Lock the tables as low-priority when writing. Maybe makes people making changes wait longer, but people doing read-only stuff should now never block for very long.
This implements canonical email address transformation. i.e., you have the option of setting up bug_email.pl to search the profiles database for a username which has the same username (before the @) same username and base domain (seth@cs.brandeis.edu = seth@job.cs.brandeis.edu) or identical email address (old behavior) based on the From email address. See the code for a more sensical description.
o this is a minor step towards getting canonical email addresses to work, and not via a gross hack (the script with a gross hack is in use in a production environment, so ...)
Anyways, this address the findUser() sub and email transforms of none, base domain, and name only. base_domain is not properly implemented yet. an email transform of none does an exact match on email addresses in the profiles table. A name only transform does a regular expression match (via mysql's RLIKE operator) on the name portion of the address (i.e., seth from seth@job.cs.brandeis.edu). This is sloppy, but useful in an environment where there are only a few users.
the base_domain is next, probably tomorrow. I need to figure out how to implement it first.
this is the initial checkin of the bug_email.pl script into the bugzilla cvs tree under the contrib directory. This is not my code, but I'm championing its maintanence right now, since I'm using and hacking on it heavily. The list of contributors can be found in the file itself.
Changes I've made :
- updated to the newest CVS pull of bugzilla
- works out of contrib/bugzilla
- put in the MPL license header
Directions for use are in the file itself. Essentially, you put in a procmailrc entry which cats the message to this script.
Changes coming in the near future ...
- canonical email transformation (i.e., seth@job.cs.brandeis.edu == seth@cs.brandeis.edu)
- default product and component (i.e., if you don't specify a product and component, it goes into a PENDING product)
- querying a bug over email
- appending a bug over email
- keywords over email
- use the globals.pl parameters functionality to edit and save this script's parameters
- integrate some setup in the checksetup.pl script
FWIW, the first two things are necessary for this to be useful in my setup, so they get an overwhelming bit of priority