Bruce Campbell wrote:
Also, to clarify the situation, most of the Helpdesk’s work is done
via email, not the WebUI. We do have policies indicating that Foo and
Bar should take the ticket before responding and to check for
conflicts, however long, ingrained habit prohibits this (ref
Your original suggestion sounded OK to me, but your saying the above
prompted another idea:
1 Foo responds to a ticket.
2 AutoTake changes the owner of the ticket to Foo.
3 Bar responds to the ticket.
4 RT notices that the owner of the ticket has changed since Bar wrote
his response, so then does the quarantine cancel/send thing that you
So, how to do step 4? It seems reasonable to assume that if Bar had
seen Foo’s response and Bar was intentionally adding her/his own message
then Bar would’ve replied to Bar’s message rather than the requestor’s.
Bar’s MUA will include an In-Reply-To: header with the message ID of the
mail to which Bar responded. From a brief look at how RT forms message
IDs, the transaction number is in there. So find that, then look to see
if there have been any transactions since then on that ticket which
change the owner[*0]. If so, then do your quarantine thing with URL for
cancelling or forcing the mail to go.
It seems ‘cleaner’ to check for a (possibly) conflicting event actually
to have occurred rather than to have some threshold guessing that it
might have done. (Of course, parsing message IDs in this way is far
from clean … you win some, you lose some.)
The trouble with a threshold, as I’m sure you’ve realized, is that
setting it too low means the problem is still there – personally I
don’t check for new mail while in the middle of composing a mail. If
somebody interrupts me right now, it could be half an hour between when
I started writing this and next see my inbox – and setting it too high
just gets annoying – often I read mail within seconds of its arrival,
so if I think somebody else’s mail needs clarification I might send out
a follow-up within a couple of minutes. I can’t think of what interval
would be appropriate.
[*0] Or change the status. Or possibly just any transactions at all.
or any transactions which do anything other than adding a comment. Or
Good luck, with whatever you decide upon.