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
Reworked preferences UI. Added ability to turn off "My bugs" link at
bottom. Made "My bugs" show bugs you own AND bugs you submitted.
Added ability to display your named queries in the footer. Many
random bugfixes.
Named queries (and the default query) are now stored server side, in
the database, rather than in cookies. This means you have to log
in to use these features, but I have plans that require them to be
server-side. (Besides, some people were beginning to run out of
cookie space.)
The "login_name" field in the "profiles" table was not declared to be
unique. Sure enough, somehow, I got 22 duplicated entries in my
database. This code detects that, cleans up the duplicates, and then
tweaks the table to declare the field to be unique. What a pain.
AACK! checksetup.pl was stomping all over the new fielddefs table if
it got run more than once. This checkin fixes that, and also changes
the DumpBugActivity() routine to give me enough information to
hopefully repair the damaged mozilla.org database...
Remember the previous sort order in a cookie, and make that the
default sort order for new queries. Add a new "show list" link to the
navigation header to return you to the list of selected bugs.
Patch by Christine Begle <cbegle@mozilla.org>>, with heavy
modifications by me -- let you query for "any words" and "all words",
as well as the existing substring and regexp stuff.
Patch by Klaas Freitag <freitag@suse.de>, with modifications by me --
don't generate HTML tables with more than 50 lines, as browsers generally
can't cope with huge tables.
Patch by Holger Schurig <holger@holger.om.org> -- add new localconfig
option to skip the database check (since that code doesn't work with
all versions of MySQL/Msql-mysql/Perl/moonphase).
Added a new table fielddefs that records information about the
different fields we keep an activity log on. The bugs_activity table
now has a pointer into that table instead of recording the name directly.
Set up a new, highly experimental email-notification scheme. To turn
it on, the maintainer has to turn on the "New email tech" param, and
then individual users have to turn on the "New email tech" preference.
Moved all the long descriptions out of the bugs table, and into a new
table. There is now a separate entry for each new long description,
rather than appending them all together in one big field.
Use new "keywords" cache to display keywords in bug lists. Not only
is this much faster, but it also lets you sort by that column, and
requires less special-case code.
Added a "keywords" field to a bug, which is a cached string-based copy
of all the keywords assigned to the bug. Right now, we only have code
that generates and maintains this field; soon will come code that
actually uses it.
Patch by Ramon Felciano <felciano@ingenuity.com>, with many tweaks by
me. Added a footer to every page. Add some options to do things like
display checkboxes instead of scrolling lists, and a new formatting
for email diffs, and show list items capitalized instead of all upper
case.
Add support for a new "keywords" feature. This lets some central
authority maintain a list of keywords, and users can associate any
keyword with any bug.
The new functionality won't appear until at least one keyword is
defined.
Note that you *must* run the "checksetup.pl" script after updating
this change, in order to create the new required tables "keywords" and
"keyworddefs".