I get my DynamicFieldObject like this:
    for (qw(ConfigObject DynamicFieldObject TicketObject LogObject
UserObject CustomerUserObject TimeObject SLAObject))
    {
        $Self->{$_} = $Param{$_} || die "Got no $_!";
    }

But for some reason I can't seem to retrieve the DynamicField and
corresponding DynamicFieldConfig using DynamicFieldGet.

On Wed, Dec 24, 2014 at 3:16 PM, Roald <depja...@gmail.com> wrote:

> relevant debug messages from otrs.log:
>
> [Wed Dec 24 15:11:42
> 2014][Debug][Kernel::System::Ticket::Event::Escalation::Run][225]
> @@Escalation.pm DynamicField $VAR1 = \{};
>
> [Wed Dec 24 15:11:42
> 2014][Debug][Kernel::System::Ticket::Event::Escalation::Run][230]
> @@Escalation.pm DynamicFieldConfig $VAR1 = \undef;
>
> [Wed Dec 24 15:11:42
> 2014][Error][Kernel::System::DynamicField::Backend::ValueSet][447] Need
> DynamicFieldConfig!
> [Wed Dec 24 15:11:42
> 2014][Error][Kernel::System::Ticket::Event::Escalation::Run][246] Can not
> set value for dynamic field!
>
>
> apache2 errorlog :
>
> root@otrs:/var/log/apache2# tail -f -n0 error.log
> [Wed Dec 24 15:11:38 2014] Escalation.pm: Subroutine new redefined at
> /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line 21.
> [Wed Dec 24 15:11:38 2014] Escalation.pm: Subroutine Run redefined at
> /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line 79.
> [Wed Dec 24 15:11:42 2014] -e: Odd number of elements in anonymous hash at
> /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line 235.
> ERROR: OTRS-CGI-66 Perl: 5.18.2 OS: linux Time: Wed Dec 24 15:11:42 2014
>
>  Message: Need DynamicFieldConfig!
>
>  RemoteAddress: 192.168.2.1
>  RequestURI: /otrs/index.pl
>
>  Traceback (3448):
>    Module: Kernel::System::DynamicField::Backend::ValueSet (OTRS 3.3.x
> git) Line: 447
>    Module: Kernel::System::Ticket::Event::Escalation::Run (OTRS 3.3.x git)
> Line: 235
>    Module: Kernel::System::EventHandler::EventHandler (OTRS 3.3.x git)
> Line: 255
>    Module: Kernel::System::Ticket::TicketSLASet (OTRS 3.3.x git) Line: 3008
>    Module: Kernel::Modules::AgentTicketActionCommon::Run (OTRS 3.3.x git)
> Line: 598
>    Module: Kernel::System::Web::InterfaceAgent::Run (OTRS 3.3.x git) Line:
> 910
>    Module:
> ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler
> (unknown version) Line: 41
>    Module: (eval) (v1.99) Line: 206
>    Module: ModPerl::RegistryCooker::run (v1.99) Line: 206
>    Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 172
>    Module: ModPerl::Registry::handler (v1.99) Line: 31
>
> [Wed Dec 24 15:11:42 2014] -e: Use of uninitialized value in concatenation
> (.) or string at /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line
> 247.
> ERROR: OTRS-CGI-66 Perl: 5.18.2 OS: linux Time: Wed Dec 24 15:11:42 2014
>
>  Message: Can not set value for dynamic field!
>
>  RemoteAddress: 192.168.2.1
>  RequestURI: /otrs/index.pl
>
>  Traceback (3448):
>    Module: Kernel::System::Ticket::Event::Escalation::Run (OTRS 3.3.x git)
> Line: 246
>    Module: Kernel::System::EventHandler::EventHandler (OTRS 3.3.x git)
> Line: 255
>    Module: Kernel::System::Ticket::TicketSLASet (OTRS 3.3.x git) Line: 3008
>    Module: Kernel::Modules::AgentTicketActionCommon::Run (OTRS 3.3.x git)
> Line: 598
>    Module: Kernel::System::Web::InterfaceAgent::Run (OTRS 3.3.x git) Line:
> 910
>    Module:
> ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_2dbin_index_2epl::handler
> (unknown version) Line: 41
>    Module: (eval) (v1.99) Line: 206
>    Module: ModPerl::RegistryCooker::run (v1.99) Line: 206
>    Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 172
>    Module: ModPerl::Registry::handler (v1.99) Line: 31
>
>
> On Wed, Dec 24, 2014 at 3:00 PM, Roald <depja...@gmail.com> wrote:
>
>> Dear Martin,
>>
>> Thank you!
>>
>> I'm currently trying to save new a new value into a Dynamic Field. To do
>> this I use ValueSet from the BackendObject. ValueSet needs a
>> DynamicFieldConfig. I'm trying to get this from the DynamicFieldGet method.
>>
>> It's not working yet. Any idea why ?
>>
>> This is how I created my BackendObject:
>>
>>     $Self->{BackendObject} = Kernel::System::DynamicField::Backend->new(
>>         EncodeObject => $Param{TicketObject}->{EncodeObject},
>>         MainObject   => $Param{TicketObject}->{MainObject},
>>         DBObject     => $Param{TicketObject}->{DBObject},
>>         TimeObject   => $Param{TicketObject}->{TimeObject},
>>         %Param,
>>     );
>>
>> This is how I try to update a Dynamic Field (not working) :
>>
>>     # get dynamic field config
>>     my $DynamicField = $Self->{DynamicFieldObject}->DynamicFieldGet(
>>             Name => "DynamicField_somename",
>>         );
>>     my $DynamicFieldConfig = $DynamicField->{Config};
>>
>>     $Self->{LogObject}->Log(
>>         Priority=>'debug',
>>         Message=> 'DynamicField ' . Dumper(\$DynamicField),
>>     );
>>
>>     $Self->{LogObject}->Log(
>>         Priority=>'debug',
>>         Message=> 'DynamicFieldConfig ' . Dumper(\$DynamicFieldConfig),
>>     );
>>
>>     my $Success = $Self->{BackendObject}->ValueSet(
>>         DynamicFieldConfig => $DynamicFieldConfig,
>>         ObjectID => $Param{Data}->{TicketID},
>>         Value    => [
>>             {
>>                 $DestinationSystemTime,
>>             },
>>         ],
>>         UserID   => $Param{UserID},
>>     );
>>         if ( !$Success ) {
>>         $Self->{LogObject}->Log(
>>             Priority => 'error',
>>             Message =>
>>                 "Can not set value to current time for dynamic
>> field$DynamicFieldConfig->{Name}!"
>>         );
>>     }
>>
>>
>>     # print updated DynamicField_somename
>>     $Self->{LogObject}->Log(
>>         Priority=>'debug',
>>         Message => 'DynamicField_somename ' .
>> Dumper(\$Ticket{DynamicField_somename}),
>>     );
>>
>>
>>
>>
>>
>> On Tue, Dec 16, 2014 at 2:02 PM, Martin Gruner <martin.gru...@otrs.com>
>> wrote:
>>
>>> Hi Roald,
>>>
>>> yes this is possible. OTRS also uses a ticket event handler to caclulate
>>> and store the escalation times for the tickets. This (target) time
>>> calculation only happens when there are changes to the tickets. The
>>> escalation notifications etc. are independent of that.
>>> Of course you can also use a GA job to do this if the delay is ok.
>>>
>>> Regards, mg
>>>
>>> Am 12.12.14 um 16:43 schrieb Roald:
>>> > Dear Martijn,
>>> >
>>> > Thank you for your reply.
>>> >
>>> > I'm currently spending some time at this.
>>> >
>>> > It seems to me that a custom ticket event handler can't be used.
>>> > Suppose I have a field "Time To Intervention" and there needs to be a
>>> > time based escalation. Is it possible to do time based escalations on
>>> > dynamic fields using a custom ticket event handler ? I have to do some
>>> > calculations and look at the calendars.
>>> >
>>> > That's why I thought using a generic agent to run every few minutes and
>>> > look at all open tickets should be the way to go. Maybe do it a bit
>>> > smarter by only looking at open tickets which fullfull some criteria
>>> > such as not escalating yet.
>>> >
>>> > Thanks!,
>>> >
>>> > With kind regards,
>>> > Roald
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > On Fri, Nov 28, 2014 at 1:00 PM, <dev-requ...@otrs.org
>>> > <mailto:dev-requ...@otrs.org>> wrote:
>>> >
>>> >     Send dev mailing list submissions to
>>> >             dev@otrs.org <mailto:dev@otrs.org>
>>> >
>>> >     To subscribe or unsubscribe via the World Wide Web, visit
>>> >             http://lists.otrs.org/cgi-bin/listinfo/dev
>>> >     or, via email, send a message with subject or body 'help' to
>>> >             dev-requ...@otrs.org <mailto:dev-requ...@otrs.org>
>>> >
>>> >     You can reach the person managing the list at
>>> >             dev-ow...@otrs.org <mailto:dev-ow...@otrs.org>
>>> >
>>> >     When replying, please edit your Subject line so it is more specific
>>> >     than "Re: Contents of dev digest..."
>>> >
>>> >
>>> >     Today's Topics:
>>> >
>>> >        1. Re: developing custom SLA/Service escalations and
>>> >           notifications (Martin Gruner)
>>> >        2. OTRS 5 development (Martin Gruner)
>>> >
>>> >
>>> >
>>>  ----------------------------------------------------------------------
>>> >
>>> >     Message: 1
>>> >     Date: Thu, 27 Nov 2014 13:24:24 +0100
>>> >     From: Martin Gruner <martin.gru...@otrs.com
>>> >     <mailto:martin.gru...@otrs.com>>
>>> >     Subject: Re: [dev] developing custom SLA/Service escalations and
>>> >             notifications
>>> >     To: Development community of OTRS <dev@otrs.org <mailto:
>>> dev@otrs.org>>
>>> >     Message-ID: <547717f8.7000...@otrs.com
>>> >     <mailto:547717f8.7000...@otrs.com>>
>>> >     Content-Type: text/plain; charset=windows-1252
>>> >
>>> >     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" ?>
>>> >     > <otrs_config version="1.0" init="Framework">
>>> >     >     <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>
>>> >     >     ........
>>> >     > </otrs_config>
>>> >     >
>>> >     > * 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/ <http://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/?lang=de
>>> >
>>> >
>>> >     ------------------------------
>>> >
>>> >     Message: 2
>>> >     Date: Thu, 27 Nov 2014 15:03:27 +0100
>>> >     From: Martin Gruner <martin.gru...@otrs.com
>>> >     <mailto:martin.gru...@otrs.com>>
>>> >     Subject: [dev] OTRS 5 development
>>> >     To: Development community of OTRS <dev@otrs.org <mailto:
>>> dev@otrs.org>>
>>> >     Message-ID: <54772f2f.1020...@otrs.com
>>> >     <mailto:54772f2f.1020...@otrs.com>>
>>> >     Content-Type: text/plain; charset=utf-8
>>> >
>>> >     Dear OTRS developers,
>>> >
>>> >     as you might have heard, OTRS 4 is now released and development
>>> for OTRS
>>> >     5 will start soon.
>>> >
>>> >     Do you plan to make substantial contributions to it? If that is the
>>> >     case, I want to offer you to plan and coordinate this together, to
>>> make
>>> >     sure right from the planning period that your contributions can
>>> find
>>> >     their way into OTRS 5.
>>> >
>>> >     Please just let me know via reply on this list.
>>> >
>>> >     Thanks and best regards, Martin
>>> >
>>> >     --
>>> >     Martin Gruner
>>> >     Senior Developer R&D
>>> >
>>> >     OTRS AG
>>> >     Bahnhofplatz 1a
>>> >     94315 Straubing
>>> >
>>> >     T: +49 (0)6172 681988 0 <tel:%2B49%20%280%296172%20681988%200>
>>> >     F: +49 (0)9421 56818 18 <tel:%2B49%20%280%299421%2056818%2018>
>>> >     I:  www.otrs.com/ <http://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/?lang=de
>>> >
>>> >
>>> >     ------------------------------
>>> >
>>> >     _______________________________________________
>>> >     dev mailing list
>>> >     dev@otrs.org <mailto:dev@otrs.org>
>>> >     http://lists.otrs.org/cgi-bin/listinfo/dev
>>> >
>>> >
>>> >     End of dev Digest, Vol 44, Issue 6
>>> >     **********************************
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > OTRS mailing list: dev - Webpage: http://otrs.org/
>>> > Archive: http://lists.otrs.org/pipermail/dev
>>> > To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
>>> >
>>>
>>> --
>>> 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/?lang=de
>>> _______________________________________________
>>> OTRS mailing list: dev - Webpage: http://otrs.org/
>>> Archive: http://lists.otrs.org/pipermail/dev
>>> To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev
>>>
>>
>>
>
_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

Reply via email to