[dev] How can I setup a dev environment for OTRS?

2012-09-10 Thread Bogdan Iosif
Hi,

I'm trying to setup a dev env for OTRS on Windows and I'm new to Perl.
After some poking around for a few days trying to understand Perl
distributions and development, I'm still pretty much where I started.

If a guide for setting up a specific dev env is available, can someone
please provide me with its URL?

If such a guide is not available, please help with the following direct
questions:

   1. Is OTRS dev normally done via an IDE, and if so what is the preferred
   one? I tried to find an ide-project like grouping in the OTRS sources and
   couldn't spot one.
   2. Is it possible to load all the source files in an editor capable of
   finding method / object definitions? (I don't mean full text search but
   something like Intellisense)
   3. Is interactive debugging possible for OTRS? By this I mean setting
   breakpoints and exploring values for variables when a breakpoint is hit.
   4. Is there such a thing as syntax check, source compilation or unit
   testing so that I can be as sure as possible that changes I've made do not
   immediately crash when they are executed?

I'm familiar with the dev workflow from Visual Studio (C#) and Eclipse
(Java) and hoping to achieve something similar with OTRS, if possible. If
someone can answer and is also familiar with those IDEs, please use them
for comparison.

Thanks,
Bogdan

What I've already done:

- Got the sources from a zip package (
http://ftp.otrs.org/pub/otrs/otrs-3.1.9.zip) because a direct CVS link
doesn't work from my organization (port 2401 is blocked).

- Looked over the dev manual (
http://ftp.otrs.org/pub/otrs/doc/doc-admin/3.1/en/pdf/otrs_admin_book.pdf)
and Searched the mailing lists (http://lists.otrs.org/pipermail/dev/) with
Google. Couldn't find any references to an IDE.

- Found info about debugging a running OTRS env by enabling a debug mode
where I would get a lot of info logged to files.
___
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

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-10 Thread Bogdan Iosif
10x. I'll try using the EPIC plugin.

So far I've installed Padre (the DWIM Perl for Windows combo) and haven't
managed to open/edit the sources in any way more meaningful than what I
could already accomplish in Notepad++.

On Mon, Sep 10, 2012 at 12:24 PM, Rocco Tocci  wrote:

>  The minimal IDE for Pel on WIndows is ECLIPS  whit plugin EPIC.
> But the features are minimal compared to C # and Java in any case it is
> possible with a series of best pactice ,available on the network, debug the
> perl module
>
> Bye
> Rocco
>
> Il 10/09/2012 11.12, Bogdan Iosif ha scritto:
>
> Hi,
>
> I'm trying to setup a dev env for OTRS on Windows and I'm new to Perl.
> After some poking around for a few days trying to understand Perl
> distributions and development, I'm still pretty much where I started.
>
> If a guide for setting up a specific dev env is available, can someone
> please provide me with its URL?
>
> If such a guide is not available, please help with the following direct
> questions:
>
>1. Is OTRS dev normally done via an IDE, and if so what is the
>preferred one? I tried to find an ide-project like grouping in the OTRS
>sources and couldn't spot one.
>2. Is it possible to load all the source files in an editor capable of
>finding method / object definitions? (I don't mean full text search but
>something like Intellisense)
> 3. Is interactive debugging possible for OTRS? By this I mean setting
>breakpoints and exploring values for variables when a breakpoint is hit.
>4. Is there such a thing as syntax check, source compilation or unit
>testing so that I can be as sure as possible that changes I've made do not
>immediately crash when they are executed?
>
> I'm familiar with the dev workflow from Visual Studio (C#) and Eclipse
> (Java) and hoping to achieve something similar with OTRS, if possible. If
> someone can answer and is also familiar with those IDEs, please use them
> for comparison.
>
> Thanks,
> Bogdan
>
> What I've already done:
>
> - Got the sources from a zip package (
> http://ftp.otrs.org/pub/otrs/otrs-3.1.9.zip) because a direct CVS link
> doesn't work from my organization (port 2401 is blocked).
>
> - Looked over the dev manual (
> http://ftp.otrs.org/pub/otrs/doc/doc-admin/3.1/en/pdf/otrs_admin_book.pdf)
> and Searched the mailing lists (http://lists.otrs.org/pipermail/dev/)
> with Google. Couldn't find any references to an IDE.
>
> - Found info about debugging a running OTRS env by enabling a debug mode
> where I would get a lot of info logged to files.
>
>
> ___
> 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
>
>
> --
> Rocco Tocci
> Application Architect
> Strada Prov. 1 BariModugno n. 4
> 70123 Bari  Italy
> Tel. +39 0803855483
>
> TBS IT – Telematic & Biomedical Services Srl a socio unico
> Sede Legale : Via Giacinto Gallina, 4 – 34122 Trieste
> Tel. 040 - 92291
> Sede Operativa : Via Francesco Bettini, 13 – 06034 Foligno
> Tel. 0742- 32661
> C.F., P.IVA e Registro Imprese (TS) : 01165260322
> Cap.Soc. € 8.000.000,00 i.v.
> una società di TBS Group SpA
>
> Ai sensi del D.Lgs. 196/2003 e della normativa internazionale, vi informiamo 
> che questo messaggio è riservato esclusivamente al destinatario. Se esso vi 
> fosse pervenuto per errore, vi invitiamo a eliminarlo immediatamente e a 
> darcene comunicazione. Grazie.
> According to the Italian and international laws in force, we inform you that 
> this message is reserved only for the addressee. If you are not the 
> addressee, please delete it immediately and notify us. Thank you.
>  P Per favore, pensa all'ambiente prima di stampare questo messaggio. Please, 
> consider the environment before printing this e-mail.
>
>
>
>
> ___
> 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

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-11 Thread Bogdan Iosif
Thanks for the input.

I was "afraid" of that. I'm familiar with this type of debugging from
writing shell scripts running under Jenkins but I've never done debugging
like that for a code base as large as OTRS seems to be.

With shell scripts it was, kind of, simple to assess if the code is valid
because I knew exactly where the script will be invoked from and my only
concern was to explore the context of the call (mainly env vars). With
these Perl scrips, without an IDE that halts execution on a breakpoint or a
possibility to statically explore all callers on an object's method, I find
it hard to imagine how I can ensure a change I make on some of the code
OTRS ships with will not break some code paths or, worse, produce
undesirable side effects.

I assume you mean Apache HTTPD's STDERR. I'll try to setup Fred. I hope
this info is still valid (
http://lists.otrs.org/pipermail/dev/2007-October/001728.html) because I
haven't found much else in the form of a guide on how to use / install it.

/bogdan

On Mon, Sep 10, 2012 at 12:40 PM, Michiel Beijen
wrote:

> Hi,
>
> Setting up the 'dev' environment is pretty much the same as setting up
> a 'regular' OTRS environment; you would set up an OTRS environment
> including database and web server on your local machine.
>
> For editing the files you can use pretty much any editor, some people
> use complete IDE's such as ActiveState's Komodo IDE, Eclipse EPIC or
> similar, or Padre, some people prefer to use text editors such as vim
> with lots of plugins, or even simply Notepad++.
>
> If you do OTRS development you typically do not use a debugger all
> day; and inspecting elements can be achieved by printing them to
> STDERR and looking in the server error log and/or using Fred
> (http://ftp.otrs.org/pub/otrs/develtools/packages/); or by logging
> them to the LogObject in OTRS.
>
> Hope this helps.
>
> --
> Mike
>
> On Mon, Sep 10, 2012 at 11:12 AM, Bogdan Iosif 
> wrote:
> > Hi,
> >
> > I'm trying to setup a dev env for OTRS on Windows and I'm new to Perl.
> After
> > some poking around for a few days trying to understand Perl distributions
> > and development, I'm still pretty much where I started.
> >
> > If a guide for setting up a specific dev env is available, can someone
> > please provide me with its URL?
> >
> > If such a guide is not available, please help with the following direct
> > questions:
> >
> > Is OTRS dev normally done via an IDE, and if so what is the preferred
> one? I
> > tried to find an ide-project like grouping in the OTRS sources and
> couldn't
> > spot one.
> > Is it possible to load all the source files in an editor capable of
> finding
> > method / object definitions? (I don't mean full text search but something
> > like Intellisense)
> > Is interactive debugging possible for OTRS? By this I mean setting
> > breakpoints and exploring values for variables when a breakpoint is hit.
> > Is there such a thing as syntax check, source compilation or unit
> testing so
> > that I can be as sure as possible that changes I've made do not
> immediately
> > crash when they are executed?
> >
> > I'm familiar with the dev workflow from Visual Studio (C#) and Eclipse
> > (Java) and hoping to achieve something similar with OTRS, if possible. If
> > someone can answer and is also familiar with those IDEs, please use them
> for
> > comparison.
> >
> > Thanks,
> > Bogdan
> >
> > What I've already done:
> >
> > - Got the sources from a zip package
> > (http://ftp.otrs.org/pub/otrs/otrs-3.1.9.zip) because a direct CVS link
> > doesn't work from my organization (port 2401 is blocked).
> >
> > - Looked over the dev manual
> > (
> http://ftp.otrs.org/pub/otrs/doc/doc-admin/3.1/en/pdf/otrs_admin_book.pdf)
> > and Searched the mailing lists (http://lists.otrs.org/pipermail/dev/)
> with
> > Google. Couldn't find any references to an IDE.
> >
> > - Found info about debugging a running OTRS env by enabling a debug mode
> > where I would get a lot of info logged to files.
> >
> > ___
> > 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
>
___
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

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-11 Thread Bogdan Iosif
Hi,

10x. When you tried this, did you have the debugger connect to Apache HTTPD
or were you able to somehow execute OTRS's scripts in a more direct way? As
far as I understood, the Perl interpreter runs in HTTPD's process, via
mod_perl, so a debugger would need to attach to HTTPD in order to work.

I understand your point about not practically needing the above, but it
would give me a warm fuzzy feeling to see it working and know I can do that
for the worst case scenario.

/bogdan

On Tue, Sep 11, 2012 at 10:12 AM, Martin Gruner wrote:

>  Hi Bogdan,
>
> AFAICT you can use Eclipse with the EPIC perl editor that also includes a
> graphical interface to the Perl debugger, giving you full execution
> control. I tried that once, but as Mike said it is not really needed in
> everyday work.
>
> Best regards, mg
>
> Am 11.09.12 09:09, schrieb Bogdan Iosif:
>
> Thanks for the input.
>
> I was "afraid" of that. I'm familiar with this type of debugging from
> writing shell scripts running under Jenkins but I've never done debugging
> like that for a code base as large as OTRS seems to be.
>
> With shell scripts it was, kind of, simple to assess if the code is valid
> because I knew exactly where the script will be invoked from and my only
> concern was to explore the context of the call (mainly env vars). With
> these Perl scrips, without an IDE that halts execution on a breakpoint or a
> possibility to statically explore all callers on an object's method, I find
> it hard to imagine how I can ensure a change I make on some of the code
> OTRS ships with will not break some code paths or, worse, produce
> undesirable side effects.
>
> I assume you mean Apache HTTPD's STDERR. I'll try to setup Fred. I hope
> this info is still valid (
> http://lists.otrs.org/pipermail/dev/2007-October/001728.html) because I
> haven't found much else in the form of a guide on how to use / install it.
>
> /bogdan
>
> On Mon, Sep 10, 2012 at 12:40 PM, Michiel Beijen  > wrote:
>
>> Hi,
>>
>> Setting up the 'dev' environment is pretty much the same as setting up
>> a 'regular' OTRS environment; you would set up an OTRS environment
>> including database and web server on your local machine.
>>
>> For editing the files you can use pretty much any editor, some people
>> use complete IDE's such as ActiveState's Komodo IDE, Eclipse EPIC or
>> similar, or Padre, some people prefer to use text editors such as vim
>> with lots of plugins, or even simply Notepad++.
>>
>> If you do OTRS development you typically do not use a debugger all
>> day; and inspecting elements can be achieved by printing them to
>> STDERR and looking in the server error log and/or using Fred
>> (http://ftp.otrs.org/pub/otrs/develtools/packages/); or by logging
>> them to the LogObject in OTRS.
>>
>> Hope this helps.
>>
>> --
>> Mike
>>
>> On Mon, Sep 10, 2012 at 11:12 AM, Bogdan Iosif 
>> wrote:
>> > Hi,
>> >
>> > I'm trying to setup a dev env for OTRS on Windows and I'm new to Perl.
>> After
>> > some poking around for a few days trying to understand Perl
>> distributions
>> > and development, I'm still pretty much where I started.
>> >
>> > If a guide for setting up a specific dev env is available, can someone
>> > please provide me with its URL?
>> >
>> > If such a guide is not available, please help with the following direct
>> > questions:
>> >
>> > Is OTRS dev normally done via an IDE, and if so what is the preferred
>> one? I
>> > tried to find an ide-project like grouping in the OTRS sources and
>> couldn't
>> > spot one.
>> > Is it possible to load all the source files in an editor capable of
>> finding
>> > method / object definitions? (I don't mean full text search but
>> something
>> > like Intellisense)
>> > Is interactive debugging possible for OTRS? By this I mean setting
>> > breakpoints and exploring values for variables when a breakpoint is hit.
>> > Is there such a thing as syntax check, source compilation or unit
>> testing so
>> > that I can be as sure as possible that changes I've made do not
>> immediately
>> > crash when they are executed?
>> >
>> > I'm familiar with the dev workflow from Visual Studio (C#) and Eclipse
>> > (Java) and hoping to achieve something similar with OTRS, if possible.
>> If
>> > someone can answer and is also familiar with those IDEs, please use
>> them f

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-11 Thread Bogdan Iosif
Hi all,

Carlos thanks for the input, I also feel strongly about your pros for
working from an IDE. I would love to have integrated debugging, I just feel
like missing an arm and a leg without it but if I absolutely must, I can
get used to working without it (I'm recommended to do so from many
directions). Regarding the missing Tail: It's available on Windows, along
with many other Unix tools, via the GnuWin project (
http://gnuwin32.sourceforge.net/). There's no need to install Cygwin until
you really run out of options or if you have to use Bash.

One more thing, with EPIC, were you able to get cross file references to
work? For example to jump from one declaration in a file to a definition
that is in a different file.

David, thanks for your recommendations, I'll consider them strongly as they
are aligned with other replies. Could you please tell me if you managed to
get the debugger to work by following this guide (
http://www.epic-ide.org/guide/ch06.php)? I'm interested to know it you
managed to attach the debugger to Apache HTTPD or if OTRS was ran via some
other web server. Please see Martin's and Rocco's replies (
http://lists.otrs.org/pipermail/dev/2012-September/002543.html
http://lists.otrs.org/pipermail/dev/2012-September/002542.html)

/bogdan

On Tue, Sep 11, 2012 at 12:36 AM, Carlos Rodríguez <
carlos.rodrig...@otrs.com> wrote:

> Hi all,
>
> Well I agree that for Perl you don't get much benefits using a IDE or a
> very fancy editor, but when you start thinking that OTRS is not just a
> bunch of Perl code, but also JS, HTML, XML, YAML, CSS, etc. You maybe start
> thinking that a tool to cover them all should be a good idea, with some
> syntax highlight and ctrl space suggestions.
>
> Then you maybe want to track bugs in your developments or in OTRS, and
> also you maybe want to use a versioning system like CVS GIT or SVN, and you
> are at this point (mostly on a Windows machine) with a full set of tools to
> help you on each of this tasks, or you can do it with a simple notepad ;-)
> for sure.
>
> But there is another alternative, I like Eclipse with EPIC (Perl editor)
> Web Development tools for JS, HTML, XML and CSS, Mylyn to track bugs and
> the Team providers for CVS, SVN and GIT. (for my daily work its helps me a
> lot, since I need to always have a updated OTRS CVS checkout before start
> working) and other plugins (a YAML editor, a WebServices editor, a
> ShellScript editor, a Sketching editor Regular Expressions helper, etc).
>
> I mean you can even manage your DB within Eclipse (there are at least 2
> plug-ins that uses JDBC to access your databases MySQL, PG, etc).
>
> So I think is a matter of likes to use an IDE or not, but for sure I will
> tell you that have a Dev Env for OTRS in Windows is not the best idea, but
> if you want / need to have it, try Cygwin, so you can at least have a
> "tail" command for the apache error log (otherwise you will have to do a
> lot of refreshes).
>
> Working with VMs is good, but slow and not so much resource efficient (but
> for sure better than Windows IMHO)
>
> ((enjoy))
>
> Carlos Rodríguez
>
>
>
>
> On Sep 10, 2012, at 1:36 PM, David Boyes  wrote:
>
> Don’t try to map the Java/C# development models onto Perl. Perl really
> doesn’t benefit much from an IDE, and at least in my shop, the IDE is more
> work than help, so we don’t use one for Perl code. There is an Eclipse mode
> for Perl, but it doesn’t really do much. Also, Perl is essentially
> interpreted, so there’s not a compilation step per se.
>
> I find Perl mode in a very large multi-pane Emacs window and a virtual
> machine running a test copy of OTRS to be the most helpful. A working
> source control system (choose your religion there; we find subversion to be
> a useful balance between comprehensibility and power) is essential, as
> there are zillions of moving parts. You could probably use Visual
> SourceSafe, but it’s really not all that helpful.
>
> Wrt to interactive debugging, the Perl debugger is really most of what you
> have to work with, but it’s not really helpful in that the various pieces
> of OTRS interact extensively with Apache and the database, and as such most
> of the debugging output that will tell you anything useful will be in the
> database or Apache logs, not in the code itself. Not much, but having
> various logs displayed in that multipane Emacs environment is helpful.
>
> *From:* dev-boun...@otrs.org [mailto:dev-boun...@otrs.org] *On Behalf Of 
> *Bogdan
> Iosif
> *Sent:* Monday, September 10, 2012 5:12 AM
> *To:* dev@otrs.org
> *Subject:* [dev] How can I setup a dev environment for OTRS?
> ** **
> Hi,
>
> I'm trying to setup a dev env for OTRS on Windows and I'm ne

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-11 Thread Bogdan Iosif
Thanks, I'll look into it.

On Tue, Sep 11, 2012 at 10:40 AM, Rocco Tocci  wrote:

>  Hello, following this guide I was able to debug OTRS.
>
>
> http://www.epic-ide.org/downloads/EPIC_User's_Guide.pdf
>
> I agree that it is important to have a debugging because perl has a number
> of environment variables difficult to know the contents of the trace or
> with logs or other
>
> Bye
> Rocco
>
>
> Il 11/09/2012 9.09, Bogdan Iosif ha scritto:
>
> Thanks for the input.
>
> I was "afraid" of that. I'm familiar with this type of debugging from
> writing shell scripts running under Jenkins but I've never done debugging
> like that for a code base as large as OTRS seems to be.
>
> With shell scripts it was, kind of, simple to assess if the code is valid
> because I knew exactly where the script will be invoked from and my only
> concern was to explore the context of the call (mainly env vars). With
> these Perl scrips, without an IDE that halts execution on a breakpoint or a
> possibility to statically explore all callers on an object's method, I find
> it hard to imagine how I can ensure a change I make on some of the code
> OTRS ships with will not break some code paths or, worse, produce
> undesirable side effects.
>
> I assume you mean Apache HTTPD's STDERR. I'll try to setup Fred. I hope
> this info is still valid (
> http://lists.otrs.org/pipermail/dev/2007-October/001728.html) because I
> haven't found much else in the form of a guide on how to use / install it.
>
> /bogdan
>
> On Mon, Sep 10, 2012 at 12:40 PM, Michiel Beijen  > wrote:
>
> Hi,
>
> Setting up the 'dev' environment is pretty much the same as setting up
> a 'regular' OTRS environment; you would set up an OTRS environment
> including database and web server on your local machine.
>
> For editing the files you can use pretty much any editor, some people
> use complete IDE's such as ActiveState's Komodo IDE, Eclipse EPIC or
> similar, or Padre, some people prefer to use text editors such as vim
> with lots of plugins, or even simply Notepad++.
>
> If you do OTRS development you typically do not use a debugger all
> day; and inspecting elements can be achieved by printing them to
> STDERR and looking in the server error log and/or using Fred
> (http://ftp.otrs.org/pub/otrs/develtools/packages/); or by logging
> them to the LogObject in OTRS.
>
> Hope this helps.
>
> --
> Mike
>
> On Mon, Sep 10, 2012 at 11:12 AM, Bogdan Iosif 
> wrote:
> > Hi,
> >
> > I'm trying to setup a dev env for OTRS on Windows and I'm new to Perl.
> After
> > some poking around for a few days trying to understand Perl distributions
> > and development, I'm still pretty much where I started.
> >
> > If a guide for setting up a specific dev env is available, can someone
> > please provide me with its URL?
> >
> > If such a guide is not available, please help with the following direct
> > questions:
> >
> > Is OTRS dev normally done via an IDE, and if so what is the preferred
> one? I
> > tried to find an ide-project like grouping in the OTRS sources and
> couldn't
> > spot one.
> > Is it possible to load all the source files in an editor capable of
> finding
> > method / object definitions? (I don't mean full text search but something
> > like Intellisense)
> > Is interactive debugging possible for OTRS? By this I mean setting
> > breakpoints and exploring values for variables when a breakpoint is hit.
> > Is there such a thing as syntax check, source compilation or unit
> testing so
> > that I can be as sure as possible that changes I've made do not
> immediately
> > crash when they are executed?
> >
> > I'm familiar with the dev workflow from Visual Studio (C#) and Eclipse
> > (Java) and hoping to achieve something similar with OTRS, if possible. If
> > someone can answer and is also familiar with those IDEs, please use them
> for
> > comparison.
> >
> > Thanks,
> > Bogdan
> >
> > What I've already done:
> >
> > - Got the sources from a zip package
> > (http://ftp.otrs.org/pub/otrs/otrs-3.1.9.zip) because a direct CVS link
> > doesn't work from my organization (port 2401 is blocked).
> >
> > - Looked over the dev manual
> > (
> http://ftp.otrs.org/pub/otrs/doc/doc-admin/3.1/en/pdf/otrs_admin_book.pdf)
> > and Searched the mailing lists (http://lists.otrs.org/pipermail/dev/)
> with
> > Google. Couldn't find any references to an IDE.
> >
> > - Found info about debugging a 

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-11 Thread Bogdan Iosif
Thanks, I'll look into it. Apache vs private HTTP/CGI server is the
difference I was curious about but I hope will manage to clarify it from
the guide as it was also recommended from another direction.

On Tue, Sep 11, 2012 at 10:50 AM, Martin Gruner wrote:

> Hi Bogdan,
>
> it's been a while :-/. AFAIR (http://www.epic-ide.org/guide/ch06.php),
> it may not even run inside apache but spawn a local HTTP/CGI server that
> you can use to run OTRS inside. Just try it.
>
> Regards, mg
>
> Am 11.09.12 09:26, schrieb Bogdan Iosif:
> > Hi,
> >
> > 10x. When you tried this, did you have the debugger connect to Apache
> HTTPD
> > or were you able to somehow execute OTRS's scripts in a more direct way?
> As
> > far as I understood, the Perl interpreter runs in HTTPD's process, via
> > mod_perl, so a debugger would need to attach to HTTPD in order to work.
> >
> > I understand your point about not practically needing the above, but it
> > would give me a warm fuzzy feeling to see it working and know I can do
> that
> > for the worst case scenario.
> >
> > /bogdan
> >
> > On Tue, Sep 11, 2012 at 10:12 AM, Martin Gruner  >wrote:
> >
> >>  Hi Bogdan,
> >>
> >> AFAICT you can use Eclipse with the EPIC perl editor that also includes
> a
> >> graphical interface to the Perl debugger, giving you full execution
> >> control. I tried that once, but as Mike said it is not really needed in
> >> everyday work.
> >>
> >> Best regards, mg
> >>
> >> Am 11.09.12 09:09, schrieb Bogdan Iosif:
> >>
> >> Thanks for the input.
> >>
> >> I was "afraid" of that. I'm familiar with this type of debugging from
> >> writing shell scripts running under Jenkins but I've never done
> debugging
> >> like that for a code base as large as OTRS seems to be.
> >>
> >> With shell scripts it was, kind of, simple to assess if the code is
> valid
> >> because I knew exactly where the script will be invoked from and my only
> >> concern was to explore the context of the call (mainly env vars). With
> >> these Perl scrips, without an IDE that halts execution on a breakpoint
> or a
> >> possibility to statically explore all callers on an object's method, I
> find
> >> it hard to imagine how I can ensure a change I make on some of the code
> >> OTRS ships with will not break some code paths or, worse, produce
> >> undesirable side effects.
> >>
> >> I assume you mean Apache HTTPD's STDERR. I'll try to setup Fred. I hope
> >> this info is still valid (
> >> http://lists.otrs.org/pipermail/dev/2007-October/001728.html) because I
> >> haven't found much else in the form of a guide on how to use / install
> it=
>
> --
> Martin Gruner
> Senior Developer R&D
>
> OTRS AG
> Europaring 4
> 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
>
> It's raining... OTRS Feature Add-Ons! Bis zu 10 kostenlose OTRS Feature
> Add-Ons und professionellen Hersteller-Support  – Werden Sie jetzt
> Service-Subscription-Kunde!
>
> ___
> 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

Re: [dev] How can I setup a dev environment for OTRS?

2012-09-11 Thread Bogdan Iosif
Looks great and it's mostly readable. Molte grazie!

I have one question about step 1 :) It seems to say to NOT install in a
directory with a blank space in its path but then it recommends a path
under "Program Files", which has a space between "Program" and "Files".

Is it ok to install in "C:\Program Files" even though there is a space
there?

On Tue, Sep 11, 2012 at 11:45 AM, Rocco Tocci  wrote:

>
> Hello Iosif, i hope to help I took a doc that I realized, after a hard
> work, which describes the steps necessary to get to debugging modules of
> OTRS in ECLIPSE whith EPIC.
> I'm sorry but the doc is the automatic translation of google (Italian->
> English).
> Goo
>
> Take this opportunity to ask if anyone has implemented or has been
> required to develop code to integrate in ITSM data  OCS Inventory
> (especially accuntinfo of OCS)
>
> Bye
> Rocco
>
>
> I attach a doc that I realized, after a hard work, which describes the
> steps necessary to get to debugging modules OTRS.
> I'm sorry but the doc is the automatic translation of google (Italian->
> English)
> Hello
>
> Il 11/09/2012 9.56, Bogdan Iosif ha scritto:
>
> Thanks, I'll look into it.
>
> On Tue, Sep 11, 2012 at 10:40 AM, Rocco Tocci wrote:
>
>  Hello, following this guide I was able to debug OTRS.
>
>
> http://www.epic-ide.org/downloads/EPIC_User's_Guide.pdf
>
> I agree that it is important to have a debugging because perl has a number
> of environment variables difficult to know the contents of the trace or
> with logs or other
>
> Bye
> Rocco
>
>
> Il 11/09/2012 9.09, Bogdan Iosif ha scritto:
>
> Thanks for the input.
>
> I was "afraid" of that. I'm familiar with this type of debugging from
> writing shell scripts running under Jenkins but I've never done debugging
> like that for a code base as large as OTRS seems to be.
>
> With shell scripts it was, kind of, simple to assess if the code is valid
> because I knew exactly where the script will be invoked from and my only
> concern was to explore the context of the call (mainly env vars). With
> these Perl scrips, without an IDE that halts execution on a breakpoint or a
> possibility to statically explore all callers on an object's method, I find
> it hard to imagine how I can ensure a change I make on some of the code
> OTRS ships with will not break some code paths or, worse, produce
> undesirable side effects.
>
> I assume you mean Apache HTTPD's STDERR. I'll try to setup Fred. I hope
> this info is still valid (
> http://lists.otrs.org/pipermail/dev/2007-October/001728.html) because I
> haven't found much else in the form of a guide on how to use / install it.
>
> /bogdan
>
> On Mon, Sep 10, 2012 at 12:40 PM, Michiel Beijen  > wrote:
>
> Hi,
>
> Setting up the 'dev' environment is pretty much the same as setting up
> a 'regular' OTRS environment; you would set up an OTRS environment
> including database and web server on your local machine.
>
> For editing the files you can use pretty much any editor, some people
> use complete IDE's such as ActiveState's Komodo IDE, Eclipse EPIC or
> similar, or Padre, some people prefer to use text editors such as vim
> with lots of plugins, or even simply Notepad++.
>
> If you do OTRS development you typically do not use a debugger all
> day; and inspecting elements can be achieved by printing them to
> STDERR and looking in the server error log and/or using Fred
> (http://ftp.otrs.org/pub/otrs/develtools/packages/); or by logging
> them to the LogObject in OTRS.
>
> Hope this helps.
>
> --
> Mike
>
> On Mon, Sep 10, 2012 at 11:12 AM, Bogdan Iosif 
> wrote:
> > Hi,
> >
> > I'm trying to setup a dev env for OTRS on Windows and I'm new to Perl.
> After
> > some poking around for a few days trying to understand Perl distributions
> > and development, I'm still pretty much where I started.
> >
> > If a guide for setting up a specific dev env is available, can someone
> > please provide me with its URL?
> >
> > If such a guide is not available, please help with the following direct
> > questions:
> >
> > Is OTRS dev normally done via an IDE, and if so what is the preferred
> one? I
> > tried to find an ide-project like grouping in the OTRS sources and
> couldn't
> > spot one.
> > Is it possible to load all the source files in an editor capable of
> finding
> > method / object definitions? (I don't mean full text search but something
> > like Intellisense)
> > Is interactive debugging poss

Re: [dev] Use of word "Last" is confusing. GenericAgent and AgentTicketSearch

2012-10-01 Thread Bogdan Iosif
Hi all,

I'm sorry about this email being so long but I really looked into this
issue just last week and I think there's more to it than meets the eye. In
short, I agree with both of you as I have both problems described in your
previous emails.
* Carlos, indeed the "Before" and "Last" words are not logically usable by
a human being to understand just from the GUI what they mean. They need to
be rephrased, at the very least.
* Michiel, you are 100% correct in saying "I think people are expecting to
be able to search for tickets that will reach pending in 1 day" and the
catch is that people need this in addition to the current functionality.

Warning! Changing the logical meaning of 'Before' and 'Last' will cause
some pain for some people.

HACK 1 - around the issue noticed by Michiel

Reinterpret the meaning of pending time so that it no longer means the time
when a ticket should be closed (as it means for states "pending auto close
-/+"). Instead, "pending time" will mean the reference moment after which,
when a certain time-interval has passed, an event should occur. So then if
you need to send out a warning to customers 1 day before a ticket is
closed, you should set OTRS pending time 1 day before the desired closing
time and work out a ~ complicated set of custom "pending auto" states,
generic agent jobs and notifications based on events that together will
give you the desired effect.

You will need at least two Generic Agent jobs:
* GA job1: Filter by "Pending Time" = "before" "1" "minute" AND "State" =
"pending auto - wait for warning", then change "State" to "pending auto -
wait for close". Meanwhile, an event driven notification was hooked on
"Event" = "TicketStateUpdate" AND "State" = "pending auto - wait for close"
which will fire ~ 1 day before the ticket is closed and send out those
pre-close warnings to customers.
* GA job2: Filter by "Pending Time" = "before" "1" "day" AND "State" =
"pending auto - wait for close", then change "State" to "closed
successfully".

The trouble with the above approach is that it's both complicated to
understand / setup and, the worst, that it reinterprets the meaning of
"pending time" based on the ticket state. This would need to be
communicated to both customers and agents, which is always a pain and will
always create confusion.

HACK 2 - around the issue noticed by Michiel

Other people decided the wording "Before" / "Last" is ~ OK and they changed
the code so that "Before" means less than X time-interval before pending
time. For version 3.1.10, the change would mean replacing - with + on line
1432 from "Kernel\System\TicketSearch.pm":
* Line 1432 in v3.1.10: $TimeStamp -= (
$Param{TicketPendingTimeOlderMinutes} * 60 );

This solution may be appropriate for some but it actually creates another
problem for others because after this change you can't filter tickets older
than X time-interval.

You can read about both hacks here:
http://forums.otterhub.org/viewtopic.php?f=61&t=15187 and here:
http://forums.otterhub.org/viewtopic.php?f=62&t=6843

MAGICAL SOLUTION THAT SOLVES ALL PROBLEMS :)

Requirements:
- Be able to specify the following filtering conditions for "Pending
Time"
- Opt.1. Between -infinite and some moment in the past, specified
relative to current time (e.g. pending time is older than 5
days/weeks/months/etc.)
- Opt.2. Between some moment 1 and some moment 2, both specified
relative to current time (e.g. pending time is between 7 and 10 days old OR
pending time is between 3 days old and 7 days in the future OR pending time
is between 10 and 15 days in the future)
- Opt.3. Between some moment in the future, specified relative to
current time, and +infinite (e.g. pending time is farther in the future
than 10 days/weeks/months/etc.)

- Changes in GUI:
- Eliminate radio button option "Ticket pending time reached" ...
- Add a new radio button option "Ticket pending time older than" [time
amount textbox*] [time unit combobox]. This will cover Opt.1.
- Add a new radio button option "Ticket pending time between" [time
amount textbox*] [time unit combobox] "in the" ["past"|"future" combobox]
"and" [time amount textbox*] [time unit combobox] "in the" ["past"|"future"
combobox]. This will cover Opt.2.
- Add a new radio button option "Ticket pending time farther than"
[time amount textbox*] [time unit combobox]. This will cover Opt.3.

- Changes in code:
- The validation / interpretation of the options from GUI is more
complicated BUT ultimately you can still transform the relative values from
the GUI into fixed values mapped on TicketPendingTimeNewerMinutes and
TicketPendingTimeOlderMinutes.

* Why the time amount textbox instead of the current number combobox?
Because the way time amount is currently specified, if you need to filter
an event that is farther than 60 hours (2.5 days) from pending time, there
is no way to specify a filter criteria with finer granularity than 1 day
because you need to choose "days", 

[dev] Possible bug found, how do I proceed? Bug: Faulty handling of consecutive (double) spaces in CustomerID

2013-03-22 Thread Bogdan Iosif
Hi list,

I'm currently investigating an issue and I think I found a bug. I'm not
experienced enough in Perl to know for sure I'm right.

Can someone please confirm that I identified the cause of the problem
correctly and, if so, adivce on what I should do next? Post in bugs.otrs.org
?

Version: v3.1.10

Symptoms:
- For some companies, the open ticket count is wrong when shown in
AgentTicketZoom, Customer Information "widget". This information appears
with a small icon and the text "Open tickets (#)", at the bottom of the
aforementioned widget. # is supposed to show the number of tickets opened
for current ticket's CustomerID (I know OTRS can also filter by ticket's
customer user but I haven't enabled this).

Investigation:
- I enabled query logging on MySQL and saw that the value passed on the
WHERE condition for CustomerID was wrong. This particular CustomerID
contains multiple consecutive spaces. Instead of the correct value ("some
company  name - 12345"; notice it contains double spaces between the first
three words) the WHERE condition had a faulty value, with the double spaces
replaced with a single space ("some company name - 12345"). The result was
0 instead of the correct ticket count.

- I saw in OTRS's sources that the faulty count is computed through a call
to Kernel::System::TicketSearch > TicketSearch(), made from
Kernel::Output::HTML::CustomerUserGenericTicket > Run()

- In Kernel::System::TicketSearch > TicketSearch(), CustomerID's entry in
WHERE is computed in a loop by calling Kernel::System::DB >
QueryCondition(). In QueryCondition(), the value for the condition is
processed by this code:

# remove double spaces
$Param{Value} =~ s/\s+/ /g;

- At this point I strongly suspect this is the root cause of the problem.
The value that gets injected in the SQL string's WHERE clause for
CustomerID seems to go through a step that removes double spaces from this
value that should've otherwise be used literally.

- Obviously, the problem is not limited to just my scenario. TicketSearch
is called from many other places and the WHERE clause for other ticket
attributes is processed in the same way, with "Title" being the most likely
to cause a similar problem in other places.

- Simply declaring that CustomerID doesn't support double spaces would be a
very bad "solution" because I need to integrate with other systems
(non-OTRS) and can't dictate what the CustomerID should be.

/bogdan
___
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

[dev] How can I add a new, computed, data field to Ticket?

2013-03-22 Thread Bogdan Iosif
Hi list,

I have a problem that I think can't be solved without writing some code. I
would like some minimal guidance on how to do this in an elegant manner.
I'll explain mainly the technical side of the problem but, if you are
curious, you can also read the functional side at the end.

Technical aspect:

I need to have a ticket field (not dynamic, a field like TicketNumber,
Queue, etc.) that exposes the ticket number as something other than a pure
number. For example, I would like to have it as a string such as "Ticket#
201303221231".

I also need this field to be technically identical with the TicketNumber
field so that I can add it to
Ticket::Frontend::CustomerTicketSearch###SearchCSVData in hope that it will
show up in the search results exported to CSV from the customer interface.

Can I do this as an extension to the existing OTRS code, that would be safe
across future upgrades? If so, please point me towards an example that
would help me understand how to do it. *Please* understand that I don't
want to change any of the files that come with OTRS.

Thanks,
Bogdan

Functional aspect:

When the CSV file produced by the search function from the customer
interface is opened in Excel, the column containing the TicketNumber will
have its last digit truncated. This is because the column is detected as a
number and, by default, it has 16 digits (e.g. 201303221231). Excel is
limited to 15 digits for numbers so the last digit is truncated.

Opening the CSV search results in Excel is critically important for our
customers. They need to use the ticket number value from Excel and input it
back in OTRS. Because Excel drops that last digit, this critically
important usage pattern becomes impossible.

In addition, because the column is interpreted as a large number, Excel
obfuscates it by representing it scientifically (exponential notation).

Ideally, the column should be understood as text so that they could copy it
from Excel and paste it in their customer interface. However, because of
how Excel's CSV import works, this is not possible.

Explored solutions:

- Change SystemID to a letter. It would solve the problem but,
unfortunately, OTRS insists for the SystemID to be a number
- Change SystemID to a single digit. It would solve the loss of information
when importing in Excel but not the exponential notation inconvenience. It
would also entail major database changes to update all ticket number and
I'm uncomfortable doing it right now as I can't account for all the
possible negative side-effects (will do it if all else fails though).
- Create a new ticket number generator. Overkill for this problem. I prefer
to fall back to the previous solution.
___
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

Re: [dev] How can I add a new, computed, data field to Ticket?

2013-03-26 Thread Bogdan Iosif
It would but be a solution but it's the same kind as the one already
mentioned in initial email's "Explored solutions" section (The one
shortening the SystemID leading to a TicketNumber of only 15 chars).

The problem with both solutions is that the TicketNumber would remain
scrambled when the CSV is opened in Excel because it would be auto
formatted in scientific notation and it would also require a massive update
in the database for my existing 20.000 tickets (these are the ones actually
useful in searches right now and for quite a time to come).

I've already found how to avoid the problem in Excel, I just need a
calculated ticket data field whose value should be "=TEXT($TicketNumber,
0)". The = tells Excel to treat it as a formula and the TEXT formula does
the rest.

Unfortunately, I don't have the time to discover how to add this field to
Ticket.pm. Frankly I don't even know if Perl supports property data fields
with getters but that's another story.

/Thanks for the reply



On Tue, Mar 26, 2013 at 7:46 PM, Lukasz Hadyna  wrote:

> Hi Bogdan,
>
> Would shortening the number to 8 digits provide an adequate solution as
> well? It is possible to change the Ticket Number generator in OTRS's
> configuration. You're currently using DateChecksum method to generate your
> Ticket numbers and the alternative Autoincrement creates numbers half the
> size.
>
> The option to change how ticket numbers are generated can be found in
> Core::Ticket under Ticket::NumberGenerator.
>
> Regards,
> Lukasz Hadyna
>
>
> On Fri, Mar 22, 2013 at 10:24 AM, Bogdan Iosif wrote:
>
>> Hi list,
>>
>> I have a problem that I think can't be solved without writing some code.
>> I would like some minimal guidance on how to do this in an elegant manner.
>> I'll explain mainly the technical side of the problem but, if you are
>> curious, you can also read the functional side at the end.
>>
>> Technical aspect:
>>
>> I need to have a ticket field (not dynamic, a field like TicketNumber,
>> Queue, etc.) that exposes the ticket number as something other than a pure
>> number. For example, I would like to have it as a string such as "Ticket#
>> 201303221231".
>>
>> I also need this field to be technically identical with the TicketNumber
>> field so that I can add it to
>> Ticket::Frontend::CustomerTicketSearch###SearchCSVData in hope that it will
>> show up in the search results exported to CSV from the customer interface.
>>
>> Can I do this as an extension to the existing OTRS code, that would be
>> safe across future upgrades? If so, please point me towards an example that
>> would help me understand how to do it. *Please* understand that I don't
>> want to change any of the files that come with OTRS.
>>
>> Thanks,
>> Bogdan
>>
>> Functional aspect:
>>
>> When the CSV file produced by the search function from the customer
>> interface is opened in Excel, the column containing the TicketNumber will
>> have its last digit truncated. This is because the column is detected as a
>> number and, by default, it has 16 digits (e.g. 201303221231). Excel is
>> limited to 15 digits for numbers so the last digit is truncated.
>>
>> Opening the CSV search results in Excel is critically important for our
>> customers. They need to use the ticket number value from Excel and input it
>> back in OTRS. Because Excel drops that last digit, this critically
>> important usage pattern becomes impossible.
>>
>> In addition, because the column is interpreted as a large number, Excel
>> obfuscates it by representing it scientifically (exponential notation).
>>
>> Ideally, the column should be understood as text so that they could copy
>> it from Excel and paste it in their customer interface. However, because of
>> how Excel's CSV import works, this is not possible.
>>
>> Explored solutions:
>>
>> - Change SystemID to a letter. It would solve the problem but,
>> unfortunately, OTRS insists for the SystemID to be a number
>> - Change SystemID to a single digit. It would solve the loss of
>> information when importing in Excel but not the exponential notation
>> inconvenience. It would also entail major database changes to update all
>> ticket number and I'm uncomfortable doing it right now as I can't account
>> for all the possible negative side-effects (will do it if all else fails
>> though).
>> - Create a new ticket number generator. Overkill for this problem. I
>> prefer to fall back to the previous solution.
>>
>>
>> _

Re: [dev] How can I add a new, computed, data field to Ticket?

2013-03-27 Thread Bogdan Iosif
Hi,

>> If I read you correctly the use for this 'calculated' field would be to
have it in reporting, so Excel can handle your CSV files easier, right?

Correct.

>> You *could* create an event module that sets a dynamic field at ticket
create time, this would work, but it requires some marginal development.

Thanks for this good suggestion. I looked at event modules a while back and
re-thinking about it now, it sounds like they could 100% solve my problem.

>> We can also try to fix it in the OTRS code, my proposal would be to
include a second ticket number field that contains a 'full' number such as
"Ticket# 2013032710001234". The other, 'old' ticket number field should
still be available so we don't 'break' workflows for people who depend on
this field in their workflows.

It would be good to have this available. Our customers would still complain
about having to strip "Ticket#" after pasting the value from Excel into the
search box from OTRS. Even so, it would be a good option to have until I
can write an event module and I would be thankful for it.

Other possible solutions, I just list them for the lucky case when they are
already on your roadmap:
- Ability to set SystemID to non-digits (requested elsewere for other
reasons, it would also solve my problem)
- Ability to specify the values from SearchCSVData as simple
expressions instead of Ticket data fields (e.g. instead of "TicketNumber",
being able to say "=TEXT($TicketNumber), 0)" would magically solve my
problem)

Thanks

On Wed, Mar 27, 2013 at 10:28 AM, Michiel Beijen
wrote:

> Hi Bogdan,
>
> If I read you correctly the use for this 'calculated' field would be to
> have it in reporting, so Excel can handle your CSV files easier, right?
>
> You *could* create an event module that sets a dynamic field at ticket
> create time, this would work, but it requires some marginal development.
>
> We can also try to fix it in the OTRS code, my proposal would be to
> include a second ticket number field that contains a 'full' number such as
> "Ticket# 2013032710001234". The other, 'old' ticket number field should
> still be available so we don't 'break' workflows for people who depend on
> this field in their workflows.
>
> What do you think?
> --
> Mike
> On Tue, Mar 26, 2013 at 7:30 PM, Bogdan Iosif wrote:
>
>> It would but be a solution but it's the same kind as the one already
>> mentioned in initial email's "Explored solutions" section (The one
>> shortening the SystemID leading to a TicketNumber of only 15 chars).
>>
>> The problem with both solutions is that the TicketNumber would remain
>> scrambled when the CSV is opened in Excel because it would be auto
>> formatted in scientific notation and it would also require a massive update
>> in the database for my existing 20.000 tickets (these are the ones actually
>> useful in searches right now and for quite a time to come).
>>
>> I've already found how to avoid the problem in Excel, I just need a
>> calculated ticket data field whose value should be "=TEXT($TicketNumber,
>> 0)". The = tells Excel to treat it as a formula and the TEXT formula does
>> the rest.
>>
>> Unfortunately, I don't have the time to discover how to add this field to
>> Ticket.pm. Frankly I don't even know if Perl supports property data fields
>> with getters but that's another story.
>>
>> /Thanks for the reply
>>
>>
>>
>> On Tue, Mar 26, 2013 at 7:46 PM, Lukasz Hadyna wrote:
>>
>>> Hi Bogdan,
>>>
>>> Would shortening the number to 8 digits provide an adequate solution as
>>> well? It is possible to change the Ticket Number generator in OTRS's
>>> configuration. You're currently using DateChecksum method to generate your
>>> Ticket numbers and the alternative Autoincrement creates numbers half the
>>> size.
>>>
>>> The option to change how ticket numbers are generated can be found in
>>> Core::Ticket under Ticket::NumberGenerator.
>>>
>>> Regards,
>>> Lukasz Hadyna
>>>
>>>
>>> On Fri, Mar 22, 2013 at 10:24 AM, Bogdan Iosif 
>>> wrote:
>>>
>>>> Hi list,
>>>>
>>>> I have a problem that I think can't be solved without writing some
>>>> code. I would like some minimal guidance on how to do this in an elegant
>>>> manner. I'll explain mainly the technical side of the problem but, if you
>>>> are curious, you can also read the functional side at the end.
>>>>

[dev] Can an EventModule be used to auto mark system articles as read?

2013-07-03 Thread Bogdan Iosif
Hi list,

Is it possible to write an EventModule that would automatically mark as
read system articles (OTRS auto replies, etc.) when such articles are
created?

/bogdan
___
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

Re: [dev] Can an EventModule be used to auto mark system articles as read?

2013-07-03 Thread Bogdan Iosif
Thanks for the reply, good point about new users. I'm thinking it can be
resolved by using a ~lazy job that corrects their situation.

Regardless, can I mark those system articles as read through an EventModule?

--

I don't have a very firm position on the best approach for system articles.
In our situation, agents REALLY don't want to see them. For AgentTicketZoom
this was, fortunately, resolved by enabling filters and then each agent
filtered out those system articles. This calmed them down but now they have
a new complaint. They feel misled by the tickets-with-unread-articles
counter from the main toolbar. They don't want it to take under account
tickets that only have unread system articles. The best solution would be
to mark system articles as read as they are created.

I don't think it's worth your effort to not store auto-replies as articles
because they can can be filtered out in AgentTicketZoom. Value would be
added - at least in my situation - if you can somehow introduce the option
to disregard system articles for unread counts.


On Wed, Jul 3, 2013 at 12:18 PM, Michiel Beijen wrote:

> Hi Bogdan,
> The tricky thing with the read flags is that they are on a per user basis
> - so the only possibility is to insert read flags for all users.
> And if you add a user later on, he'll still see all system articles as
> unread, for existing tickets.
>
> I understand the issue with the auto-replies marked as unread by default.
> I think I even do not like per se the fact that auto-replies are stored as
> articles; I think it would be good to have the possibility to directly send
> the autoreplies, marking them of course in ticket history, but not storing
> them as articles, what do you think?
> --
> Mike
>
>
> On Wed, Jul 3, 2013 at 11:12 AM, Bogdan Iosif wrote:
>
>> Hi list,
>>
>> Is it possible to write an EventModule that would automatically mark as
>> read system articles (OTRS auto replies, etc.) when such articles are
>> created?
>>
>> /bogdan
>>
>> ___
>> 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
>
___
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

Re: [dev] Can an EventModule be used to auto mark system articles as read?

2013-07-03 Thread Bogdan Iosif
Great news! :) But the tricky part will be to determine if the parent
ticket should also be marked as seen. No?

Because the counter is computed based on TicketFlag. Not ArticleFlag.


On Wed, Jul 3, 2013 at 12:51 PM, Michiel Beijen wrote:

> Sure, you can do that.
> Use ArticleFlagSet, and let the Event module run on ArticleCreate events.
> Let the module check for the correct article types first.
> Then mark it as 'seen':
>
> $Self->{TicketObject}->ArticleFlagSet(
> ArticleID => $ArticleID,
> Key => 'Seen',
> Value => 1,
> UserID => $UserID,
> );
>
>
>
>
> On Wed, Jul 3, 2013 at 11:46 AM, Bogdan Iosif wrote:
>
>> Thanks for the reply, good point about new users. I'm thinking it can be
>> resolved by using a ~lazy job that corrects their situation.
>>
>> Regardless, can I mark those system articles as read through an
>> EventModule?
>>
>> --
>>
>> I don't have a very firm position on the best approach for system
>> articles. In our situation, agents REALLY don't want to see them. For
>> AgentTicketZoom this was, fortunately, resolved by enabling filters and
>> then each agent filtered out those system articles. This calmed them down
>> but now they have a new complaint. They feel misled by the
>> tickets-with-unread-articles counter from the main toolbar. They don't want
>> it to take under account tickets that only have unread system articles. The
>> best solution would be to mark system articles as read as they are created.
>>
>> I don't think it's worth your effort to not store auto-replies as
>> articles because they can can be filtered out in AgentTicketZoom. Value
>> would be added - at least in my situation - if you can somehow introduce
>> the option to disregard system articles for unread counts.
>>
>>
>> On Wed, Jul 3, 2013 at 12:18 PM, Michiel Beijen > > wrote:
>>
>>> Hi Bogdan,
>>> The tricky thing with the read flags is that they are on a per user
>>> basis - so the only possibility is to insert read flags for all users.
>>> And if you add a user later on, he'll still see all system articles as
>>> unread, for existing tickets.
>>>
>>> I understand the issue with the auto-replies marked as unread by
>>> default.
>>> I think I even do not like per se the fact that auto-replies are stored
>>> as articles; I think it would be good to have the possibility to directly
>>> send the autoreplies, marking them of course in ticket history, but not
>>> storing them as articles, what do you think?
>>> --
>>> Mike
>>>
>>>
>>> On Wed, Jul 3, 2013 at 11:12 AM, Bogdan Iosif wrote:
>>>
>>>> Hi list,
>>>>
>>>> Is it possible to write an EventModule that would automatically mark as
>>>> read system articles (OTRS auto replies, etc.) when such articles are
>>>> created?
>>>>
>>>> /bogdan
>>>>
>>>> ___
>>>> 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
>>>
>>
>>
>> ___
>> 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
>
___
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

Re: [dev] Can an EventModule be used to auto mark system articles as read?

2013-07-03 Thread Bogdan Iosif
I think I don't need to do this development after all because a config
already exists for this functionality.

Browsing through code I found the configuration
Ticket::NewArticleIgnoreSystemSender that seems to take effect in
TicketNewMessageUpdate.pm. When set to YES, the code decides to mark
tickets as seen while ignoring any unseen system articles.

Do you know about this config? I still need to test it works but following
the code sure seems like it's doing what I want.

Thanks.



On Wed, Jul 3, 2013 at 1:30 PM, Michiel Beijen wrote:

> As far as I know, if all articles are seen, the ticketflag will be also
> 'seen'.
> So if we mark the autoreply as 'seen'  and the first article was already
> seen, you'd be fine.
>
>
> On Wed, Jul 3, 2013 at 5:53 AM, Bogdan Iosif wrote:
>
>> Great news! :) But the tricky part will be to determine if the parent
>> ticket should also be marked as seen. No?
>>
>> Because the counter is computed based on TicketFlag. Not ArticleFlag.
>>
>>
>> On Wed, Jul 3, 2013 at 12:51 PM, Michiel Beijen > > wrote:
>>
>>> Sure, you can do that.
>>> Use ArticleFlagSet, and let the Event module run on ArticleCreate
>>> events. Let the module check for the correct article types first.
>>> Then mark it as 'seen':
>>>
>>> $Self->{TicketObject}->ArticleFlagSet(
>>> ArticleID => $ArticleID,
>>> Key => 'Seen',
>>> Value => 1,
>>> UserID => $UserID,
>>> );
>>>
>>>
>>>
>>>
>>> On Wed, Jul 3, 2013 at 11:46 AM, Bogdan Iosif wrote:
>>>
>>>> Thanks for the reply, good point about new users. I'm thinking it can
>>>> be resolved by using a ~lazy job that corrects their situation.
>>>>
>>>> Regardless, can I mark those system articles as read through an
>>>> EventModule?
>>>>
>>>> --
>>>>
>>>> I don't have a very firm position on the best approach for system
>>>> articles. In our situation, agents REALLY don't want to see them. For
>>>> AgentTicketZoom this was, fortunately, resolved by enabling filters and
>>>> then each agent filtered out those system articles. This calmed them down
>>>> but now they have a new complaint. They feel misled by the
>>>> tickets-with-unread-articles counter from the main toolbar. They don't want
>>>> it to take under account tickets that only have unread system articles. The
>>>> best solution would be to mark system articles as read as they are created.
>>>>
>>>> I don't think it's worth your effort to not store auto-replies as
>>>> articles because they can can be filtered out in AgentTicketZoom. Value
>>>> would be added - at least in my situation - if you can somehow introduce
>>>> the option to disregard system articles for unread counts.
>>>>
>>>>
>>>> On Wed, Jul 3, 2013 at 12:18 PM, Michiel Beijen <
>>>> michiel.bei...@gmail.com> wrote:
>>>>
>>>>> Hi Bogdan,
>>>>> The tricky thing with the read flags is that they are on a per user
>>>>> basis - so the only possibility is to insert read flags for all users.
>>>>> And if you add a user later on, he'll still see all system articles as
>>>>> unread, for existing tickets.
>>>>>
>>>>> I understand the issue with the auto-replies marked as unread by
>>>>> default.
>>>>> I think I even do not like per se the fact that auto-replies are
>>>>> stored as articles; I think it would be good to have the possibility to
>>>>> directly send the autoreplies, marking them of course in ticket history,
>>>>> but not storing them as articles, what do you think?
>>>>> --
>>>>> Mike
>>>>>
>>>>>
>>>>> On Wed, Jul 3, 2013 at 11:12 AM, Bogdan Iosif 
>>>>> wrote:
>>>>>
>>>>>> Hi list,
>>>>>>
>>>>>> Is it possible to write an EventModule that would automatically mark
>>>>>> as read system articles (OTRS auto replies, etc.) when such articles are
>>>>>> created?
>>>>>>
>>>>>> /bogdan
>>>>>>
>>>>>> ___
>>>&

[dev] Availability of customizable columns in various grids from v3.3.0

2013-09-23 Thread Bogdan Iosif
Hi,

>From v3.3.0 beta2 release notes: "Dashboard ticket lists and regular ticket
overviews can now be filtered by eligible ticket columns, and the shown
columns are configurable."

As far as I could tell from playing around with this feature it's still NOT
available in agent zoom view or anywhere in the customer interface.

Will this feature's availability remain the same for the final 3.3.x
release?

I need the feature - especially in the customer interface - and currently
I'm considering hacking it on my 3.2.x's sources. This option became
tempting, especially because 3.3.x's Windows installer comes with so many
changes that testing the config deployed by this new installer is very
expensive and so it looks like we'll be on 3.2.x for quite some time.

/bogdan
___
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

Re: [dev] Availability of customizable columns in various grids from v3.3.0

2013-09-24 Thread Bogdan Iosif
Thanks for the confirmation.

I managed to modify 3.2.x's sources to obtain the desired effect.



On Tue, Sep 24, 2013 at 11:37 AM, Martin Gruner wrote:

> Hi Bogdan,
>
> Am 23.09.13 12:18, schrieb Bogdan Iosif:
> > Hi,
> >
> > From v3.3.0 beta2 release notes: "Dashboard ticket lists and regular
> > ticket overviews can now be filtered by eligible ticket columns, and the
> > shown columns are configurable."
> >
> > As far as I could tell from playing around with this feature it's still
> > NOT available in agent zoom view or anywhere in the customer interface.
> >
> > Will this feature's availability remain the same for the final 3.3.x
> > release?
>
> Yes.
>
> Regards, mg
>
> --
> Martin Gruner
> Senior Developer R&D
>
> OTRS AG
> Europaring 4
> 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
>
> Happy Birthday OTRS ! - 10 Jahre innovatives und flexibles Service
> Management  - Lassen Sie uns zusammen vorwärts gehen
> ___
> 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

[dev] Dev API missing from http://dev.otrs.org for v3.2.x

2013-09-24 Thread Bogdan Iosif
Hi,

Navigating http://dev.otrs.org I noticed that updates for dev API are
missing for v3.2.x (seems it happened since source control was moved to
github).

Where was this info extracted from?

//bogdan
___
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

Re: [dev] Dev API missing from http://dev.otrs.org for v3.2.x

2013-09-24 Thread Bogdan Iosif
To generate the API docs, EPublisher parses each source file and extracts
comments, right? Is there information added to the API docs from some other
source?


On Tue, Sep 24, 2013 at 1:22 PM, Renee B  wrote:

> Hi Martin,
>
> it's just a cronjob that runs a Perl program. For the transformation Pod
> -> HTML I use EPublisher and EPublisher::Target::Plugin::OTRSDoc...
> (I've published EPublisher and some plugins on CPAN)
>
> - Renée
>
>
> On 24.09.2013 12:09, Martin Gruner wrote:
> > Hi Renée,
> >
> > I would like to know which toolchain you are using to generate the docs,
> > could you tell us?
> >
> > Regards, mg
> >
> > Am 24.09.13 11:37, schrieb Renee B:
> >> You can find the API docs at http://otrs.perl-services.de/docs/
> >>
> >> On 24.09.2013 11:16, Bogdan Iosif wrote:
> >>> Hi,
> >>>
> >>> Navigating http://dev.otrs.org I noticed that updates for dev API are
> >>> missing for v3.2.x (seems it happened since source control was moved to
> >>> github).
> >>>
> >>> Where was this info extracted from?
> >>>
> >>> //bogdan
> >>>
> >>>
> >>>
> >>> ___
> >>> 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
> >>
> >>
>
>
> --
> Perl / OTRS development: http://perl-services.de
> OTRS AddOn repository: http://opar.perl-services.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

Re: [dev] Dev API missing from http://dev.otrs.org for v3.2.x

2013-09-24 Thread Bogdan Iosif
Thanks. I didn't have additional information in mind, I just wanted to know
that browsing the sources directly is enough.


On Tue, Sep 24, 2013 at 1:45 PM, Renee B  wrote:

> On 24.09.2013 12:39, Bogdan Iosif wrote:
> > To generate the API docs, EPublisher parses each source file and extracts
> > comments, right?
>
> right
>
> > Is there information added to the API docs from some other
> > source?
>
> No, can you describe what additional information you would add?
>
> - Renée
>
> --
> Perl / OTRS development: http://perl-services.de
> OTRS AddOn repository: http://opar.perl-services.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

[dev] Anyone uses IDE assisted OTRS source navigation?

2013-09-24 Thread Bogdan Iosif
Hi list,

Does anyone use an IDE that provides useful assistance with browsing OTRS'
sources? If so, which one? For example I would LOVE to have the capability
of jumping to definition for a variable / method / object.

I currently use Notepad++ on Windows and raw / regex text searches on all
OTRS source files. It's very rudimentary but I don't know of a better way.

//bogdan
___
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

Re: [dev] Integrating OTRS with another System

2014-01-17 Thread Bogdan Iosif
Hi,

I'm pretty sure this doesn't belong on the dev mailing list because you
don't intend to make changes to OTRS/ITSM code or create extensions for it,
you just need to use it in a more advanced scenario.

Beware I assume you've succeeded in showing a dynamic field as an URL
containing the TicketID (beware that the TicketID is the one visible in URL
when zoom-viewing a ticket in agent's interface, and it's different from
the TicketNumber, the one that looks like Ticket#2014)

Let's say the agent clicks on this URL and jumps to the other system. When
this action occurs you have no server side event in OTRS that could trigger
a web service call behind the scenes, towards the other system, that would
transfer ticket details.

I would instead rely on the other-system to call a web service from OTRS
(implementing the TicketGet method) when it's accessed via OTRS' agent
interface URL. Your other system receives the TicketID through the URL so
that's good but then you get into authentication and authorization issues.
I'm not aware of OTRS implementing any support for single sign on so you'll
need to store OTRS user/passwords (you'll need them during OTRS web service
calls) in your other system, for each other-system-user. You could use a
single admin-level OTRS credential to access OTRS but then you'll enter a
whole other mess by having to duplicate authorization logic, etc.

So, if you can somehow solve this security problem then you have the
following basic workflow:
1. agent clicks URL for the other system in OTRS ticket zoom view
2. URL jumps him to the other system
3. while processing the URL, the other system gets OTRS TicketID from the
URL and then uses magic to authenticate and call an OTRS web service, from
which it gets all the ticket details it needs via TicketGet method
4. the other system allows the agent to perform chats, etc.
5. when the agent is done using the other system, the other system again
calls an OTRS web service to send back to OTRS additional ticket data via
the TicketUpdate method
6. happy 2015!

If you are in a hurry to carry out this integration and do not have decent
Perl knowledge and some familiarity with OTRS source code then you need to
strongly consider that it will take you a LONG time to get it to work. You
can try cutting corners by doing a DB-level integration but any mistake
there will cost you dearly.

/bogdan




On Fri, Jan 17, 2014 at 10:53 AM, Wissam Abou Rjeily <
wissam.abou-rje...@ncc-solutions.com> wrote:

>   Hello,
>
>  I want to integrate OTRS with another System which is responsible of
> remote support.
> First, I’ve installed OTRS 3.3.3 with all the ITSM modules and it is
> running perfect with a mySQL database.
>
>  Here is the scenario:
>
>1. Adding a field to the Tickets (or Change or Problem or Incident) in
>OTRS. The field, when clicked, will be passing the Ticket’s ID to the
>remote support system and will redirect the user to the other remote system
>(using a Link to the remote support system).
>2. After connecting with the remote support system, the user will be
>able to chat with the help desk employee (using an interface of that remote
>support system which will be opened directly after clicking on the field
>added to the ticket in 1).
>3. At the end of the remote support session, the chat script between
>the 2 parties should be returned to OTRS and included and saved in the
>Ticket (or problem or change).
>
> I started planning for the integration and thought of the following steps
> which could be helpful for the integration:
>
>1. Adding a Dynamic Field with value Text and Default value = ‚Link to
>be used to open the support session with the other remote support system‘
>2. Adding an Outgoing Web Service on OTRS which will be containing the
>data about the Ticket (ID, notes, Details, Prio, etc…)
>3. At the remote support system, I have the ability to store the
>Ticket ID in an External ID field. That could be getting the ID from step 2
>and storing it temporarily on the remote support system.
>4. The External ID field filled in 3 will be used to pass the chat
>script related to that ID (Ticket ID) from the remote support system to the
>OTRS
>5. Adding an Incoming Web Service on OTRS which will be responsible of
>getting the chat script after ending the session on the remote support
>system and saving it in the ticket (by referring to the Ticket ID)
>
> I am still new to OTRS but I’ve read about the Web Services and the
> Dynamic fields.
>
>  Can anyone advise if the integration steps are fine or should I think in
> another way to get the implementation done?
>
>  The issue is very urgent and I would appreciate your replies.
>
>  Thanks in advance.
>
>  Best Regards,
> Wissam
>
>
> *Wissam Abou Rjeily *MBA & Bachelor of Engineering – Technical Consultant
>
>
>
> *ncc solutions GmbH*
>
> Claudius-Keller-Str. 3b
> D-81669 München
>
>
> Phone:  +49 (0

[dev] Enabling built-in debug messages

2015-07-24 Thread Bogdan Iosif
Hi,

The Internet led me to believe all built-in debug messages are controlled
via $Self->{Debug} in Config.pm. However, it seems that all this does is
enable debug messages for setting load (which are written in Apache
error_log and NOT to OTRS log file / syslog).

I needed to enable built-in debug messages from Ticket.pm (e.g. for ACL
debugging). The best way I found is to set "my $Debug" in customer.pl /
index.pl / etc.

QUESTION_1: Is there a better way? I hate editing customer.pl / index.pl.

It seems OTRS has no central control for all built-in debug messages.
Instead, there are dedicated controls for various subsets of messages.
Besides those mentioned above, it seems there's separate control for web
service debugging, frontend debugging, language debugging, etc.

QUESTION_2: Is there a summary list of all these control points for
enabling built-in debug messages?

/bogdan

P.S: In case any other lost soul is wondering why they can't see any debug
messages in /var/log/messages, beware that by default they are filtered out
by syslog. You need to either switch to logging to file (from OTRS) or
reconfigure your syslog installation.
___
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

[dev] Privacy bug leads to internal notes being sent to customers. Confirmation?

2015-09-23 Thread Bogdan Iosif
Hi,

I use OTRS 3.3.7 but from what I saw on github the problem is also present
in 4.x.

Problem: When an event notification (ADMIN->Notifications (Event)) with
 in its text is fired, if the latest article added by
an agent is an internal note, then the body of the generated notification
email will contain the first 10 lines of the internal note.

Seeing how these notifications are registered in history as
SendCustomerNotification, then it's very debatable they should have access
to internal notes at all.

Repro steps:
1. Configure an event notification triggered when ticket state is changed,
to be sent to the customer or an arbitrary email address, with article body
containing 
2. Customer posts a new ticket (state is "new")
3. Agent posts an internal note (state is not changed)
4. Customer adds an article to the ticket and changes the state from "new"
to "open" => email notification is sent to customer containing lines from
the internal note

Is the problem correctly identified? Is there a workaround?

/bogdan

P.S: Here is the relevant code from v3.3.7,
Kernel\System\Ticket\Event\NotificationEvent.pm, line 725:

All articles are retrieved in @ArticleBoxAgent and then the latest one sent
by an agent is taken in %ArticleAgent, regardless of whether or not it's an
internal note.

# latest customer and agent article
my @ArticleBoxAgent = $Self->{TicketObject}->ArticleGet(
TicketID  => $Param{TicketID},
UserID=> $Param{UserID},
DynamicFields => 0,
);
my %ArticleAgent;
for my $Article ( reverse @ArticleBoxAgent ) {
next if $Article->{SenderType} ne 'agent';
%ArticleAgent = %{$Article};
last;
}
___
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

Re: [dev] Privacy bug leads to internal notes being sent to customers. Confirmation?

2015-09-25 Thread Bogdan Iosif
Michiel, thanks for the reply.

I understand that the tag is currently used as is and so it could be a
problem if it chances.

Even so, I believe there's a strong argument for incoherence/bug with the
way it works now. A notification that is designed to be recorded in history
as Send>Customer<Notification has access to internal notes which
are by design NOT for customers. It's reasonable to believe there are more
OTRS users who would be unhappy about their internal notes being exposed to
customers than those who are happy with that. I can tell you that my
support people entered panic mode when they found out about it and
immediately halted all customer notifications.

One way forward would be to introduce a new tag, as you suggested.

I propose an alternative: make the current tag ignore internal notes if
"Notification article type" is "email-notification>ext<---". I think
the field is not used for any other decision from what I saw in code.

It's easy to implement and would still allow all behaviors.

/bogdan

On 25 September 2015 at 00:01, Michiel Beijen 
wrote:

> Hi Iosif,
>
> The AGENT ARTICLE is simply documented as the last article the agent
> saved in the ticket. Whether this is internal or external does not
> matter.
> I know organisations that use 'internal notes' to close the ticket and
> set up an event based notifications to push these notes out to
> customers.
>
> If you don't want to send the last Agent Article to the customer then
> don't use the tag.
> It's more or less similar to not use the tag 
> if you don't want to send out the password to your database in
> notifications!
>
> Of course, I can understand it if you'd need a tag to
> LAST_ARTICLE_AGENT_SENT_TO_CUSTOMER or similar :D but that's a
> different story - and currently not available out of the box in OTRS.
>
> --
> Michiel
>
> On Wed, Sep 23, 2015 at 12:22 PM, Bogdan Iosif 
> wrote:
> > Hi,
> >
> > I use OTRS 3.3.7 but from what I saw on github the problem is also
> present
> > in 4.x.
> >
> > Problem: When an event notification (ADMIN->Notifications (Event)) with
> >  in its text is fired, if the latest article added
> by
> > an agent is an internal note, then the body of the generated notification
> > email will contain the first 10 lines of the internal note.
> >
> > Seeing how these notifications are registered in history as
> > SendCustomerNotification, then it's very debatable they should have
> access
> > to internal notes at all.
> >
> > Repro steps:
> > 1. Configure an event notification triggered when ticket state is
> changed,
> > to be sent to the customer or an arbitrary email address, with article
> body
> > containing 
> > 2. Customer posts a new ticket (state is "new")
> > 3. Agent posts an internal note (state is not changed)
> > 4. Customer adds an article to the ticket and changes the state from
> "new"
> > to "open" => email notification is sent to customer containing lines from
> > the internal note
> >
> > Is the problem correctly identified? Is there a workaround?
> >
> > /bogdan
> >
> > P.S: Here is the relevant code from v3.3.7,
> > Kernel\System\Ticket\Event\NotificationEvent.pm, line 725:
> >
> > All articles are retrieved in @ArticleBoxAgent and then the latest one
> sent
> > by an agent is taken in %ArticleAgent, regardless of whether or not it's
> an
> > internal note.
> >
> > # latest customer and agent article
> > my @ArticleBoxAgent = $Self->{TicketObject}->ArticleGet(
> > TicketID  => $Param{TicketID},
> > UserID=> $Param{UserID},
> > DynamicFields => 0,
> > );
> > my %ArticleAgent;
> > for my $Article ( reverse @ArticleBoxAgent ) {
> > next if $Article->{SenderType} ne 'agent';
> > %ArticleAgent = %{$Article};
> > last;
> > }
> >
> >
> > ___
> > 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
>
___
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