developing custom SLA/Service escalations and notifications

Hi,
I'm new to OTRS development.
Requirements in a nutshell:
* set custom fields for SLA's
* calculate whether a ticket escalates based on these custom fields (do
some custom calculations)
* send notifications to agents based on these escalations
* there are also other requirements but most can be solved without
development
Idea on how to approach this:
* xml file in /opt/otrs/Kernel/Config/Files which uses SLAPreferences
<?xml version="1.0" encoding="utf-8" ?>

I forgot to ask:
How do I make sure values of the custom SLA fields are used by a ticket ?
For example if I set the time for an engineer to be on the site to within
60 minutes using the SLAPreferences it should set the corresponding value
in the dynamic field of the ticket to current time + 60 minutes.
On Wed, Nov 26, 2014 at 5:29 PM, Roald
Hi,
I'm new to OTRS development.
Requirements in a nutshell: * set custom fields for SLA's * calculate whether a ticket escalates based on these custom fields (do some custom calculations) * send notifications to agents based on these escalations * there are also other requirements but most can be solved without development
Idea on how to approach this: * xml file in /opt/otrs/Kernel/Config/Files which uses SLAPreferences
<?xml version="1.0" encoding="utf-8" ?>
<ConfigItem Name="SLAPreferences###010-TTI" Required="0" Valid="1"> <Description Translatable="1">Time To Intervention.</Description> <Group>Ticket</Group> <SubGroup>Frontend::SLA::Preferences</SubGroup> <Setting> <Hash> <Item Key="Module">Kernel::Output::HTML::SLAPreferencesGeneric</Item> <Item Key="Label">label for dynamic field</Item> <Item Key="Desc">description.</Item> <Item Key="Block">Input</Item> <Item Key="PrefKey">dynamicfield</Item> </Hash> </Setting> </ConfigItem> ........ * write a custom module with a job that should be run by Generic Agent to do the rest. Maybe split it in two modules.
Questions: * Is my approach the most straightforward and suitable one ? * How do I calculate using the calendars ? For example hours outside business hours don't count for one specific calendar. While there is also a 24/7 calendar.
Thank you very much in advance,
With kind kind regards, Roald

Hello Roald, Am 26.11.14 um 17:29 schrieb Roald:
Hi,
I'm new to OTRS development.
Requirements in a nutshell: * set custom fields for SLA's * calculate whether a ticket escalates based on these custom fields (do some custom calculations) * send notifications to agents based on these escalations * there are also other requirements but most can be solved without development
Idea on how to approach this: * xml file in /opt/otrs/Kernel/Config/Files which uses SLAPreferences
<?xml version="1.0" encoding="utf-8" ?>
<ConfigItem Name="SLAPreferences###010-TTI" Required="0" Valid="1"> <Description Translatable="1">Time To Intervention.</Description> <Group>Ticket</Group> <SubGroup>Frontend::SLA::Preferences</SubGroup> <Setting> <Hash> <Item Key="Module">Kernel::Output::HTML::SLAPreferencesGeneric</Item> <Item Key="Label">label for dynamic field</Item> <Item Key="Desc">description.</Item> <Item Key="Block">Input</Item> <Item Key="PrefKey">dynamicfield</Item> </Hash> </Setting> </ConfigItem> ........ * write a custom module with a job that should be run by Generic Agent to do the rest. Maybe split it in two modules.
Questions: * Is my approach the most straightforward and suitable one ?
Sounds pretty straightforward. I think you might not need a GA job, but could do with a custom ticket event handler like Kernel::System::Ticket::Event::TicketEscalationIndex instead.
* How do I calculate using the calendars ? For example hours outside business hours don't count for one specific calendar. While there is also a 24/7 calendar.
I'd recommend to tailor the calendars just as you need. For 24/7 you can have a calendar that has everything marked, for the other one just define all non-business hours as business hours. Regarding the question from your other mail: with the custom event handler you can also set a dynamic field. Good luck! Best regards, mg -- Martin Gruner Senior Developer R&D OTRS AG Bahnhofplatz 1a 94315 Straubing T: +49 (0)6172 681988 0 F: +49 (0)9421 56818 18 I: www.otrs.com/ Geschäftssitz: Bad Homburg, Amtsgericht: Bad Homburg, HRB 10751, USt-Nr.: DE256610065 Aufsichtsratsvorsitzender: Burchard Steinbild, Vorstand: André Mindermann (Vorsitzender), Christopher Kuhn, Sabine Riedel Schlanker, schneller und flacher denn je - OTRS 4! Und für alle, die MEHR wollen: Entdecken Sie hier die OTRS Business Solution™ mit mehr Business Features! https://www.otrs.com/otrs-business-solution-fuer-besseren-kundenservice/?lan...
participants (2)
-
Martin Gruner
-
Roald