Re: [rt-users] SLA Extension - searching for tickets with SLA not set

2017-02-01 Thread Jeffrey Pilant
Chris McClement writes:
>I can't figure out how to search for a field (specifically, "SLA") that is
>unset:
>
>Tickets that are emailed to our helpdesk are inserted into a "Helpdesk"
>queue and from there an operator reviews the content and then assigns the
>ticket to the relevant queue.
>
>The "Helpdesk" queue does not have an SLA assigned to it, but the
>downstream queues do.  What's been happening, though, is that tickets
>transferred from "Helpdesk" to "Queue1" (not it's real name) aren't picking
>up the SLA default setting. Instead, the SLA field is unset.
>
>If I search for tickets with SLA = 'STANDARD' I get results showing tickets
>that have that SLA value.
>
>If I search for tickets with SLA != 'STANDARD' I only get tickets that have
>the SLA field set (URGENT or CRITICAL, for example). But I don't get the
>hundreds of tickets that don't have the SLA field set at all.
>
>Does anyone know the syntax to use to search for a field that is unset?

On 9 Dec 2016, Matt Zagrabelny wrote:
>... you can search for
>tickets with empty CF values using the Advanced editing option of a
>Search:
>
>'CF.{bar}' is null
In reply to a question about searching CF.{bar}

Maybe you can do something similar.

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 



Re: [rt-users] no alert for invalid mail addresses

2017-01-06 Thread Jeffrey Pilant
Martin Wheldon writes:
> You might want to checkout the perl module Regex::Common::Email::Address

I looked at that

http://search.cpan.org/~cwest/Regexp-Common-Email-Address-1.01/lib/Regexp/Common/Email/Address.pm
Provides a regex to match email addresses as defined by RFC 2822. Under
C<{-keep}>, the entire match is kept as C<$1>. If you want to parse that
further then pass it to C<< Email::Address->parse() >>. Don't worry,
it's fast.

This is from 2005, and the that RFC was replaced by 5322, which is what the big 
regex I gave was from.

The Wikipedia has even more relevant info on email addresses:
https://en.wikipedia.org/wiki/Email_address
It talks about support for foreign character sets, quoted normally invalid 
characters, allowed comments, and do on.  Basically, it is nearly complete 
chaos.  Check out their "valid" and "invalid" examples, as well as the 
internationalization example.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 



Re: [rt-users] no alert for invalid mail addresses

2017-01-05 Thread Jeffrey Pilant
Petr Hanousek writes:
>Hi geeks,
>sometimes someone here mistypes the mail address of Requestor or CC. The
>typos in addresses are various, my question is about the really obvious
>ones. Like if you put to CC an address "a@b". Is there any mechanism in
>RT to detect such mistakes and say something at least? Or can I have a
>feature request for this? :)
>
>If you try this in Gmail or Thunderbird, an error is raised and the
>message is not sent.

Check out
http://www.regular-expressions.info/email.html
It indicates the 'most' official regex is:
\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*
 |  "(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]
  |  \\[\x01-\x09\x0b\x0c\x0e-\x7f])*")
@ (?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
  |  \[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
   (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:
  (?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]
  |  \\[\x01-\x09\x0b\x0c\x0e-\x7f])+)
 \])\z

Yeah.  Quite a mouthful.  This is because there are quite a few ways to express 
email addresses.  And even this is not foolproof.

The same page also has other simpler regex expressions that work a fair amount 
of the time, but are less complicated, like:
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b

The page claims it is 99% effective.

That, however, does not solve your problem.  Just because it is formulated 
correctly does not mean it is a valid address.

The usual solution is to whitelist the addresses and do a lookup.  Any address 
not found gets added tentatively, but flagged for testing.  You can also at 
this time prompt for acceptance vs. going back to an edit screen.  This does 
require you maintain a list of valid email addresses somewhere.  The user list 
is a likely place, but if you are sending emails to people who are not users, 
then that fails.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 



Re: [rt-users] Group Rights

2016-10-28 Thread Jeffrey Pilant
Ron Yacketta writes:
>Are group rights Additive? We have a Group that contains other groups with
>certain granted rights, we would like to give one of the included groups
>the ability to mange users.
>
>Will RT grant all the rights allowed in the Containing group as well as
>those assigned directly to the group?

>From my brief inspection of code a while back, this is how I say it organized:
1) Every created user gets linked to a group newly created just for them.
2) Groups can only hold other groups.
3) This means that there does not need to be special code to determine if a 
group member is a group or a user.
4) Rights are additive.
5) Calculate as follows:
   A) Find the linked group of a member.
   B) Set rights to the rights of that group.
   C) For each group that this group is a member, do the following:
  i) Add the rights of this enclosing group
  ii) Recourse for all groups enclosing the enclosing group
6) Resulting rights is what that user has.
7) Perform similar calculations for user/queue or other combination

>From other tidbits left by the RT folks, making code to mask off rights is not 
>something they want to do, as it makes things much more complicated.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Los Angeles - Q1 2017


Re: [rt-users] Randomizing / Masking Ticket Numbers / or Intelligently concatenating multiple numbers as ticket number.

2016-10-28 Thread Jeffrey Pilant
Reza writes:
>Thinking out of the box, a Random Number is not necessary if we can mask 
>it from email responses.   In my specific case, I do not want non-staff 
>to access RT.  Only support agents.
>
>Is some sort of ID number absolutely necessary in the subject field and 
>can this be removed?  I guess a more technical question is how RT tracks 
>the email thread?   Is it through the headers, or a basic primitive 
>Subject field comparison ?
>
>Then again... I'm thinking...  a ticket number is so much easier if its 
>relayed to support agents by caller if they decide to simply call for 
>support.

If you set up RT to only let privileged users add content, then even of 
non-staff see the numbers and email address, they will get bounced messages if 
they try to use it.

As far as I know, the ticket number is required in the subject line.  However, 
if you modify the mail reader and sender to encrypt that number, you could make 
it harder to tell what it is.

Your use case mentioned confidentiality as a need compromised by ascending 
numbers.  I am not sure how that can occur.  Can you explain in more detail?

Alex Hall writes:
>To my knowledge, yes, mail is routed through use of the subject line. 
>When you create a queue, you give it a tag that is used in email subjects, 
>and that is combined with the ticket ID to form the basis for how RT knows 
>which queue/ticket a given message goes to.

My understanding is that the subject holds the hostname and the ticket id.  No 
queue name at all.  If you manage to direct it to a queue, it will redirect to 
the queue the ticket is in instead, if it is the wrong queue.

Jeff Voskamp writes:
>The increasing ticket number is baked into the Ticket table definition:
>`id` int(11) NOT NULL AUTO_INCREMENT,
>
>There's probably bits of code that assume this works this way.

Actually, there is not.  If you create a ticket number in the DB that skips a 
bunch of numbers, it will happily ignore all those skipped entries.  This is 
actually a good thing as it can be used to merge other data bases of tickets 
into the system without screwing up the main system beyond jumping the sequence 
number.

/jeff



The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Los Angeles - Q1 2017


Re: [rt-users] Greetings from a New RT user in Toronto.

2016-10-25 Thread Jeffrey Pilant
Reza writes:
>The use case for random IDs is quite simple.   Ascending / serial number 
>of IDs compromises confidentiality.  End users would be able to guess 
>how busy I could be with the amount of tickets answered.  Its something 
>I don't want to disclose.   Almost ALL ticketing systems I have seen, 
>have a random arbitrary numeric or alpha-numeric ID.  Any other 
>suggestions on how to approach not displaying an obvious number to end 
>users?

I don't think I have ever seen a random number for ticket ID.
I have seen many systems that show reports of number of tickets processed per 
unit of time and he average answer time.
I guess I have never encountered your need before.

Seeing a series of ticket IDs may tell them how fast tickets come in, but it 
will not tell them how fast they are answered.

What might be easier is to create a custom field that holds a random number 
(maybe a GUID?).  This number could then be placed in the email subject line in 
place of the ticket ID.  Likiewise, the email reader could read the number from 
the subject and look up the ID.  This would touch a lot fewer places in the 
code, and if the recipient only ever sees the email, they don't know the real 
number.  Meanwhile, users of the web interface see both real number and random 
number.

If you allow them to see the web interface, the above will not work.

A simple possible solution is to add a random amount to the ticket sequence in 
the code that generates ticket numbers.  You will need a much larger max ticket 
ID since there is so much wasted space, but the random nature will obscure the 
number of real tickets between two given ticket IDs.

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] Greetings from a New RT user in Toronto.

2016-10-25 Thread Jeffrey Pilant
Reza writes:
>The last 24-48 hrs has been an amazing learning experience.  I feel 
>as-if I can do Kung Fu now :)
>
> From my recent agenda of:
>
> 1. Create Random Ticket numbers.
> 2. Suppress "RT System Itself - Outgoing email recorded"
> 3. Customization of Auto ticket reply.
> 4. Assigning tickets / transferring to someone else (when not logged in
>as root)
> 5. 3rd Party CRM integration basics.
> 6. How to Customize the RT at a glance (Just added to my list for Oct
>25, 2016)
>
>I have learned points #2, #3, #4.
>
>Can anyone here guide me to the proper direction to accomplish #1 
>(Generating random ticket number versus ascending ticket numbers), and 
>guide me towards a fundamentally basic API example for 3rd Party CRM 
>integration?

In order to generate a random ticket ID, you need a random number generator, a 
min and max ID number allowed, and a way to determine if any given ID has 
already been used.  You then need to replace the standard SQL that gets the 
current max ID and adds one to assign a new ID.  I don't know where that code 
is.  As you fill the IDs, generating a new ID becomes harder and harder, 
because you will hit duplicate entries in the random generating process.  You 
also loose the relation of ID#s to date order.  Sorting a list of IDs by ID 
number will randomize the time that the IDs occur, requiring reports to be 
modified to be sorted by some other key.

Basically, you need a very strong reason to break the defaults the program 
uses, because there is a lot of work needed to rewrite the many things that use 
the defaults, and the time spent verifying that you found all the bits that 
need to be changed.

What is your use case?

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] Delivery Status Notification

2016-10-25 Thread Jeffrey Pilant
Maik Nergert writes:
>is there a simple way to proof, that a message and the attachment was 
>delivered to the recipient?
>It would be much better if the recipient has to confirm, that the 
>message arrived and he has read it.

SMTP, by definition cannot do this.  It cannot even guarantee delivery.

That said, there are specific implementations of email clients that can 
acknowledge delivery, and even being opened.  However, that is very client 
dependent, and you cannot count on what client will be used to read the email.

Again, that said, if you can enforce the client chosen (like at work having a 
company mandate), then you might be able to include control tags in the email 
header produced that will cause that client to perform that feature.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] RT4.4.1 ignoring two of four files in RT_SiteConfig.d

2016-10-24 Thread Jeffrey Pilant
You write:
>I'm more confused the more I look at my configuration files problem.
>According to my system configuration page, RT is loading four files:
>RT_Config.pm, RT_SiteConfig.pm, RT_SiteConfig.d/01-timezone.pm, and
>RT_SiteConfig.d/04-logging.pm. It is simply ignoring 02-debconf.pm and
>03-dbconfig-common.pm, which are the most vital of the four. I've run perl
>-c on all four files, and all of them come back with no errors. What might
>cause RT to skip two files like this? If the files are invalid somehow,
>where would I find that out? /var/log/messages is reporting only the
>expected warning about my WebDomain being incorrect, but nothing about any
>files failing to load or invalid directives anywhere. I now know the source
>of my problem, but have no idea how I might fix it. Has anyone ever seen
>this before?

Wild shot in the dark:
Check owner, group, and r/w permissions.
Do all four files have the same values?

If this fixes things, post to the list the fix so others can benefit.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] The role of roles in 4.4

2016-10-12 Thread Jeffrey Pilant
Alex Hall Wrote:
>In the release notes for RT 4.4.0, the concept of "roles" is brought up.
>The note says:
>
>  * RT now has support for custom roles, along the lines of Requestor,
>Owner,
>Cc, and AdminCc. These roles can be single-member or multi-member.
>Privileges can be assigned to members of custom roles, you can search
>based
>on custom role membership, you can notify custom role members in
>scrips, and so on.
>
>This may be an obvious question to long-time users of RT, but what do roles
>offer that groups don't? That is, what is the advantage to setting up a
>custom role over making a group? In either case you have users assigned
>rights based on membership, whether to a group or a role. Thanks.

A group membership gives permission 100% of the time.
A role membership gives permission only some of the time.

If you give permission to close a ticket only to Owner, but not to a group, 
then you can only close tickets you own.  If you gave it to a group instead, 
then you could close any ticket, even ones you don't own.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] Match isWatcher and part of subjectline

2016-10-06 Thread Jeffrey Pilant
Joel Bergmark Writes:
>Could anyone assist with this scrip?
>
>This matches $match2 at every time, regardless if both $match1 and $match2 is 
>present in the subject-line. Hence the If(index part is not working, any good 
>perl-people that can correct it? Both matches must be present to not return 0;
>
>my $match1 = "InformationX";
>my $match2 = "[Y]";
>my $subject = $self->TicketObj->Subject;
>if (index(lc($subject), ($match1 && $match2)) eq -1)

The "&&" operator is a logical short-circuit AND.  If the first op ($match1) is 
false it returns false without evaluating the second op ($match2).
Neither $match1 nor $match2 is a logical, so it makes no sense.

Try this instead:
   if ((index(lc($subject), $match1) >= 0) && (index(lc($subject), $match2) >= 
0))
reference:
   http://perldoc.perl.org/perlop.html#C-style-Logical-And
   http://perldoc.perl.org/functions/index.html

Another consideration: you are testing against a lower case version of the 
subject, yet both strings have upper case characters.  You will never find 
either string.

You need to AND the result of both index functions, to verify both are found.

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR training sessions, and a new workshop day! 
https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017


Re: [rt-users] Getting SetTimeWorkedAutomatically Working in RT 4.2.9

2016-08-02 Thread Jeffrey Pilant
geraldsnm writes:
> Our management is adamant about having time tracked automatically on
> tickets.
>
> I've been banging my head against a wall for 2 months trying to get this to
> work VIA pure SQL until I realized that the data model seems to not support
> it. Specifically although there's a transaction logged every time the ticket
> goes from open to stalled back to opened, there's no idea of a transaction
> session so that if I try to write SQL that joins transaction to transaction,
> and tries to subtract the latest time stamp for "opened" from the last
> "opened" there's no way to determine which two "Opened" transactions
> corelate to the transaction before it, so it ends up double counting
> (imagine a ticket that goes from Opened, to Stalled, to Opened, to Stalled
> and so-on), I end up having subtracting all latest records from the original
> record so it double counts.
>
> So I've tried to use the Scrips to do this, and noticed there's already a
> user-contributed Scrip for "SetTimeWorkedAutomatically":
>
> https://rt-wiki.bestpractical.com/wiki/SetTimeWorkedAutomatically
>
> However I can't get this to work on my version of RT

> Can anyone help out with this?

Can't help with the scrip.

Rolling my own, I would do the following:
1) Determine the deltas.
Join each transaction A of a ticket with each transaction B of the same 
ticket where A.timestamp > B.timestamp, and find the minimum delta time for 
each A, noting A.state as OldState, B.state as NewState, and diff(A.timestamp, 
B.timestamp) as Delta.
2) Determine if the delta counts.
For each ticket, if [OldState,NewState] is countable, add to total
3) Print results.
For each ticket, print total and other needed details.

Writing SQL for the above is likely hard.  However, a procedural method like 
this could be used instead:
1) Select all transactions for all relevant tickets, sorting by [Ticket Number, 
Timestamp]
2) Process each transaction in turn
  If the ticket number changes:
 If already on a ticket, print details.
 Set TotalTime = 0
 Set StartTime = timestamp
 Set CurrentTime = timestamp
 Set CurrentState = State
  If this transaction ends a countable time, add it:
 If [CurrentState,State] should be counted:
Set TotalTime = TotalTime + (timestamp - CurrentTime)
  Update tracking variables:
 Set CurrentTime = timestamp
 Set CurrentState = State
3) Print the last entry
  Print details

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Los Angeles - September, 2016


Re: [rt-users] "Ticketmaster of the day" functionality

2016-07-27 Thread Jeffrey Pilant
Christopher Kunz wrote:
> what's the easiest way to implement a functionality where
> - one person per day is made "Ticket master" and receives all incoming
> new tickets as well as replies to unowned tickets
> - Nobody else receives these mails
> - Across several queues (3-5)
> Can this be accomplished using a scrip?
> 
> Would I be better off just forwarding all mail to a specific mail alias
> (a CC or AdminCC with a role contact like ticketmas...@mycompany.com),
> and then updating that mail alias daily?

Don't do it this way.  You will end up with missed new ticket email scattered 
across multiple email accounts.

Make a dedicated account to log in as that handles this role.  It can be 
assigned to a new person each day, and any missed emails will still be in the 
inbox (or spam folder) for later retrieval.  You may be able to set up access 
from other users (like a secretary can access the boss's email).  This 
secondary access could be assigned each day as well.  If you have secondary 
access, you may not need to add/remove people to access, since any activity 
should be recorded by the user's own account.  If they have to log in as that 
particular special user, you lose some of that accountability.  It may not be 
important to you.

Create a user group for this role in RT as well.  Each day, assign whichever 
member is handling things to that group and un-assign the previous person.  All 
rights for dealing with such tickets belong to the group, so you don't have to 
mess with user permissions.  Each transaction gets logged against the user, not 
the group, so you know who did what.

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Los Angeles - September, 2016


Re: [rt-users] How RT know it's new or not ticket

2016-06-22 Thread Jeffrey Pilant
Albert Shih wrote:
>Le 22/06/2016 à 16:21:25+0000, Jeffrey Pilant a écrit
>> Albert Shih writes:

>> The design of RT will route email with a subject containing the ticket
>> number to the queue where the ticket is.  If that is in a queue the
>> email sender is not allowed, then you get permission denied messages.
>> This routing overrides the named queue routing based on the email
>> address.
>
>Ok. I understand. Just to be sure, can you confirm RT do not use the
>
>  X-RT-Ticket: DOMAIN #6847
>
>inside the header to routing the mail.

I don't use RT, and it is lightly used here.  I am just the guy that has to 
keep it working.  :-)

>From what I have read on the lists, and the docs, the subject line rules.  
>That header line is more for MTA agent manipulation.  You might be able to 
>have the MTA detect a ticket number in the subject without a corresponding 
>X-RT-Ticket entry, and when found, mung the subject to break the recognition.  
>[Perhaps insert the words "refers to" between the site name and ticket number.]

Generally, this tag is to prevent mail loops, not to determine what the ticket 
number is.

>> To solve this, either grant permission, remove the ticket number (and
>> break the connection to the existing ticket), or reply to someone who
>
>Well it's hard to explain to requestors who barely understand what's a
>email why they need to change the subject. Especially juste the #[0-9]*

Tell them that if they don't remove the number, then the response is 
automatically routed to the old closed ticket where no action will occur.  
Sometimes users are hard to train.  :-)

>> has access so that they can forward to RT.
>
>Yes I know that. The point is I through when I forward a message (meaning
>NO X-RT header) RT will know it's not a answer for some old ticket and
>automatically ignore the subject.

If you want the message to create a new ticket, then you need to change the 
detection of a ticket number in the subject to only occur if you also have the 
X tag.  Which will break regular replies to the ticket when they are forwarded 
instead of replied to.  Another policy is to route any reply to a ticket that 
is more than 30 days (or whatever) past the date of ticket closure goes to a 
special queue as a new ticket, where it can be manually determined if it should 
reactivate the closed ticket or make a new one.  Again, that requires modifying 
RT code.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Los Angeles - September, 2016


Re: [rt-users] How RT know it's new or not ticket

2016-06-22 Thread Jeffrey Pilant
Albert Shih writes:
>I would like to know on which header/subject RT know a incomming mail
>(throught rt-mailgate) is a answer to a old ticket.
>
>I ask that because I got this problem :
>
>  2 queues on our RT. One open ? A??, one ??B ??mostly close strict
>
>  A ticket is created in B.
>
>  Some user (rt user) forward the message from RT to user X.
>
>  X answer to this message, but he not allow to answer on this queue (he's
>  not a Cc).
>
>  So RT answer to X with a ? permission denied ??message.
>
>  X try to forward (yes a true forward throught the mta) this message
>  to queue A and also get a permission denied.
>
>  I check inside the log of RT, and see the RT still think the forwarded
>  message is a answer to queue B.

The design of RT will route email with a subject containing the ticket number 
to the queue where the ticket is.  If that is in a queue the email sender is 
not allowed, then you get permission denied messages.  This routing overrides 
the named queue routing based on the email address.

To solve this, either grant permission, remove the ticket number (and break the 
connection to the existing ticket), or reply to someone who has access so that 
they can forward to RT.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Los Angeles - September, 2016


Re: [rt-users] problems attaching files

2016-04-27 Thread Jeffrey Pilant
liam writes: 
>We are using RT 4.4.0 and appear to be having problems attaching files 
>over some size around 100k. If we try to send an email with a larger 
>attachment, the mail message just drops on the floor. If we try to attach
>a file through the web interface, the icon has an X over it and an error
>message appears when the mouse hovers over it, plus the attachment is
>dropped if we try to save the edit.
>
>Looking in the log I don?t see any messages being generated in either case.
>I do see messages generated when a file is successfully attached though.
>Our current attachment size settings should allow larger files than ~100k.
>
>Set($MaxAttachmentSize, 10485760);  # 10MB
>Set($TruncateLongAttachments, "true");
>
>I'm not sure what else to look at to determine what?s happening or where
>things are failing. Have I somehow mis-set the config, or could this be
>a bug in 4.4.0?

>From the RT Wiki:
  If you are using MYSQL, it also has a limit.
  for mysqld < 4.0.2 syntax under mysqld is:
  set-variable = max_allowed_packet=10M
  for mysqld > 4.0.2 syntax under mysqld is:
  max_allowed_packet=10M

  Please refer to http://dev.mysql.com/doc/mysql/en/Program_variables.html

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


Re: [rt-users] search for 'this week'?

2016-04-15 Thread Jeffrey Pilant
Stephen Dowdy wrote:
> I created saved searches:
>
>"This Week's Tickets"   =   Created > 'Last Sunday'
>"Last Week's Tickets"   =   Created > 'Sunday Before Last' AND Created <
> 'Last Sunday'
>"Today's Tickets"   =   Created > 'Midnight'
>"Yesterday's Tickets"   =   Created > 'midnight 1 days ago' AND Created
> < 'midnight'
>
> adding from there, you should be able to modify for Resolved, Owned by Me,
> etc...

Hope you don't put in tickets on Sunday or at midnight.
[Likely safe bet, but just in case...]

Query should be something like:
   "This Week's Tickets"   =   Created >  'Last Sunday'
   "Last Week's Tickets"   =   Created >  'Sunday Before Last'
   AND Created <= 'Last Sunday'
   "Today's Tickets"   =   Created >  'Midnight'
   "Yesterday's Tickets"   =   Created >  'midnight 1 days ago'
   AND Created <= 'midnight'

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


[rt-users] Display custom fields in a ticket

2016-03-30 Thread Jeffrey Pilant
That's odd.

I added the following to RT_SiteConfig.pm:
Set(%CustomFieldGroupings,
'RT::Ticket' => [
'Custom Fields' => ['A', 'B',
'C', 'D', 'E',
'F', 'G', 'H',
'I', 'J',
'K', 'L', 'M', 'N',
'O', 'P', 'Q',
'R'],
],
);

This gave me the error when logged in on the server to RT:
An internal RT error has occurred. Your administrator can find more details 
in RT's log files.
Logging in via an external site failed to do anything.

Not wanting to leave it broken, I edited the RT_SiteConfig.pm and places pound 
(#) signs in front of the lines above.  I then rebooted.

Now it is working.

Huh?

Since it seems to be working now, I am not going to touch it for a while.

/jeff



The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


Re: [rt-users] Display custom fields in a ticket

2016-03-30 Thread Jeffrey Pilant
Joop wrote:
> Anything that isn't in RT_SiteConfig.pm has a default that should give
> you a working RT.
> You didn't change anything in RT_Config.pm?
>
> I'm at the end of my wits. Can't think of anything that would cause this
> without having access to the systems.

RT_Config.pm is untouched.  While it suggests a value for CustomFieldGrouping 
in the comments, it does not actually set it.

As you saw, this is a strait up upgrade of a working system.  I only customized 
it enough to add in the ID and web info.  It does work, just not with custom 
fields.

/jeff




The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


[rt-users] Display custom fields in a ticket

2016-03-29 Thread Jeffrey Pilant
Joop wrote:

> In 4.2 BP introduced the concept of CustomFieldGrouping where you can

> add CFs to other metadata blocks like Dates or People thats why

> ShowSummary is different.

> Could it be that the configuration variable todo wiht CF-Grouping has

> been modified (incorrectly)??
>
> Joop

That probably explains it.  Here is the substance of my RT_SiteConfig.pm file:
  Set($rtname, 'X.COM');
  Set($WebDomain, 'X');
  Set(@ReferrerWhitelist, qw(AAA.BBB.CCC.DDD:80 X:80 x:80));
  Set($WebPath, "/rt");

We don't use the email side at all (the server cannot even send mail), only the 
web side.

Can you give me the CustomFieldGrouping I need?  We have CF's of the following 
patterns:
  LookupType  #  Name  Added   Type   Pattern  Status
  Articles#  CFXX  Z   Enabled
  Articles#  CFXX, YY  Z   Enabled
  Tickets #  CFXX  Z  [WWW]Enabled
  Tickets #  CFXX  Z   Enabled
  Tickets #  CFGlobal  Z  [WWW]Enabled
  Tickets #  CFGlobal  Z   Enabled
With a total of 5 article and 20 ticket CFs.  Two of the latter are test 
entries.

The RT_Config.pm suggests something of the form:
  Set(%CustomFieldGroupings,
  'RT::Ticket' => [
  'Grouping Name' => ['CF Name', 'Another CF'],
  'Another Grouping'  => ['Some CF'],
  'Dates' => ['Shipped date'],
  ],
  'RT::User' => [
  'Phones' => ['Fax number'],
  ],
  );

If I have to add to a predefined group, I would like to add to "Basics".

After adding to RT_SiteConfig.pm, I will bounce the web server to verify.

Thanks for your assistance.

/jeff



The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


[rt-users] Display custom fields in a ticket

2016-03-28 Thread Jeffrey Pilant
Joop wrote:

> Jeffrey Pilant wrote:
> > Could this be a customization of the old system?  If so, what files would 
> > exist
> > to hold the customization?  [I know there is an overload mechanism, and 
> > maybe some
> > config stuff, but I don't recall the details.]  If I could locate the old 
> > file set
> > and look at those files, maybe it will give me an idea to try.
>
> Possible but it could be hidden or it could be obvious.
> If its done well than the customisation should be done in the
> /opt/rt4/local/ tree and it would survive updates. Now its probably not
> a plugin so you could skip looking at the plugins folder but you never
> know. Do you run plugins?
> Anything in the 'lib' or 'html' folder may overrule the same file from
> /opt/rt4/{lib|html} and anything in the callback folder can add/overrule
> parts or anything using the callback mechanism built into RT
> So is anything in it in the old system?
> If it isn't done nicely then things get tricky. Source files can be
> altered directly and finding them could involve getting a diff between
> whats installed now and how a pristine installed tree looks like.
> Looking at modified dates might also be a way to find diffs.
>
> Lets see how far we get this time :-)
>
> Joop

I think I have some customized old system files.  I don't have any .../local 
file
Overrides in the 3.8.4 system.  But based on your info, I found the file
Ticket/Elements/ShowSummary
Which looked to be customized (or at least it shows the text "Custom Fields".

Comparing the two, it is clear that the 4.2.10 version does not have these 
Fields as part of the file.  Below is a DOS diff, showing the differences of 
between the files.  Can you tell me what file(s) I need to create to make a 
local override in the new system, and what you suggest for the contents?  The 
new system is a clean install, so the files should be default values.  Also, 
what other files do I need to look at for these custom fields?  I.e., ticked 
edit, self-service, others

Thanks

/jeff

Files:
  /usr/share/request-tracker3.8/html/Ticket/Elements/ShowSummary
  /opt/rt4/share/html/Ticket/Elements/ShowSummary

Comparing files ShowSummary-3.8.4.txt and SHOWSUMMARY-4.2.10.TXT
* ShowSummary-3.8.4.txt

  <&| /Widgets/TitleBox, title => loc('The Basics'),
title_href => 
RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id,
class => 'ticket-info-basics' &>
<& /Ticket/Elements/ShowBasics, Ticket => $Ticket &>
  
% if ($Ticket->CustomFields->First) {
  <&| /Widgets/TitleBox, title => loc('Custom Fields'),
title_href => 
RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id,
class => 'ticket-info-cfs'  &>
<& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket &>
  
% }
  <&| /Widgets/TitleBox, title => loc('People'),
title_href => 
RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$Ticket->Id,
class => 'ticket-info-people' &>
<& /Ticket/Elements/ShowPeople, Ticket => $Ticket &>
  
  <& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => 
$Attachments &>
  <& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
* SHOWSUMMARY-4.2.10.TXT
  
% $m->callback( %ARGS, CallbackName => 'LeftColumnTop' );
<&| /Widgets/TitleBox, title => loc('The Basics'),
(($can_modify || $can_modify_cf) ? (title_href => 
RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id) : (
)),
class => 'ticket-info-basics',
&><& /Ticket/Elements/ShowBasics, Ticket => $Ticket &>
<& /Elements/ShowCustomFieldCustomGroupings,
Object   => $Ticket,
title_href   => ($can_modify || $can_modify_cf) ? 
RT->Config->Get('WebPath')."/Ticket/Modify.html" : "",
&>
<&| /Widgets/TitleBox, title => loc('People'),
(($can_modify || $can_modify_owner || $can_modify_people) ? (title_href 
=> RT->Config->Get('WebPath')."/Ticket/ModifyPe
ople.html?id=".$Ticket->Id) : ()),
class => 'ticket-info-people',
&><& /Ticket/Elements/ShowPeople, Ticket => $Ticket &>
<& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => 
$Attachments &>
% $m->callback( %ARGS, CallbackName => 'AfterAttachments' );
<& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &

[rt-users] Display custom fields in a ticket

2016-03-28 Thread Jeffrey Pilant
Joop wrote:
>I just logged into our RT instance to make sure I use the correct terms.
>Goto the top menu: Admin/CustomFields/Select
>Make sure you have ticket CFs displayed (Only show custom fields for Field)
>Select one that is visible in the old system.
>Now select 'Applies to' from the top right menu
>There it should show you whether that CF is globally visible or only for
>selected queues and a list of unselected queues.

Under this menu path, I get:
|  Apply Globally
|  [ ] check this box to apply this Custom Field to all objects.
|  Selected objects
|# Name   Description Address  Priority  DefaultDueIn  
Lifecycle  SubjectTag  Status
|4 X  Queue for X Issues  -/-  0-0   0 default  
  Enabled
|  Unselected objects

>Another route would be to select Admin/Queues/Select, select the queue
>where your CFs aren't visible anymore and then Select 'Custom Fields'
>from the top right menu. That should give you a list of all CFs that are
>applicable to that queue.

Under this menu path, I get:
|  Selected Custom Fields
|[ ]  #  Name  Added  Type  Pattern  Status  Move
|  Unselected Custom Fields
|[ ]  #  Name  Added  Type  Pattern  Status

>You could add a new group add yourself to it and give that group all
>rights possible. If the CFs show up than its a rights problem, if they
>don't than you have a problem in the database, you can check with
>rt-validator.

In my last email, I mentioned the few rights I did not have.  None looked like 
they would be controlling this.  I will skip creating an uber group for the 
moment.

Logging in as administrator on the server, then invoking su to run as root, I 
get:
|  InformaticsRT:/opt/rt4/sbin # ./rt-validator -c
|  [26637] [Mon Mar 28 17:48:58 2016] [info]: Using internal Perl HTML -> text 
conversion (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:1818)
|  Record #7 in ObjectCustomFieldValues references a nonexistent record in 
Articles
|  ObjectId => '1' => id
|
|  Record #3 in Links. Value of Base column most probably is an incorrect link
|  Record #245 in Transactions. Value of NewValue column most probably is an 
incorrect link
|  Record #2611 in Transactions. Value of NewValue column most probably is an 
incorrect link
|  Record #4 in Links. Value of Target column most probably is an incorrect link
|  Record #5 in Links. Value of Target column most probably is an incorrect link
|  Record #3 in Links. Value of Target column most probably is an incorrect link
|  Record #4 in Links. Value of Base column most probably is an incorrect link
|  Record #5 in Links. Value of Base column most probably is an incorrect link
| 
|  InformaticsRT:/opt/rt4/sbin #

While there are some minor issues, this does not show the level of errors I 
would expect from a corrupted DB not showing custom fields.

>If you create a new CF does it show up?

I tried creating a new object.
It does not show up.

>Joop

I truly appreciate your assistance.

Could this be a customization of the old system?  If so, what files would exist 
to hold the customization?  [I know there is an overload mechanism, and maybe 
some config stuff, but I don't recall the details.]  If I could locate the old 
file set and look at those files, maybe it will give me an idea to try.

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


[rt-users] Display custom fields in a ticket

2016-03-23 Thread Jeffrey Pilant
Joop wrote:
>On 22-3-2016 23:05, Jeffrey Pilant wrote:
>> I have a local VM with the old install in working condition, so I have
>> all the files and data.
>>
>> Not sure where to look.
>
>Could you post screenshots of the working display vs the non working one
>and post them to some pics sharing site and share the URLs with us?

Since it is html & I wanted to sanitize the data, I copied it to text.
Below are the old and new screens.  Just format in a fixed font like
courier, and each line is 87 chars long, in case of wrapping.

The new entry has some additional transactions, since it is live.

/jeff

Old:
|---Ticket 
metadata---|
| |---The Basics| 
|---Reminders-| |
| | Id:   184   | | New reminder:   
| |
| | Status:   new   | | Subject:
| |
| | Priority: 0/| | Owner:  
| |
| | Queue:X | | Due:  Calendar  
| |
| |-| 
|-| |
|   
  |
| |---Custom Fields-| 
|---Dates-| |
| | CustomField_01: X   | | Created:  Wed Jun 10 13:45:23 2015  
| |
| | CustomField_02: X   | | Starts:   Not set   
| |
| | CustomField_03: (no value)  | | Started:  Not set   
| |
| | CustomField_04: X   | | Last Contact: Not set   
| |
| | CustomField_05: X   | | Due:  Not set   
| |
| | CustomField_06: (no value)  | | Closed:   Not set   
| |
| | CustomField_07: Unknown | | Updated:  Wed Jun 10 13:45:23 2015 by 
X | |
| | CustomField_08: (no value)  | 
|-| |
| | CustomField_09: (no value)  |   
  |
| | CustomField_10: (no value)  | |---Links 
Graph---| |
| | CustomField_11: X   | | Depends on: (Create)
| |
| | CustomField_12: (no value)  | | Depended on by: (Create)
| |
| | CustomField_13: (no value)  | | Parents:(Create)
| |
| | CustomField_14: Unknown | | Children:   (Create)
| |
| | CustomField_15: (no value)  | | Refers to:  (Create)
| |
| | CustomField_16: (no value)  | | Referred to by: (Create)
| |
| | CustomField_17: (no value)  | 
|-| |
| | CustomField_18: (no value)  |   
  |
| |-|   
  |
|   
  |
| |---People|   
  |
| | Owner:  Nobody  |   
  |
| | Requestors: X   |   
  |
| | Cc: |   
  |
| | AdminCc:|   
  |
| |-|   
  |
|-|
|---History---|
| # Wed Jun 10 13:45:23 2015 USERNAME - Ticket created [Reply] 
[Comment][Forward] |
| Subject: X
  |
| ZZZ   
  |
| # Wed Jun 10 13:45:23 2015 RT_System - Outgoing email recorded [Show] 
  |
|-|
>|< RT 3.8.4 Copyright 1996-2009 Best Practical 
Solutions, LLC.

New:
|---Ticket 
metadata---|
| |---The Basics| 
|---Reminders-| |
| | Id:   184   | | New reminder:   
| |
| | Status:   Resolved  | | Subject:
| |
| | Priority: 0/| | Owner:  
 

[rt-users] Display custom fields in a ticket

2016-03-22 Thread Jeffrey Pilant
Joop wrote:
>On 22-3-2016 18:56, Jeffrey Pilant wrote:
>> I am a novice at RT.  I was given an instance of RT 3.8.4 to upgrade a
>> while ago.
>>
>> I upgraded it into RT 4.2.10.  Seemed to be OK.  At least it ran.
>>
>> Today, months later, I was informed the tickets are not displaying the
>> custom fields that used to be there.
>>
>> I have confirmed that the field definitions appear to have been copied
>> over.
>>
>> However, the fields are not showing in the display.
>>
>>
>>
>> Can someone post stuff for me to check?
>
>Use the Admin part to check if those CF are still 'applied to' your queues.
>Another thing: it could be rights related
>
>> I suspect it is something as simple as adding the field to the list of
>> things to show on the display page.
>>
>> However, I don't know how to do that.
>
>Its possible some custom code/callbacks did some wonderful things but
>without an idea how it looked like and how its looking now its hard to
>guess as to why it doesn't work.
>Do you happen to have a file backup of the RT install tree?
>That way you can try to find out if any customization has been done.

When I check for the custom fields for the queue, I see no fields listed under 
selected and no fields listed under unselected.

Just checked my user rights:
My login is a member of the admin group.  The admin group has all but:
  Modify ticket owner on owned tickets [ReassignTicket]
  *Show Articles menu [ShowArticlesMenu]
  Show global templates [ShowGlobalTemplates]
  Show history of public user properties [ShowUserHistory]
  *Allow writing Perl code in templates, scrips, etc [ExecuteCode]
  Create, modify and delete custom fields values [AdminCustomFieldValues]
The two with asterisks (*), I pick up via other groups.  So basically, I have 
every right I probably need.

Looking at the right of the custom field, it seems to have none.
I think it should have:
  View custom fields [SeeCustomField]
But when I check it and save it, nothing changes on the ticket display.

I have a local VM with the old install in working condition, so I have all the 
files and data.
Not sure where to look.

/jeff



The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


[rt-users] Display custom fields in a ticket

2016-03-22 Thread Jeffrey Pilant
I am a novice at RT.  I was given an instance of RT 3.8.4 to upgrade a while 
ago.
I upgraded it into RT 4.2.10.  Seemed to be OK.  At least it ran.
Today, months later, I was informed the tickets are not displaying the custom 
fields that used to be there.
I have confirmed that the field definitions appear to have been copied over.
However, the fields are not showing in the display.

Can someone post stuff for me to check?
I suspect it is something as simple as adding the field to the list of things 
to show on the display page.
However, I don't know how to do that.

Any help appreciated.

/jeff



The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com

-
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016


Re: [rt-users] script problem with ticket create.

2015-12-29 Thread Jeffrey Pilant
norman writes:
>Hi.
>I seem to be missing something.
>there is no "on correspond auto-reply to requester" script that i can 
>see, Only the script i laid out earlier.
>If i disable the following script, it fixes the issues but also disables 
>my aupo-reply on create.
>The script is laid out as follows with the code added that i had been 
>given earlier in this thread.
>Condition: "user defined", with the following code in the "custom 
>condition" box.


This makes me think your correspondence is going to the create address.
What are your mail aliases?
Do the comment/correspondent have the ticket # in the subject line?

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] Transfer Tickets Between Instances

2015-12-10 Thread Jeffrey Pilant
Matt Brennan writes:
>  We currently run RT for a number of internal teams (Helpdesk, NetOps,
>System Ops, Marketing Ops, Sales Ops). Our customer support team wants to
>migrate off of Zendesk to RT, however they want their own independent
>instance (because they want to be root on it).
>
>  One requirement, however, is that we can transfer tickets between queues
>that are on separate instances. I don't see any way to do this, however it
>seems it may be possible through the API.
>
>  Has anyone seen anything like this done before?

You have a fundamental problem doing this.
Each instance has its own sequence of ticket numbers.
What happens when the ticket you want to transfer has an already used number?

If they want to share the system, give them a Queue (or three) and ownership of 
those queues.
Then you can transfer tickets to your heart's content.

Or let them their own system, but without interplay to your system.

Any other solution must address duplicate ticket numbers.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] RT::Extension::LDAPImport and nested groups in Active Directory

2015-11-03 Thread Jeffrey Pilant
Benjamin Klier writes:
>I'm trying to import my users and groups from Active Directory. Getting 
>in the users works just fine, but importing the groups (with a 
>$LDAPGroupFilter like (|(CN=MY_RT_USERS_*)) ) is giving some errors.
>

>
>The problem seems to be that in our AD the main groups norally just 
>concatenate other subgroups so that they doesn't include users but just 
>other groups, for example
>
>MY_RT_USERS_AGENTS
>   +
>   +-> SOME_SUBGROUP
>   |   +
>   |   +> USER_1
>   |   |
>   |   +> USER_2
>   |   |
>   |   +> USER_3
>   |
>   +-> ANOTHER_SUBGROUP
>   +
>   +> USER_4
>   |
>   +> USER_5
>   |
>   +> ...
>
>Unfortunately it's not an option to rework our AD group structure :-(
>
>Crawling the rt-users archive didn't get me anywhat closer to find a 
>solution to that problem.
>
>I'm using RT::Extension::LDAPImport v0.36
>
>Maybe anyone has some experience with a configuration like that and 
>would be able to give me the missing hint :-)

Why flatten the AD structure?  You should be able to recreate it entirely with 
RT groups.

Psuedocode:
  Sub AddAGroup(SomeGroup)
  Obj = LDAP(SomeGroup)
  RT->AddGroiupName(Obj->Name)
  For each member in Obj:
If member is a group then AddAGroup(member)
RT->AddUserToGroup(Obj->Name, member)
  next.

This recursive algorithm should duplicate the AD layout below a node if you 
give it an AD node.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] Searching for repeating tickets

2015-09-30 Thread Jeffrey Pilant
Keith Edmunds wrote:
>We're using the Repeat Ticket extension
>(http://blog.bestpractical.com/2013/03/scheduled-ticket-creation-in-rt.html).
>
>I want to search for all "base" repeating tickets, and the only criteria I
>can come up with to identify them is to search for tickets where the custom
>field "Original Ticket" is equal the current ticket.
>
>Is there a way of using such criteria in RT?
>
>Or is there a better way of searching for repeat base tickets?

Can you search the custom field and look for it to be equal to Tickets.id?  
That is, use the text "Tickets.id" instead of some number?  Then when the SQL 
is formed, it creates something like:
Select main.* from Tickets main "CF.{Original Ticket}" = Tickets.id
Were you to set it to #456, it would look like:
Select main.* from Tickets main "CF.{Original Ticket}" = 456

By using the text of a field name for the original ticket id, I think it would 
match.

[Note: I don't really use it, but am IT support for it here.  Above is based on 
my guess as to how the search builder page works.]

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] RT CLI CF query operators

2015-09-01 Thread Jeffrey Pilant
Support at pureview.com wrote:
> I trying to use RT CLI on a CF for operators and I having a hard time to
> get this working. Can any help on this. I do not know what I'm doing
> wrong.

> rt list -i "'CF.{Modtrak}' > 0 AND Created >= '2015-07-01' AND Create <=
> '2015-07-31'"
> rt: Invalid query: 'Unknown field 'Create' in ''CF.{Modtrak}' > 0 AND
> Created >= '2015-07-01' AND Create <= '2015-07-31'' at
> /opt/rt4/sbin/../lib/RT/Tickets.pm line 2943.

And later:
> Thank you for the help but after I rectified the typo. I still getting a
> different errors.
> 
> rt list -i 'CF.{Modtrak} > 0 AND Created >= "2015-07-01" AND Created <=
> "2015-07-31"'
> rt: Invalid query: 'Wrong query, expecting a AGGREGATOR in 'CF.{Modtrak} >
> 0 AND Created >='"2015-07-01'>" AND Created <='"<--here2015-07-31'"' at
> /opt/rt4/sbin/../lib/RT/SQL.pm line 130.

When you corrected your typo, you also changed your quoting.
This can be seen by the error message retyping of your query.
Try (as one line):
   rt list -i
   "'CF.{Modtrak}' > 0 AND Created >= '2015-07-01' AND Created <= '2015-07-31'"

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] Custom Charting and Tables

2015-08-31 Thread Jeffrey Pilant
Anton Panetta wrote:
>Hi There
>I'm curious if anyone else has attempted or found a way to achieve this.
>What I am
>Able to make is this (sort for the lack of formatting)
>
>  Ticket
>Queue   Statuscount
>new   11
>open  5
>rejected  1
>BPA resolved  7
>new   2
>open  3
>rejected  2
>COO Projectsresolved  6
>new   8
>open  3
>resolved  1
>DI  stalled   1
>new   6
>Finance resolved  5
>new   12
>IT BI Requests  stalled   1
>new   8
>open  8
>IT Helpdesk resolved  42
>new   18
>open  1
>resolved  2
>IT Projects stalled   1
>Total   0 154
>
>What id like to make is closer to this
>
>QueueOpen  New  Resolved  Stalled  Rejected  Total
>IT   1 51020 18
>DI   2 51030 20
>BI   3 51020 20
>Project  4 51031 23
>Total1020   4010   1
>
>The Idea is to include it in a dashboard.
>I am aware that using the chat tool to make a table is a bit of a side way, I 
>could possibly make do if I could make the tables run horizontal.
>Regards
>Anton

You need to make a query that returns 6 values per queue.
Pseudo SQL:
  select queue.name as queue, sumOpen, sumNew, sumResolved, sumStalled, 
sumRejected, sumTotal
from queue
   where queue.disable = 0
join (select count(*) as sumOpen, queue.id
from tickets
   where tickets.status  = 'open'
 and tickers.queueid = queue.id)
join (select count(*) as sumNew, queue.id
from tickets
   where tickets.status  = 'new'
 and tickers.queueid = queue.id)
join (select count(*) as sumResolved, queue.id
from tickets
   where tickets.status  = 'resolved'
 and tickers.queueid = queue.id)
join (select count(*) as sumStalled, queue.id
from tickets
   where tickets.status  = 'stalled'
 and tickers.queueid = queue.id)
join (select count(*) as sumRejected, queue.id
from tickets
   where tickets.status  = 'rejected'
 and tickers.queueid = queue.id)
join (select count(*) as sumTotal, queue.id
from tickets
   where tickets.status  in 
('open','new','resolved','stalled','rejected')
 and tickers.queueid = queue.id)

As I don't have easy access to the database, I am not sure I have the syntax or 
table names correct.  But this should give you an idea of what you need.

Basically, you need to gather the sum of tickets for each type by queue, and 
then list them all at once.  That needs multiple joins to achieve.

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] Creating Tickets in RT with a redirected email

2015-07-30 Thread Jeffrey Pilant
On 29-7-2015 1:12, Joop writes:

On 29-7-2015 1:12, Jeff Smith wrote:

 Thanks for your insight.



 I've looked at the headers from one of the messages and I cannot find

 anything related to bulk preference (literally, a string search cannot

 find bulk anywhere in the headers), but I do have a line

 RT-Squelch-Replies-To which is populated with the sender's address.



 I've so far been unable to find anywhere I can disable this.



 Further suggestions?



Searching through the source of rt-4.2.5 I had lying around I came

across RedistributeAutoGeneratedMessages. What is this config parameter

set to in RT_Config.pm and more importantly RT_SiteConfig.pm?

Its indicating that it shouldn't redistribute messages to unprivilged users.



What might be helpful too is headers captured at the Exchange level and

again at the RT level. Maybe somebody will spot the problem.

The text RT-Squelch-Replies-To occurs in:
lib/RT/Action/SendEmail.pm (sub RemoveInappropriateRecipients)
lib/RT/Interface/Email.pm (sub _HandleMachineGeneratedMail)
I don't know which is preventing the mail you want, but one of these files is 
the one you want to patch.

/jeff

PS: the Email.pm file has a documentation error fir the 
_HandleMachineGeneratedMail sub:
Returns a triple of (
Should be:
Returns a quad of (
Since there are 4 values.



The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] RT 3.8.8 upgrade stacked on database upgrade

2015-07-02 Thread Jeffrey Pilant
On 02/07/15 14:55, Josep Manel Andr?s wrote:
 make upgrade-database

 And at this point the upgrade stops and drops an error (after filling up
 the disk). I've got a 10G database within a 100G hard drive,
  :
  :
 The file that is taking up the space is:

 #sql-ib162-2876089901.ibd nearly 80G

 Those are the logs from /var/log/mysql/mysqld.log

The web at:
http://dev.mysql.com/doc/refman/5.5/en/glossary.html#glos_ibd_file
states:
  .ibd file
  The data file for file-per-table tablespaces and general tablespaces.
  File-per-table tablespace .idb files contain a single table and
  associated index data. General tablespace .idb files may contain
  table and index data for multiple tables. General tablespaces were
  introduced in MySQL 5.7.6.

  The .ibd file extension does not apply to the system tablespace, 
  which consists of the ibdata files.

  If a file-per-table table is created with the DATA DIRECTORY = clause
  (in MySQL 5.6 and higher), the .ibd file is located outside the
  normal database directory, and is pointed to by a .isl file.

Look into what is making this file.  Maybe that will give a clue.

I'm new at this application, but old at debugging.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] RT 3.8.8 upgrade stacked on database upgrade

2015-07-02 Thread Jeffrey Pilant
Joop wrote:
Have a look at the upgrade-articles script and see if other things might
be missing. From the above it looks like the 'update links' step didn't
work out OK.

I checked the script.  The Links were already done before the error.
The Transactions, failed, but my manual update did the equivalent.
The Transactions update of the AddLink was a no-op since the matching
Conditions would have matched no records.
The same for the Attributes, as it matched no records.
Looks like I am OK.

Thanks for your help.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] RT 4.2.10: Renumber imported tickets -- solved

2015-06-30 Thread Jeffrey Pilant
Joop wrote:
On 29-6-2015 2:26, Jeffrey Pilant wrote:
 Joop wrote:
 On 26-6-2015 19:52, Jeffrey Pilant wrote:
 I am trying to import data from RT 3.8.4 into RT 4.2.10.
 I first tried to update in place, but that failed.  [Ancient version
 of Ubuntu (9.10, current LTS 14) with ancient Perl and ancient Apache.]
 I next did a clean install on SUSE (12.2, 64bit), which worked.
 Now I need to add the old data.
 I updated the old database by the following steps:
 make upgrade-database
 /opt/rt4/etc/upgrade/upgrade-articles
 /opt/rt4/sbin/rt-validator --check
 /opt/rt4/sbin/rt-serializer
 /opt/rt4/sbin/rt-importer ExportedDataDirectory

 You can import a mysql export from the old version into the new database
 and then follow the upgrade instruction.
 So:
 - install new system, install RT according to the installation manual if
 you want to check if all is functional also run make initdb. If that
 works, make dropdb, import the old data and following the upgrade
 instructions paying attention to the fact that you're using mysql. My
 memory says that you need some additional steps besides make
 upgrade-database.
 The upgrade-articles is the succeeding step I think you are thinking of.

 While I did not do make dropdb, I did drop database rt4 in mysql,
 followed by create database rt4, use rt4, and source 
 old-db-mysqldump.
 This let the RT4 tools access the old data, allowing the upgrade-database
 and upgrade-articles.  

Sofar its OK. Your RT instance is usable from here.

 The serializer exported the data to a neutral xml format.  I then reset
 the database back to the clean-install's version I had previously saved.

 This loaded the old data into the new database, but changed the ticket 
 numbers.

Why the export, reset, import?
There is, sofar as I know, nothing in the upgrade instructions that
tells you to do this.

When the initial upgrade-in-place failed, I did not trust the database
was properly updated.  So I used the export/import to make sure I had
good data.

Following your suggestion of not doing that, the data seems OK, although
I still have lingering doubts.  Especially as I get these messages in the
Update from /opt/rt4/etc/upgrade/upgrade-articles:
* [critical]: Can't locate object method new via package RT::FM::Article
* (perhaps you forgot to load RT::FM::Article?) at
* lib/RT/Transaction.pm line 1352. (lib/RT.pm:388)
* Can't locate object method new via package RT::FM::Article (perhaps you
* forgot to load RT::FM::Article?) at lib/RT/Transaction.pm line 1352.

I went into mysql to change the existing RT::FM::Article entries into
RT::Article, as this seems to be what it was doing.  I don't know if
it needed to make any other changes after this point.

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



Re: [rt-users] RT 4.2.10: Renumber imported tickets

2015-06-28 Thread Jeffrey Pilant
Joop wrote:
On 26-6-2015 19:52, Jeffrey Pilant wrote:
 I am trying to import data from RT 3.8.4 into RT 4.2.10.
 I first tried to update in place, but that failed.  [Ancient version
 of Ubuntu (9.10, current LTS 14) with ancient Perl and ancient Apache.]
 I next did a clean install on SUSE (12.2, 64bit), which worked.
 Now I need to add the old data.
 I updated the old database by the following steps:
 make upgrade-database
 /opt/rt4/etc/upgrade/upgrade-articles
 /opt/rt4/sbin/rt-validator --check
 /opt/rt4/sbin/rt-serializer
 /opt/rt4/sbin/rt-importer ExportedDataDirectory

You can import a mysql export from the old version into the new database
and then follow the upgrade instruction.
So:
- install new system, install RT according to the installation manual if
you want to check if all is functional also run make initdb. If that
works, make dropdb, import the old data and following the upgrade
instructions paying attention to the fact that you're using mysql. My
memory says that you need some additional steps besides make
upgrade-database.

The upgrade-articles is the succeeding step I think you are thinking of.

While I did not do make dropdb, I did drop database rt4 in mysql, followed 
by create database rt4, use rt4, and source old-db-mysqldump.  This let 
the RT4 tools access the old data, allowing the upgrade-database and 
upgrade-articles.  The serializer exported the data to a neutral xml format.  I 
then reset the database back to the clean-install's version I had previously 
saved.

This loaded the old data into the new database, but changed the ticket numbers.

I need the old numbers.  How can I get the back to what they were?

/jeff

The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com



[rt-users] RT 4.2.10: Renumber imported tickets

2015-06-26 Thread Jeffrey Pilant
I am trying to import data from RT 3.8.4 into RT 4.2.10.
I first tried to update in place, but that failed.  [Ancient version of Ubuntu 
(9.10, current LTS 14) with ancient Perl and ancient Apache.]
I next did a clean install on SUSE (12.2, 64bit), which worked.
Now I need to add the old data.
I updated the old database by the following steps:
make upgrade-database
/opt/rt4/etc/upgrade/upgrade-articles
/opt/rt4/sbin/rt-validator -check
/opt/rt4/sbin/rt-serializer
/opt/rt4/sbin/rt-importer ExportedDataDirectory
This loaded the data, but changed the ticket numbers.
How can I get the back to what they were?  [Should be no conflicts, but I can 
handle that separately.]

I am running RT on MySQL, and can handle SQL based changes fine.
The sbin/rt interface is currently eluding me, as is the perl code interface.

If anyone has a complete relationship diagram, I would appreciate it.
Best I have found is:

http://requesttracker.wikia.com/wiki/File:Rt4-schema-relationships.svg

/jeff


The information contained in this e-mail is for the exclusive use of the 
intended recipient(s) and may be confidential, proprietary, and/or 
legally privileged.  Inadvertent disclosure of this message does not 
constitute a waiver of any privilege.  If you receive this message in 
error, please do not directly or indirectly use, print, copy, forward,
or disclose any part of this message.  Please also delete this e-mail 
and all copies and notify the sender.  Thank you. 

For alternate languages please go to http://bayerdisclaimer.bayerweb.com