Hello list,
We use OTRS 2.3.4 for about one year and
the software is just doing right! It meets easily our needs.
But we realized a small detail and we are
trying to solve it. The issue is: the notifications to agents and customers,
when we add a new note, are triggered in different moments. Agent notifications
are being sent before StateSet (Kernel::System::Ticket->StateSet) and
Customer notifications after StateSet. The result is that in the email
notification where we have a state tag “<OTRS_TICKET_State>”,
this tag is replaced with the new (and correct state) for the customer and the
old (and wrong) for the agents (since the agents notifications are sent before
StateSet). So, the same event triggers notifications with different status to
each “actor” of the system (agents/customers).
We realized this by putting some debug
messages on some points of the code…So, when we add a new note, the flow
is like:
AgentTicketNote::Run: Ticket: - State: -
Article: - ArticleType: - Notification:
Article::ArticleCreate: Ticket: 127 -
State: 4 - Article: 1431 - ArticleType: 10 - Notification:
Article::SendAgentNotification: Ticket: 127
- State: 4 - Article: 1431 - ArticleType: 10 - Notification: AddNote
Article::SendAgentNotification: Ticket: 127
- State: 4 - Article: 1431 - ArticleType: 10 - Notification: AddNote
Ticket::StateSet: Ticket: 127 - State: 4 -
Article: - ArticleType: 10 - Notification:
Article::SendCustomerNotification: Ticket:
127 - State: 11 - Article: 1431 - ArticleType: 10 - Notification: StateUpdate
Trying to workaround this issue, we
commented out the notification sendings at
Kernel::System::Article->ArticleCreate and moved them to an specific point
at Kernel::Modules::AgentTicketNote->Run that is after the call to StateSet.
The problem is that we are not being able to call SendAgentNotification from
this module file even through the {TicketObject}. I understand that this method
(SendAgentNotification) is owned by Kernel::System::Ticket::Article and we
should have an {ArticleObject} to use but we don´t. Strange is that at Kernel::System::GenericAgent::
NotifyAgentGroupOfCustomQueue, for example, it calls that same method (call as “$Self->{TicketObject}->SendAgentNotification”)
and it does not have an ArticleObject also, just a TicketObject like at AgentTicketNote.
Do anybody knows how to workaround this?
Since Articles are part of a Ticket, is there a way from the TicketObject to
retrieve all articles or a specific one, or a way to call
SendAgentNotification?
Thanks you all for the help and the great
software.
|
|
|
|
Mauricio de Andrade Ramos - Consultant I |
|
|