External Synchronization

Hi All,

For various reasons beyond the scope of this e-mail I need to keep an
external database in sync with tickets maintained in my RT installation.
I plan on doing with a scrip, but I don’t see how I may do one thing.

I need a condition that will cause the scrip to be executed whenever
anything at all is updated. However, the obvious condition (return 1;)
gets executed more often than I would like… it happens once per field
that is updated. What I would like is for my script to run once per
ticket per user action, be that submitting a web form or invoking the
cli. I took some time to look at the RT code to see how it calls scrips
and it seems that something like this, if it is possible, is not easy.
Even if I were to modify RT to give some information on this in the
argument property of the ScripCondition, I would not know which update
was the last one and providing that information would be hard in all the
code paths (I think).

So, right now I’m probing for ideas. I don’t want to do an update of the
external data at the RT transaction granularity because the external
system transaction semantics are not really equivalent.

Thanks in advanced.