[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What will I dislike about GNATS?
From: |
Mel Hatzis |
Subject: |
Re: What will I dislike about GNATS? |
Date: |
Wed, 09 Jun 2004 11:43:30 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 |
On 06/09/2004 08:52 AM, Chad Walstrom submitted:
Jeff Blaine wrote:
Coming from the world of Req and having looked into RT and roundup,
what makes GNATS stand out in comparison? I don't necessarily mean
"What makes GNATS better?" I am curious to hear of its quirks or odd
modes of workflow if they exist. I've browsed the docs and FAQ.
I think the biggest complaint people have is over GNATS poor
understanding of MIME. Currently, much of this can be avoided through
the use of procmail scripts and auto-responders. I have a custom
procmail script that does a pretty good job of filtering out marked
spam, viruses, and overly large emails. HTML-only emails are converted
to text, and emails that fail to enter the queue are saved to separate
mail folders. If you're interested in the RC file, just send me an
email and I'll forward it to you.
MIME-handling enhancement is one of those big TODO's that would bring
GNATS around to modern email technology.
While we're discussing GNATS email functionality, I have a couple of
major enhancements to offer:
- I've replaced the hard-coded mail-format references in the code
with a new "trigger" element which makes it possible to define
any number of mail-formats per trigger event. I've defined four
trigger elements: on-create, on-edit, on-append and on-delete.
This was accomplished with a fairly small change to the dbconfig
which involves the addition of a mandatory 'trigger' clause at
the beginning of each mail-format body. For example:
mail-format "appended-email-response" {
trigger on-append
from-address {
...
}
Furthermore, each trigger can have an optional expression defined
for it, making the mail notification conditional on PR state.
For example:
mail-format "initial-pr-notification-pending" {
trigger on-create "Category==\"pending\""
from-address {
...
}
With this change, it's possible to define any number of mail-formats
in the dbconfig file and place constraints on when the mail notification
occurs. This is proving to be a very useful enhancement wrt work-flow.
- With the assistance of a work colleague, I've made some significant
changes to queue-pr providing an "edit-via-email-submission" feature.
This is enabled using an "enable-edits" command line option to queue-pr.
With "enable-edits" defined, the mail message is parsed for special
edit directives placed at the start of the message body. These edit
directives are of the form:
@gnats <field> [= | +] <value>
or
@gnats <field> + <multi-line
....value>
@gnats
With this change, it's possible for queue-pr to update more than just
the Audit-Trail. This is helping us to spread out all the valuable data
captured in the Audit-Trail into other fields, significantly enhancing
our query capabilities. We've also used this to build our own request
system (along the lines of RT) using GNATS.
I'd be happy to contribute both patches for review and possible inclusion
to GNATS if people are interested.
I'd also be happy to assist with an integration of these features to the
GNATS code...if the folks with commit priveleges see fit to provide me
with access to the CVS repository.
--
Mel Hatzis