help-gnats
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]