public inbox for
 help / color / mirror / Atom feed
From: Mel Hatzis <>
Subject: Re: What will I dislike about GNATS?
Date: Thu, 10 Jun 2004 20:24:00 -0000	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

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>


     @gnats <field> + <multi-line

     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

Help-gnats mailing list

  reply	other threads:[~2004-06-09 18:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-09 18:45 Jeff Blaine
2004-06-10 10:57 ` Chad Walstrom
2004-06-10 20:24   ` Mel Hatzis [this message]
2004-06-10 20:58     ` Yngve Svendsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).