[rt-users] RT 4.0.2 articles - How to set RT not to put Article info upon including?

2011-11-23 Thread Katina Haytova

Hello,

First:
Hello, I am very glad to use RT as it is brilliant.

I searched Google the Wiki and FAQs, but I could not find answers to my 
problem. I also got through the code on the server where my RT is 
installed but I could not find any clues about how to resolve my problem.


My problem:
When I try to insert an article in the REPLY or COMMENT field some 
additional info appears.
I would like to include only the contents of the article, but I also get 
the name and number of this article in my writing field.


Example:
My example article's number is 5,
Its title is Hello
Its contents:
Hello,

Thank you for contacting us.

When I choose to insert this article here is what I get:
_

#5: Hello
--
Content:
---
Hello,

Thank you for contacting us.

_

Is it possible to setup RT in a way that will not allow the number and 
title info of the article to appear in the writing field?



Thank you in advance for all suggestions!

Best regards
Kate

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] Query / Report worked time

2011-11-23 Thread Ruslan Zakirov
On Wed, Nov 23, 2011 at 1:21 AM, Mayk Backus bac...@nlcom.nl wrote:
 Hi List,

 Is there a way to get a report timeworked a little detailed ?
 For example, show me all tickets that have been worked on today, and
 show the time worked on the tickets today, so not the total worked time
 on a ticket. We have tickets that span a couple of days, so i'm
 interested in reporting today's worked time.
 Can this be done with a query ?

You probably need a new column, TimeWorkedToday, and a custom code in
tickets' column map to implement it.

 Thank you for your time.

 Reagards,

 Mayk

 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011




-- 
Best regards, Ruslan.

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011

[rt-users] Linking foreign tickets to RT tickets

2011-11-23 Thread Vegard Vesterheim
We would like to implement automatic handling of email messages with
foreign tickets in our RT installation. 

When we get an email message containing a foreign ticket-id, we will
create a new RT ticket in our system, taken special care to register the
foreign ticket-id. When we get an email message with updated information
about a previously seen foreign ticket-id, we will append/merge this
into the existing RT ticket in our system. Ticket resolution could be
automatic as well.

I found this solution on the wiki, which implements a similar idea. 
http://requesttracker.wikia.com/wiki/AutoCloseOnNagiosRecoveryMessages

We would like this to be handled in a generic way. In principle one
ticket in our RT system can refer to several other tickets on different
foreign ticket systems. The first question is how to store the foreign
ticket-id. One possibility is to use one of the Links fields in RT,
another is to create a specific multivalued custom field. 

I guess this is a common use-case, and it could probably be implemented
in a generic way, maybe even as an RT extension. I am wondering if
someone has done something like this already.

 - Vegard V -

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] RT 4.0.2 articles - How to set RT not to put Article info upon including?

2011-11-23 Thread Kevin Falcone
On Wed, Nov 23, 2011 at 01:51:13PM +0200, Katina Haytova wrote:
 Hello,
 
 First:
 Hello, I am very glad to use RT as it is brilliant.
 
 I searched Google the Wiki and FAQs, but I could not find answers to
 my problem. I also got through the code on the server where my RT is
 installed but I could not find any clues about how to resolve my
 problem.
 
 My problem:
 When I try to insert an article in the REPLY or COMMENT field some
 additional info appears.
 I would like to include only the contents of the article, but I also
 get the name and number of this article in my writing field.
 
 Example:
 My example article's number is 5,
 Its title is Hello
 Its contents:
 Hello,
 
 Thank you for contacting us.
 
 When I choose to insert this article here is what I get:
 _
 
 #5: Hello
 --
 Content:
 ---
 Hello,
 
 Thank you for contacting us.
 
 _
 
 Is it possible to setup RT in a way that will not allow the number
 and title info of the article to appear in the writing field?

This is controlled on the Class configuration page, there are
checkboxes for it.

Tools - Configuration - Tools - Articles - Classes - Select

-kevin


pgplP6NaqLcwP.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Linking foreign tickets to RT tickets

2011-11-23 Thread Kevin Falcone
On Wed, Nov 23, 2011 at 02:38:08PM +0100, Vegard Vesterheim wrote:
 We would like to implement automatic handling of email messages with
 foreign tickets in our RT installation. 
 
 When we get an email message containing a foreign ticket-id, we will
 create a new RT ticket in our system, taken special care to register the
 foreign ticket-id. When we get an email message with updated information
 about a previously seen foreign ticket-id, we will append/merge this
 into the existing RT ticket in our system. Ticket resolution could be
 automatic as well.
 
 I found this solution on the wiki, which implements a similar idea. 
 http://requesttracker.wikia.com/wiki/AutoCloseOnNagiosRecoveryMessages

This has been repackaged as rt-extension-nagios

 We would like this to be handled in a generic way. In principle one
 ticket in our RT system can refer to several other tickets on different
 foreign ticket systems. The first question is how to store the foreign
 ticket-id. One possibility is to use one of the Links fields in RT,
 another is to create a specific multivalued custom field. 
 
 I guess this is a common use-case, and it could probably be implemented
 in a generic way, maybe even as an RT extension. I am wondering if
 someone has done something like this already.

The problem with the generic solution is usually the
parsing/regenerating of the foreign system's ticket information.
That tends to vary wildly.  I'd probably store the foreign ticket info
in RT using a Custom Field with a Link To setting back into the
foreign system, but a Refers To link would also work.

-kevin


pgpzyJrZ3wSK6.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] RT 4.0.2 articles - How to set RT not to put Article info upon including?

2011-11-23 Thread Katina Haytova

On 11/23/2011 03:58 PM, Kevin Falcone wrote:


This is controlled on the Class configuration page, there are
checkboxes for it.

Tools -  Configuration -  Tools -  Articles -  Classes -  Select

-kevin




RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain � November 28  29, 2011


Ooh. Thank You!
I feel so stupid.
Thank you sooo much!
You saved my day!

Regards
Kate

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011

Re: [rt-users] Query / Report worked time

2011-11-23 Thread Ruslan Zakirov
On Wed, Nov 23, 2011 at 5:24 PM, Mayk Backus bac...@nlcom.nl wrote:
 Hi Ruslan,

 thanx for the reply.  I've looked at the database, and it has a table
 called transactions. It contains the needed info, so my gues is it can
 be done with a script that gets the data straight from the sql. Not
 pretty, but could work. I'm more interested in a nice module/extension
 that can provide me with the info. At the moment we are looking into the
 ActivityReports and the TimeWorked .

 The timeworked on the wikia has instructions for RT 4 , but in another
 reply you note it contains 3.8 code. Is the information on the wikia
 incorrect then ?

Give me a link to check those instructions. Tools/Reports dir doesn't
exist in RT4. I assumed that that file you have in local comes from
your 3.8 installation. If it's something from the wiki then it's
possible that it was ported over RT4. You have syntax error in the
file, so it can be copypaste error.


 Thanx

 Regards,

 Mayk



 On 11/23/11 2:18 PM, Ruslan Zakirov wrote:
 On Wed, Nov 23, 2011 at 1:21 AM, Mayk Backus bac...@nlcom.nl wrote:
 Hi List,

 Is there a way to get a report timeworked a little detailed ?
 For example, show me all tickets that have been worked on today, and
 show the time worked on the tickets today, so not the total worked time
 on a ticket. We have tickets that span a couple of days, so i'm
 interested in reporting today's worked time.
 Can this be done with a query ?
 You probably need a new column, TimeWorkedToday, and a custom code in
 tickets' column map to implement it.

 Thank you for your time.

 Reagards,

 Mayk

 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011



 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011




-- 
Best regards, Ruslan.

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011

[rt-users] rt-crontool - increase the value of a CF.

2011-11-23 Thread Bart
Hi,

Before I start with the actual question I'll explain what I'm trying to
achieve first, just in case someone has a better idea for achieving it ;)

As you know the SLA plugin does it's job quite well but what if you'd want
to know exactly how long something was at a supplier or how long a customer
left you waiting for your reports?
It's quite difficult to find this information, and in our case we use
Business Objects to datamine RT's database and it's quite complicated
within BO to calculate these values (and taking into account the actual SLA
service windows + holidays).

Because of that we decided that we needed to solve this within RT, but how?

Below a list of our status types:

   - New
   - Open
   - Parked
   - At_supplier
   - At_requestor
   - At_Internal_department

(roughly translated since we use Dutch names for this)

Our solution was to create a Custom Field for every active/initial ticket
status type, this CF would have the soul purpose of simply showing the
amount of minutes a ticket had this status.
Thus the names of these CF's would look something like this: (these fields
will be hidden from users)

   - Time_New
   - Time_Open
   - Time_Parked
   - Time_At_supplier
   - Time_At_requestor
   - Time_At_Internal_department

Just to keep things clear I'm leaving these names as they are, this part up
to now is rather simple. The difficult part is to get a value inside those
fields.

We thought it would be good to create a cron job which will execute a bash
script (or perl, though I'm more familiar with bash) which will use
rt-crontool to search for all tickets with status X and then increase the
value of the CF Time_X by 5.
The cron job would run every 5 minutes, only during our service window and
within the bash script we'll add the intelligence for skipping the holidays.

So far so good.

I've then created a simple rt-crontool command to see if I could find a
ticket and if I could set a value when I found that ticket. This worked as
well, below the result:

/opt/rt4/bin/rt-crontool \
--search RT::Search::FromSQL \
--search-arg status = 'open' \
--action RT::Action::SetPriority --action-arg 3 \
--verbose

So now for the question(s):

   - First a simple one, how do I set a value for a custom field?
   - And the more difficult one, how do I increase a value instead of
   replacing it? (adding + or something like that doesn't seem to work)

Hopefully this is possible with the rt-crontool, if not then I'd like to
hear your thoughts on how I'd be able to do the above in a different manner.

Thanks in advance for replying :-)

-- Bart

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] rt-crontool - increase the value of a CF.

2011-11-23 Thread Kevin Falcone
On Wed, Nov 23, 2011 at 05:25:01PM +0100, Bart wrote:
I've then created a simple rt-crontool command to see if I could find a 
 ticket and if I could
set a value when I found that ticket. This worked as well, below the 
 result:
/opt/rt4/bin/rt-crontool \
--search RT::Search::FromSQL \
--search-arg status = 'open' \
--action RT::Action::SetPriority --action-arg 3 \
--verbose
So now for the question(s):
 
  * First a simple one, how do I set a value for a custom field?
  * And the more difficult one, how do I increase a value instead of 
 replacing it? (adding +
or something like that doesn't seem to work)
 
Hopefully this is possible with the rt-crontool, if not then I'd like to 
 hear your thoughts on
how I'd be able to do the above in a different manner.

Unfortunately, you'll need to write your own RT::Action to change the CF

You could turn this into a pretty trivial perl script using the RT API
and calling $tickets-FromSQL(status = 'open') and then iterating
the list to call AddCustomFieldValue

-kevin


pgpQrmKPVS3vK.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Query / Report worked time

2011-11-23 Thread Ruslan Zakirov
On Wed, Nov 23, 2011 at 7:42 PM, Mayk Backus bac...@nlcom.nl wrote:
 Hi Ruslan,

 the link to the wiki is :
 http://requesttracker.wikia.com/wiki/TimeWorkedReport
 A coworker of mine, who is a coder, fixed the code, only the integration
 in the menu still doesn't work (perhaps due to 3.8 code?). I will create

Yes. Menu subsystem have been changed in RT4. Take a look at some
extension that have been ported over RT4. Actually the wiki page has
hints about the menu.

 a wiki login to share the changes, it was an issue with quotes i
 learned. We are also changing the script to have some extra output.

 We are still noobs in RT, what's the best way to share modifications ?
 We have some modifications in place to let RT better integrate in i-doit
 (cmdb and documentation software).

Syntax errors should be fixed. If you update with new functionality
then either wrap it as an extension or replace code on the page (if
old functionality is kept and new is generic enough to be used by many
people).

It's really easy to create an extension for RT. Developer installs
Module::Install::RTx and steals Makefile.PL from any extension (steal
from http://search.cpan.org/~ruz/).

 Regards

 Mayk


 On 11/23/11 4:38 PM, Ruslan Zakirov wrote:
 On Wed, Nov 23, 2011 at 5:24 PM, Mayk Backus bac...@nlcom.nl wrote:
 Hi Ruslan,

 thanx for the reply.  I've looked at the database, and it has a table
 called transactions. It contains the needed info, so my gues is it can
 be done with a script that gets the data straight from the sql. Not
 pretty, but could work. I'm more interested in a nice module/extension
 that can provide me with the info. At the moment we are looking into the
 ActivityReports and the TimeWorked .

 The timeworked on the wikia has instructions for RT 4 , but in another
 reply you note it contains 3.8 code. Is the information on the wikia
 incorrect then ?
 Give me a link to check those instructions. Tools/Reports dir doesn't
 exist in RT4. I assumed that that file you have in local comes from
 your 3.8 installation. If it's something from the wiki then it's
 possible that it was ported over RT4. You have syntax error in the
 file, so it can be copypaste error.

 Thanx

 Regards,

 Mayk



 On 11/23/11 2:18 PM, Ruslan Zakirov wrote:
 On Wed, Nov 23, 2011 at 1:21 AM, Mayk Backus bac...@nlcom.nl wrote:
 Hi List,

 Is there a way to get a report timeworked a little detailed ?
 For example, show me all tickets that have been worked on today, and
 show the time worked on the tickets today, so not the total worked time
 on a ticket. We have tickets that span a couple of days, so i'm
 interested in reporting today's worked time.
 Can this be done with a query ?
 You probably need a new column, TimeWorkedToday, and a custom code in
 tickets' column map to implement it.

 Thank you for your time.

 Reagards,

 Mayk

 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011


 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011



 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011




-- 
Best regards, Ruslan.

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011

[rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4

2011-11-23 Thread Karl Boyken
We run RT on RedHat Enterprise Server 6.1, with Perl 5.14.2.  We set up 
RT::ExternalAuth to authenticate against our OpenLDAP server, and it 
works fine with RT 4.0.2.  But after upgrading to RT 4.0.4, LDAP 
authentication breaks.  I'd appreciate any helpful ideas.  Here's the 
relevant log entry--it's an LDAP bind() error:



Nov 23 11:27:28 serv07 RT: 
RT::Authen::ExternalAuth::LDAP::_GetBoundLdapObj Can't bind: 
LDAP_OPERATIONS_ERROR 1 
(/path_to_our_RT/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:467)



This is the relevant section of our RT_SiteConfig.pm file (where values 
beginning with our have been changed for posting):



# To enable RT::Authen::ExternalAuth
Set(@Plugins, qw(RT::Authen::ExternalAuth));

# RT::Authen::ExternalAuth settings
# For information on configuring RT::Authen::ExternalAuth, see
# $RT_HOME/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm

Set($ExternalAuthPriority, ['DIVMS_LDAP',]);
Set($ExternalInfoPriority, ['DIVMS_LDAP',]);
Set($ExternalServiceUsesSSLorTLS, 1);
Set($AutoCreateNonExternalUsers, 1);
Set($ExternalSettings,
{
 'DIVMS_LDAP' = {
  'type' = 'ldap',
  'server' = 'our_server',
  'user' = 'our_cn',
  'pass' = 'our_password',
  'base' = 'our_base',
  'filter' = '(objectClass=*)',
  'd_filter' = '(objectClass=FooBarBaz)',
  'tls' = 1,
  'ssl_version' = 1,
  'net_ldap_args' = [ port = 389, version = 3 ],
  'group' = '',
  'group_attr' = '',
  'attr_match_list' = [ 'Name', 'EmailAddress', ],
  'attr_map' = {
 'Name' = 'uid',
 'EmailAddress' = 'mail',
 'RealName' = 'gecos',
 'ExternalAuthId' = 'uid',
 'Gecos' = 'uid',
}
 }
}
);

--
Karl Boyken, system administrator 
karl-boy...@uiowa.edu
303A MLH, Dept. of Comp. Sci. 
http://www.cs.uiowa.edu/~boyken/
The U. of Iowa, Iowa City, IA  52242   319-335-2730 (voice) 
319-335-3668 (fax)


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


[rt-users] rt v. rt-crontool

2011-11-23 Thread Yan Seiner
The recent discussion on modifying custom fields got me thinking What
is the difference between using rt and rt-crontool?

Seems that both can do slightly different things and are really different
tools.  The name makes it seem like rt-crontool is somehow preferred when
running a scheduled job, but I can't think of a reason why rt could not be
used in a cron job.

Here's a script I use to create a linked ticket from an email:

#!/bin/bash

# exim helper script for adding an invoice ticket to a work order

# create a temp file and dump stdio into it
t=$(tempfile --directory=/tmp) || exit 1
cat -  $t

# we create the ticket
subject=$(grep -i '^subject:' $t | sed -e 's/^.*: *//')
ticket=$(/opt/rt4/bin/rt create -t ticket set queue=Water Invoices
subject=${subject} | sed -e s/[^0-9]//g)
parent=$(/opt/rt4/bin/rt ls -i 'CF.{Work Order No.}'=${LOCAL_PART} and
queue!='Water Invoices' | sed -e s+^.*/++)

# validate $parent here; exit 1 if not found
if [[ -z $parent ]] ; then
echo Work Order ${LOCAL_PART} not found
exit 1
fi

# exit 1 if multiple tickets found
if [ `echo $parent | wc | awk '{print $2}'` -gt 1 ] ; then
echo Multiple tickets with Work Order ${LOCAL_PART} found
echo ticket numbers are  `echo $parent | sed s+ticket/++g`
exit 1
fi

# Now link ticket
/opt/rt4/bin/rt link ${ticket} memberof ${parent}

# and set custom fields
/opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{contractor}'=${contractor}
/opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{amount}'=${amount}

export EXTENSION=${ticket}
cat $t | /opt/rt4/bin/rt-mailgate --action comment --queue Invoices
--extension ticket --url http://rt.subutil.com


-- 
Pain is temporary. It may last a minute, or an hour, or a day, or a year,
but eventually it will subside and something else will take its place. If
I quit, however, it lasts forever.


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] rt-crontool - increase the value of a CF.

2011-11-23 Thread Bart
Did some reading on the RT-Tool page (
http://requesttracker.wikia.com/wiki/UseRtTool ) and found this command:

bin/rt list -i Queue = 'testqueue' | bin/rt edit - set status=resolved

I'm lacking the documentation and our test environment a.t.m. (am at home).
So I'll do some experimenting in the test environment tomorrow at work,
hopefully it will show me some nice results ^_^


-- Bart


Op 23 november 2011 19:57 schreef Bart b...@pleh.info het volgende:

 Hi Yan,

 I'll also have a look at the rt script and see if I can manage it using
 that, thanks :)

 -- Bart


 Op 23 november 2011 19:50 schreef Yan Seiner y...@seiner.com het
 volgende:

 Wouldn't this work (snippet from a bigger script):

 # and set custom fields
 /opt/rt4/bin/rt edit ticket/${ticket} set
 'CF.{contractor}'=${contractor}
 /opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{amount}'=${amount}

 That's how I set custom fields.  You could get the value that way,
 increment it or whatever in a script, and then set it again.



 On Wed, November 23, 2011 10:23 am, Bart wrote:
  Hi Kevin,
 
  Thanks for the reply,
 
  Guess I'll have to learn Perl a bit more then and experiment a little
 with
  this.
 
  Will post the results once I've gained some progress.
 
  -- Bart
 
 
  Op 23 november 2011 18:08 schreef Kevin Falcone
  falc...@bestpractical.comhet volgende:
 
  On Wed, Nov 23, 2011 at 05:25:01PM +0100, Bart wrote:
  I've then created a simple rt-crontool command to see if I could
  find
  a ticket and if I could
  set a value when I found that ticket. This worked as well, below
  the
  result:
  /opt/rt4/bin/rt-crontool \
  --search RT::Search::FromSQL \
  --search-arg status = 'open' \
  --action RT::Action::SetPriority --action-arg 3 \
  --verbose
  So now for the question(s):
  
* First a simple one, how do I set a value for a custom field?
* And the more difficult one, how do I increase a value instead
  of
  replacing it? (adding +
  or something like that doesn't seem to work)
  
  Hopefully this is possible with the rt-crontool, if not then I'd
  like
  to hear your thoughts on
  how I'd be able to do the above in a different manner.
 
  Unfortunately, you'll need to write your own RT::Action to change the
 CF
 
  You could turn this into a pretty trivial perl script using the RT API
  and calling $tickets-FromSQL(status = 'open') and then iterating
  the list to call AddCustomFieldValue
 
  -kevin
 
  
  RT Training Sessions (http://bestpractical.com/services/training.html)
  *  Barcelona, Spain — November 28  29, 2011
 
 
 
  !DSPAM:4ecd3a6094962612618147!
  
  RT Training Sessions (http://bestpractical.com/services/training.html)
  *  Barcelona, Spain ? November 28  29, 2011
 
  !DSPAM:4ecd3a6094962612618147!
 


 --
 Pain is temporary. It may last a minute, or an hour, or a day, or a year,
 but eventually it will subside and something else will take its place. If
 I quit, however, it lasts forever.




RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] rt v. rt-crontool

2011-11-23 Thread Kevin Falcone
On Wed, Nov 23, 2011 at 11:06:12AM -0800, Yan Seiner wrote:
 The recent discussion on modifying custom fields got me thinking What
 is the difference between using rt and rt-crontool?

bin/rt is a general purpose tool that uses the REST interface
rt-crontool is intended to glue together existing
RT::Search/RT::Condition/RT::Action/RT::Templates.

For example, I could do your bin/rt script as a CreateTickets action
with a custom Template.

If the search, condition and action you want already exist (such as
bumping priority on tickets after 5 days without an owner) then
rt-crontool is going to just work with a lot less code than recreating
that in bin/rt.

Also, looping over hundreds of tickets should be faster in rt-crontool
rather than bin/rt because it uses the API rather than making tons of
HTTP requests.

-kevin

 Seems that both can do slightly different things and are really different
 tools.  The name makes it seem like rt-crontool is somehow preferred when
 running a scheduled job, but I can't think of a reason why rt could not be
 used in a cron job.
 
 Here's a script I use to create a linked ticket from an email:
 
 #!/bin/bash
 
 # exim helper script for adding an invoice ticket to a work order
 
 # create a temp file and dump stdio into it
 t=$(tempfile --directory=/tmp) || exit 1
 cat -  $t
 
 # we create the ticket
 subject=$(grep -i '^subject:' $t | sed -e 's/^.*: *//')
 ticket=$(/opt/rt4/bin/rt create -t ticket set queue=Water Invoices
 subject=${subject} | sed -e s/[^0-9]//g)
 parent=$(/opt/rt4/bin/rt ls -i 'CF.{Work Order No.}'=${LOCAL_PART} and
 queue!='Water Invoices' | sed -e s+^.*/++)
 
 # validate $parent here; exit 1 if not found
 if [[ -z $parent ]] ; then
 echo Work Order ${LOCAL_PART} not found
 exit 1
 fi
 
 # exit 1 if multiple tickets found
 if [ `echo $parent | wc | awk '{print $2}'` -gt 1 ] ; then
 echo Multiple tickets with Work Order ${LOCAL_PART} found
 echo ticket numbers are  `echo $parent | sed s+ticket/++g`
 exit 1
 fi
 
 # Now link ticket
 /opt/rt4/bin/rt link ${ticket} memberof ${parent}
 
 # and set custom fields
 /opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{contractor}'=${contractor}
 /opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{amount}'=${amount}
 
 export EXTENSION=${ticket}
 cat $t | /opt/rt4/bin/rt-mailgate --action comment --queue Invoices
 --extension ticket --url http://rt.subutil.com
 
 
 -- 
 Pain is temporary. It may last a minute, or an hour, or a day, or a year,
 but eventually it will subside and something else will take its place. If
 I quit, however, it lasts forever.
 
 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011


pgpIlssUH0CU4.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] rt v. rt-crontool

2011-11-23 Thread Bart
Hi,

I believe that the real difference is that the RT tool allows you to
actually create tickets and the RT-CronTool only has the ability to edit
them.

Other then that I wouldn't know much about the differences (except for the
syntax of course).

As for using the RT tool for cron, I can't see a reason for not using it in
cron. (both RT tool and RT-CronTool have their use I guess)

We're using the RT tool in cron for creating periodic tickets (example
below):


#!/bin/bash

/opt/rt4/bin/rt create -t ticket \
set subject='A ticket subject, something snappy' \
set owner=who.should.be.the.ow...@example.com \
set requestor=who.should.be.the.reques...@example.com \
set queue='Queue Name' \
set text='More detailed text regarding the periodic action.' \
set CF-'Ticket Type'='Change' \
set CF-'Ticket Priority'='4' \
set CF-'Item A'='Server' \
set CF-'Item B'='Admin' \
set CF-'Item C'='Update'

It's nothing fancy but it's a straight forward way for creating tickets :-)


-- Bart


Op 23 november 2011 20:06 schreef Yan Seiner y...@seiner.com het volgende:

 The recent discussion on modifying custom fields got me thinking What
 is the difference between using rt and rt-crontool?

 Seems that both can do slightly different things and are really different
 tools.  The name makes it seem like rt-crontool is somehow preferred when
 running a scheduled job, but I can't think of a reason why rt could not be
 used in a cron job.

 Here's a script I use to create a linked ticket from an email:

 #!/bin/bash

 # exim helper script for adding an invoice ticket to a work order

 # create a temp file and dump stdio into it
 t=$(tempfile --directory=/tmp) || exit 1
 cat -  $t

 # we create the ticket
 subject=$(grep -i '^subject:' $t | sed -e 's/^.*: *//')
 ticket=$(/opt/rt4/bin/rt create -t ticket set queue=Water Invoices
 subject=${subject} | sed -e s/[^0-9]//g)
 parent=$(/opt/rt4/bin/rt ls -i 'CF.{Work Order No.}'=${LOCAL_PART} and
 queue!='Water Invoices' | sed -e s+^.*/++)

 # validate $parent here; exit 1 if not found
 if [[ -z $parent ]] ; then
echo Work Order ${LOCAL_PART} not found
exit 1
 fi

 # exit 1 if multiple tickets found
 if [ `echo $parent | wc | awk '{print $2}'` -gt 1 ] ; then
echo Multiple tickets with Work Order ${LOCAL_PART} found
echo ticket numbers are  `echo $parent | sed s+ticket/++g`
exit 1
 fi

 # Now link ticket
 /opt/rt4/bin/rt link ${ticket} memberof ${parent}

 # and set custom fields
 /opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{contractor}'=${contractor}
 /opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{amount}'=${amount}

 export EXTENSION=${ticket}
 cat $t | /opt/rt4/bin/rt-mailgate --action comment --queue Invoices
 --extension ticket --url http://rt.subutil.com


 --
 Pain is temporary. It may last a minute, or an hour, or a day, or a year,
 but eventually it will subside and something else will take its place. If
 I quit, however, it lasts forever.

 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain  November 28  29, 2011


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] rt v. rt-crontool

2011-11-23 Thread Bart
Ah, that clarifies the actual difference.

Thanks for sharing :)

-- Bart


Op 23 november 2011 20:29 schreef Kevin Falcone
falc...@bestpractical.comhet volgende:

 On Wed, Nov 23, 2011 at 11:06:12AM -0800, Yan Seiner wrote:
  The recent discussion on modifying custom fields got me thinking What
  is the difference between using rt and rt-crontool?

 bin/rt is a general purpose tool that uses the REST interface
 rt-crontool is intended to glue together existing
 RT::Search/RT::Condition/RT::Action/RT::Templates.

 For example, I could do your bin/rt script as a CreateTickets action
 with a custom Template.

 If the search, condition and action you want already exist (such as
 bumping priority on tickets after 5 days without an owner) then
 rt-crontool is going to just work with a lot less code than recreating
 that in bin/rt.

 Also, looping over hundreds of tickets should be faster in rt-crontool
 rather than bin/rt because it uses the API rather than making tons of
 HTTP requests.

 -kevin

  Seems that both can do slightly different things and are really different
  tools.  The name makes it seem like rt-crontool is somehow preferred when
  running a scheduled job, but I can't think of a reason why rt could not
 be
  used in a cron job.
 
  Here's a script I use to create a linked ticket from an email:
 
  #!/bin/bash
 
  # exim helper script for adding an invoice ticket to a work order
 
  # create a temp file and dump stdio into it
  t=$(tempfile --directory=/tmp) || exit 1
  cat -  $t
 
  # we create the ticket
  subject=$(grep -i '^subject:' $t | sed -e 's/^.*: *//')
  ticket=$(/opt/rt4/bin/rt create -t ticket set queue=Water Invoices
  subject=${subject} | sed -e s/[^0-9]//g)
  parent=$(/opt/rt4/bin/rt ls -i 'CF.{Work Order No.}'=${LOCAL_PART} and
  queue!='Water Invoices' | sed -e s+^.*/++)
 
  # validate $parent here; exit 1 if not found
  if [[ -z $parent ]] ; then
  echo Work Order ${LOCAL_PART} not found
  exit 1
  fi
 
  # exit 1 if multiple tickets found
  if [ `echo $parent | wc | awk '{print $2}'` -gt 1 ] ; then
  echo Multiple tickets with Work Order ${LOCAL_PART} found
  echo ticket numbers are  `echo $parent | sed s+ticket/++g`
  exit 1
  fi
 
  # Now link ticket
  /opt/rt4/bin/rt link ${ticket} memberof ${parent}
 
  # and set custom fields
  /opt/rt4/bin/rt edit ticket/${ticket} set
 'CF.{contractor}'=${contractor}
  /opt/rt4/bin/rt edit ticket/${ticket} set 'CF.{amount}'=${amount}
 
  export EXTENSION=${ticket}
  cat $t | /opt/rt4/bin/rt-mailgate --action comment --queue Invoices
  --extension ticket --url http://rt.subutil.com
 
 
  --
  Pain is temporary. It may last a minute, or an hour, or a day, or a year,
  but eventually it will subside and something else will take its place. If
  I quit, however, it lasts forever.
 
  
  RT Training Sessions (http://bestpractical.com/services/training.html)
  *  Barcelona, Spain  November 28  29, 2011

 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain — November 28  29, 2011


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

[rt-users] Search issue

2011-11-23 Thread Mark Fuller
If we try to search using the quick search box on the main page we can not
search for a number because rt thinks it has to search for a ticket number.
Being an ITSP we often have phone numbers in the subject line we want to
look for and if we could search from there it would be much easier



Any ideas what we need to do to make that work we are using

RT 3.6.3



Mark

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Search issue

2011-11-23 Thread k...@rice.edu
On Wed, Nov 23, 2011 at 02:43:57PM -0500, Mark Fuller wrote:
 If we try to search using the quick search box on the main page we can not
 search for a number because rt thinks it has to search for a ticket number.
 Being an ITSP we often have phone numbers in the subject line we want to
 look for and if we could search from there it would be much easier
 
 
 
 Any ideas what we need to do to make that work we are using
 
 RT 3.6.3
 
 
 
 Mark

We patched it to accept a number with anything else, even a space, as a 
text search and not a ticket number lookup. It was easy but I am away 'til
Monday.

Cheers,
Ken

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] Search issue

2011-11-23 Thread Mark Fuller
Thanks Ken no rush but I would love a solution

Mark

-Original Message-
From: k...@rice.edu [mailto:k...@rice.edu]
Sent: Wednesday, November 23, 2011 2:48 PM
To: Mark Fuller
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Search issue

On Wed, Nov 23, 2011 at 02:43:57PM -0500, Mark Fuller wrote:
 If we try to search using the quick search box on the main page we can
not
 search for a number because rt thinks it has to search for a ticket
number.
 Being an ITSP we often have phone numbers in the subject line we want to
 look for and if we could search from there it would be much easier



 Any ideas what we need to do to make that work we are using

 RT 3.6.3



 Mark

We patched it to accept a number with anything else, even a space, as a
text search and not a ticket number lookup. It was easy but I am away 'til
Monday.

Cheers,
Ken

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] rt-4.0.4 search non latin character problem

2011-11-23 Thread Kevin Falcone
On Tue, Nov 22, 2011 at 06:01:57PM +0200, har...@lttnet.net wrote:
 Kevin Falcone wrote:
 On Tue, Nov 22, 2011 at 02:55:33PM +0200, har...@lttnet.net wrote:
 I installed new rt-4.0.4 but i faced problem with search non latin
 character like arabic words, it is ok with english words, i have old
 RT-3.8.1 I can search Arabic words with it
 and also I tested rt-4.0.0  rt-4.0.2 and I faced the same problem,
 I ask if any one know how can I fix this issue or what should I do
 to trace it.
 
 What database, what form of searching have you enabled (indexed full
 text, non-indexed full text) or is this subject rather than content
 searching.
 tanks for your reply, my database is is mysql-5.077, and I use the
 default setting for search in /etc/ RT_Config.pm, I faced the
 problem with simple and advanced search
 search example: http://rt.mydomain.com/Search/Simple.html?q=ليبيا

That search only looks at Subjects, not at any body content.
Should it match a subject?  What kind of search are you doing from
Advanced?

-kevin


pgpm3TjdpIDI2.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Search issue

2011-11-23 Thread Mark Fuller
I tried that and it did not work

Mark

-Original Message-
From: rt-users-boun...@lists.bestpractical.com
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Kevin
Falcone
Sent: Wednesday, November 23, 2011 2:52 PM
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Search issue

On Wed, Nov 23, 2011 at 02:43:57PM -0500, Mark Fuller wrote:
If we try to search using the quick search box on the main page we
can not search for a number
because rt thinks it has to search for a ticket number. Being an ITSP
we often have phone
numbers in the subject line we want to look for and if we could
search from there it would be
much easier

Search for number instead

The quotes skip the magic id check

-kevin

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] Search issue

2011-11-23 Thread Kevin Falcone
On Wed, Nov 23, 2011 at 02:53:16PM -0500, Mark Fuller wrote:
 I tried that and it did not work

The code is there in 3.6.3, and it works fine in 3.8 and 4.0.
Since 3.6 was end-of-lifed a few months ago, I don't have an instance
handy to test on.

-kevin

 -Original Message-
 From: rt-users-boun...@lists.bestpractical.com
 [mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Kevin
 Falcone
 Sent: Wednesday, November 23, 2011 2:52 PM
 To: rt-users@lists.bestpractical.com
 Subject: Re: [rt-users] Search issue
 
 On Wed, Nov 23, 2011 at 02:43:57PM -0500, Mark Fuller wrote:
 If we try to search using the quick search box on the main page we
 can not search for a number
 because rt thinks it has to search for a ticket number. Being an ITSP
 we often have phone
 numbers in the subject line we want to look for and if we could
 search from there it would be
 much easier
 
 Search for number instead
 
 The quotes skip the magic id check


pgpzFAfXrS2bz.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4

2011-11-23 Thread Karl Boyken
From the LDAP server logs, it looks like a TLS negotiation failure. 
So, how does upgrading to 4.0.4 break RT::ExternalAuth TLS negotiation? 
 I'm using the same settings for 4.0.4 as I do for 4.0.2.  I reverted 
to 4.0.2, and LDAP works.


Karl


Message: 6 Date: Wed, 23 Nov 2011 13:53:22 -0500 From: Kevin Falcone 
falc...@bestpractical.com To: rt-users@lists.bestpractical.com Subject: Re: [rt-users] LDAP 
ExternalAuth broken after upgrade from 4.0.2 to 4.0.4 Message-ID: 
2023185322.gu1...@jibsheet.com Content-Type: text/plain; charset=us-ascii On 
Wed, Nov 23, 2011 at 11:46:44AM -0600, Karl Boyken wrote:

 We run RT on RedHat Enterprise Server 6.1, with Perl 5.14.2.  We set
 up RT::ExternalAuth to authenticate against our OpenLDAP server, and
 it works fine with RT 4.0.2.  But after upgrading to RT 4.0.4, LDAP
 authentication breaks.  I'd appreciate any helpful ideas.  Here's
 the relevant log entry--it's an LDAP bind() error:


 Nov 23 11:27:28 serv07 RT:
 RT::Authen::ExternalAuth::LDAP::_GetBoundLdapObj Can't bind:
 LDAP_OPERATIONS_ERROR 1 
(/path_to_our_RT/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:467)

This usually means that the LDAP server rejected you in some way.
You may find more information in the server logs, you may also set
net_ldap_args = [ debug = 2 or 8 ] in addition to your current args
to get back the full dumps of packets coming over the wire.
Please note that the debug dumps may contain privileged info, so it's
really just a debugging shim.

-kevin


--
Karl Boyken, system administrator 
karl-boy...@uiowa.edu
303A MLH, Dept. of Comp. Sci. 
http://www.cs.uiowa.edu/~boyken/
The U. of Iowa, Iowa City, IA  52242   319-335-2730 (voice) 
319-335-3668 (fax)


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4

2011-11-23 Thread mjames
I just upgraded from 4.0.2 to 4.0.4 without issue. Simple questions - did you 
remember to upgrade the database as well? Also, perhaps you should run make 
testdeps and make sure all your dependencies are still fulfilled. After the 
upgrade, I had a different problem where the permissions on the mason_data 
folder had changed and that caused a permissions failure.

Just nitpicking, since your config worked previously, but you shouldn't need a 
trailing comma in these 2 settings.
Set($ExternalAuthPriority, ['DIVMS_LDAP',]);
Set($ExternalInfoPriority, ['DIVMS_LDAP',]);

Mike

-Original Message-
From: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Karl Boyken
Sent: Wednesday, November 23, 2011 12:47 PM
To: rt-users@lists.bestpractical.com
Subject: [rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4

We run RT on RedHat Enterprise Server 6.1, with Perl 5.14.2.  We set up 
RT::ExternalAuth to authenticate against our OpenLDAP server, and it works fine 
with RT 4.0.2.  But after upgrading to RT 4.0.4, LDAP authentication breaks.  
I'd appreciate any helpful ideas.  Here's the relevant log entry--it's an LDAP 
bind() error:


Nov 23 11:27:28 serv07 RT: 
RT::Authen::ExternalAuth::LDAP::_GetBoundLdapObj Can't bind: 
LDAP_OPERATIONS_ERROR 1
(/path_to_our_RT/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:467)


This is the relevant section of our RT_SiteConfig.pm file (where values 
beginning with our have been changed for posting):


# To enable RT::Authen::ExternalAuth
Set(@Plugins, qw(RT::Authen::ExternalAuth));

# RT::Authen::ExternalAuth settings
# For information on configuring RT::Authen::ExternalAuth, see
# $RT_HOME/local/plugins/RT-Authen-ExternalAuth/etc/RT_SiteConfig.pm

Set($ExternalAuthPriority, ['DIVMS_LDAP',]);
Set($ExternalInfoPriority, ['DIVMS_LDAP',]);
Set($ExternalServiceUsesSSLorTLS, 1);
Set($AutoCreateNonExternalUsers, 1);
Set($ExternalSettings,
 {
  'DIVMS_LDAP' = {
   'type' = 'ldap',
   'server' = 'our_server',
   'user' = 'our_cn',
   'pass' = 'our_password',
   'base' = 'our_base',
   'filter' = '(objectClass=*)',
   'd_filter' = '(objectClass=FooBarBaz)',
   'tls' = 1,
   'ssl_version' = 1,
   'net_ldap_args' = [ port = 389, version = 3 ],
   'group' = '',
   'group_attr' = '',
   'attr_match_list' = [ 'Name', 'EmailAddress', ],
   'attr_map' = {
  'Name' = 'uid',
  'EmailAddress' = 'mail',
  'RealName' = 'gecos',
  'ExternalAuthId' = 'uid',
  'Gecos' = 'uid',
 }
  }
 }
);

-- 
Karl Boyken, system administrator 
karl-boy...@uiowa.edu
303A MLH, Dept. of Comp. Sci. 
http://www.cs.uiowa.edu/~boyken/
The U. of Iowa, Iowa City, IA  52242   319-335-2730 (voice) 
319-335-3668 (fax)

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


Re: [rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4

2011-11-23 Thread Kevin Falcone
On Wed, Nov 23, 2011 at 02:20:14PM -0600, Karl Boyken wrote:
 From the LDAP server logs, it looks like a TLS negotiation failure.
 So, how does upgrading to 4.0.4 break RT::ExternalAuth TLS
 negotiation?  I'm using the same settings for 4.0.4 as I do for
 4.0.2.  I reverted to 4.0.2, and LDAP works.

There have been some weird interaction with the crypt/ssl libs under
mod_perl and the gnupg libs.  It's possible that there is also
something going on with Net::LDAP's ssl settings, but that's pure
speculation.  It'd be interesting to know your apache config.

 Message: 6 Date: Wed, 23 Nov 2011 13:53:22 -0500 From: Kevin Falcone 
 falc...@bestpractical.com To: rt-users@lists.bestpractical.com Subject: 
 Re: [rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4 
 Message-ID: 2023185322.gu1...@jibsheet.com Content-Type: text/plain; 
 charset=us-ascii On Wed, Nov 23, 2011 at 11:46:44AM -0600, Karl Boyken 
 wrote:
  We run RT on RedHat Enterprise Server 6.1, with Perl 5.14.2.  We set
  up RT::ExternalAuth to authenticate against our OpenLDAP server, and
  it works fine with RT 4.0.2.  But after upgrading to RT 4.0.4, LDAP
  authentication breaks.  I'd appreciate any helpful ideas.  Here's
  the relevant log entry--it's an LDAP bind() error:
 
 
  Nov 23 11:27:28 serv07 RT:
  RT::Authen::ExternalAuth::LDAP::_GetBoundLdapObj Can't bind:
  LDAP_OPERATIONS_ERROR 1 
  (/path_to_our_RT/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm:467)
 This usually means that the LDAP server rejected you in some way.
 You may find more information in the server logs, you may also set
 net_ldap_args = [ debug = 2 or 8 ] in addition to your current args
 to get back the full dumps of packets coming over the wire.
 Please note that the debug dumps may contain privileged info, so it's
 really just a debugging shim.


pgppfBGOEGycC.pgp
Description: PGP signature

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

[rt-users] Permissions question

2011-11-23 Thread mjames
RT 4.0.4 How do I give a group rights to create/delete/view Saved Searches? As 
root, I went to Tools..Configuration..Groups and selected my group. I tried 
different combinations of Group and User Rights, but still the group members 
can't see/create/delete Saved Searches.

Also, when logged in as a group member, I don't see the About Me item under 
Logged in as Mike.  Still wrapping my head around rights in v4.0.x

Mike

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

Re: [rt-users] Permissions question

2011-11-23 Thread Kenneth Crocker
Mike,

The correct navigation would be Tools-Config-Global-Group Rights where
you then pick a system group, role, or add a User-defined Group.

Kenn

On Wed, Nov 23, 2011 at 1:17 PM, mja...@guesswho.com wrote:

 RT 4.0.4 How do I give a group rights to create/delete/view Saved
 Searches? As root, I went to Tools..Configuration..Groups and selected my
 group. I tried different combinations of Group and User Rights, but still
 the group members can’t see/create/delete Saved Searches.

 ** **

 Also, when logged in as a group member, I don’t see the “About Me” item
 under “Logged in as Mike”.  Still wrapping my head around rights in v4.0.x
 

 ** **

 Mike

 
 RT Training Sessions (http://bestpractical.com/services/training.html)
 *  Barcelona, Spain — November 28  29, 2011


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011

[rt-users] Charts displaying only sometimes (GD problem?)

2011-11-23 Thread Scotto Alberto
Hi all,
I'm having problems with charts, both bar and pie charts. Little context: 
created new dashboard and new saved search (privately at group-level); trying 
to display a nice report in the form of a bar chart.
It happens that *under certain conditions* RT doesn't show any chart. Actually 
apache does not generatereturn the image, as if I point Chrome to the link of 
the image [1], then it returns Error 324 (net::ERR_EMPTY_RESPONSE) The server 
closed the connection without sending any data.
Up to now I found the following conditions (not excluding each other) that 
influence the displaying or not of a chart:
- type of chart (bar vs. pie)
- domain on X axis (queue/owner name/owner email address/etc.)
- language set in the user preferences
- user logged in

Eg. given chart A:
- if I login with user1 it shows, but with user2 it does not;
- given a user, if I select bar,queue it doesn't show, but bar, 
CreatorNickname works
- given a user and a certain pair type_of_chart, domain_on_x_axis, it works 
if I turn to English from user preferencies; it doesn't if I select Italian
- and so on...

I'm using RT 4.0.2 (never upgraded, it's a fresh install) on Red Hat Enterprise 
Linux AS release 4 (Nahant Update 2) with Apache/2.0.52, mod_perl ??, GD::Graph 
1.44, glibc-2.3.4-2.13

CLUES:

1a. as soon as my browser asks for the image and RT doesn't generate it, RT 
prints in /opt/rt4/var/log/apache2.error the following 2 lines:
*** glibc detected *** free(): invalid pointer: 0x0dd16764 *** [Wed Nov 23 
16:38:23 2011] [notice] child pid 10963 exit signal Aborted (6), possible 
coredump in /tmp/apache_core_dumps

1b. There's something more. Here's what apache's core dump says (resulting from 
the commands gdb /usr/sbin/httpd /tmp/apache_core_dumps/core.22613 + bt full):

#0  0x0096c7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 No symbol table 
info available.
#1  0x006a07d5 in raise () from /lib/tls/libc.so.6 No symbol table info 
available.
#2  0x006a2149 in abort () from /lib/tls/libc.so.6 No symbol table info 
available.
#3  0x006d440a in __libc_message () from /lib/tls/libc.so.6 No symbol table 
info available.
#4  0x006dab3f in _int_free () from /lib/tls/libc.so.6 No symbol table info 
available.
#5  0x006daeba in free () from /lib/tls/libc.so.6 No symbol table info 
available.
#6  0x00cb2a57 in gdFree () from /usr/lib/libgd.so.2 No symbol table info 
available.
#7  0x00be9c36 in XS_GD__Image_png (my_perl=0x9b85a98, cv=0xa875550)
at GD.xs:944
data = (void *) 0xcec9a44
size = 3545
level = Variable level is not available.


2. after enabling logging by adding Set($LogToFile, debug) to 
RT_Site_Config.pm, I noticed the following message in rt.log:
[Wed Nov 23 10:56:18 2011] [debug]: You've enabled GraphViz, but we couldn't 
load the module: Can't locate GraphViz.pm in @INC (@INC contains: [...] at 
/opt/rt4/sbin/../lib/RT/Config.pm line 542. 
(/opt/rt4/sbin/../lib/RT/Config.pm:543)

Clue #2 doesn't sound a good one to me, though. In fact I am trying to display 
charts not graphs! I read about showing relationships between tickets [2], but 
I'm not interested in that! Just wanted to extract some nice monthly reports as 
bar charts :) Then, I should not need to install Graphviz, should I?

Here's what I tried to do:
- clean mason cache (more than once)
- clean browser's cache (more than once)
- reinstalled GD::Image (with cpan 'force install')
- added Set($DisableGD, undef) to RT_Site_Config.pm, as well as Set($DisableGD, 
0)

According to clue#1b it's GD that breaks everything (at GD.xs:944). Can you 
confirm my interpretation is correct? If so, maybe I could go for a reinstall 
of GD..?
Otherwise I could upgrade glibc, to what version?
Nevertheless, I *feel* like it's a cache problem, server-side. Not client-side 
because cleaning browser's cache doesn't help. I don't know if there exists a 
server-side cache in RT other than mason cache(which I already cleaned), 
however it's my own best explanation. In fact, if it were glibc or GD, I should 
never ever get any charts then! While sometimes I do!

Can anyone point me in the right direction?
Thank you very much in advance.

Alberto


[1] 
http://mydomain.com/Search/Chart?Class=RT%3A%3ATicketsFormat=Query=(%20Queue%20%3D%20'EstesaP'%20OR%20Queue%20%3D%20'EstesaI'%20)%20AND%20Created%20%3E%20'-30%20days'Rows=10SavedSearchId=RT%3A%3AGroup-126-SavedSearch-33SearchType=ChartShowNavigation=0hideable=1

[2] http://www.gossamer-threads.com/lists/rt/users/91783#91783


PS: If you need more examples/tests/information for debugging, please ask me.



--
The information transmitted is intended for the person or entity to which it is 
addressed and may contain confidential and/or privileged material. Any review, 
retransmission, dissemination or other use of, or taking of any action in 
reliance upon, this information by persons or entities other than the intended 
recipient is prohibited. If you received this in 

Re: [rt-users] LDAP ExternalAuth broken after upgrade from 4.0.2 to 4.0.4

2011-11-23 Thread Alex Vandiver
On Wed, 2011-11-23 at 16:15 -0500, Kevin Falcone wrote:
 On Wed, Nov 23, 2011 at 02:20:14PM -0600, Karl Boyken wrote:
  From the LDAP server logs, it looks like a TLS negotiation failure.
  So, how does upgrading to 4.0.4 break RT::ExternalAuth TLS
  negotiation?  I'm using the same settings for 4.0.4 as I do for
  4.0.2.  I reverted to 4.0.2, and LDAP works.
 
 There have been some weird interaction with the crypt/ssl libs under
 mod_perl and the gnupg libs.  It's possible that there is also
 something going on with Net::LDAP's ssl settings, but that's pure
 speculation.  It'd be interesting to know your apache config.

Being the same bug would require that you be running Apache with SSL
support, RT be running under mod_perl, and GPG be enabled.  If it _is_
the same bug, the following patch might help, as might switching to
FastCGI or disabling RT's GPG support.
 - Alex

8---
From e96831cf8f457b1601dc778cc336d43105f7a38b Mon Sep 17 00:00:00 2001
From: Alex Vandiver ale...@bestpractical.com
Date: Wed, 9 Nov 2011 02:35:34 -0500
Subject: [PATCH] Restore database disconnection state after successful
safe_run_child

RT::Util's safe_run_child sets its database handles to not disconnect
themselves if they are destroyed, before calling the provided function
which may fork and exec.  It explicitly re-enables those bits prior to
die'ing if the exec fails, to ensure that the database handle is torn
down correctly during the global destruction that would shortly ensue.

However, it fails to re-instate those bits after a _successful_ call.
This leaves the main database handle in a state where it does not tear
down the connection during global destruction.

This is particularly destructive in the case where:
  (a) RT uses PostgreSQL as its backend database
  (b) The database connection to PostgreSQL uses SSL, as is the default
  if the server supports it
  (c) The RT server is embedded into the Apache server using mod_perl
  (c) Apache has also loaded the SSL libraries for HTTPS support

This causes libcrypto.so to be used in two places in the Apache process,
by both Perl's binary PostgreSQL driver as well as core Apache's; they
thus share some internal state.  The lack of orderly teardown of the
SSL-enabled database connection causes corruption in the SSL engine's
internal state during the Apache shutdown process, which could lead to
segmentation faults in Apache.

Resolve this by explicitly re-instating the disconnect-on-destroy flags
after a successful safe_run_child.
---
 lib/RT/Util.pm |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/lib/RT/Util.pm b/lib/RT/Util.pm
index d2220c8..70d4625 100644
--- a/lib/RT/Util.pm
+++ b/lib/RT/Util.pm
@@ -93,6 +93,8 @@ sub safe_run_child () {
 #TODO we need to localize this
 die 'System Error: ' . $err;
 };
+$dbh-{'InactiveDestroy'} = 0 if $dbh;
+$RT::Handle-{'DisconnectHandleOnDestroy'} = 1;
 return $want? (@res) : $res[0];
 }
 
8---


RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


[rt-users] List of queues

2011-11-23 Thread Kristofer
Hello,

I am attempting to get a list of queues from RT using the REST API.  Is there a 
method to do so?  I can see the method to get properties for individual queues, 
but can't determine how to get a list of queues.  Is this possible?

Thanks,
Kris

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain  November 28  29, 2011


[rt-users] Using Nginx instead of Apache

2011-11-23 Thread Bart
Hi,

Does anyone have experience with RT running via Nginx instead of Apache?

I'm curious to know if there would be any performance gains (in terms of
less memory use compared to Apache, less CPU usage, etc.).

-- Bart

RT Training Sessions (http://bestpractical.com/services/training.html)
*  Barcelona, Spain — November 28  29, 2011