It seems like I'm setting some value. ValueGet returns the updated value. But printing $Ticket{DynamicField_somename doesn't return the updated value.
my $DynamicFieldValue = $Self->{DynamicFieldValueObject}->ValueGet( FieldID => $DynamicField->{ID}, ObjectID => $Param{Data}->{TicketID}, ); $Self->{LogObject}->Log( Priority=>'debug', Message=> '@@Escalation.pm DynamicField_somename after update ' . Dumper(\$Ticket{DynamicField_somename}), ); $Self->{LogObject}->Log( Priority=>'debug', Message=> '!!@@Escalation.pm ValueGet ' . Dumper(\$DynamicFieldValue), ); [Wed Dec 24 18:07:41 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][283] @@Escalation.pm DynamicField_TTRS after update $VAR1 = \'2014-12-04 16:54:00'; [Wed Dec 24 18:07:41 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][306] !!@@Escalation.pm ValueGet $VAR1 = \[ { 'ValueText' => undef, 'ValueInt' => undef, 'ID' => '17', 'ValueDateTime' => '2014-12-22 17:06:39' } ]; On Wed, Dec 24, 2014 at 5:16 PM, Roald <depja...@gmail.com> wrote: > I made some progress. I want to set the value of the DynamicField to > $DestinationSystemTime. I'm using ValueSet from DynamicFieldValueObject. > The value of the dynamic field is not changed by ValueSe but I'm getting no > more errors. > > The value of the DynamicField should be changed to '2014-12-22 17:06:39' > but remains at '\'2014-12-04 16:54:00'. > > > # get dynamic field config > my $DynamicField = $Self->{DynamicFieldObject}->DynamicFieldGet( > Name => "TTRS", > ); > > my $Success = $Self->{DynamicFieldValueObject}->ValueSet( > FieldID => $DynamicField->{ID}, > ObjectID => $Param{Data}->{TicketID}, > Value => [ > { > ValueDateTime => $DestinationSystemTime, > }, > ], > UserID => $Param{UserID}, > ); > if ( !$Success ) { > $Self->{LogObject}->Log( > Priority => 'error', > Message => > "Can not set value for dynamic field > $DynamicField->{Name}!" > ); > } > > > debug log: > [Wed Dec 24 17:05:47 > 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][228] > @@Escalation.pm DestinationTime $VAR1 = \1419264399; > > [Wed Dec 24 17:05:47 > 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][232] > @@Escalation.pm DestinationSystemTime $VAR1 = \'2014-12-22 17:06:39'; > > [Wed Dec 24 17:05:47 > 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][283] > @@Escalation.pm DynamicField_somename after update $VAR1 = \'2014-12-04 > 16:54:00'; > > [Wed Dec 24 17:05:47 > 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][288] > !!@@Escalation.pm FieldID $VAR1 = \'7'; > > [Wed Dec 24 17:05:47 > 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][292] > !!@@Escalation.pm ObjectID $VAR1 = \'5'; > > [Wed Dec 24 17:05:47 > 2014][Debug][Kernel::System::Ticket::Event::ICTRoomEscalation::Run][296] > !!@@Escalation.pm UserID $VAR1 = \2; > > > On Wed, Dec 24, 2014 at 4:06 PM, Roald <depja...@gmail.com> wrote: > >> I made some progress. I used DynamicFieldListGet to figure out I had to >> drop "DynamicField_" from the fieldname. >> >> ValueSet still doesn't work. >> >> # get dynamic field config >> my $DynamicField = $Self->{DynamicFieldObject}->DynamicFieldGet( >> Name => "somename", >> ); >> >> $Self->{LogObject}->Log( >> Priority=>'debug', >> Message=> '!!@@Escalation.pm DynamicField ' . >> Dumper(\$DynamicField), >> ); >> >> >> my $Success = $Self->{BackendObject}->ValueSet( >> DynamicFieldConfig => $DynamicField, >> ObjectID => $Param{Data}->{TicketID}, >> Value => [ >> { >> $DestinationSystemTime, >> }, >> ], >> UserID => $Param{UserID}, >> ); >> if ( !$Success ) { >> $Self->{LogObject}->Log( >> Priority => 'error', >> Message => >> "Can not set value for dynamic field >> $DynamicField->{Name}!" >> ); >> } >> >> >> debug messages otrs.log: >> >> [Wed Dec 24 15:54:13 >> 2014][Debug][Kernel::System::Ticket::Event::Escalation::Run][233] >> !!@@Escalation.pm DynamicField $VAR1 = \{ >> 'FieldType' => 'DateTime', >> 'ID' => '7', >> 'ValidID' => '1', >> 'FieldOrder' => '7', >> 'InternalField' => '0', >> 'Label' => 'some label', >> 'CreateTime' => '2014-12-22 16:17:25', >> 'Name' => 'somename', >> 'ChangeTime' => '2014-12-22 16:17:25', >> 'ObjectType' => 'Ticket', >> 'Config' => { >> 'YearsInFuture' => '5', >> 'YearsInPast' => '5', >> 'Link' => '', >> 'DefaultValue' => '0', >> 'YearsPeriod' => '0' >> } >> }; >> >> [Wed Dec 24 15:54:13 >> 2014][Error][Kernel::System::DynamicField::Backend::ValueSet][512] Could >> not update field somename for Ticket ID 5 ! >> [Wed Dec 24 15:54:13 >> 2014][Error][Kernel::System::Ticket::Event::Escalation::Run][254] Can not >> set value for dynamic field somename! >> >> >> >> error.log apache: >> >> [Wed Dec 24 15:54:13 2014] -e: Odd number of elements in anonymous hash >> at /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line 243. >> ERROR: OTRS-CGI-66 Perl: 5.18.2 OS: linux Time: Wed Dec 24 15:54:13 2014 >> >> Message: Could not update field somename for Ticket ID 5 ! >> >> RemoteAddress: 192.168.2.1 >> RequestURI: /otrs/index.pl >> >> Traceback (3992): >> Module: Kernel::System::DynamicField::Backend::ValueSet (OTRS 3.3.x >> git) Line: 512 >> Module: Kernel::System::Ticket::Event::Escalation::Run (OTRS 3.3.x >> git) Line: 243 >> 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 >> >> ERROR: OTRS-CGI-66 Perl: 5.18.2 OS: linux Time: Wed Dec 24 15:54:13 2014 >> >> Message: Can not set value for dynamic field somename! >> >> RemoteAddress: 192.168.2.1 >> RequestURI: /otrs/index.pl >> >> Traceback (3992): >> Module: Kernel::System::Ticket::Event::Escalation::Run (OTRS 3.3.x >> git) Line: 254 >> 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:54:13 2014] Escalation.pm: Subroutine new redefined at >> /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line 21. >> [Wed Dec 24 15:54:14 2014] Escalation.pm: Subroutine Run redefined at >> /opt/otrs//Kernel/System/Ticket/Event/Escalation.pm line 79. >> >> >> On Wed, Dec 24, 2014 at 3:18 PM, Roald <depja...@gmail.com> wrote: >> >>> 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