<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BillCole</id>
	<title>Request Tracker Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BillCole"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/wiki/Special:Contributions/BillCole"/>
	<updated>2026-08-22T09:02:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Talk:AutogeneratedPassword/@comment-BillCole-20140423222528&amp;diff=4366</id>
		<title>Talk:AutogeneratedPassword/@comment-BillCole-20140423222528</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Talk:AutogeneratedPassword/@comment-BillCole-20140423222528&amp;diff=4366"/>
		<updated>2014-04-23T22:25:28Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Created page with &amp;quot;It seems to me that while $Transaction-&amp;gt;CreatorObj will be the right user when a ticket is created via email, this would be better (and maybe safer) if the code checked to ass...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It seems to me that while $Transaction-&amp;gt;CreatorObj will be the right user when a ticket is created via email, this would be better (and maybe safer) if the code checked to assure that there is only one member in $Ticket-&amp;gt;Requestors and conditionally set the password for &#039;&#039;that&#039;&#039; user if they don&#039;t already have one. Referencing the Requestor instead of the Creator eliminates the edge cases that are hinted at by the current code checking for Nobody and Privileged status. &lt;br /&gt;
&lt;br /&gt;
I believe that rework would make the password generation happen when a Privileged (i.e. support staff) user creates a ticket (i.e. in the web interface) with a single Requestor whose account lacks a password. &lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=960</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=960"/>
		<updated>2012-09-11T15:35:58Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 115.254.78.226 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=FindingAnswersAboutRT&amp;diff=1344</id>
		<title>FindingAnswersAboutRT</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=FindingAnswersAboutRT&amp;diff=1344"/>
		<updated>2012-09-10T13:43:27Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 88.173.209.40 (talk | block) to last version by Jibsheet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Becoming familiar with RT and the resources available to answer your questions can be difficult at first. Frequently you get no answers or very terse answers which don&#039;t seem to provide enough guidance. This can be frustrating; it can seem like no one wants to help you when quite often they do.&lt;br /&gt;
&lt;br /&gt;
=== First, do the legwork ===&lt;br /&gt;
&lt;br /&gt;
There are a number of places to start your research before you post to the mailing list or send a note to someone who maintains some extension of RT. Here are a few searchable places, listed in order of likely usefulness:&lt;br /&gt;
&lt;br /&gt;
# [http://wiki.bestpractical.com This Wiki] (the place with lots of answers)&lt;br /&gt;
# [[MailingListArchives]] (searchable list archives)&lt;br /&gt;
# http://www.google.com/ (I generally start &amp;quot;+RT +MostUniqueErrMsg&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Search there for answers to your questions. Very frequently you&#039;ll find just what you&#039;re looking for and perhaps more.&lt;br /&gt;
&lt;br /&gt;
=== Ask the Right People ===&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t find information on the wiki or in the mailing list archives, you should generally direct your questions to one of the RT [[MailingLists]]. Generally, you&#039;ll want to direct your questions to the rt-users mailing list, as that&#039;s the right place for them (and nearly everyone on rt-devel is also on rt-users). Posting to rt-users allows you the benefit of experienced RT admins&#039; knowledge, which will likely solve your problem much more quickly than any other approach.&lt;br /&gt;
&lt;br /&gt;
The rt-devel list is for development issues such as &amp;quot;I&#039;m thinking of implementing thus-and-such and wonder how I should go about it&amp;quot; or &amp;quot;I found a bug and fixed it; here&#039;s a patch&amp;quot; and the like.&lt;br /&gt;
&lt;br /&gt;
While it&#039;s often tempting to think you&#039;ve got a bug or critical issue and should immediately send it to rt-devel, most of the time it&#039;s not a bug, but a misconfiguration on your part, which results in a terse note pointing this out and directing you to do the legwork (as mentioned below).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Please don&#039;t create a wiki page to ask a question or add a question to the body of a wiki page.&#039;&#039;&#039;&#039;&#039; A wiki isn&#039;t a support group, it is an information repository. It may be reasonable in some cases to ask a question related to the specific topic of a wiki page in its &amp;quot;Talk&amp;quot; sub-page (particularly if the page content is unclear or incorrect) but as a practical matter that is unlikely to be as productive towards getting a good answer as aking your question on the rt-users mailing list, where there is a broad audience of people following the discussion. The time to create a wiki page is &#039;&#039;&#039;&#039;&#039;after&#039;&#039;&#039;&#039;&#039; you have an answer that could be useful to others in the future. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Please don&#039;t send email directly to the bestpractical.com developers&#039;&#039;&#039;&#039;&#039;. This may seem callous, but consider this: anyone with a bestpractical.com email address is trying to make a living working on RT; the rest of us have a full-time day job and voluntarily contribute to RT as we can. None of us wants to give up precious development time in order to do your initial legwork; conversely, we&#039;re happy to help once you&#039;ve done it and still have questions.&lt;br /&gt;
&lt;br /&gt;
=== Ask a good question well ===&lt;br /&gt;
&lt;br /&gt;
Note that there&#039;s an extensive treatise on the art of asking good questions well at http://www.catb.org/~esr/faqs/smart-questions.html&lt;br /&gt;
&lt;br /&gt;
Good questions are clear, concise, and demonstrate that you&#039;ve done the legwork as mentioned above. They also show an presumption of ignorance on your part unless *you&#039;re absolutely certain you really understand exactly what&#039;s going on*. I&#039;ve been working with RT for six years off- and-on and I still learn new things ... usually starting with an incorrect assumption on my part ;]&lt;br /&gt;
&lt;br /&gt;
A bit of an aside: nothing blows your credibility and diminishes interest in replying quite like an it&#039;s-all-screwed-up-and-must-be-a-bug message. RT is a large, complex, mature software system and you&#039;re probably not the first person to want to use feature X. It&#039;s very likely that there are many people using that feature and they&#039;d be happy to help you join them.&lt;br /&gt;
&lt;br /&gt;
Also, choose a descriptive subject; it&#039;s your first impression and will determine who reads your message. Get the good bits early in the subject (you don&#039;t know how many characters I&#039;ll see in my mailreader). Here are some good ones (chosen randomly from recent postings):&lt;br /&gt;
&lt;br /&gt;
 Can rt users come from LDAP?&lt;br /&gt;
 Installing RT on Fedora Core 4&lt;br /&gt;
 RT VMWare Appliance&lt;br /&gt;
 Show stalled on AtAGlance list?&lt;br /&gt;
&lt;br /&gt;
Each of these gives clear guidance to the topic at hand. If it&#039;s a subject I might have unique knowledge on or a distinct interest in, I&#039;ll definitely make time to read it.&lt;br /&gt;
&lt;br /&gt;
Here are some horrible ones (chosen randomly from long ago to minimize embarassment):&lt;br /&gt;
&lt;br /&gt;
 RT questions&lt;br /&gt;
 Lost information&lt;br /&gt;
 Headings&lt;br /&gt;
 Great Program!&lt;br /&gt;
&lt;br /&gt;
As you can see from these last, I have no chance to know what problems lie inside the email or whether I can provide uniquely useful information. On a slow day, I might read one of these to see if I can help. One a busy day, these go straight to the trash.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a decent framework to hang your question on:&lt;br /&gt;
&lt;br /&gt;
 Subject: FOO config problems while trying to BAR&lt;br /&gt;
 &lt;br /&gt;
 I&#039;m having problems properly configuring FOO. I thought I knew&lt;br /&gt;
 how it worked, but my attempts have all failed and searching both&lt;br /&gt;
 the wiki and the mailing list archives hasn&#039;t improved my&lt;br /&gt;
 understanding enough to make it work.&lt;br /&gt;
 &lt;br /&gt;
 I&#039;m trying to use FOO to BAR [insert concise statement of purpose]&lt;br /&gt;
 &lt;br /&gt;
 So far, I&#039;ve tried to [insert concise summary of the saga]&lt;br /&gt;
 &lt;br /&gt;
 I&#039;m using RT [version] on [OS and version] with [all pertinent&lt;br /&gt;
 web server details like apache version, mod_perl/fast_cgi, etc.]&lt;br /&gt;
 &lt;br /&gt;
 Can anyone point me in the right direction?&lt;br /&gt;
&lt;br /&gt;
=== Give A Little Bit ===&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve come up with the answer to a sticky problem, consider giving back to the community either by summarizing to the mailing list or into the wiki. That&#039;ll help the next generation of new RT admins ... and save you answering their questions on the list over and over again. ;]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=OnCreateSetDeptHeadCc&amp;diff=2395</id>
		<title>OnCreateSetDeptHeadCc</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=OnCreateSetDeptHeadCc&amp;diff=2395"/>
		<updated>2012-08-21T03:44:38Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 208.70.50.7 (talk | block) to last version by Best Practical&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Dept heads need to see and reply to tickets opened by their staff. This is accomplished by giving the global &#039;Cc&#039; group [[ShowTicket]] perms and automatically making the dept head a Cc on the ticket.&lt;br /&gt;
&lt;br /&gt;
On create in the case that [[CustomField]].Department = &#039;Foo&#039; then add group &#039;Head Foo&#039; as a Cc. Be sure to first check that the Requestor is not in the &#039;Head Foo&#039; group. That may be problematic for odd departments or units with more than one member in a &#039;Head x&#039; group. (See also [[OnCreateAddGroupCc]].)&lt;br /&gt;
&lt;br /&gt;
= Scrip =&lt;br /&gt;
&lt;br /&gt;
All tickets have a Department custom field mapping the ticket to a dept. I globally grant the Cc role [[ShowTicket]] and [[ReplyToTicket]] permission and then add the department head as Cc on their staff&#039;s tickets. This way they can add comments and be aware of issues in their department. I do not yet wish to give them powers such as [[ModifyTicket]], so they can&#039;t monkey with priorities etc. Therefore, I felt Cc more appropriate than [[AdminCc]] even after granting extra rights to Cc.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;Description: &#039;&#039;&amp;lt;/nowiki&amp;gt;[[OnCreateSetDeptHeadCc]]&amp;lt;nowiki&amp;gt;&#039;&#039; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;Condition: &#039;&#039;User Defined&#039;&#039; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;Action: &#039;&#039;User Defined&#039;&#039; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;Template: &#039;&#039;Global template: Blank&#039;&#039; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;Stage: &#039;&#039;&amp;lt;/nowiki&amp;gt;[[TransactionCreate]]&amp;lt;nowiki&amp;gt;&#039;&#039; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Custom Condition:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# make sure we are called from a on create condition and&lt;br /&gt;
 # make sure department is filled out&lt;br /&gt;
 if (&lt;br /&gt;
        (&lt;br /&gt;
          ($self-&amp;amp;gt;TransactionObj-&amp;amp;gt;Type eq &amp;quot;Create&amp;quot;)&lt;br /&gt;
          || ($self-&amp;amp;gt;TransactionObj-&amp;amp;gt;Type eq &amp;quot;CustomField&amp;quot;)&lt;br /&gt;
        ) &amp;amp;amp;&amp;amp;amp; (&lt;br /&gt;
          $self-&amp;amp;gt;TicketObj-&amp;amp;gt;FirstCustomFieldValue(&#039;Department&#039;)&lt;br /&gt;
          &amp;amp;amp;&amp;amp;amp; ($self-&amp;amp;gt;TicketObj-&amp;amp;gt;FirstCustomFieldValue(&#039;Department&#039;) ne &#039;None&#039;)&lt;br /&gt;
        )&lt;br /&gt;
     ) {&lt;br /&gt;
     #$RT::Logger-&amp;amp;gt;info(&amp;quot;Met User Defined OnCreateSetDeptHeadCc Condition #&amp;quot;.&lt;br /&gt;
     #    $self-&amp;amp;gt;TicketObj-&amp;amp;gt;id .&amp;quot; &amp;quot;.&lt;br /&gt;
     #    $self-&amp;amp;gt;TicketObj-&amp;amp;gt;FirstCustomFieldValue(&#039;Department&#039;) );&lt;br /&gt;
     return 1;&lt;br /&gt;
 } else {&lt;br /&gt;
     #$RT::Logger-&amp;amp;gt;info(&amp;quot;Did Not Meet User Defined OnCreateSetDeptHeadCc Condition #&amp;quot;.&lt;br /&gt;
     #   $self-&amp;amp;gt;TicketObj-&amp;amp;gt;id .&amp;quot; &amp;quot;. $self-&amp;amp;gt;TicketObj-&amp;amp;gt;FirstCustomFieldValue(&#039;Department&#039;) );&lt;br /&gt;
     return undef;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Custom action preparation code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# example: for &#039;Systems&#039; the group is &#039;Head Systems&#039;&lt;br /&gt;
 my $derivedGroupName = &#039;Head &#039; . $self-&amp;amp;gt;TicketObj-&amp;amp;gt;FirstCustomFieldValue(&#039;Department&#039;);&lt;br /&gt;
 &lt;br /&gt;
 # instantiated a group object&lt;br /&gt;
 my $groupObj = RT::Group-&amp;amp;gt;new($RT::SystemUser);&lt;br /&gt;
 $groupObj-&amp;amp;gt;LoadUserDefinedGroup($derivedGroupName);&lt;br /&gt;
 return undef unless $groupObj;&lt;br /&gt;
 &lt;br /&gt;
 # one doesn&#039;t want to be a requestor and a Cc on the same ticket.&lt;br /&gt;
 # don&#039;t add group as CC if requestor is in that group&lt;br /&gt;
 # this could certainly be a problem if there are multiple members in a group&lt;br /&gt;
 my $requestorsGroupObj = $self-&amp;amp;gt;TicketObj-&amp;amp;gt;Requestors;&lt;br /&gt;
 # UMO grabs group members in subgroups too it is recursive&lt;br /&gt;
 my $requestorsMembersObj = $requestorsGroupObj-&amp;amp;gt;UserMembersObj;&lt;br /&gt;
 &lt;br /&gt;
 my $userObj;&lt;br /&gt;
 while ($userObj = $requestorsMembersObj-&amp;amp;gt;Next) {&lt;br /&gt;
     if ($groupObj-&amp;amp;gt;HasMember($userObj-&amp;amp;gt;PrincipalObj)) {&lt;br /&gt;
         $RT::Logger-&amp;amp;gt;info(&amp;quot;Requestor &#039;&amp;quot; . $userObj-&amp;amp;gt;Name .&lt;br /&gt;
             &amp;quot;&#039; is in group &#039;$derivedGroupName&#039; not adding Cc on ticket #&amp;quot; .&lt;br /&gt;
             $self-&amp;amp;gt;TicketObj-&amp;amp;gt;id );&lt;br /&gt;
 &lt;br /&gt;
         return undef;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # add group as Cc on ticket. see Ticket_Overlay.pm&lt;br /&gt;
 $RT::Logger-&amp;amp;gt;info(&amp;quot;Add group &#039;$derivedGroupName&#039; as Cc on ticket #&amp;quot; .&lt;br /&gt;
     $self-&amp;amp;gt;TicketObj-&amp;amp;gt;id );&lt;br /&gt;
 my ($success, $msg)= $self-&amp;amp;gt;TicketObj-&amp;amp;gt;AddWatcher(&lt;br /&gt;
                              Type =&amp;amp;gt; &amp;quot;Cc&amp;quot;,&lt;br /&gt;
                              PrincipalId =&amp;amp;gt; $groupObj-&amp;amp;gt;PrincipalId);&lt;br /&gt;
 &lt;br /&gt;
 if (! $success) {&lt;br /&gt;
  $RT::Logger-&amp;amp;gt;info($msg);&lt;br /&gt;
  return undef;&lt;br /&gt;
 } else {&lt;br /&gt;
  return 1;&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Custom action cleanup code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# blank&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Include CC Tickets in SelfService ==&lt;br /&gt;
&lt;br /&gt;
After the Department head has been made CC on a ticket they need an easy way to view all such tickets. So, let&#039;s modify [[SelfService]] to show them.&lt;br /&gt;
&lt;br /&gt;
Put the pieces in place:&lt;br /&gt;
&lt;br /&gt;
 [root@lakshmi Elements]# mkdir -p /usr/local/rt/html/SelfService/Elements&lt;br /&gt;
 [root@lakshmi Elements]# cp MyRequests /usr/local/rt/html/SelfService/Elements&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Make one small change.&lt;br /&gt;
&lt;br /&gt;
 [root@lakshmi Elements]# diff -u MyRequests /usr/local/rt/html/SelfService/Elements/MyRequests&lt;br /&gt;
 --- MyRequests  2005-02-01 06:20:40.000000000 -0800&lt;br /&gt;
 +++ /usr/local/rt/html/SelfService/Elements/MyRequests  2006-02-27 11:00:31.000000000 -0800&lt;br /&gt;
 @@ -70,7 +70,7 @@&lt;br /&gt;
  $title ||= loc(&amp;quot;My [_1] tickets&amp;quot;, $friendly_status);&lt;br /&gt;
  my $MyTickets;&lt;br /&gt;
  $MyTickets = new RT::Tickets ($session{&#039;CurrentUser&#039;});&lt;br /&gt;
 -$MyTickets-&amp;amp;gt;LimitWatcher(TYPE =&amp;amp;gt; &#039;Requestor&#039;, VALUE =&amp;amp;gt; $session{&#039;CurrentUser&#039;}-&amp;amp;gt;EmailAddress);&lt;br /&gt;
 +$MyTickets-&amp;amp;gt;LimitWatcher(VALUE =&amp;amp;gt; $session{&#039;CurrentUser&#039;}-&amp;amp;gt;EmailAddress);&lt;br /&gt;
  $MyTickets-&amp;amp;gt;OrderBy(FIELD =&amp;amp;gt; &#039;id&#039;, ORDER =&amp;amp;gt; &#039;ASC&#039;);&lt;br /&gt;
 &lt;br /&gt;
  foreach my $status (@status) {&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
= Bugs in Solution =&lt;br /&gt;
&lt;br /&gt;
* If there is more than one user in a &#039;Head X&#039; group and one user opens a ticket, the other user will not become a Cc.&lt;br /&gt;
&lt;br /&gt;
This would in an issue in departments with more than one &amp;quot;head&amp;quot;. We can worry about that later. (Also see [[OnCreateAddGroupCc]].)&lt;br /&gt;
&lt;br /&gt;
* If the Department changes during the life of the ticket, the new Cc will be added, but the old Cc will not be removed.&lt;br /&gt;
&lt;br /&gt;
* How can send the [[AutoReply]] to the department head as well as the requestor?&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Schema&amp;diff=3362</id>
		<title>Schema</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Schema&amp;diff=3362"/>
		<updated>2012-08-21T03:41:28Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 89.190.196.121 (talk | block) to last version by Tsibley&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==RT 4==&lt;br /&gt;
On the left is a quick export generated by dbVisualizer. This is just tables and columns; there are no enforced relational integrity constraints at the database levels.&lt;br /&gt;
&lt;br /&gt;
On the right is a diagram of the relationships between tables, generated from the schema.dot file which ships with RT 4 under the docs/ directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery captionalign=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
rt_schema.svg|RT4 Schema&lt;br /&gt;
Rt4-schema-relationships.svg|RT 4 schema relationships&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RT 3.x==&lt;br /&gt;
&lt;br /&gt;
Look at the file &#039;docs/rt-schema-relationships.dot&#039;, included in the RT 3.x distribution (download page: http://www.bestpractical.com/rt/download.html ).&lt;br /&gt;
&lt;br /&gt;
Or, browse http://svn.bestpractical.com/cgi-bin/index.cgi/bps/browse/rt/branches/ , choose the link to the relevant RT version, then click on the &#039;docs&#039; link, then on &#039;rt3-schema-relationships.dot&#039;.&lt;br /&gt;
&lt;br /&gt;
== How to visualize &#039;dot&#039; format ==&lt;br /&gt;
&lt;br /&gt;
* dbdesigner4, see http://www.fabforce.net/dbdesigner4/ (sooner or later will be [[MySQL]] Workbench. See: [http://www.fabforce.net/forum/ The FabForce Forum])&lt;br /&gt;
* graphviz, see http://www.research.att.com/sw/tools/graphviz/&lt;br /&gt;
&lt;br /&gt;
== Existing visualizations ==&lt;br /&gt;
&lt;br /&gt;
* [http://bestpractical.com/rt/3.4-schema.png Official RT 3.4 schema] by [[JesseVincent]]&lt;br /&gt;
&lt;br /&gt;
(Warning: these may be out of date. You can always download dotty or other visualizer and apply it to your .dot file to see the latest).&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=956</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=956"/>
		<updated>2012-07-25T16:24:37Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 84.14.180.66 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=FindingAnswersAboutRT&amp;diff=1341</id>
		<title>FindingAnswersAboutRT</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=FindingAnswersAboutRT&amp;diff=1341"/>
		<updated>2012-06-28T18:32:47Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Fixed wiki link, added exhortation not to clutter the wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Becoming familiar with RT and the resources available to answer your questions can be difficult at first. Frequently you get no answers or very terse answers which don&#039;t seem to provide enough guidance. This can be frustrating; it can seem like no one wants to help you when quite often they do.&lt;br /&gt;
&lt;br /&gt;
=== First, do the legwork ===&lt;br /&gt;
&lt;br /&gt;
There are a number of places to start your research before you post to the mailing list or send a note to someone who maintains some extension of RT. Here are a few searchable places, listed in order of likely usefulness:&lt;br /&gt;
&lt;br /&gt;
# [http://requesttracker.wikia.com This Wiki]  (the place with lots of answers)&lt;br /&gt;
# [[MailingListArchives]] (searchable list archives)&lt;br /&gt;
# http://www.google.com/ (I generally start &amp;quot;+RT +MostUniqueErrMsg&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Search there for answers to your questions. Very frequently you&#039;ll find just what you&#039;re looking for and perhaps more.&lt;br /&gt;
&lt;br /&gt;
=== Ask the Right People ===&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t find information on the wiki or in the mailing list archives, you should generally direct your questions to one of the RT [[MailingLists]]. Generally, you&#039;ll want to direct your questions to the rt-users mailing list, as that&#039;s the right place for them (and nearly everyone on rt-devel is also on rt-users). Posting to rt-users allows you the benefit of experienced RT admins&#039; knowledge, which will likely solve your problem much more quickly than any other approach.&lt;br /&gt;
&lt;br /&gt;
The rt-devel list is for development issues such as &amp;quot;I&#039;m thinking of implementing thus-and-such and wonder how I should go about it&amp;quot; or &amp;quot;I found a bug and fixed it; here&#039;s a patch&amp;quot; and the like.&lt;br /&gt;
&lt;br /&gt;
While it&#039;s often tempting to think you&#039;ve got a bug or critical issue and should immediately send it to rt-devel, most of the time it&#039;s not a bug, but a misconfiguration on your part, which results in a terse note pointing this out and directing you to do the legwork (as mentioned below).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Please don&#039;t create a wiki page to ask a question or add a question to the body of a wiki page.&#039;&#039;&#039;&#039;&#039; A wiki isn&#039;t a support group, it is an information repository. It may be reasonable in some cases to ask a question related to the specific topic of a wiki page in its &amp;quot;Talk&amp;quot; sub-page (particularly if the page content is unclear or incorrect) but as a practical matter that is unlikely to be as productive towards getting a good answer as aking your question on the rt-users mailing list, where there is a broad audience of people following the discussion. The time to create a wiki page is &#039;&#039;&#039;&#039;&#039;after&#039;&#039;&#039;&#039;&#039; you have an answer that could be useful to others in the future. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Please don&#039;t send email directly to the bestpractical.com developers&#039;&#039;&#039;&#039;&#039;. This may seem callous, but consider this: anyone with a bestpractical.com email address is trying to make a living working on RT; the rest of us have a full-time day job and voluntarily contribute to RT as we can. None of us wants to give up precious development time in order to do your initial legwork; conversely, we&#039;re happy to help once you&#039;ve done it and still have questions.&lt;br /&gt;
&lt;br /&gt;
=== Ask a good question well ===&lt;br /&gt;
&lt;br /&gt;
Note that there&#039;s an extensive treatise on the art of asking good questions well at http://www.catb.org/~esr/faqs/smart-questions.html&lt;br /&gt;
&lt;br /&gt;
Good questions are clear, concise, and demonstrate that you&#039;ve done the legwork as mentioned above. They also show an presumption of ignorance on your part unless *you&#039;re absolutely certain you really understand exactly what&#039;s going on*. I&#039;ve been working with RT for six years off- and-on and I still learn new things ... usually starting with an incorrect assumption on my part ;]&lt;br /&gt;
&lt;br /&gt;
A bit of an aside: nothing blows your credibility and diminishes interest in replying quite like an it&#039;s-all-screwed-up-and-must-be-a-bug message. RT is a large, complex, mature software system and you&#039;re probably not the first person to want to use feature X. It&#039;s very likely that there are many people using that feature and they&#039;d be happy to help you join them.&lt;br /&gt;
&lt;br /&gt;
Also, choose a descriptive subject; it&#039;s your first impression and will determine who reads your message. Get the good bits early in the subject (you don&#039;t know how many characters I&#039;ll see in my mailreader). Here are some good ones (chosen randomly from recent postings):&lt;br /&gt;
&lt;br /&gt;
 Can rt users come from LDAP?&lt;br /&gt;
 Installing RT on Fedora Core 4&lt;br /&gt;
 RT VMWare Appliance&lt;br /&gt;
 Show stalled on AtAGlance list?&lt;br /&gt;
&lt;br /&gt;
Each of these gives clear guidance to the topic at hand. If it&#039;s a subject I might have unique knowledge on or a distinct interest in, I&#039;ll definitely make time to read it.&lt;br /&gt;
&lt;br /&gt;
Here are some horrible ones (chosen randomly from long ago to minimize embarassment):&lt;br /&gt;
&lt;br /&gt;
 RT questions&lt;br /&gt;
 Lost information&lt;br /&gt;
 Headings&lt;br /&gt;
 Great Program!&lt;br /&gt;
&lt;br /&gt;
As you can see from these last, I have no chance to know what problems lie inside the email or whether I can provide uniquely useful information. On a slow day, I might read one of these to see if I can help. One a busy day, these go straight to the trash.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a decent framework to hang your question on:&lt;br /&gt;
&lt;br /&gt;
 Subject: FOO config problems while trying to BAR&lt;br /&gt;
 &lt;br /&gt;
 I&#039;m having problems properly configuring FOO. I thought I knew&lt;br /&gt;
 how it worked, but my attempts have all failed and searching both&lt;br /&gt;
 the wiki and the mailing list archives hasn&#039;t improved my&lt;br /&gt;
 understanding enough to make it work.&lt;br /&gt;
 &lt;br /&gt;
 I&#039;m trying to use FOO to BAR [insert concise statement of purpose]&lt;br /&gt;
 &lt;br /&gt;
 So far, I&#039;ve tried to [insert concise summary of the saga]&lt;br /&gt;
 &lt;br /&gt;
 I&#039;m using RT [version] on [OS and version] with [all pertinent&lt;br /&gt;
 web server details like apache version, mod_perl/fast_cgi, etc.]&lt;br /&gt;
 &lt;br /&gt;
 Can anyone point me in the right direction?&lt;br /&gt;
&lt;br /&gt;
=== Give A Little Bit ===&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve come up with the answer to a sticky problem, consider giving back to the community either by summarizing to the mailing list or into the wiki. That&#039;ll help the next generation of new RT admins ... and save you answering their questions on the list over and over again. ;]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=954</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=954"/>
		<updated>2012-06-28T17:57:34Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reversing multiple random pointless bogus category additions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=953</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=953"/>
		<updated>2012-06-28T17:52:12Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 99.27.183.131 (talk | block) to last version by 86.1.241.82&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;br /&gt;
[[Category:test]]&lt;br /&gt;
[[Category:Test]]&lt;br /&gt;
[[Category:skjdfklsjdlfsjlfj]]&lt;br /&gt;
[[Category:bbvbv]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Documentation&amp;diff=1007</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Documentation&amp;diff=1007"/>
		<updated>2012-05-18T23:46:37Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Cleanup weird stray brackets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to do various tasks. These are mainly articles that were written by the RT community.&lt;br /&gt;
&lt;br /&gt;
If you haven&#039;t installed RT then you should read [[InstallationGuides]]. You may also want to see the wiki pages [[FAQ]] and [[UserManual]]&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
* [[SiteConfig]] - All about configuring RT using RT_SiteConfig.pm file.&lt;br /&gt;
&lt;br /&gt;
* [[ApacheConfig]] - Apache configuration tips, for first time configuration read [[ManualApacheConfig]].&lt;br /&gt;
* [[ActiveDirectory]] - Several authentication techniques.&lt;br /&gt;
* [[CustomStatuses]] - How to add custom statuses and reasons why you don&#039;t want to do this.&lt;br /&gt;
* [[FastCGIConfiguration]]&lt;br /&gt;
* [[LockLessSessionsMySQL]] - How to configure sessions in mysql without locks&lt;br /&gt;
* [[MultipleInstances]] - Run multiple RT instances, mixing-and-matching versions of RT and local modification.&lt;br /&gt;
* [[PerformanceTuning]] - RT can run fast!&lt;br /&gt;
* [[PrivilegedUsers]] - So you know who should be privileged in your RT.&lt;br /&gt;
* [[RenameInstance]] - How to change the name of an RT instance&lt;br /&gt;
* [[Rights]] - Descriptions of most rights in RT.&lt;br /&gt;
* [[RightsQuickStart]] - Getting started using RT Rights.&lt;br /&gt;
* [[SomeProblems]] - Easy, uncommon problems and their solutions.&lt;br /&gt;
&lt;br /&gt;
== Email Interface ==&lt;br /&gt;
&lt;br /&gt;
This section is about [[MTAs]] and handling of incoming and transferring outgoing emails. See also section about scrips below to get ideas how to configure notifications and its content.&lt;br /&gt;
&lt;br /&gt;
[[EmailInterface]] - all things about handling emails in one place&lt;br /&gt;
&lt;br /&gt;
== Web User Interface ==&lt;br /&gt;
&lt;br /&gt;
* [[AddCustomStyleSheet]] - How to add a css file using a callback&lt;br /&gt;
* [[ChangeDefaultRTAtAGlance]] - How to change the default RT At A Glance page in RT 3.5.x&lt;br /&gt;
* [[ChangeLogo]] - How to change the RT logo from the default Best Practical logo.&lt;br /&gt;
* [[DisplayCustomFieldsInTicketSearch]]&lt;br /&gt;
* [[HideConfigurationTab]] - Hide the configuration tab from regular users.&lt;br /&gt;
* [[PersistentSessions]] - Making users&#039; sessions persistent&lt;br /&gt;
* [[ReverseHistoryOrder]] - Reverse the order of transactions on a ticket&#039;s history page.&lt;br /&gt;
* [[RssFeed]] - How to use RT&#039;s RSS feeds.&lt;br /&gt;
* [[SearchOnDates]] - Describes how powerful a search on dates can be.&lt;br /&gt;
* [[TicketDates]] - Describes all date fields [[Ticket]] has&lt;br /&gt;
* [[TicketSQL]] - Pseudo SQL used in the Query Builder and API&lt;br /&gt;
* [[Dashboards]] - A collection of saved searches that are run on a schedule you define and emailed to you.&lt;br /&gt;
* [[UpdatevsSaveChanges]] - Difference between &amp;quot;Update&amp;quot; and &amp;quot;Save Changes&amp;quot; button in UI&lt;br /&gt;
&lt;br /&gt;
== Service tasks and RT system maintenance ==&lt;br /&gt;
&lt;br /&gt;
See also [[EmailInterface]] and configuration section above&lt;br /&gt;
&lt;br /&gt;
* [[CleanupSessions]] - in the most cases you should do it&lt;br /&gt;
* [[ConfigureEscalation]]&lt;br /&gt;
* [[RecoverRootPassword]]&lt;br /&gt;
* [[RecoverSuperUserRights]]&lt;br /&gt;
* [[RenameInstance]] - How to change the name of an RT instance&lt;br /&gt;
* [[TimedNotifications]] - Use RT-Crontool to automatically send ticket-related notifications.&lt;br /&gt;
* [[UseRtCrontool]] - Description of rt-crontool usage.&lt;br /&gt;
* [[UseRtReminder]] - Description of contrib rt-remind script.&lt;br /&gt;
* [[UseRtTool]] - Description of the &amp;lt;code&amp;gt;bin/rt&amp;lt;/code&amp;gt; command line tool.&lt;br /&gt;
&lt;br /&gt;
== RT for Bug tracking ==&lt;br /&gt;
&lt;br /&gt;
* [[SeverityCodes]]&lt;br /&gt;
&lt;br /&gt;
== Scrips ==&lt;br /&gt;
&lt;br /&gt;
Everything related to [[Scrip]]s, [[ScripAction]]s, [[ScripCondition]]s and [[Template]]s. See also &amp;quot;Customization &amp;amp;amp; Internals&amp;quot; below.&lt;br /&gt;
&lt;br /&gt;
* [[AddNewNotifyActions]] - How to add new notify actions with &amp;lt;code&amp;gt;Action::Notify&amp;lt;/code&amp;gt; module (part of RT)&lt;br /&gt;
* [[ApprovalCreation]] - An attempt at an easier description of the Approval mechanism.&lt;br /&gt;
* [[ApproximateSeparateQueues]] - A description of one method using LDAP and custom fields to approximate separate queues.&lt;br /&gt;
* [[AutogeneratedPassword]] - Send users an autogenerated password on ticket submission.&lt;br /&gt;
* [[ChooseTemplateByUserLang]] - On the fly choose alternative template according to user&#039;s language.&lt;br /&gt;
* [[CodeSnippets]]&lt;br /&gt;
* [[NotifyOwner]] - Send ticket owners notification that they now own a ticket.&lt;br /&gt;
* [[ScripExecOrder]]&lt;br /&gt;
* [[UniqueAutoReplies]] - How to Generate a different Auto-Reply for each Queue.&lt;br /&gt;
* [[WorkFlow]] - Modeling a simple workflow with RT&lt;br /&gt;
* [[WorkFlow2]] - Slightly different workflow with RT&lt;br /&gt;
* [[WriteCustomAction]] - Article about custom actions writing.&lt;br /&gt;
* [[WriteCustomCondition]] - Article about custom conditions writing.&lt;br /&gt;
&lt;br /&gt;
== Migrate ==&lt;br /&gt;
&lt;br /&gt;
* [[PgToMySQL]] - migration process from PostgreSQL to MySQL.&lt;br /&gt;
* [[MySQLToPg]] - migration process from MySQL to PostgreSQL.&lt;br /&gt;
* [[MigrateToNewServer]] - migration from one server to another.&lt;br /&gt;
* [[MySQLToOracle]] - migration process from MySQL to !Oracle&lt;br /&gt;
&lt;br /&gt;
== RT database ==&lt;br /&gt;
&lt;br /&gt;
* [[AddDatabaseRecords]] - adding records into DB without code or SQL&lt;br /&gt;
* [[DBSchema]]&lt;br /&gt;
* [[DatabaseAdmin]]&lt;br /&gt;
* [[SetStartingId]] - how to set starting id in the RT table, for example id of the tickets&lt;br /&gt;
* [[GetWatcherInfoByTicket]] - SQL query that SELECT [[Requestor]]s, [[Cc]]s, [[AdminCc]]s info by [[Ticket]] id.&lt;br /&gt;
* [[GetTicketInfoByWatcher]] - SQL query that SELECT [[Ticket]]s info by [[Requestor]]s, [[Cc]]s or [[AdminCc]]s id.&lt;br /&gt;
* [[AttachmentsSizeSQL]]&lt;br /&gt;
&lt;br /&gt;
== Customization &amp;amp;amp; Internals ==&lt;br /&gt;
&lt;br /&gt;
* [[AutomatedTests]] - How to write RT automated tests.&lt;br /&gt;
* [[ClassObjectsMethods]] - Definition of the Class, Objects and Methods used in the RT (useful to do scrips)&lt;br /&gt;
* [[Customizing]] - introduction to RT&#039;s customization features.&lt;br /&gt;
* [[Debug]] - How to enable debug output in RT, Apache, and your database server.&lt;br /&gt;
* [[GetSoftwareVersions]] - Discovering which versions of software you have installed.&lt;br /&gt;
* [[GlobalObjects]] - Global variables and objects that can be used in your code.&lt;br /&gt;
* [[ObjectModel]] - overview of the RT API.&lt;br /&gt;
* [[ScripExecOrder]]&lt;br /&gt;
* [[TransactionBatchStage]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* [[AccentBug]] - How to work around UTF/accent bug if using Perl &amp;amp;lt; 5.8.3&lt;br /&gt;
* [[CliBasics]] - A basic example on writing a CLI program to add tickets with custom fields.&lt;br /&gt;
* [[CompilingPerl]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=943</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=943"/>
		<updated>2012-01-05T13:28:52Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 84.250.185.29 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=941</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=941"/>
		<updated>2011-12-26T15:38:48Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 46.161.92.204 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=939</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=939"/>
		<updated>2011-12-23T05:17:24Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Undo revision 6787 by 94.198.48.35 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=938</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=938"/>
		<updated>2011-12-23T05:15:57Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 204.155.172.22 (talk | block) to last version by 94.198.48.35&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;br /&gt;
[[Category:214234]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=RTConfig382&amp;diff=2948</id>
		<title>RTConfig382</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=RTConfig382&amp;diff=2948"/>
		<updated>2011-12-15T19:46:41Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 92.160.55.19 (talk | block) to last version by Best Practical&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NAME&lt;br /&gt;
&lt;br /&gt;
 RT::Config&lt;br /&gt;
 &lt;br /&gt;
 use RT::Config;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
WARNING&lt;br /&gt;
&lt;br /&gt;
 NEVER EDIT RT_Config.pm.&lt;br /&gt;
 &lt;br /&gt;
 Instead, copy any sections you want to change to RT_SiteConfig.pm and edit them there.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Base Configuration&lt;br /&gt;
&lt;br /&gt;
 $rtname&lt;br /&gt;
     $rtname is the string that RT will look for in mail messages to figure out what ticket a new piece of mail belongs to.&lt;br /&gt;
 &lt;br /&gt;
     Your domain name is recommended, so as not to pollute the namespace.  once you start using a given tag, you should probably never change it.  (otherwise, mail for existing tickets won&#039;t get put in the right place)&lt;br /&gt;
 &lt;br /&gt;
 $EmailSubjectTagRegex&lt;br /&gt;
     This regexp controls what subject tags RT recognizes as its own.  If you&#039;re not dealing with historical $rtname values, you&#039;ll likely never have to enable this feature.&lt;br /&gt;
 &lt;br /&gt;
     Be VERY CAREFUL with it. Note that it overrides $rtname for subject token matching and that you should use only &amp;quot;non-capturing&amp;quot; parenthesis grouping. For example:&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;Set($EmailSubjectTagRegex, qr/(?:example.com|example.org)/i );&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     and NOT&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;Set($EmailSubjectTagRegex, qr/(example.com|example.org)/i );&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     This setting would make RT behave exactly as it does without the setting enabled.&lt;br /&gt;
 &lt;br /&gt;
 $Organization&lt;br /&gt;
     You should set this to your organization&#039;s DNS domain. For example, fsck.com or asylum.arkham.ma.us. It&#039;s used by the linking interface to guarantee that ticket URIs are unique and easy to construct.&lt;br /&gt;
 &lt;br /&gt;
 $MinimumPasswordLength&lt;br /&gt;
     $MinimumPasswordLength defines the minimum length for user passwords. Setting it to 0 disables this check.&lt;br /&gt;
 &lt;br /&gt;
 $Timezone&lt;br /&gt;
     $Timezone is used to convert times entered by users into GMT and back again It should be set to a timezone recognized by your local unix box.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Database Configuration&lt;br /&gt;
&lt;br /&gt;
 $DatabaseType&lt;br /&gt;
     Database driver being used; case matters.&lt;br /&gt;
 &lt;br /&gt;
     Valid types are &amp;quot;mysql&amp;quot;, &amp;quot;Oracle&amp;quot; and &amp;quot;Pg&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $DatabaseHost, $DatabaseRTHost&lt;br /&gt;
     The domain name of your database server.&lt;br /&gt;
 &lt;br /&gt;
     If you&#039;re running mysql and it&#039;s on localhost, leave it blank for enhanced performance&lt;br /&gt;
 &lt;br /&gt;
 $DatabasePort&lt;br /&gt;
     The port that your database server is running on.  Ignored unless it&#039;s a positive integer. It&#039;s usually safe to leave this blank&lt;br /&gt;
 &lt;br /&gt;
 $DatabaseUser&lt;br /&gt;
     The name of the database user (inside the database)&lt;br /&gt;
 &lt;br /&gt;
 $DatabasePassword&lt;br /&gt;
     Password the $DatabaseUser should use to access the database&lt;br /&gt;
 &lt;br /&gt;
 $DatabaseName&lt;br /&gt;
     The name of the RT&#039;s database on your database server&lt;br /&gt;
 &lt;br /&gt;
 $DatabaseRequireSSL&lt;br /&gt;
     If you&#039;re using Postgres and have compiled in SSL support, set $DatabaseRequireSSL to 1 to turn on SSL communication&lt;br /&gt;
 &lt;br /&gt;
 $UseSQLForACLChecks&lt;br /&gt;
     In RT for ages ACL are checked after search what in some situtations result in empty search pages and wrong count of tickets.&lt;br /&gt;
 &lt;br /&gt;
     Set $UseSQLForACLChecks to 1 to use SQL and get rid of these problems.&lt;br /&gt;
 &lt;br /&gt;
     However, this option is beta. In some cases it result in performance improvements, but some setups can not handle it.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Incoming Mail Gateway Configuration&lt;br /&gt;
&lt;br /&gt;
 $OwnerEmail&lt;br /&gt;
     $OwnerEmail is the address of a human who manages RT. RT will send errors generated by the mail gateway to this address.  This address should _not_ be an address that&#039;s managed by your RT instance.&lt;br /&gt;
 &lt;br /&gt;
 $LoopsToRTOwner&lt;br /&gt;
     If $LoopsToRTOwner is defined, RT will send mail that it believes might be a loop to $OwnerEmail&lt;br /&gt;
 &lt;br /&gt;
 $StoreLoops&lt;br /&gt;
     If $StoreLoops is defined, RT will record messages that it believes to be part of mail loops.&lt;br /&gt;
 &lt;br /&gt;
     As it does this, it will try to be careful not to send mail to the sender of these messages&lt;br /&gt;
 &lt;br /&gt;
 $MaxAttachmentSize&lt;br /&gt;
     $MaxAttachmentSize sets the maximum size (in bytes) of attachments stored in the database.&lt;br /&gt;
 &lt;br /&gt;
     For mysql and oracle, we set this size at 10 megabytes.  If you&#039;re running a postgres version earlier than 7.1, you will need to drop this to 8192. (8k)&lt;br /&gt;
 &lt;br /&gt;
 $TruncateLongAttachments&lt;br /&gt;
     $TruncateLongAttachments: if this is set to a non-undef value, RT will truncate attachments longer than $MaxAttachmentSize.&lt;br /&gt;
 &lt;br /&gt;
 $DropLongAttachments&lt;br /&gt;
     $DropLongAttachments: if this is set to a non-undef value, RT will silently drop attachments longer than &amp;quot;MaxAttachmentSize&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
 $ParsenewMessageForTicketCcs&lt;br /&gt;
     If $ParseNewMessageForTicketCcs is true, RT will attempt to divine Ticket &#039;Cc&#039; watchers from the To and Cc lines of incoming messages Be forewarned that if you have _any_ addresses which forward mail to RT&lt;br /&gt;
     automatically and you enable this option without modifying $RTAddressRegexp below, you will get yourself into a heap of trouble.&lt;br /&gt;
 &lt;br /&gt;
 $RTAddressRegexp&lt;br /&gt;
     $RTAddressRegexp is used to make sure RT doesn&#039;t add itself as a ticket CC if the setting above is enabled.&lt;br /&gt;
 &lt;br /&gt;
 $CanonicalizeEmailAddressMatch, $CanonicalizeEmailAddressReplace&lt;br /&gt;
     RT provides functionality which allows the system to rewrite incoming email addresses.  In its simplest form, you can substitute the value in $&amp;amp;lt;CanonicalizeEmailAddressReplace&amp;amp;gt; for the value in&lt;br /&gt;
     $&amp;amp;lt;CanonicalizeEmailAddressMatch&amp;amp;gt; (These values are passed to the $&amp;amp;lt;CanonicalizeEmailAddress&amp;amp;gt; subroutine in&lt;br /&gt;
      RT/User.pm)&lt;br /&gt;
 &lt;br /&gt;
     By default, that routine performs a &amp;quot;s/$Match/$Replace/gi&amp;quot; on any address passed to it.&lt;br /&gt;
 &lt;br /&gt;
 $CanonicalizeEmailAddressMatch&lt;br /&gt;
     Set this to true and the create new user page will use the values that you enter in the form but use the function CanonicalizeUserInfo in RT/User_Local.pm&lt;br /&gt;
 &lt;br /&gt;
 $SenderMustExistInExternalDatabase&lt;br /&gt;
     If $SenderMustExistInExternalDatabase is true, RT will refuse to create non-privileged accounts for unknown users if you are using the $LookupSenderInExternalDatabase option.  Instead, an error message will be mailed&lt;br /&gt;
     and RT will forward the message to $RTOwner.&lt;br /&gt;
 &lt;br /&gt;
     If you are not using $LookupSenderInExternalDatabase, this option has no effect.&lt;br /&gt;
 &lt;br /&gt;
     If you define an AutoRejectRequest template, RT will use this template for the rejection message.&lt;br /&gt;
 &lt;br /&gt;
 @MailPlugins&lt;br /&gt;
     @MailPlugins is a list of auth plugins for RT::Interface::Email to use; see rt-mailgate&lt;br /&gt;
 &lt;br /&gt;
 $UnsafeEmailCommands&lt;br /&gt;
     $UnsafeEmailCommands, if set to true, enables &#039;take&#039; and &#039;resolve&#039; as possible actions via the mail gateway.  As its name implies, this is very unsafe, as it allows email with a forged sender to possibly resolve&lt;br /&gt;
     arbitrary tickets!&lt;br /&gt;
 &lt;br /&gt;
 $ExtractSubjectTagMatch, $ExtractSubjectTagNoMatch&lt;br /&gt;
     The default &amp;quot;extract remote tracking tags&amp;quot; scrip settings; these detect when your RT is talking to another RT, and adjusts the subject accordingly.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Outgoing Mail Configuration&lt;br /&gt;
&lt;br /&gt;
 $MailCommand&lt;br /&gt;
     $MailCommand defines which method RT will use to try to send mail.  We know that &#039;sendmailpipe&#039; works fairly well.  If &#039;sendmailpipe&#039; doesn&#039;t work well for you, try &#039;sendmail&#039;.  Other options are &#039;smtp&#039; or &#039;qmail&#039;.&lt;br /&gt;
 &lt;br /&gt;
     Note that you should remove the &#039;-t&#039; from $SendmailArguments if you use &#039;sendmail&#039; rather than &#039;sendmailpipe&#039;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Sendmail Configuration&lt;br /&gt;
&lt;br /&gt;
 These options only take effect if $MailCommand is &#039;sendmail&#039; or &#039;sendmailpipe&#039;&lt;br /&gt;
 &lt;br /&gt;
 $SendmailArguments&lt;br /&gt;
     $SendmailArguments defines what flags to pass to $SendmailPath If you picked &#039;sendmailpipe&#039;, you MUST add a -t flag to $SendmailArguments These options are good for most sendmail wrappers and workalikes&lt;br /&gt;
 &lt;br /&gt;
     These arguments are good for sendmail brand sendmail 8 and newer &amp;quot;Set($SendmailArguments,&amp;quot;-oi -t -ODeliveryMode=b -OErrorMode=m&amp;quot;);&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $SendmailBounceArguments&lt;br /&gt;
     $SendmailBounceArguments defines what flags to pass to $Sendmail assuming RT needs to send an error (ie. bounce).&lt;br /&gt;
 &lt;br /&gt;
 $SendmailPath&lt;br /&gt;
     If you selected &#039;sendmailpipe&#039; above, you MUST specify the path to your sendmail binary in $SendmailPath.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
SMTP Configuration&lt;br /&gt;
&lt;br /&gt;
 These options only take effect if $MailCommand is &#039;smtp&#039;&lt;br /&gt;
 &lt;br /&gt;
 $SMTPServer&lt;br /&gt;
     $SMTPServer should be set to the hostname of the SMTP server to use&lt;br /&gt;
 &lt;br /&gt;
 $SMTPFrom&lt;br /&gt;
     $SMTPFrom should be set to the &#039;From&#039; address to use, if not the email&#039;s &#039;From&#039;&lt;br /&gt;
 &lt;br /&gt;
 $SMTPDebug&lt;br /&gt;
     $SMTPDebug should be set to true to debug SMTP mail sending&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Other Mailer Configuration&lt;br /&gt;
&lt;br /&gt;
 @MailParams&lt;br /&gt;
     @MailParams defines a list of options passed to $MailCommand if it is not &#039;sendmailpipe&#039;, &#039;sendmail&#039;, or &#039;smtp&#039;&lt;br /&gt;
 &lt;br /&gt;
 $CorrespondAddress, $CommentAddress&lt;br /&gt;
     RT is designed such that any mail which already has a ticket-id associated with it will get to the right place automatically.&lt;br /&gt;
 &lt;br /&gt;
     $CorrespondAddress and $CommentAddress are the default addresses that will be listed in From: and Reply-To: headers of correspondence and comment mail tracked by RT, unless overridden by a queue-specific address.&lt;br /&gt;
 &lt;br /&gt;
 $DashboardAddress&lt;br /&gt;
     The email address from which RT will send dashboards. If none is set, then $OwnerEmail will be used.&lt;br /&gt;
 &lt;br /&gt;
 $UseFriendlyFromLine&lt;br /&gt;
     By default, RT sets the outgoing mail&#039;s &amp;quot;From:&amp;quot; header to &amp;quot;SenderName via RT&amp;quot;.  Setting $UseFriendlyFromLine to 0 disables it.&lt;br /&gt;
 &lt;br /&gt;
 $FriendlyFromLineFormat&lt;br /&gt;
     &amp;quot;sprintf()&amp;quot; format of the friendly &#039;From:&#039; header; its arguments are SenderName and SenderEmailAddress.&lt;br /&gt;
 &lt;br /&gt;
 $UseFriendlyToLine&lt;br /&gt;
     RT can optionally set a &amp;quot;Friendly&amp;quot; &#039;To:&#039; header when sending messages to Ccs or AdminCcs (rather than having a blank &#039;To:&#039; header.&lt;br /&gt;
 &lt;br /&gt;
     This feature DOES NOT WORK WITH SENDMAIL[tm] BRAND SENDMAIL If you are using sendmail, rather than postfix, qmail, exim or some other MTA, you _must_ disable this option.&lt;br /&gt;
 &lt;br /&gt;
 $FriendlyToLineFormat&lt;br /&gt;
     &amp;quot;sprintf()&amp;quot; format of the friendly &#039;From:&#039; header; its arguments are WatcherType and TicketId.&lt;br /&gt;
 &lt;br /&gt;
 $NotifyActor&lt;br /&gt;
     By default, RT doesn&#039;t notify the person who performs an update, as they already know what they&#039;ve done. If you&#039;d like to change this behaviour, Set $NotifyActor to 1&lt;br /&gt;
 &lt;br /&gt;
 $RecordOutgoingEmail&lt;br /&gt;
     By default, RT records each message it sends out to its own internal database.  To change this behavior, set $RecordOutgoingEmail to 0&lt;br /&gt;
 &lt;br /&gt;
 $VERPPrefix, $VERPPrefix&lt;br /&gt;
     VERP support (http://cr.yp.to/proto/verp.txt)&lt;br /&gt;
 &lt;br /&gt;
     uncomment the following two directives to generate envelope senders of the form &amp;quot;${VERPPrefix}${originaladdress}@${VERPDomain}&amp;quot; (i.e. rt-jesse=fsck.com@rt.example.com ).&lt;br /&gt;
 &lt;br /&gt;
     This currently only works with sendmail and sendmailppie.&lt;br /&gt;
 &lt;br /&gt;
 $ForwardFromUser&lt;br /&gt;
     By default, RT forwards a message using queue&#039;s address and adds RT&#039;s tag into subject of the outgoing message, so recipients&#039; replies go into RT as correspondents.&lt;br /&gt;
 &lt;br /&gt;
     To change this behavior, set $ForwardFromUser to true value and RT will use address of the current user and leave subject without RT&#039;s tag.&lt;br /&gt;
 &lt;br /&gt;
 $ShowBccHeader&lt;br /&gt;
     By default RT hides from the web UI information about blind copies user sent on reply or comment.&lt;br /&gt;
 &lt;br /&gt;
     To change this set the following option to true value.&lt;br /&gt;
 &lt;br /&gt;
 $DashboardSubject&lt;br /&gt;
     Lets you set the subject of dashboards. Arguments are the frequency (Daily, Weekly, Monthly) of the dashboard and the dashboard&#039;s name. [_1] for the name of the dashboard.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[GnuPG]] Configuration&lt;br /&gt;
&lt;br /&gt;
 A full description of the (somewhat extensive) GnuPG integration can be found by running the command &#039;perldoc RT::Crypt::GnuPG&#039;  (or &#039;perldoc&lt;br /&gt;
         lib/RT/Crypt/GnuPG.pm&#039; from your RT install directory).&lt;br /&gt;
 &lt;br /&gt;
 %GnuPG&lt;br /&gt;
     Set &amp;quot;OutgoingMessagesFormat&amp;quot; to &#039;inline&#039; to use inline encryption and signatures instead of &#039;RFC&#039; (GPG/MIME: RFC3156 and RFC1847) format.&lt;br /&gt;
 &lt;br /&gt;
     If you want to allow people to encrypt attachments inside the DB then set &amp;quot;AllowEncryptDataInDB&amp;quot; to true&lt;br /&gt;
 &lt;br /&gt;
 %GnuPGOptions&lt;br /&gt;
     Options of GnuPG program.&lt;br /&gt;
 &lt;br /&gt;
     If you override this in your RT_SiteConfig, you should be sure to include a homedir setting.&lt;br /&gt;
 &lt;br /&gt;
     NOTE that options with &#039;-&#039; character MUST be quoted.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Logging Configuration&lt;br /&gt;
&lt;br /&gt;
 The default is to log anything except debugging information to syslog.  Check the Log::Dispatch POD for information about how to get things by syslog, mail or anything else, get debugging info in the log, etc.&lt;br /&gt;
 &lt;br /&gt;
 It might generally make sense to send error and higher by email to some administrator.  If you do this, be careful that this email isn&#039;t sent to this RT instance.  Mail loops will generate a critical log message.&lt;br /&gt;
 &lt;br /&gt;
 $LogToSyslog, $LogToScreen&lt;br /&gt;
     The minimum level error that will be logged to the specific device.  From lowest to highest priority, the levels are:&lt;br /&gt;
      debug info notice warning error critical alert emergency&lt;br /&gt;
 &lt;br /&gt;
 $LogToFile, $LogDir, $LogToFileNamed&lt;br /&gt;
     Logging to a standalone file is also possible, but note that the file should needs to both exist and be writable by all direct users of the RT API.  This generally include the web server, whoever rt-crontool runs as.&lt;br /&gt;
     Note that as rt-mailgate and the RT CLI go through the webserver, so their users do not need to have write permissions to this file. If you expect to have multiple users of the direct API, Best Practical recommends&lt;br /&gt;
     using syslog instead of direct file logging.&lt;br /&gt;
 &lt;br /&gt;
 $LogStackTraces&lt;br /&gt;
     If set to a log level then logging will include stack traces for messages with level equal to or greater than specified.&lt;br /&gt;
 &lt;br /&gt;
 @LogToSyslogConf&lt;br /&gt;
     On Solaris or UnixWare, set to ( socket =&amp;amp;gt; &#039;inet&#039; ).  Options here override any other options RT passes to Log::Dispatch::Syslog.  Other interesting flags include facility and logopt.  (See the Log::Dispatch::Syslog&lt;br /&gt;
     documentation for more information.)  (Maybe ident too, if you have multiple RT installations.)&lt;br /&gt;
 &lt;br /&gt;
 $StatementLog,&lt;br /&gt;
     RT has rudimentary SQL statement logging support if you have DBIx-SearchBuilder 1.31_1 or higher; simply set $StatementLog to be the level that you wish SQL statements to be logged at.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Web Interface Configuration&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$WebDefaultStylesheet&lt;br /&gt;
     This determines the default stylesheet the RT web interface will use.  RT ships with several themes by default:&lt;br /&gt;
 &lt;br /&gt;
       web2            The totally new, default layout for RT 3.8&lt;br /&gt;
       3.5-default     RT 3.5 and 3.6 original layout&lt;br /&gt;
       3.4-compat      A 3.4 compatibility stylesheet to make RT look&lt;br /&gt;
                       (mostly) like 3.4&lt;br /&gt;
 &lt;br /&gt;
     This value actually specifies a directory in share/html/NoAuth/css/ from which RT will try to load the file main.css (which should @import any other files the stylesheet needs).  This allows you to easily and cleanly&lt;br /&gt;
     create your own stylesheets to apply to RT.  This option can be overridden by users in their preferences.&lt;br /&gt;
 &lt;br /&gt;
 $UsernameFormat&lt;br /&gt;
     This determines how user info is displayed. Concise will show one of either NickName, RealName, Name or EmailAddress, depending on what exists and whether the user is privileged or not. Verbose will show RealName and&lt;br /&gt;
     EmailAddress.&lt;br /&gt;
 &lt;br /&gt;
 $WebPath&lt;br /&gt;
     If you&#039;re putting the web ui somewhere other than at the root of your server, you should set $WebPath to the path you&#039;ll be serving RT at.&lt;br /&gt;
 &lt;br /&gt;
     $WebPath requires a leading / but no trailing /.&lt;br /&gt;
 &lt;br /&gt;
     In most cases, you should leave $WebPath set to &#039;&#039; (an empty value).&lt;br /&gt;
 &lt;br /&gt;
 $WebPort&lt;br /&gt;
     If we&#039;re running as a superuser, run on port 80 Otherwise, pick a high port for this user.&lt;br /&gt;
 &lt;br /&gt;
 $WebDomain&lt;br /&gt;
     you know what domain name is, right? ;)&lt;br /&gt;
 &lt;br /&gt;
 $WebBaseURL, $WebURL&lt;br /&gt;
     This is the Scheme, server and port for constructing urls to webrt $WebBaseURL doesn&#039;t need a trailing /&lt;br /&gt;
 &lt;br /&gt;
 $WebImagesURL&lt;br /&gt;
     $WebImagesURL points to the base URL where RT can find its images.  Define the directory name to be used for images in rt web documents.&lt;br /&gt;
 &lt;br /&gt;
 $LogoURL&lt;br /&gt;
     $LogoURL points to the URL of the RT logo displayed in the web UI&lt;br /&gt;
 &lt;br /&gt;
 $WebNoAuthRegex&lt;br /&gt;
     What portion of RT&#039;s URLspace should not require authentication.&lt;br /&gt;
 &lt;br /&gt;
 $SelfServiceRegex&lt;br /&gt;
     What portion of RT&#039;s URLspace should be accessible to Unprivileged users This does not override the redirect from /Ticket/Display.html to /SelfService/Display.html when Unprivileged users attempt to access ticked&lt;br /&gt;
     displays&lt;br /&gt;
 &lt;br /&gt;
 $MessageBoxWidth, $MessageBoxHeight&lt;br /&gt;
     For message boxes, set the entry box width, height and what type of wrapping to use.  These options can be overridden by users in their preferences.&lt;br /&gt;
 &lt;br /&gt;
     Default width: 72, height: 15&lt;br /&gt;
 &lt;br /&gt;
     These settings only apply to the non-RichText message box.  See below for Rich Text settings.&lt;br /&gt;
 &lt;br /&gt;
 $MessageBoxWrap&lt;br /&gt;
     Default wrapping: &amp;quot;HARD&amp;quot;  (choices &amp;quot;SOFT&amp;quot;, &amp;quot;HARD&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 $MessageBoxRichText&lt;br /&gt;
     Should &amp;quot;rich text&amp;quot; editing be enabled? This option lets your users send html email messages from the web interface.&lt;br /&gt;
 &lt;br /&gt;
 $MessageBoxRichTextHeight&lt;br /&gt;
     Height of RichText javascript enabled editing boxes (in pixels)&lt;br /&gt;
 &lt;br /&gt;
 $MessageBoxIncludeSignature&lt;br /&gt;
     Should your user&#039;s signatures (from their Preferences page) be included in Comments and Replies&lt;br /&gt;
 &lt;br /&gt;
 $WikiImplicitLinks&lt;br /&gt;
     Support implicit links in WikiText custom fields?  A true value causes InterCapped or ALLCAPS words in WikiText fields to automatically become links to searches for those words.  If used on RTFM articles, it links to&lt;br /&gt;
     the RTFM article with that name.&lt;br /&gt;
 &lt;br /&gt;
 $TrustHTMLAttachments&lt;br /&gt;
     if &amp;quot;TrustHTMLAttachments&amp;quot; is not defined, we will display them as text. This prevents malicious HTML and javascript from being sent in a request (although there is probably more to it than that)&lt;br /&gt;
 &lt;br /&gt;
 $RedistributeAutoGeneratedMessages&lt;br /&gt;
     Should RT redistribute correspondence that it identifies as machine generated? A true value will do so; setting this to &#039;0&#039; will cause no such messages to be redistributed.  You can also use &#039;privileged&#039; (the default),&lt;br /&gt;
     which will redistribute only to privileged users. This helps to protect against malformed bounces and loops caused by autocreated requestors with bogus addresses.&lt;br /&gt;
 &lt;br /&gt;
 $PreferRichText&lt;br /&gt;
     If $PreferRichText is set to a true value, RT will show HTML/Rich text messages in preference to their plaintext alternatives. RT &amp;quot;scrubs&amp;quot; the html to show only a minimal subset of HTML to avoid possible contamination&lt;br /&gt;
     by cross-site-scripting attacks.&lt;br /&gt;
 &lt;br /&gt;
 $WebExternalAuth&lt;br /&gt;
     If $WebExternalAuth is defined, RT will defer to the environment&#039;s REMOTE_USER variable.&lt;br /&gt;
 &lt;br /&gt;
 $WebFallbackToInternalAuth&lt;br /&gt;
     If $WebFallbackToInternalAuth is undefined, the user is allowed a chance of fallback to the login screen, even if REMOTE_USER failed.&lt;br /&gt;
 &lt;br /&gt;
 $WebExternalGecos&lt;br /&gt;
     $WebExternalGecos means to match &#039;gecos&#039; field as the user identity); useful with mod_auth_pwcheck and IIS Integrated Windows logon.&lt;br /&gt;
 &lt;br /&gt;
 $WebExternalAuto&lt;br /&gt;
     $WebExternalAuto will create users under the same name as REMOTE_USER upon login, if it&#039;s missing in the Users table.&lt;br /&gt;
 &lt;br /&gt;
 $AutoCreate&lt;br /&gt;
     If $WebExternalAuto is true, $AutoCreate will be passed to User&#039;s Create method.  Use it to set defaults, such as creating Unprivileged users with &amp;quot;{ Privileged =&amp;quot; 0 }&amp;amp;gt; ( Must be a hashref of arguments )&lt;br /&gt;
 &lt;br /&gt;
 $WebSessionClass&lt;br /&gt;
     $WebSessionClass is the class you wish to use for managing Sessions.  It defaults to use your SQL database, but if you are using MySQL 3.x and plans to use non-ascii Queue names, uncomment and add this line to&lt;br /&gt;
     RT_SiteConfig.pm will prevent session corruption.&lt;br /&gt;
 &lt;br /&gt;
 $AutoLogoff&lt;br /&gt;
     By default, RT&#039;s user sessions persist until a user closes his or her browser. With the $AutoLogoff option you can setup session lifetime in minutes. A user will be logged out if he or she doesn&#039;t send any requests to&lt;br /&gt;
     RT for the defined time.&lt;br /&gt;
 &lt;br /&gt;
 $WebSecureCookies&lt;br /&gt;
     By default, RT&#039;s session cookie isn&#039;t marked as &amp;quot;secure&amp;quot; Some web browsers will treat secure cookies more carefully than non-secure ones, being careful not to write them to disk, only send them over an SSL secured&lt;br /&gt;
     connection and so on. To enable this behaviour, set $WebSecureCookies to a true value.  NOTE: You probably don&#039;t want to turn this on _unless_ users are only connecting via SSL encrypted HTTP connections.&lt;br /&gt;
 &lt;br /&gt;
 $WebFlushDbCacheEveryRequest&lt;br /&gt;
     By default, RT clears its database cache after every page view.  This ensures that you&#039;ve always got the most current information when working in a multi-process (mod_perl or FastCGI) Environment Setting&lt;br /&gt;
     $WebFlushDbCacheEveryRequest to &#039;0&#039; will turn this off, which will speed RT up a bit, at the expense of a tiny bit of data accuracy.&lt;br /&gt;
 &lt;br /&gt;
 $MaxInlineBody&lt;br /&gt;
     $MaxInlineBody is the maximum attachment size that we want to see inline when viewing a transaction.  RT will inline any text if value is undefined or 0.  This option can be overridden by users in their preferences.&lt;br /&gt;
 &lt;br /&gt;
 $DefaultSummaryRows&lt;br /&gt;
     $DefaultSummaryRows is default number of rows displayed in for search results on the frontpage.&lt;br /&gt;
 &lt;br /&gt;
 $OldestTransactionsFirst&lt;br /&gt;
     By default, RT shows newest transactions at the bottom of the ticket history page, if you want see them at the top set this to &#039;0&#039;.  This option can be overridden by users in their preferences.&lt;br /&gt;
 &lt;br /&gt;
 $ShowTransactionImages&lt;br /&gt;
     By default, RT shows images attached to incoming (and outgoing) ticket updates inline. Set this variable to 0 if you&#039;d like to disable that behaviour&lt;br /&gt;
 &lt;br /&gt;
 $PlainTextPre&lt;br /&gt;
     Normally plaintext attachments are displayed as HTML with line breaks preserved.  This causes space- and tab-based formatting not to be displayed correctly.  By setting $PlainTextPre they&#039;ll be displayed using &amp;amp;lt;pre&amp;amp;gt;&lt;br /&gt;
     instead so such formatting works, but they&#039;ll use a monospaced font.&lt;br /&gt;
 &lt;br /&gt;
 $ShowUnreadMessageNotifications&lt;br /&gt;
     By default, RT will prompt users when there are new, unread messages on tickets they are viewing.&lt;br /&gt;
 &lt;br /&gt;
     Set $ShowUnreadMessageNotifications to a false value to disable this feature.&lt;br /&gt;
 &lt;br /&gt;
 $HomepageComponents&lt;br /&gt;
     $HomepageComponents is an arrayref of allowed components on a user&#039;s customized homepage (&amp;quot;RT at a glance&amp;quot;).&lt;br /&gt;
 &lt;br /&gt;
 @MasonParameters&lt;br /&gt;
     @MasonParameters is the list of parameters for the constructor of HTML::Mason&#039;s Apache or CGI Handler.  This is normally only useful for debugging, eg. profiling individual components with:&lt;br /&gt;
 &lt;br /&gt;
         use MasonX::Profiler; # available on CPAN&lt;br /&gt;
         Set(@MasonParameters, (preamble =&amp;amp;gt; &#039;my $p = MasonX::Profiler-&amp;amp;gt;new($m, $r);&#039;));&lt;br /&gt;
 &lt;br /&gt;
 $DefaultSearchResultFormat&lt;br /&gt;
     $DefaultSearchResultFormat is the default format for RT search results&lt;br /&gt;
 &lt;br /&gt;
 $SuppressInlineTextFiles&lt;br /&gt;
     If $SuppressInlineTextFiles is set to a true value, then uploaded text files (text-type attachments with file names) are prevented from being displayed in-line when viewing a ticket&#039;s history.&lt;br /&gt;
 &lt;br /&gt;
 $DontSearchFileAttachments&lt;br /&gt;
     If $DontSearchFileAttachments is set to a true value, then uploaded files (attachments with file names) are not searched during full-content ticket searches.&lt;br /&gt;
 &lt;br /&gt;
 $ChartFont&lt;br /&gt;
     The GD module (which RT uses for graphs) uses a builtin font that doesn&#039;t have full Unicode support. You can use a particular TrueType font by setting $ChartFont to the absolute path of that font. Your GD library must&lt;br /&gt;
     have support for TrueType fonts to use this option.&lt;br /&gt;
 &lt;br /&gt;
 @Active_MakeClicky&lt;br /&gt;
     MakeClicky detects various formats of data in headers and email messages, and extends them with supporting links.  By default, RT provides two formats:&lt;br /&gt;
 &lt;br /&gt;
     * &#039;httpurl&#039;: detects http:// and https:// URLs and adds &#039;[Open URL]&#039;&lt;br /&gt;
       link after the URL.&lt;br /&gt;
 &lt;br /&gt;
     * &#039;httpurl_overwrite&#039;: also detects URLs as &#039;httpurl&#039; format, but&lt;br /&gt;
       replace URL with link and *adds spaces* into text if it&#039;s longer&lt;br /&gt;
       then 30 chars. This allow browser to wrap long URLs and avoid&lt;br /&gt;
       horizontal scrolling.&lt;br /&gt;
 &lt;br /&gt;
     See share/html/Elements/MakeClicky for documentation on how to add your own.&lt;br /&gt;
 &lt;br /&gt;
 $DefaultQueue&lt;br /&gt;
     Use this to select the default queue name that will be used for creating new tickets. You may use either the queue&#039;s name or its ID. This only affects the queue selection boxes on the web interface.&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Net::Server (rt-server) Configuration&lt;br /&gt;
&lt;br /&gt;
 $StandaloneMinServers, $StandaloneMaxServers&lt;br /&gt;
     The absolute minimum and maximum number of servers that will be created to handle requests. Having multiple servers means that serving a slow page will affect other users less.&lt;br /&gt;
 &lt;br /&gt;
 $StandaloneMinSpareServers, $StandaloneMaxSpareServers&lt;br /&gt;
     These next two options can be used to scale up and down the number of servers to adjust to load. These two options will respect the $StandaloneMinServers  and &amp;quot;$StandaloneMaxServers options&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
 $StandaloneMaxRequests&lt;br /&gt;
     This sets the absolute maximum number of requests a single server will serve.  Setting this would be useful if, for example, memory usage slowly crawls up every hit.&lt;br /&gt;
 &lt;br /&gt;
 %NetServerOptions&lt;br /&gt;
     %NetServerOptions is a hash of additional options to use for &amp;quot;DEFAULT ARGUMENTS&amp;quot; in Net::Server. For example, you could set reverse_lookups to get the hostnames for all users with:&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;Set(%NetServerOptions, (reverse_lookups =&amp;quot; 1));&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
UTF-8 Configuration&lt;br /&gt;
&lt;br /&gt;
 @LexiconLanguages&lt;br /&gt;
     An array that contains languages supported by RT&#039;s internationalization interface.  Defaults to all *.po lexicons; setting it to &amp;quot;qw(en ja)&amp;quot; will make RT bilingual instead of multilingual, but will save some memory.&lt;br /&gt;
 &lt;br /&gt;
 @EmailInputEncodings&lt;br /&gt;
     An array that contains default encodings used to guess which charset an attachment uses if not specified.  Must be recognized by Encode::Guess.&lt;br /&gt;
 &lt;br /&gt;
 $EmailOutputEncoding&lt;br /&gt;
     The charset for localized email.  Must be recognized by Encode.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Date Handling Configuration&lt;br /&gt;
&lt;br /&gt;
 $DateTimeFormat&lt;br /&gt;
     You can choose date and time format.  See &amp;quot;Output formatters&amp;quot; section in perldoc lib/RT/Date.pm for more options.  This option can be overridden by users in their preferences.  Some examples:&lt;br /&gt;
 &lt;br /&gt;
     &amp;quot;Set($DateTimeFormat, { Format =&amp;quot; &#039;ISO&#039;, Seconds =&amp;amp;gt; 0 });&amp;amp;gt; &amp;quot;Set($DateTimeFormat, &#039;RFC2822&#039;);&amp;quot; &amp;quot;Set($DateTimeFormat, { Format =&amp;quot; &#039;RFC2822&#039;, Seconds =&amp;amp;gt; 0, DayOfWeek =&amp;amp;gt; 0 });&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 $DateDayBeforeMonth&lt;br /&gt;
     Set this to 1 if your local date convention looks like &amp;quot;dd/mm/yy&amp;quot; instead of &amp;quot;mm/dd/yy&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
 $AmbiguousDayInPast, $AmbiguousDayInFuture&lt;br /&gt;
     Should an unspecified day or year in a date refer to a future or a past value? For example, should a date of &amp;quot;Tuesday&amp;quot; default to mean the date for next Tuesday or last Tuesday? Should the date &amp;quot;March 1&amp;quot; default to the&lt;br /&gt;
     date for next March or last March?&lt;br /&gt;
 &lt;br /&gt;
     Set $&amp;amp;lt;AmbiguousDayInPast&amp;amp;gt; for the last date, or $&amp;amp;lt;$AmbiguousDayInFuture&amp;amp;gt; for the next date.&lt;br /&gt;
 &lt;br /&gt;
     The default is usually good.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Miscellaneous Configuration&lt;br /&gt;
&lt;br /&gt;
 @ActiveStatus, @InactiveStatus&lt;br /&gt;
     You can define new statuses and even reorder existing statuses here.  WARNING. DO NOT DELETE ANY OF THE DEFAULT STATUSES. If you do, RT will break horribly. The statuses you add must be no longer than 10 characters.&lt;br /&gt;
 &lt;br /&gt;
 $LinkTransactionsRun1Scrip&lt;br /&gt;
     RT-3.4 backward compatibility setting. Add/Delete Link used to record one transaction and run one scrip. Set this value to 1 if you want only one of the link transactions to have scrips run.&lt;br /&gt;
 &lt;br /&gt;
 $StrictLinkACL&lt;br /&gt;
     When this feature is enabled a user needs ModifyTicket rights on both tickets to link them together, otherwise he can have rights on either of them.&lt;br /&gt;
 &lt;br /&gt;
 $PreviewScripMessages&lt;br /&gt;
     Set $PreviewScripMessages to 1 if the scrips preview on the ticket reply page should include the content of the messages to be sent.&lt;br /&gt;
 &lt;br /&gt;
 $UseTransactionBatch&lt;br /&gt;
     Set $UseTransactionBatch to 1 to execute transactions in batches, such that a resolve and comment (for example) would happen simultaneously, instead of as two transactions, unaware of each others&#039; existence.&lt;br /&gt;
 &lt;br /&gt;
 @CustomFieldValuesSources&lt;br /&gt;
     Set @CustomFieldValuesSources to a list of class names which extend RT::CustomFieldValues::External.  This can be used to pull lists of custom field values from external sources at runtime.&lt;br /&gt;
 &lt;br /&gt;
 $CanonicalizeRedirectURLs&lt;br /&gt;
     Set $CanonicalizeRedirectURLs to 1 to use $&amp;quot;WebURL&amp;quot; when redirecting rather than the one we get from %ENV.&lt;br /&gt;
 &lt;br /&gt;
     If you use RT behind a reverse proxy, you almost certainly want to enable this option.&lt;br /&gt;
 &lt;br /&gt;
 $EnableReminders&lt;br /&gt;
     Hide links/portlets related to Reminders by setting this to 0&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Development Configuration&lt;br /&gt;
&lt;br /&gt;
 $DevelMode&lt;br /&gt;
     RT comes with a &amp;quot;Development mode&amp;quot; setting.  This setting, as a convenience for developers, turns on all sorts of development options that you most likely don&#039;t want in production:&lt;br /&gt;
 &lt;br /&gt;
     * Turns off Mason&#039;s &#039;static_source&#039; directive. By default, you can&#039;t&lt;br /&gt;
       edit RT&#039;s web ui components on the fly and have RT magically pick up&lt;br /&gt;
       your changes. (It&#039;s a big performance hit)&lt;br /&gt;
 &lt;br /&gt;
      * More to come&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Deprecated Options&lt;br /&gt;
&lt;br /&gt;
 $AlwaysUseBase64&lt;br /&gt;
     Encode blobs as base64 in DB (?)&lt;br /&gt;
 &lt;br /&gt;
 $TicketBaseURI&lt;br /&gt;
     Base URI to tickets in this system; used when loading (?)&lt;br /&gt;
 &lt;br /&gt;
 $UseCodeTickets&lt;br /&gt;
     This option is exists for backwards compatibility.  Don&#039;t use it.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=935</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=935"/>
		<updated>2011-11-18T19:28:52Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 109.247.144.131 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=933</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=933"/>
		<updated>2011-10-28T13:55:23Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 82.207.170.50 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ScripExecutionOrder&amp;diff=3394</id>
		<title>ScripExecutionOrder</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ScripExecutionOrder&amp;diff=3394"/>
		<updated>2011-10-20T19:23:15Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Content was flat-out wrong. Scrip execution is correctly documented by ScripExecOrder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ScripExecOrder]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ShowStatusInColor&amp;diff=3595</id>
		<title>ShowStatusInColor</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ShowStatusInColor&amp;diff=3595"/>
		<updated>2011-07-25T17:43:07Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by LissaLamb (talk | block) to last version by Best Practical&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Colorize ticket links based on status or, as in one example below, by priority.&lt;br /&gt;
&lt;br /&gt;
== RT 3.8.2 ==&lt;br /&gt;
&lt;br /&gt;
=== Simple ===&lt;br /&gt;
&lt;br /&gt;
Below is a modified local/html/Elements/ShowLink. It will display inter-ticket links colored to match the status of the ticket with the same color scheme used in graphs, via inline CSS. --Jerrad&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;lt;a href=&amp;quot;&amp;amp;lt;%$URI-&amp;amp;gt;Resolver-&amp;amp;gt;HREF%&amp;amp;gt;&amp;quot;&amp;amp;gt;&lt;br /&gt;
 % if ($URI-&amp;amp;gt;IsLocal) {&lt;br /&gt;
 % my $member = $URI-&amp;amp;gt;Object;&lt;br /&gt;
 % if (UNIVERSAL::isa($member, &amp;quot;RT::Ticket&amp;quot;)) {&lt;br /&gt;
 &lt;br /&gt;
 #Customization&lt;br /&gt;
 &amp;amp;lt;%perl&amp;amp;gt;&lt;br /&gt;
 require RT::Graph::Tickets;&lt;br /&gt;
 my $status = $member-&amp;amp;gt;Status;&lt;br /&gt;
 my $class  = $member-&amp;amp;gt;QueueObj-&amp;amp;gt;IsInactiveStatus($status)?&#039;ticket-inactive&#039;:&#039;&#039;;&lt;br /&gt;
 my $color  = $RT::Graph::Tickets::ticket_status_style{$status}-&amp;amp;gt;{&#039;fontcolor&#039;};&lt;br /&gt;
 &amp;amp;lt;/%perl&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;span class=&amp;quot;&amp;amp;lt;% $class %&amp;amp;gt;&amp;quot; style=&amp;quot;color: &amp;amp;lt;% $color %&amp;amp;gt;&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%$member-&amp;amp;gt;Id%&amp;amp;gt;: (&amp;amp;lt;%$member-&amp;amp;gt;OwnerObj-&amp;amp;gt;Name%&amp;amp;gt;) &amp;amp;lt;%$member-&amp;amp;gt;Subject%&amp;amp;gt; [&amp;amp;lt;% loc($member-&amp;amp;gt;Status) %&amp;amp;gt;]&lt;br /&gt;
 &amp;amp;lt;/span&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 % } elsif ( UNIVERSAL::can($member, &#039;Name&#039;)) {&lt;br /&gt;
 &amp;amp;lt;%$URI-&amp;amp;gt;Resolver-&amp;amp;gt;AsString%&amp;amp;gt;: &amp;amp;lt;%$member-&amp;amp;gt;Name%&amp;amp;gt;&lt;br /&gt;
 % } else {&lt;br /&gt;
 &amp;amp;lt;%$URI-&amp;amp;gt;Resolver-&amp;amp;gt;AsString%&amp;amp;gt;&lt;br /&gt;
 % }&lt;br /&gt;
 % } else {&lt;br /&gt;
 &amp;amp;lt;%$URI-&amp;amp;gt;Resolver-&amp;amp;gt;AsString%&amp;amp;gt;&lt;br /&gt;
 % }&lt;br /&gt;
 &amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;%ARGS&amp;amp;gt;&lt;br /&gt;
 $URI =&amp;amp;gt; undef&lt;br /&gt;
 &amp;amp;lt;/%ARGS&amp;amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Full-featured ===&lt;br /&gt;
&lt;br /&gt;
by Dan Cook, updated with CSS callback dox by Matt Zagrabelny&lt;br /&gt;
&lt;br /&gt;
This is how I&#039;ve set things up. I have shamelessly robbed most of this from the posts above (Thanks Guys!).&lt;br /&gt;
&lt;br /&gt;
(And Baylink, in turn, moved it to the top; if you&#039;re running older code, read on down. In particular, I modified the Colored-Priority code to use inline styles and reverse out the color into the background a bit further down.)&lt;br /&gt;
&lt;br /&gt;
* Create the directory: &amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]&lt;br /&gt;
&lt;br /&gt;
You can do that, in Linux, by typing&lt;br /&gt;
&lt;br /&gt;
# mkdir -p local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]&lt;br /&gt;
&lt;br /&gt;
from your RT installation directory, which is /opt/rt3 unless someone built it differently.&lt;br /&gt;
&lt;br /&gt;
* Note: There are &#039;&#039;&#039;2 underscores&#039;&#039;&#039; between RT and Ticket&lt;br /&gt;
&lt;br /&gt;
Then you can&lt;br /&gt;
&lt;br /&gt;
# cd local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]&lt;br /&gt;
&lt;br /&gt;
to create the file, which is &#039;&#039;&#039;also named&#039;&#039;&#039; [[ColumnMap]], and should contain this:&lt;br /&gt;
&lt;br /&gt;
------8&amp;amp;lt;-----------------------------8&amp;amp;lt;----------&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 sub statusInColor {&lt;br /&gt;
    my $Ticket = shift;&lt;br /&gt;
    my $status = $Ticket-&amp;amp;gt;Status;&lt;br /&gt;
    my $css = &amp;quot;status&amp;quot; . lc $status;&lt;br /&gt;
    my $LastUpdater = $Ticket-&amp;amp;gt;LastUpdatedByObj-&amp;amp;gt;EmailAddress;&lt;br /&gt;
    my $TicketRequestors = $Ticket-&amp;amp;gt;Requestors-&amp;amp;gt;MemberEmailAddressesAsString;&lt;br /&gt;
    my $TicketCC = $Ticket-&amp;amp;gt;Cc-&amp;amp;gt;MemberEmailAddressesAsString;&lt;br /&gt;
 &lt;br /&gt;
    if (($TicketRequestors =~ $LastUpdater) || ($TicketCC =~ $LastUpdater))&lt;br /&gt;
    {&lt;br /&gt;
        $css = &amp;quot;status&amp;quot; . lc &amp;quot;reply&amp;quot;;&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status REP&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return \&amp;quot;$status&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{Status}-&amp;amp;gt;{value} = \&amp;amp;amp;statusInColor;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;%ARGS&amp;amp;gt;&lt;br /&gt;
 $COLUMN_MAP =&amp;amp;gt; undef&lt;br /&gt;
 &amp;amp;lt;/%ARGS&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
------8&amp;amp;lt;-----------------------------8&amp;amp;lt;----------&lt;br /&gt;
&lt;br /&gt;
* Onto the next part...&lt;br /&gt;
* RT 3.8 and up use a different CSS theme. Web2 is the default theme.&lt;br /&gt;
* If you use other themes you will need to do the following steps for each theme you use.&lt;br /&gt;
* Create the directory: &amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/Callbacks/&amp;amp;lt;[[SiteCallbacks]]&amp;amp;gt;/[[NoAuth]]/css/web2/main.css&lt;br /&gt;
* Create the file: &amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/Callbacks/&amp;amp;lt;[[SiteCallbacks]]&amp;amp;gt;/[[NoAuth]]/css/web2/main.css/End&lt;br /&gt;
&lt;br /&gt;
And in that file, put:&lt;br /&gt;
&lt;br /&gt;
@import &amp;quot;statuscolor.css&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
* In the directory just created &#039;&amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/[[NoAuth]]/css/web2&#039; you will need to create a new file.&lt;br /&gt;
* Name the file statuscolor.css and place the following content in it.&lt;br /&gt;
&lt;br /&gt;
 /* Status Colours */&lt;br /&gt;
 &lt;br /&gt;
 .statusnew {&lt;br /&gt;
  color: #bb0000;&lt;br /&gt;
  text-align: left;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusopen {&lt;br /&gt;
  color: #0000bb;&lt;br /&gt;
  text-align: left;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusreply {&lt;br /&gt;
  color: #00bb00;&lt;br /&gt;
  text-align: left;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusresolved {&lt;br /&gt;
  color: #888888;&lt;br /&gt;
  text-align: left;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusrejected {&lt;br /&gt;
  color: #884444;&lt;br /&gt;
  text-align: left;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t forget to clear your Mason cache (apache restart, unless you&#039;ve enabled $[[DevelMode]] in [[RT SiteConfig|RT_SiteConfig]].pm) and perform a &amp;quot;hard&amp;quot; refresh in your browser (Shift + Ctrl + R) to clear your local CSS cache.&lt;br /&gt;
&lt;br /&gt;
So basically what you will get from the above is the status&#039; listed in the statuscolor.css file will be colored. You may edit the statuscolor.css file to suit your needs. Just make sure you follow the convention of the file format i.e. to color status stalled you would use something like:&lt;br /&gt;
&lt;br /&gt;
.statusstalled {&lt;br /&gt;
&lt;br /&gt;
 color: #884422;&lt;br /&gt;
 text-align: left;&lt;br /&gt;
 font-weight: bold;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
and so on so forth. Next thing to note is that along with coloring the status this also puts an REP flag next to any tickets where the last reply is by the requestor or cc (i.e. not the staff) (Thanks Johan Baarman !)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RT 3.8.x ==&lt;br /&gt;
&lt;br /&gt;
==== Full featured ColumnMap script ====&lt;br /&gt;
&lt;br /&gt;
by Alex Young&lt;br /&gt;
&lt;br /&gt;
Confirmed working with 3.8.2, 3.8.6, 3.8.8.&lt;br /&gt;
&lt;br /&gt;
I have combined the scripts on this wiki page to work in 3.8.x, so thanks to all the people that did all the hard work! Only the [[ColumnMap]] file is different from the other guides on this page.&lt;br /&gt;
&lt;br /&gt;
Changes from the other scripts&lt;br /&gt;
&lt;br /&gt;
* Changes REP flag to New Reply.&lt;br /&gt;
* Doesn&#039;t display New Reply when the current user is the last to comment.&lt;br /&gt;
* New Reply tag is displayed in its own colour, while keeping the default status colours.&lt;br /&gt;
* New Reply tag links to the last unread message and can mark the messages as read.&lt;br /&gt;
* New Reply tag isn&#039;t displayed if there are no unread messages.&lt;br /&gt;
* Changed colours for Priorities. Removed light colours that prevented the text from being easily read on a white background.&lt;br /&gt;
* Updated Extended Status code to display number of pending tickets.&lt;br /&gt;
&lt;br /&gt;
This uses the statuscolor.css file found elsewhere on this page. Follow those instructions for setup.&lt;br /&gt;
&lt;br /&gt;
The files should map to your system like so:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;RTInstallationDir&amp;amp;gt;/local/html/&lt;br /&gt;
 `-- MyCallbacks&lt;br /&gt;
     |-- Elements&lt;br /&gt;
     |   `-- RT__Ticket&lt;br /&gt;
     |       `-- ColumnMap&lt;br /&gt;
     |           `-- ColumnMap&lt;br /&gt;
     `-- NoAuth&lt;br /&gt;
         `-- css&lt;br /&gt;
             `-- web2&lt;br /&gt;
                 `-- main.css&lt;br /&gt;
                     `-- End&lt;br /&gt;
 &amp;amp;lt;RTInstallationDir&amp;amp;gt;/local/html/&lt;br /&gt;
 `-- NoAuth/&lt;br /&gt;
     `-- css&lt;br /&gt;
         `-- web2&lt;br /&gt;
             `-- statuscolor.css&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Here&#039;s the complete &amp;amp;lt;RTInstallationDir&amp;amp;gt;/local/html/Callbacks/MyCallbacks/Elements/RT__Ticket/ColumnMap/[[ColumnMap]] script.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # Show status in colour.&lt;br /&gt;
 sub statusInColor {&lt;br /&gt;
 	my $Ticket = shift;&lt;br /&gt;
 	my $status = $Ticket-&amp;amp;gt;Status;&lt;br /&gt;
 	my $css = &amp;quot;status&amp;quot; . lc $status;&lt;br /&gt;
 	my $cssreply = &amp;quot;status&amp;quot; . lc &amp;quot;reply&amp;quot;;&lt;br /&gt;
 	my $LastUpdater = $Ticket-&amp;amp;gt;LastUpdatedByObj-&amp;amp;gt;EmailAddress;&lt;br /&gt;
 	my $TicketRequestors = $Ticket-&amp;amp;gt;Requestors-&amp;amp;gt;MemberEmailAddressesAsString;&lt;br /&gt;
 	my $TicketCC = $Ticket-&amp;amp;gt;Cc-&amp;amp;gt;MemberEmailAddressesAsString;&lt;br /&gt;
 	my $CurrentUser = $session{&#039;CurrentUser&#039;}-&amp;amp;gt;EmailAddress;&lt;br /&gt;
 &lt;br /&gt;
 # Added $CurentUser ne $LastUpdater to prevent showing New Reply tag when the last updater is the current user.&lt;br /&gt;
 	if (($CurrentUser ne $LastUpdater) &amp;amp;amp;&amp;amp;amp; ($TicketRequestors =~ $LastUpdater) || ($TicketCC =~ $LastUpdater))&lt;br /&gt;
 	{&lt;br /&gt;
 		my $txn = $Ticket-&amp;amp;gt;SeenUpTo or return \&amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 #       my $TicketLink = RT-&amp;amp;gt;Config-&amp;amp;gt;Get(&#039;WebPath&#039;) .&amp;quot;/Ticket/Display.html?id=&amp;quot;. $Ticket-&amp;amp;gt;id. &amp;quot;#txn-&amp;quot;.$txn-&amp;amp;gt;id;&lt;br /&gt;
 # Comment out the line above and uncomment the following line to mark posts as seen when following link.&lt;br /&gt;
 		my $TicketLink = RT-&amp;amp;gt;Config-&amp;amp;gt;Get(&#039;WebPath&#039;) .&amp;quot;/Ticket/Display.html?id=&amp;quot;. $Ticket-&amp;amp;gt;id .&amp;quot;&amp;amp;amp;MarkAsSeen=1&amp;quot;.  &amp;quot;#txn-&amp;quot;.$txn-&amp;amp;gt;id;&lt;br /&gt;
 		$status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status &amp;amp;lt;a href=\&amp;quot;$TicketLink\&amp;quot;&amp;amp;gt;&amp;amp;lt;span class=\&amp;quot;$cssreply\&amp;quot;&amp;amp;gt;New Reply&amp;amp;lt;/span&amp;amp;gt;&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 	else {&lt;br /&gt;
 		$status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return \&amp;quot;$status&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Show extended status in colour. This will change the front page and other search pages where the ExtendedStatus is displayed.&lt;br /&gt;
 sub extStatusInColor {&lt;br /&gt;
 	my $Ticket = shift;&lt;br /&gt;
 	if ( my $count = $Ticket-&amp;amp;gt;HasUnresolvedDependencies ) {&lt;br /&gt;
 		my $status;&lt;br /&gt;
 &lt;br /&gt;
 		if ( $Ticket-&amp;amp;gt;HasUnresolvedDependencies( Type =&amp;amp;gt; &#039;approval&#039; )&lt;br /&gt;
 				or $Ticket-&amp;amp;gt;HasUnresolvedDependencies( Type =&amp;amp;gt; &#039;code&#039; ) ) {&lt;br /&gt;
 			$status = &amp;quot;&amp;amp;lt;em&amp;amp;gt;&amp;quot; . loc(&#039;(pending approval)&#039;) . &amp;quot;&amp;amp;lt;/em&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 		} else {&lt;br /&gt;
 			$status = &amp;quot;&amp;amp;lt;em&amp;amp;gt;&amp;quot; . loc(&#039;(pending [quant,_1,other ticket])&#039;,$count) . &amp;quot;&amp;amp;lt;/em&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 			}&lt;br /&gt;
 		return \$status;&lt;br /&gt;
 	} else {&lt;br /&gt;
 		return statusInColor($Ticket);&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Set the priority numbers to a colour.&lt;br /&gt;
 sub PriorityInColor {&lt;br /&gt;
 	my $Ticket = shift;&lt;br /&gt;
 &lt;br /&gt;
 	my $priority = $Ticket-&amp;amp;gt;Priority;&lt;br /&gt;
 	my $colors = undef;&lt;br /&gt;
 &lt;br /&gt;
 # Change priority numbers to reflect your priority system.&lt;br /&gt;
 	if ($priority &amp;amp;gt;= &#039;50&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#FF0000&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;45&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#FF2000&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;40&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#FF4000&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;35&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#FF6A00&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;30&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#FF6600&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;25&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#FFA000&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;20&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#0033CC&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;15&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#809FFE&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;10&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#004600&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;5&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#006400&amp;quot;;&lt;br /&gt;
 	} elsif ($priority &amp;amp;gt;= &#039;0&#039;) {&lt;br /&gt;
 		$colors = &amp;quot;#009000&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	if ($colors) {&lt;br /&gt;
 		$priority = &amp;quot;&amp;amp;lt;div style=\&amp;quot;color: $colors;\&amp;quot;&amp;amp;gt;$priority&amp;amp;lt;/div&amp;amp;gt;&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 		return \&amp;quot;&amp;amp;lt;b&amp;amp;gt;$priority&amp;amp;lt;/b&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Comment out any line to disable colour change.&lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{Priority}-&amp;amp;gt;{value} = \&amp;amp;amp;PriorityInColor;&lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{Status}-&amp;amp;gt;{value} = \&amp;amp;amp;statusInColor;&lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{ExtendedStatus}-&amp;amp;gt;{value} = \&amp;amp;amp;extStatusInColor;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;%ARGS&amp;amp;gt;&lt;br /&gt;
 $COLUMN_MAP =&amp;amp;gt; undef&lt;br /&gt;
 &amp;amp;lt;/%ARGS&amp;amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Earlier forms ===&lt;br /&gt;
&lt;br /&gt;
* Tested and works in RT 3.2.x&lt;br /&gt;
* Results in a a reference error in 3.2.2&lt;br /&gt;
* Error in 3.4.1 - http://lists.bestpractical.com/pipermail/rt-users/2005-May/030943.html&lt;br /&gt;
* Works in 3.4.2, small change needed - http://lists.bestpractical.com/pipermail/rt-users/2005-August/033080.html&lt;br /&gt;
* Works in 3.6.1, added localization support (2007/5/11)&lt;br /&gt;
* Changes for 3.6.5, see below (2008/2/5)&lt;br /&gt;
* Working as below in 3.8.2 - 2009-Feb-12 Baylink&lt;br /&gt;
&lt;br /&gt;
(Baylink reads further down... wow. Everyone else already did this. :-)&lt;br /&gt;
&lt;br /&gt;
Simply do the following:&lt;br /&gt;
&lt;br /&gt;
* Create the directory: &amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]&lt;br /&gt;
* Put the contents of the following file into the file: &amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]/[[ColumnMap]]&lt;br /&gt;
&lt;br /&gt;
Note: in debian the right path is /usr/local/share/request-tracker3.6/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]/[[ColumnMap]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 sub statusInColor {&lt;br /&gt;
    my $Ticket = shift;&lt;br /&gt;
    my $status = $Ticket-&amp;amp;gt;Status;&lt;br /&gt;
    my $color = undef;&lt;br /&gt;
 &lt;br /&gt;
    if ($status eq &#039;new&#039;) {&lt;br /&gt;
        $color = &amp;quot;900000&amp;quot;;&lt;br /&gt;
    } elsif ($status eq &#039;open&#039;) {&lt;br /&gt;
        $color = &amp;quot;#AA8000&amp;quot;;&lt;br /&gt;
    } elsif ($status eq &#039;stalled&#039;) {&lt;br /&gt;
        $color = &amp;quot;#000090&amp;quot;;&lt;br /&gt;
    } elsif ($status eq &#039;rejected&#039;) {&lt;br /&gt;
        $color = &amp;quot;#999999&amp;quot;;&lt;br /&gt;
    } elsif ($status eq &#039;resolved&#039;) {&lt;br /&gt;
        $color = &amp;quot;009000&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    $status = loc($status);&lt;br /&gt;
 &lt;br /&gt;
    if ( $Ticket-&amp;amp;gt;HasUnresolvedDependencies ) {&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;i&amp;amp;gt;$status&amp;amp;lt;i&amp;amp;gt;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    if ($color) {&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;font color=$color&amp;amp;gt;$status&amp;amp;lt;/font&amp;amp;gt;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return \&amp;quot;&amp;amp;lt;b&amp;amp;gt;$status&amp;amp;lt;/b&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 sub extStatusInColor {&lt;br /&gt;
    my $Ticket = shift;&lt;br /&gt;
 &lt;br /&gt;
    if ( $Ticket-&amp;amp;gt;HasUnresolvedDependencies ) {&lt;br /&gt;
        my $status;&lt;br /&gt;
        if ( $Ticket-&amp;amp;gt;HasUnresolvedDependencies( Type =&amp;amp;gt; &#039;approval&#039; )&lt;br /&gt;
             or $Ticket-&amp;amp;gt;HasUnresolvedDependencies( Type =&amp;amp;gt; &#039;code&#039; ) ) {&lt;br /&gt;
            $status = &amp;quot;&amp;amp;lt;em&amp;amp;gt;&amp;quot; . loc(&#039;(pending approval)&#039;) . &amp;quot;&amp;amp;lt;/em&amp;amp;gt;&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            $status = &amp;quot;&amp;amp;lt;em&amp;amp;gt;&amp;quot; . loc(&#039;(pending other Collection)&#039;) . &amp;quot;&amp;amp;lt;/em&amp;amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return \$status;&lt;br /&gt;
    } else {&lt;br /&gt;
        return statusInColor($Ticket);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{Status}-&amp;amp;gt;{value} = \&amp;amp;amp;statusInColor;&lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{ExtendedStatus}-&amp;amp;gt;{value} = \&amp;amp;amp;extStatusInColor;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;%ARGS&amp;amp;gt;&lt;br /&gt;
 $COLUMN_MAP =&amp;amp;gt; undef&lt;br /&gt;
 &amp;amp;lt;/%ARGS&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Priority color =====&lt;br /&gt;
&lt;br /&gt;
by Riccardo Capecchi&lt;br /&gt;
&lt;br /&gt;
My users wanted also the priority coloured in shade of red and yellow based on priority (red = big problem), i used the above code and added these lines to show a coloured field priority. You must add these lines with or without the above code into the file: &amp;amp;lt;[[RTInstallationDir]]&amp;amp;gt;/local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]/[[ColumnMap]]&lt;br /&gt;
&lt;br /&gt;
edit: $priority is an integer, not a string. I&#039;ve used &amp;amp;gt;= operator instead of ge operator.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
 sub PriorityInColor {&lt;br /&gt;
   my $Ticket = shift;&lt;br /&gt;
 &lt;br /&gt;
   my $priority = $Ticket-&amp;amp;gt;Priority;&lt;br /&gt;
   my $colors = undef;&lt;br /&gt;
 &lt;br /&gt;
   if ($priority &amp;amp;gt;= 90) {&lt;br /&gt;
       $colors = &amp;quot;#FF0000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 80) {&lt;br /&gt;
       $colors = &amp;quot;#FF2000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 70) {&lt;br /&gt;
       $colors = &amp;quot;#FF4000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 60) {&lt;br /&gt;
       $colors = &amp;quot;#FF6000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 50) {&lt;br /&gt;
       $colors = &amp;quot;#FF8000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 40) {&lt;br /&gt;
       $colors = &amp;quot;#FFA000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 30) {&lt;br /&gt;
       $colors = &amp;quot;#FFC000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 20) {&lt;br /&gt;
       $colors = &amp;quot;#FFE000&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 10) {&lt;br /&gt;
       $colors = &amp;quot;#FFFF00&amp;quot;;&lt;br /&gt;
   } elsif ($priority &amp;amp;gt;= 0) {&lt;br /&gt;
       $colors = &amp;quot;009000&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   if ($colors) {&lt;br /&gt;
       $priority = &amp;quot;&amp;amp;lt;font style=\&amp;quot;color:black;background-color:$colors\&amp;quot;&amp;amp;gt;&amp;amp;amp;nbsp;$priority&amp;amp;amp;nbsp;&amp;amp;lt;/font&amp;amp;gt;&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   return \&amp;quot;&amp;amp;lt;b&amp;amp;gt;$priority&amp;amp;lt;/b&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 $COLUMN_MAP-&amp;amp;gt;{Priority}-&amp;amp;gt;{value} = \&amp;amp;amp;PriorityInColor;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
(This one also works in 3.8.2 as of 2009-Feb-12; I&#039;ve modified it slightly to colorize the &#039;&#039;&#039;background&#039;&#039;&#039;, and also to use inline CSS instead of deprecated tags. If you use both, put this one &#039;&#039;&#039;inside&#039;&#039;&#039; the other one&#039;s %INIT tags. --Baylink)&lt;br /&gt;
&lt;br /&gt;
==== Using CSS For Styling ====&lt;br /&gt;
&lt;br /&gt;
by Graham Briggs&lt;br /&gt;
&lt;br /&gt;
As an alternative to the above, you might choose to use CSS to define styling of the Status field. I have the following setup:&lt;br /&gt;
&lt;br /&gt;
In file $RT_HOME/local/html/Callbacks/[[MyCallbacks]]/Elements/[[RT  Ticket|RT__Ticket]]/[[ColumnMap]]/[[ColumnMap]] replace the above status[[InColor]] method with the following:&lt;br /&gt;
&lt;br /&gt;
 sub statusInColor {&lt;br /&gt;
    my $Ticket = shift;&lt;br /&gt;
    my $status = $Ticket-&amp;amp;gt;Status;&lt;br /&gt;
    my $css = &amp;quot;status&amp;quot; . lc $status;&lt;br /&gt;
    $css =~ s/[\W]//g;&lt;br /&gt;
 &lt;br /&gt;
    if ( $Ticket-&amp;amp;gt;HasUnresolvedDependencies ) {&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;i&amp;amp;gt;$status&amp;amp;lt;i&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    $status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    return \&amp;quot;$status&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
In file $RT_HOME/local/html/Callbacks/[[MyCallbacks]]/[[NoAuth]]/webrt.css/Default&lt;br /&gt;
&lt;br /&gt;
 /* Status Colours */&lt;br /&gt;
 &lt;br /&gt;
 .statusnew {&lt;br /&gt;
   color: #bb0000;&lt;br /&gt;
   text-align: center;&lt;br /&gt;
   font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusopen {&lt;br /&gt;
   color: #0000bb;&lt;br /&gt;
   text-align: center;&lt;br /&gt;
   font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statustesting {&lt;br /&gt;
   color: #00bb00;&lt;br /&gt;
   text-align: center;&lt;br /&gt;
   font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusresolved {&lt;br /&gt;
   color: #888888;&lt;br /&gt;
   text-align: center;&lt;br /&gt;
   font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 .statusrejected {&lt;br /&gt;
   color: #884444;&lt;br /&gt;
   text-align: center;&lt;br /&gt;
   font-weight: bold;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== RT 3.6.5 (and up?) ==&lt;br /&gt;
&lt;br /&gt;
Thanks Johan Baarman for the solution.&lt;br /&gt;
&lt;br /&gt;
The problem with newer version is that the CSS file is not read from the directory mentioned above. Follow the steps below to solve it:&lt;br /&gt;
&lt;br /&gt;
Create a directory $RT_HOME/local/html/[[NoAuth]]/css/3.5-default/ and copy $RT_HOME/share/html/[[NoAuth]]/css/3.5-default/main.css to it. Now edit the local main.css file and add the following line at the end: import &amp;quot;statuscolor.css&amp;quot;; Create a new local file $RT_HOME/local/html/[[NoAuth]]/css/3.5-default/statuscolor.css and populate it with the above css tags. I&#039;ve also changed the .statustesting above to .statusreply in my statuscolor.css file in order to color replies.&lt;br /&gt;
&lt;br /&gt;
In addition to coloring the status, the following alternative status[[InColor]] function will set a &amp;quot;REP&amp;quot; flag for each status to indicate a ticket that had been updated by anyone else than the staff, i.e. requestor or any of the [[CCs]], in case any of the users are colorblind.&lt;br /&gt;
&lt;br /&gt;
 sub statusInColor {&lt;br /&gt;
    my $Ticket = shift;&lt;br /&gt;
    my $status = $Ticket-&amp;amp;gt;Status;&lt;br /&gt;
    my $css = &amp;quot;status&amp;quot; . lc $status;&lt;br /&gt;
    my $LastUpdater = $Ticket-&amp;amp;gt;LastUpdatedByObj-&amp;amp;gt;EmailAddress;&lt;br /&gt;
    my $TicketRequestors = $Ticket-&amp;amp;gt;Requestors-&amp;amp;gt;MemberEmailAddressesAsString;&lt;br /&gt;
    my $TicketCC = $Ticket-&amp;amp;gt;Cc-&amp;amp;gt;MemberEmailAddressesAsString;&lt;br /&gt;
 &lt;br /&gt;
    if (($TicketRequestors =~ $LastUpdater) || ($TicketCC =~ $LastUpdater))&lt;br /&gt;
    {&lt;br /&gt;
        $css = &amp;quot;status&amp;quot; . lc &amp;quot;reply&amp;quot;;&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status REP&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        $status = &amp;quot;&amp;amp;lt;div class=\&amp;quot;$css\&amp;quot;&amp;amp;gt;$status&amp;amp;lt;/div&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return \&amp;quot;$status&amp;quot;;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=931</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=931"/>
		<updated>2011-06-21T17:03:52Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 161.148.171.9 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=929</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=929"/>
		<updated>2011-06-11T04:20:25Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Undo revision 6356 by 69.169.190.15 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=928</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=928"/>
		<updated>2011-06-11T04:18:02Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 88.207.2.225 (talk | block) to last version by 69.169.190.15&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;br /&gt;
[[Category:sdfsdfas]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=923</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=923"/>
		<updated>2011-06-05T22:16:01Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Cleaning up addition of nonexistent categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=922</id>
		<title>Demo</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Demo&amp;diff=922"/>
		<updated>2011-06-05T22:14:22Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 190.182.71.115 (talk | block) to last version by 122.183.221.42&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to try RT, you can find demonstrations sites here: http://rt.easter-eggs.org/demos/.&lt;br /&gt;
[[Category:FirstCategory]]&lt;br /&gt;
[[Category:Second Category]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=HomePage&amp;diff=1555</id>
		<title>HomePage</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=HomePage&amp;diff=1555"/>
		<updated>2011-06-02T03:30:33Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by Helenhall (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT ==&lt;br /&gt;
&lt;br /&gt;
RT is an open source issue tracking and workflow platform. This wiki site is a free resource for RT users. RT doesn&#039;t come with a formal formatted users or administrators guide, but it&#039;s likely most of what you need to know to use and run it is contained somewhere within this wiki, so look around a little, be patient... and try not to install RT on a Sunday night when you need to run it in production on Monday: it&#039;s &#039;&#039;&#039;big&#039;&#039;&#039;, and learning how to set it up can take some time.&lt;br /&gt;
&lt;br /&gt;
Please: [[UpdateTheWiki]], post your hints, tricks, tips and tools about how to get the most out of RT. If you currently use RT, please head over to [[RTUsers]] and add yourself and your organization to the user list.&lt;br /&gt;
&lt;br /&gt;
== Announcements ==&lt;br /&gt;
&lt;br /&gt;
=== Production Releases ===&lt;br /&gt;
&lt;br /&gt;
* [http://blog.bestpractical.com/2011/04/rt-400-released.html RT 4.0.0 released]&lt;br /&gt;
* [http://blog.bestpractical.com/2011/04/security-vulnerabilities-in-rt.html Security vulnerabilities in RT]&lt;br /&gt;
&lt;br /&gt;
=== Development Releases and Status ===&lt;br /&gt;
&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rt-4-an-update.html RT 4 - An update.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rt-394-first-development-release-leading-to-rt-400.html RT 3.9.4 - first development release leading to RT 4.0.0.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rtir-260-release-candidate-1.html RTIR 2.6.0 Release Candidate 1.]&lt;br /&gt;
&lt;br /&gt;
[http://blog.bestpractical.com/announcements/ Other Announcements from Best Practical.]&lt;br /&gt;
&lt;br /&gt;
(Note: the newest versions of RTFM and RTIR require a fairly new version of RT as well, if not the absolute newest; be careful which versions you&#039;re using.)&lt;br /&gt;
&lt;br /&gt;
== Sections ==&lt;br /&gt;
&lt;br /&gt;
You can go through these pretty much in order if you&#039;re starting from scratch, but please plan to spend some quality time with the [[UserManual]] before you try to go live; RT is big and hairy, and you probably can&#039;t get your head around all of it in one sitting.&lt;br /&gt;
&lt;br /&gt;
* [[FAQ]], [[FindingAnswersAboutRT]] and &amp;quot;Common Problems&amp;quot; below.&lt;br /&gt;
* [[BugReporting]]&lt;br /&gt;
* [[HowToHelp]], [[Translation]]&lt;br /&gt;
* [[Demo]]&lt;br /&gt;
* [[UserManual]], [[RTGlossary]] &amp;amp;amp; [[Documentation]]&lt;br /&gt;
* [[InstallationGuides]], [[RTTutorials]]&lt;br /&gt;
* [[RT Config|RT_Config]] &amp;amp;amp; [[RT SiteConfig|RT_SiteConfig]]&lt;br /&gt;
&lt;br /&gt;
* [[Extensions]] to RT available as installable plugins&lt;br /&gt;
* [[Contributions]] by the community to customize RT&lt;br /&gt;
* [[RTIR]] RT for Incident Response&lt;br /&gt;
* [[RTFM]] RT FAQ Manager&lt;br /&gt;
&lt;br /&gt;
* [[RTHistory]]&lt;br /&gt;
* [[InThePress]]&lt;br /&gt;
* [[REST]] API&lt;br /&gt;
* Customizing with [[CustomizingWithCallbacks|Callbacks]]&lt;br /&gt;
&lt;br /&gt;
=== Common problems ===&lt;br /&gt;
&lt;br /&gt;
* [[CantLocateObject]] - Can&#039;t locate object method &amp;quot;new&amp;quot; via package &amp;quot;&amp;lt;code&amp;gt;RT::Handle&amp;lt;/code&amp;gt;&amp;quot; at rt3/lib/RT.pm&lt;br /&gt;
* [[NoConnectionToSyslog]] - no connection to syslog&lt;br /&gt;
* [[NoRecipFound]] - No recipients found. Not sending&lt;br /&gt;
* Getting information out of RT3 for [[reporting]] or inclusion elsewhere.&lt;br /&gt;
* [[PermissionDenied]] emails|&lt;br /&gt;
&lt;br /&gt;
== Wish lists ==&lt;br /&gt;
&lt;br /&gt;
* [[WikiWishList]] - wish list for this wiki&lt;br /&gt;
* [[WishList]] - wish list for the RT&lt;br /&gt;
* [[RT3StatisticsPackageWishList]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=HomePage&amp;diff=1552</id>
		<title>HomePage</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=HomePage&amp;diff=1552"/>
		<updated>2011-05-25T16:35:50Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by Allensmith (talk | block) to last version by Jibsheet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RT ==&lt;br /&gt;
&lt;br /&gt;
RT is an open source issue tracking and workflow platform. This wiki site is a free resource for RT users. RT doesn&#039;t come with a formal formatted users or administrators guide, but it&#039;s likely most of what you need to know to use and run it is contained somewhere within this wiki, so look around a little, be patient... and try not to install RT on a Sunday night when you need to run it in production on Monday: it&#039;s &#039;&#039;&#039;big&#039;&#039;&#039;, and learning how to set it up can take some time.&lt;br /&gt;
&lt;br /&gt;
Please: [[UpdateTheWiki]], post your hints, tricks, tips and tools about how to get the most out of RT. If you currently use RT, please head over to [[RTUsers]] and add yourself and your organization to the user list.&lt;br /&gt;
&lt;br /&gt;
== Announcements ==&lt;br /&gt;
&lt;br /&gt;
=== Production Releases ===&lt;br /&gt;
&lt;br /&gt;
* [http://blog.bestpractical.com/2011/04/rt-400-released.html RT 4.0.0 released]&lt;br /&gt;
* [http://blog.bestpractical.com/2011/04/security-vulnerabilities-in-rt.html Security vulnerabilities in RT]&lt;br /&gt;
&lt;br /&gt;
=== Development Releases and Status ===&lt;br /&gt;
&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rt-4-an-update.html RT 4 - An update.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rt-394-first-development-release-leading-to-rt-400.html RT 3.9.4 - first development release leading to RT 4.0.0.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rtir-260-release-candidate-1.html RTIR 2.6.0 Release Candidate 1.]&lt;br /&gt;
&lt;br /&gt;
[http://blog.bestpractical.com/announcements/ Other Announcements from Best Practical.]&lt;br /&gt;
&lt;br /&gt;
(Note: the newest versions of RTFM and RTIR require a fairly new version of RT as well, if not the absolute newest; be careful which versions you&#039;re using.)&lt;br /&gt;
&lt;br /&gt;
== Sections ==&lt;br /&gt;
&lt;br /&gt;
You can go through these pretty much in order if you&#039;re starting from scratch, but please plan to spend some quality time with the [[UserManual]] before you try to go live; RT is big and hairy, and you probably can&#039;t get your head around all of it in one sitting.&lt;br /&gt;
&lt;br /&gt;
* [[FAQ]], [[FindingAnswersAboutRT]] and &amp;quot;Common Problems&amp;quot; below.&lt;br /&gt;
* [[BugReporting]]&lt;br /&gt;
* [[HowToHelp]], [[Translation]]&lt;br /&gt;
* [[Demo]]&lt;br /&gt;
* [[UserManual]], [[RTGlossary]] &amp;amp;amp; [[Documentation]]&lt;br /&gt;
* [[InstallationGuides]], [[RTTutorials]]&lt;br /&gt;
* [[RT Config|RT_Config]] &amp;amp;amp; [[RT SiteConfig|RT_SiteConfig]]&lt;br /&gt;
&lt;br /&gt;
* [[Extensions]] to RT available as installable plugins&lt;br /&gt;
* [[Contributions]] by the community to customize RT&lt;br /&gt;
* [[RTIR]] RT for Incident Response&lt;br /&gt;
* [[RTFM]] RT FAQ Manager&lt;br /&gt;
&lt;br /&gt;
* [[RTHistory]]&lt;br /&gt;
* [[InThePress]]&lt;br /&gt;
* [[REST]] API&lt;br /&gt;
* Customizing with [[CustomizingWithCallbacks|Callbacks]]&lt;br /&gt;
&lt;br /&gt;
=== Common problems ===&lt;br /&gt;
&lt;br /&gt;
* [[CantLocateObject]] - Can&#039;t locate object method &amp;quot;new&amp;quot; via package &amp;quot;&amp;lt;code&amp;gt;RT::Handle&amp;lt;/code&amp;gt;&amp;quot; at rt3/lib/RT.pm&lt;br /&gt;
* [[NoConnectionToSyslog]] - no connection to syslog&lt;br /&gt;
* [[NoRecipFound]] - No recipients found. Not sending&lt;br /&gt;
* Getting information out of RT3 for [[reporting]] or inclusion elsewhere.&lt;br /&gt;
* [[PermissionDenied]] emails|&lt;br /&gt;
&lt;br /&gt;
== Wish lists ==&lt;br /&gt;
&lt;br /&gt;
* [[WikiWishList]] - wish list for this wiki&lt;br /&gt;
* [[WishList]] - wish list for the RT&lt;br /&gt;
* [[RT3StatisticsPackageWishList]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=RT_3.999_Jifty_Experimental&amp;diff=3023</id>
		<title>RT 3.999 Jifty Experimental</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=RT_3.999_Jifty_Experimental&amp;diff=3023"/>
		<updated>2011-05-12T05:32:29Z</updated>

		<summary type="html">&lt;p&gt;BillCole: RT4 ain&amp;#039;t what it used to be...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &#039;&#039;&#039;THIS PAGE DESCRIBES THE FORMER PLANS FOR RT4. THE RT4 RELEASED IN EARLY 2011 IS A MORE EVOLUTIONARY ADVANCEMENT OF RT3.8&#039;&#039;&#039; =&lt;br /&gt;
= RT4 =&lt;br /&gt;
&lt;br /&gt;
RT4 is a major effort to update and modernize the RT codebase, making it easier to add new features and to customize existing features.&lt;br /&gt;
&lt;br /&gt;
The major new features users should expect in RT 4.0.0 are a replacement for the Scrips system and a new ticket lifecycle engine.&lt;br /&gt;
&lt;br /&gt;
Once released, the application will be known as &amp;quot;RT 4.0&amp;quot; or &amp;quot;Request Tracker 4.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Source code =&lt;br /&gt;
&lt;br /&gt;
The code is accessible with Git:&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/bestpractical/rt.git&lt;br /&gt;
 git checkout 3.999-trunk&lt;br /&gt;
&lt;br /&gt;
A web-based browser for the code is available at:&lt;br /&gt;
&lt;br /&gt;
http://github.com/bestpractical/rt/tree/3.999-trunk&lt;br /&gt;
&lt;br /&gt;
= Get RT 4 up and running =&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
RT 4 is bleeding edge and requires up-to-date versions of:&lt;br /&gt;
&lt;br /&gt;
* Jifty (0.90701)&lt;br /&gt;
* Jifty DBI (SVN)&lt;br /&gt;
* Lorzy (SVN)&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The installation isn&#039;t yet supported. You can use it right from checkout of code.&lt;br /&gt;
&lt;br /&gt;
== Running ==&lt;br /&gt;
&lt;br /&gt;
Just run &amp;quot;jifty server&amp;quot; from the toplevel source directory.&lt;br /&gt;
&lt;br /&gt;
= Status =&lt;br /&gt;
&lt;br /&gt;
RT4 is currently in active development. [[APIs]] are subject to change. Features are subject to removal or backwards-incompatible change with no notice. &amp;lt;u&amp;gt;*DO NOT USE RT4 IN PRODUCTION*&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Work to date =&lt;br /&gt;
&lt;br /&gt;
* RT has been ported to the Jifty web framework&lt;br /&gt;
* RT&#039;s API has been partially rototilled to meet more modern naming guidelines&lt;br /&gt;
* The porting and rototilling has incorporated changes from RT through version 3.8.1&lt;br /&gt;
* The rights &amp;quot;delegation&amp;quot; system has been removed.&lt;br /&gt;
* A new &amp;quot;Status schemas&amp;quot; system has been introduced to allow customized issue lifecycles.&lt;br /&gt;
&lt;br /&gt;
= Completed work for 4.0 alpha 1 (Target date: 15 February 2009) =&lt;br /&gt;
&lt;br /&gt;
* Merge of RT 3.8.2 to RT4 ([[sunnavy]])&lt;br /&gt;
* [[StatusSchemas]] ([[RuslanZakirov]])&lt;br /&gt;
* Role groups on demand ([[RuslanZakirov]])&lt;br /&gt;
* switch to the [[DateTime]] modules ([[Sartak]])&lt;br /&gt;
&lt;br /&gt;
= Upcoming work for 4.0 alpha 1 (Target date: 15 February 2009) =&lt;br /&gt;
&lt;br /&gt;
* Replacement of Scrips with the /lorzy/ workflow engine [[clkao]] - in progress&lt;br /&gt;
* Update of administrative ui to use TD/Jifty::Actions&lt;br /&gt;
* Full text search ([[RuslanZakirov]]) - in progress&lt;br /&gt;
* RT 3.8 -&amp;amp;gt; 4.0 migration tool ([[sunnavy]], [[RuslanZakirov]]) - in progress&lt;br /&gt;
&lt;br /&gt;
= Upcoming work for 4.0 alpha 2 (Target date: 1 April 2009) =&lt;br /&gt;
&lt;br /&gt;
* Replace ticket display/edit/update widgets with Jifty::Action based webforms&lt;br /&gt;
* Oracle port (will require small improvements to Jifty)&lt;br /&gt;
&lt;br /&gt;
= Upcoming work for 4.0 alpha 3 (Target date: 15 May 2009) =&lt;br /&gt;
&lt;br /&gt;
= Upcoming work for 4.0 beta 1 =&lt;br /&gt;
&lt;br /&gt;
= Wish List =&lt;br /&gt;
&lt;br /&gt;
[[RT4WishList]]&lt;br /&gt;
&lt;br /&gt;
= See also: =&lt;br /&gt;
&lt;br /&gt;
[[RT4SchemaChanges]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Rights&amp;diff=3210</id>
		<title>Rights</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Rights&amp;diff=3210"/>
		<updated>2011-04-06T08:16:53Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 74.55.175.27 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes RT security management aspects.&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
RT has different types of [[Group]]s that identify specific groups of system users. For security management, the public (user-defined) groups are the most important.&lt;br /&gt;
&lt;br /&gt;
== Objects ==&lt;br /&gt;
&lt;br /&gt;
RT manipulates different objects: [[Ticket]]s, [[Queue]]s, [[Scrip]]s, [[Template]]s, [[CustomField]]s, Users, [[Group]]s, etc. Each object takes a different place in the object tree. For example, scripts can either be global- or queue-specific, but tickets are always associated with a queue. Each object has a set of defined rights. To perform a particular action on an object, a user must have the appropriate rights. For example, if you want create a ticket in queue A, you should have the [[CreateTicket]] right on queue A (or on all queues). Other types of rights, such as [[AdminGroup]], are not queue-specific.&lt;br /&gt;
&lt;br /&gt;
In general, it is possible to grant each user rights on each small object like a scrip named &#039;foo&#039; or a Template named &#039;bar.&#039; But, such a setup would be difficult to maintain, and would require an overly-complex user interface. Instead, the RT user interface gives access to rights that are &#039;&#039;&#039;system-wide&#039;&#039;&#039;, rights that can be assigned on a &#039;&#039;&#039;group by group&#039;&#039;&#039; basis, and other rights that can be assigned on a &#039;&#039;&#039;queue by queue&#039;&#039;&#039; basis. All objects have a context. For example, if Scrip A is a global scrip (system-wide), you can grant users rights on this object in the global context. Each right can be tied to more then one context and the interpretation of the right can be different in the different contexts. For example, the [[AdminQueue]] right in two different queues can be given to different groups of users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: I forgot about rights that change behavior in different contexts when I started all this. Maybe I&#039;ll recheck this all. Feel free to change descriptions if you &amp;lt;u&amp;gt;know&amp;lt;/u&amp;gt; the real situation. --Ruslan&lt;br /&gt;
&lt;br /&gt;
= Descriptions =&lt;br /&gt;
&lt;br /&gt;
* [[QueueSpecificRights]]&lt;br /&gt;
* [[GroupSpecificRights]]&lt;br /&gt;
* [[GlobalRights]](with full index)&lt;br /&gt;
&lt;br /&gt;
= Working schemas =&lt;br /&gt;
&lt;br /&gt;
This chapter introduces several working schemas which can be used as template in different situations.&lt;br /&gt;
&lt;br /&gt;
== Public support queue ==&lt;br /&gt;
&lt;br /&gt;
Let start from the beginning. We have recently created queue &#039;support&#039; that is for our public queue and group &#039;SupportTeam&#039; of which members support our customers. Goto &#039;Configuration&#039; tab -&amp;amp;gt; &#039;[[Queue]]s&#039; -&amp;amp;gt; &#039;support&#039; -&amp;amp;gt; &#039;[[Group]] rights&#039; - it&#039;s the place where we&#039;ll do all the things that are described below. Then follow the step by step descriptions:&lt;br /&gt;
&lt;br /&gt;
* We should grant all users with [[CreateTicket]] on queue &#039;support&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Important:&#039;&#039;&#039; It&#039;s a public queue and users often use different email addresses to reply to same ticket, so if you don&#039;t grant [[Everyone]] with [[ReplyToTicket]] right then your users would have problems in such a case.&lt;br /&gt;
* You don&#039;t need grant other system [[Group]]s with same rights because [[Everyone]] includes all users.&lt;br /&gt;
* If some of your internal groups shouldn&#039;t have [[ReplyToTicket]] right, then you can assign it to [[Unprivileged]] and some internal groups.&lt;br /&gt;
&lt;br /&gt;
* If you wish to allow public access to the Web UI([[SelfService]]) then you will also want the following rights to be granted to [[Everyone]] [[Group]]:&lt;br /&gt;
*# [[SeeQueue]] that allows them to see queue &#039;support&#039; in select boxes(&#039;create ticket in&#039; box, &#039;search criteria&#039; box and etc).&lt;br /&gt;
*# [[ShowTicket]], without this right users can&#039;t see tickets in Web UI, but can reply with email. Below we&#039;ll see when we don&#039;t need this right granted to [[Everyone]].&lt;br /&gt;
&lt;br /&gt;
* Your customers are [[Requestor]]s so grant requestor role with rights:&lt;br /&gt;
*# [[ReplyToTicket]]&lt;br /&gt;
*# [[ShowTicket]], it&#039;s an overhead grant but if we revoke this right from [[Everyone]] some day then requestors still would have ability to see tickets which they had request. Now, with one right([[ShowTicket]] for [[Group]] [[Everyone]]) you can control requestor&#039;s ability to see other&#039;s requests.&lt;br /&gt;
&lt;br /&gt;
* Scroll to group &#039;SupportTeam&#039; and grant the following rights:&lt;br /&gt;
*# [[SeeQueue]], [[ShowTicket]] same reasons as for group [[Everyone]].&lt;br /&gt;
*# [[OwnTicket]], each support team member works only on their own tickets. It&#039;s an advantage that RT has over IMAP folders used for public support. Your workers don&#039;t spend their time answering the same ticket.&lt;br /&gt;
*# [[TakeTicket]], allows group members to take ticket from nobody.&lt;br /&gt;
*# [[DeleteTicket]], your public support queue can&#039;t live without it in most cases because of spam.&lt;br /&gt;
&lt;br /&gt;
* Now we can use Roles to grant owners with remaining rights. Scroll to Owner role and grant:&lt;br /&gt;
*# [[ModifyTicket]], this allows much, see right description, but you need this for ticket status change.&lt;br /&gt;
&lt;br /&gt;
=== Trick with comments ===&lt;br /&gt;
&lt;br /&gt;
RT has comments which allow internal teams disscussion inlined into ticket&#039;s body. Grant rights [[ShowTicketComments]] and [[CommentOnTicket]] to &#039;SupportTeam&#039; [[Group]] and to other groups who can help support team in different cases(for eg &#039;DevelopmentTeam&#039;).&lt;br /&gt;
&lt;br /&gt;
=== Tricks with [CC]s/[AdminCC]s ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it&#039;s necessary to watch others&#039; tickets. For example there is now discussion on a problem in some ticket and a worker has their own requests with similar problem then it would be good to watch on that ticket and do other job until it is resolved. Grant support team with [[Watch]] right.&lt;br /&gt;
&lt;br /&gt;
Also you can consider next schema with watchers: Customer sends request. Supporter can&#039;t resolve problem(unknown yet) on his own. He does standard things(request for more info, report with spec tool and so on from user), when supporter thinks that user has provided all needed info, he comments on ticket and at the same time adds developer as [[CC]].&lt;br /&gt;
&lt;br /&gt;
Special [[CustomField]] where supporter can setup value which means &amp;quot;awaiting reply from developer&amp;quot; helps a lot too, because developer can search all tickets where he is watcher and ticket wait for his reply/comment. This CF can be filled with other useful ticket states.&lt;br /&gt;
&lt;br /&gt;
[[AdminCC]]s can have more rights, for example reply directly to user with correspondence or modify ticket. It can be other teams who know standard reply forms and can solve particular problems or this role can be given to support department managers. If necessary grant [[Group]]s with [[WatchAsAdminCc]] right.&lt;br /&gt;
&lt;br /&gt;
== Departments of a company as groups ==&lt;br /&gt;
&lt;br /&gt;
[[Group]]s page describe simple example of using groups to manage rights of the stuffs who work in different departments in your company. Let&#039;s build more complex and universal variant.&lt;br /&gt;
&lt;br /&gt;
Split your privileged users with top level groups: one for your full time staffs, one for part time and on for privileged clients. &#039;&#039;&#039;Don&#039;t skip this step&#039;&#039;&#039; even if you think all your clients would be unprivileged, once when you will need this it would be able to do in one or two clicks instead of refactoring whole rights schema. This groups could be:&lt;br /&gt;
&lt;br /&gt;
* Team&lt;br /&gt;
* External team(part time)&lt;br /&gt;
* Clients&lt;br /&gt;
* ...add your own&lt;br /&gt;
&lt;br /&gt;
When you have created top level groups you can add groups and users to it, but don&#039;t hurry to add users, read more and you will understand that it&#039;s better to add user to one particular group. Create group for each department, may be you don&#039;t have &amp;quot;strict&amp;quot; departments in your company, but anyway usually people do different tasks: managers, developers, support, sales, PR... This people should see only that info that does make sense for them and helps them do thier job effectively, they shouldn&#039;t fill special search conditions to hide tickets that they don&#039;t ever want to see. This groups could be:&lt;br /&gt;
&lt;br /&gt;
* DevelopmentTeam&lt;br /&gt;
* SupportTeam&lt;br /&gt;
* SalesTeam&lt;br /&gt;
* ...add your own&lt;br /&gt;
&lt;br /&gt;
Department groups should be member of the &amp;quot;Team&amp;quot; top-level group. This allow you to grant all in your team with particular set of rights. If you don&#039;t add department group to the top-level group, then you have to add your new users into two groups at least to mark that user is a team member and works in specific department.&lt;br /&gt;
&lt;br /&gt;
For example RT can be used as mailing list, you just create &amp;quot;internal&amp;quot; queue and use it as internal discussions forum. In this situation &amp;quot;team&amp;quot; group will help you to grant rights on the queue easy. You can use RT-Action-[[NotifyGroup]] module to make this queue looks more like mailing list, you should setup scrip that will notify group &#039;Team&#039; on any transaction(or some particular transactions if you want).&lt;br /&gt;
&lt;br /&gt;
Department managers usually should be able to do more with department&#039;s tickets than other members. Create new groups for managers as members of the departments groups, so your managers would be able to do everything other in department could do, but also you&#039;d be able to grant them additional rights. Additional group for manager(s) allow you to change managers easy, for example if you change manager in XX department then you just disable old manager account or move it to other group and add another user into group and this is all you need to do, you don&#039;t need to assign any rights or revoke.&lt;br /&gt;
&lt;br /&gt;
You can notify managers about special events with RT-Action-[[NotifyGroup]] module. For example you can build next workflow: if owner of the ticket is member of the &amp;quot;[[SupportTeam]]&amp;quot; and transaction is correspond notify members of the &amp;quot;[[SupportManagers]]&amp;quot; with template &amp;quot;reply for managers&amp;quot;, this template could collect additional info like time gone since last user message, manager(s) get such messages and could control that support team reply to all customers in 48 hours period(or whatever period you use).&lt;br /&gt;
&lt;br /&gt;
Grant your managers with [[DelegateRights]] and [[AdminOwnPersonalGroups]] right, this will allow them to delegate their responsibilities to other users when it&#039;s required.&lt;br /&gt;
&lt;br /&gt;
To summarize all thoughts here is example of the groups tree:&lt;br /&gt;
&lt;br /&gt;
* [[Everyone]]&lt;br /&gt;
** [[Unprivileged]]&lt;br /&gt;
** [[Privileged]]&lt;br /&gt;
&lt;br /&gt;
*** Team(group)&lt;br /&gt;
**** SupportTeam(group)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** ...&lt;br /&gt;
***** SupportManagers(group)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** ...&lt;br /&gt;
&lt;br /&gt;
**** DevelopmentTeam(group)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** ...&lt;br /&gt;
***** DevelopmentManagers(group)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** ...&lt;br /&gt;
&lt;br /&gt;
*** ExternalTeam&lt;br /&gt;
*** Clients&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Glossary ==&lt;br /&gt;
&lt;br /&gt;
Some terms and acronyms which you could meet in this and other articles you can find descriptions for them in [[RTGlossary]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
* [[RobHooft]] - cleanups, corrector, original [[SeeQueue]] right description&lt;br /&gt;
* Imak - minor spelling cleanup&lt;br /&gt;
* [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
== Epilogue ==&lt;br /&gt;
&lt;br /&gt;
We hope this small article can help you understand concepts which are used in RT to manage user&#039;s rights. Feel free to fix spelling, grammar and other glitches and of course add your own solutions and ideas. Good luck.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Rights&amp;diff=3208</id>
		<title>Rights</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Rights&amp;diff=3208"/>
		<updated>2011-03-03T17:36:37Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 174.37.16.81 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes RT security management aspects.&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
RT has different types of [[Group]]s that identify specific groups of system users. For security management, the public (user-defined) groups are the most important.&lt;br /&gt;
&lt;br /&gt;
== Objects ==&lt;br /&gt;
&lt;br /&gt;
RT manipulates different objects: [[Ticket]]s, [[Queue]]s, [[Scrip]]s, [[Template]]s, [[CustomField]]s, Users, [[Group]]s, etc. Each object takes a different place in the object tree. For example, scripts can either be global- or queue-specific, but tickets are always associated with a queue. Each object has a set of defined rights. To perform a particular action on an object, a user must have the appropriate rights. For example, if you want create a ticket in queue A, you should have the [[CreateTicket]] right on queue A (or on all queues). Other types of rights, such as [[AdminGroup]], are not queue-specific.&lt;br /&gt;
&lt;br /&gt;
In general, it is possible to grant each user rights on each small object like a scrip named &#039;foo&#039; or a Template named &#039;bar.&#039; But, such a setup would be difficult to maintain, and would require an overly-complex user interface. Instead, the RT user interface gives access to rights that are &#039;&#039;&#039;system-wide&#039;&#039;&#039;, rights that can be assigned on a &#039;&#039;&#039;group by group&#039;&#039;&#039; basis, and other rights that can be assigned on a &#039;&#039;&#039;queue by queue&#039;&#039;&#039; basis. All objects have a context. For example, if Scrip A is a global scrip (system-wide), you can grant users rights on this object in the global context. Each right can be tied to more then one context and the interpretation of the right can be different in the different contexts. For example, the [[AdminQueue]] right in two different queues can be given to different groups of users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: I forgot about rights that change behavior in different contexts when I started all this. Maybe I&#039;ll recheck this all. Feel free to change descriptions if you &amp;lt;u&amp;gt;know&amp;lt;/u&amp;gt; the real situation. --Ruslan&lt;br /&gt;
&lt;br /&gt;
= Descriptions =&lt;br /&gt;
&lt;br /&gt;
* [[QueueSpecificRights]]&lt;br /&gt;
* [[GroupSpecificRights]]&lt;br /&gt;
* [[GlobalRights]](with full index)&lt;br /&gt;
&lt;br /&gt;
= Working schemas =&lt;br /&gt;
&lt;br /&gt;
This chapter introduces several working schemas which can be used as template in different situations.&lt;br /&gt;
&lt;br /&gt;
== Public support queue ==&lt;br /&gt;
&lt;br /&gt;
Let start from the beginning. We have recently created queue &#039;support&#039; that is for our public queue and group &#039;SupportTeam&#039; of which members support our customers. Goto &#039;Configuration&#039; tab -&amp;amp;gt; &#039;[[Queue]]s&#039; -&amp;amp;gt; &#039;support&#039; -&amp;amp;gt; &#039;[[Group]] rights&#039; - it&#039;s the place where we&#039;ll do all the things that are described below. Then follow the step by step descriptions:&lt;br /&gt;
&lt;br /&gt;
* We should grant all users with [[CreateTicket]] on queue &#039;support&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Important:&#039;&#039;&#039; It&#039;s a public queue and users often use different email addresses to reply to same ticket, so if you don&#039;t grant [[Everyone]] with [[ReplyToTicket]] right then your users would have problems in such a case.&lt;br /&gt;
* You don&#039;t need grant other system [[Group]]s with same rights because [[Everyone]] includes all users.&lt;br /&gt;
* If some of your internal groups shouldn&#039;t have [[ReplyToTicket]] right, then you can assign it to [[Unprivileged]] and some internal groups.&lt;br /&gt;
&lt;br /&gt;
* If you wish to allow public access to the Web UI([[SelfService]]) then you will also want the following rights to be granted to [[Everyone]] [[Group]]:&lt;br /&gt;
*# [[SeeQueue]] that allows them to see queue &#039;support&#039; in select boxes(&#039;create ticket in&#039; box, &#039;search criteria&#039; box and etc).&lt;br /&gt;
*# [[ShowTicket]], without this right users can&#039;t see tickets in Web UI, but can reply with email. Below we&#039;ll see when we don&#039;t need this right granted to [[Everyone]].&lt;br /&gt;
&lt;br /&gt;
* Your customers are [[Requestor]]s so grant requestor role with rights:&lt;br /&gt;
*# [[ReplyToTicket]]&lt;br /&gt;
*# [[ShowTicket]], it&#039;s an overhead grant but if we revoke this right from [[Everyone]] some day then requestors still would have ability to see tickets which they had request. Now, with one right([[ShowTicket]] for [[Group]] [[Everyone]]) you can control requestor&#039;s ability to see other&#039;s requests.&lt;br /&gt;
&lt;br /&gt;
* Scroll to group &#039;SupportTeam&#039; and grant the following rights:&lt;br /&gt;
*# [[SeeQueue]], [[ShowTicket]] same reasons as for group [[Everyone]].&lt;br /&gt;
*# [[OwnTicket]], each support team member works only on their own tickets. It&#039;s an advantage that RT has over IMAP folders used for public support. Your workers don&#039;t spend their time answering the same ticket.&lt;br /&gt;
*# [[TakeTicket]], allows group members to take ticket from nobody.&lt;br /&gt;
*# [[DeleteTicket]], your public support queue can&#039;t live without it in most cases because of spam.&lt;br /&gt;
&lt;br /&gt;
* Now we can use Roles to grant owners with remaining rights. Scroll to Owner role and grant:&lt;br /&gt;
*# [[ModifyTicket]], this allows much, see right description, but you need this for ticket status change.&lt;br /&gt;
&lt;br /&gt;
=== Trick with comments ===&lt;br /&gt;
&lt;br /&gt;
RT has comments which allow internal teams disscussion inlined into ticket&#039;s body. Grant rights [[ShowTicketComments]] and [[CommentOnTicket]] to &#039;SupportTeam&#039; [[Group]] and to other groups who can help support team in different cases(for eg &#039;DevelopmentTeam&#039;).&lt;br /&gt;
&lt;br /&gt;
=== Tricks with [CC]s/[AdminCC]s ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it&#039;s necessary to watch others&#039; tickets. For example there is now discussion on a problem in some ticket and a worker has their own requests with similar problem then it would be good to watch on that ticket and do other job until it is resolved. Grant support team with [[Watch]] right.&lt;br /&gt;
&lt;br /&gt;
Also you can consider next schema with watchers: Customer sends request. Supporter can&#039;t resolve problem(unknown yet) on his own. He does standard things(request for more info, report with spec tool and so on from user), when supporter thinks that user has provided all needed info, he comments on ticket and at the same time adds developer as [[CC]].&lt;br /&gt;
&lt;br /&gt;
Special [[CustomField]] where supporter can setup value which means &amp;quot;awaiting reply from developer&amp;quot; helps a lot too, because developer can search all tickets where he is watcher and ticket wait for his reply/comment. This CF can be filled with other useful ticket states.&lt;br /&gt;
&lt;br /&gt;
[[AdminCC]]s can have more rights, for example reply directly to user with correspondence or modify ticket. It can be other teams who know standard reply forms and can solve particular problems or this role can be given to support department managers. If necessary grant [[Group]]s with [[WatchAsAdminCc]] right.&lt;br /&gt;
&lt;br /&gt;
== Departments of a company as groups ==&lt;br /&gt;
&lt;br /&gt;
[[Group]]s page describe simple example of using groups to manage rights of the stuffs who work in different departments in your company. Let&#039;s build more complex and universal variant.&lt;br /&gt;
&lt;br /&gt;
Split your privileged users with top level groups: one for your full time staffs, one for part time and on for privileged clients. &#039;&#039;&#039;Don&#039;t skip this step&#039;&#039;&#039; even if you think all your clients would be unprivileged, once when you will need this it would be able to do in one or two clicks instead of refactoring whole rights schema. This groups could be:&lt;br /&gt;
&lt;br /&gt;
* Team&lt;br /&gt;
* External team(part time)&lt;br /&gt;
* Clients&lt;br /&gt;
* ...add your own&lt;br /&gt;
&lt;br /&gt;
When you have created top level groups you can add groups and users to it, but don&#039;t hurry to add users, read more and you will understand that it&#039;s better to add user to one particular group. Create group for each department, may be you don&#039;t have &amp;quot;strict&amp;quot; departments in your company, but anyway usually people do different tasks: managers, developers, support, sales, PR... This people should see only that info that does make sense for them and helps them do thier job effectively, they shouldn&#039;t fill special search conditions to hide tickets that they don&#039;t ever want to see. This groups could be:&lt;br /&gt;
&lt;br /&gt;
* DevelopmentTeam&lt;br /&gt;
* SupportTeam&lt;br /&gt;
* SalesTeam&lt;br /&gt;
* ...add your own&lt;br /&gt;
&lt;br /&gt;
Department groups should be member of the &amp;quot;Team&amp;quot; top-level group. This allow you to grant all in your team with particular set of rights. If you don&#039;t add department group to the top-level group, then you have to add your new users into two groups at least to mark that user is a team member and works in specific department.&lt;br /&gt;
&lt;br /&gt;
For example RT can be used as mailing list, you just create &amp;quot;internal&amp;quot; queue and use it as internal discussions forum. In this situation &amp;quot;team&amp;quot; group will help you to grant rights on the queue easy. You can use RT-Action-[[NotifyGroup]] module to make this queue looks more like mailing list, you should setup scrip that will notify group &#039;Team&#039; on any transaction(or some particular transactions if you want).&lt;br /&gt;
&lt;br /&gt;
Department managers usually should be able to do more with department&#039;s tickets than other members. Create new groups for managers as members of the departments groups, so your managers would be able to do everything other in department could do, but also you&#039;d be able to grant them additional rights. Additional group for manager(s) allow you to change managers easy, for example if you change manager in XX department then you just disable old manager account or move it to other group and add another user into group and this is all you need to do, you don&#039;t need to assign any rights or revoke.&lt;br /&gt;
&lt;br /&gt;
You can notify managers about special events with RT-Action-[[NotifyGroup]] module. For example you can build next workflow: if owner of the ticket is member of the &amp;quot;[[SupportTeam]]&amp;quot; and transaction is correspond notify members of the &amp;quot;[[SupportManagers]]&amp;quot; with template &amp;quot;reply for managers&amp;quot;, this template could collect additional info like time gone since last user message, manager(s) get such messages and could control that support team reply to all customers in 48 hours period(or whatever period you use).&lt;br /&gt;
&lt;br /&gt;
Grant your managers with [[DelegateRights]] and [[AdminOwnPersonalGroups]] right, this will allow them to delegate their responsibilities to other users when it&#039;s required.&lt;br /&gt;
&lt;br /&gt;
To summarize all thoughts here is example of the groups tree:&lt;br /&gt;
&lt;br /&gt;
* [[Everyone]]&lt;br /&gt;
** [[Unprivileged]]&lt;br /&gt;
** [[Privileged]]&lt;br /&gt;
&lt;br /&gt;
*** Team(group)&lt;br /&gt;
**** SupportTeam(group)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** ...&lt;br /&gt;
***** SupportManagers(group)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** ...&lt;br /&gt;
&lt;br /&gt;
**** DevelopmentTeam(group)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** ...&lt;br /&gt;
***** DevelopmentManagers(group)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** ...&lt;br /&gt;
&lt;br /&gt;
*** ExternalTeam&lt;br /&gt;
*** Clients&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Glossary ==&lt;br /&gt;
&lt;br /&gt;
Some terms and acronyms which you could meet in this and other articles you can find descriptions for them in [[RTGlossary]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
* [[RobHooft]] - cleanups, corrector, original [[SeeQueue]] right description&lt;br /&gt;
* Imak - minor spelling cleanup&lt;br /&gt;
* [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
== Epilogue ==&lt;br /&gt;
&lt;br /&gt;
We hope this small article can help you understand concepts which are used in RT to manage user&#039;s rights. Feel free to fix spelling, grammar and other glitches and of course add your own solutions and ideas. Good luck.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Extensions&amp;diff=1141</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Extensions&amp;diff=1141"/>
		<updated>2011-02-28T21:11:15Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 112.203.36.64 (talk | block) to last version by BillCole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nota Bene =&lt;br /&gt;
&lt;br /&gt;
The Best Practical website now contains a list of standard and known-maintained extensions at http://bestpractical.com/rt/extensions.html. If you know of a maintained extension that doesn&#039;t show up there, send mail to webmaster at bestpractical.com.&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Here is a list of RT extensions packaged and available from CPAN or other places.&lt;br /&gt;
&lt;br /&gt;
Most of these extensions are prepared with Module::Install::[[RTx]] module, which allows you to package extension easily and quickly. People who would like to package their extensions should read the module&#039;s [http://search.cpan.org/dist/Module-Install-RTx/ documentation].&lt;br /&gt;
&lt;br /&gt;
= Help maintain this page =&lt;br /&gt;
&lt;br /&gt;
Please sort and refactor this list; RT::Extension is a verbose but lexigraphically equivalent form of [[RTx]]. Also note, that links to a particular version of a module on search.cpan may rot when later versions are released, used a perldoc query instead.&lt;br /&gt;
&lt;br /&gt;
= List =&lt;br /&gt;
&lt;br /&gt;
== Asset Tracker ==&lt;br /&gt;
&lt;br /&gt;
* [[AssetTracker]]&lt;br /&gt;
&lt;br /&gt;
== Command by email ==&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RT-Extension-CommandByMail RT::Extension::CommandByMail] allows you to change metadata of ticket via email:&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-CommandByMail/README Supported commands]&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-CommandByMail/lib/RT/Extension/CommandByMail.pm Overview]&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-CommandByMail/INSTALL Installation instructions]&lt;br /&gt;
* requires &#039;&#039;&#039;patching&#039;&#039;&#039; on [[RTs]] older than 3.6, but works out of the box on modern RT&lt;br /&gt;
* Authors: Best Practical&lt;br /&gt;
* See also: Extract Custom Field Values&lt;br /&gt;
&lt;br /&gt;
== Extract Custom Field Values ==&lt;br /&gt;
&lt;br /&gt;
Allows to extract CF values from email headers or body.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ExtractCustomFieldValues/lib/RT/Extension/ExtractCustomFieldValues.pm Overview]&lt;br /&gt;
* See also: [[ExtractCustomFieldValues]] and Command by email&lt;br /&gt;
&lt;br /&gt;
== Rights Matrix ==&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-RightsMatrix/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Shredder ==&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RTx-Shredder/ RTx::Shredder] by [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
* Version 0.01_01 is the latest that supports RT-3.0.x&lt;br /&gt;
* RT 3.2.x is &#039;&#039;&#039;unsupported&#039;&#039;&#039;&lt;br /&gt;
* Versions &amp;amp;gt;= 0.02 works with RT 3.4.x and greater, 3.4.1 requires &#039;&#039;&#039;patching&#039;&#039;&#039;&lt;br /&gt;
* Included in 3.8.x&lt;br /&gt;
&lt;br /&gt;
== Notify users/groups ==&lt;br /&gt;
&lt;br /&gt;
Part of RT 3.8&lt;br /&gt;
&lt;br /&gt;
Helps setup and manage scrip actions that allow you to notify particular groups of users.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Action-NotifyGroup Extension root]&lt;br /&gt;
&lt;br /&gt;
See also [[EmailGroup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Authentication ==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.bestpractical.com/view/ExternalAuth RT::Authen::ExternalAuth] by [[MikePeachey]]&lt;br /&gt;
&lt;br /&gt;
Allows authentication from any LDAP or DBI-supported data source. Also allows the use of a browser cookie to implement Single Sign-On with other web code using a DBI authentication backend.&lt;br /&gt;
&lt;br /&gt;
For RT-3.8.x&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/~zordrak/RT-Authen-ExternalAuth-0.08/ RT::Authen::ExternalAuth v0.08]&lt;br /&gt;
&lt;br /&gt;
For RT-3.6.x (&#039;&#039;&#039;unsupported&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/~zordrak/RT-Authen-ExternalAuth-0.05/ RT::Authen::ExternalAuth v0.05]&lt;br /&gt;
* [http://search.cpan.org/~zordrak/RT-Authen-CookieAuth-0.02/ RT::Authen::CookieAuth v0.02]&lt;br /&gt;
&lt;br /&gt;
== Export search results as XLS ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allow users to download search results in Microsoft Excel binary format. This typically fix encoding problems for non-ascii chars with the standard TSV export included in RT. [http://search.cpan.org/dist/RT-Extension-SearchResults-XLS/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Watched queues ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allow to display the list of queues the user is watcher, in the user configuration tab. [http://search.cpan.org/dist/RT-Extension-WatchedQueue/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Toggle SuperUser right on/off with a link ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allow users with [[SuperUser]] right to quickly enable/disable this right with a simple link at the top of each page. This way, they can work like standard users for day to day usage and enable [[SuperUser]] right only when needed. [http://search.cpan.org/dist/RT-Extension-ToggleSuperUser/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Mandatory subject ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension enforces users to fill the subject when creating a ticket via the web interface. [http://search.cpan.org/dist/RT-Extension-MandatorySubject/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Mandatory requestor ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension enforces users to fill the requestor when creating a ticket via the web interface. [http://search.cpan.org/dist/RT-Extension-MandatoryRequestor/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== User details ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allows to quickly display watchers personal details on a ticket. [http://search.cpan.org/dist/RT-Extension-UserDetails/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Service Level Agreements (SLA) ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension enables the specification and usage of SLA&#039;s (Service Level Agreements).&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RT-Extension-SLA/ RT::Extension::SLA] by [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
== Workflow Builder ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension is useful for creating Approvals and Workflows.&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RTx-WorkflowBuilder/ RTx::WorkflowBuilder] by Chia-liang Kao&lt;br /&gt;
&lt;br /&gt;
== Branded Queues ==&lt;br /&gt;
&lt;br /&gt;
Integrated into RT 3.8, read UPGRADING and etc/upgrade/3.8-branded-queues-extension.&lt;br /&gt;
&lt;br /&gt;
RT 3.2-3.6: This extension allows sites to &amp;quot;Brand&amp;quot; individual queues with distinct tokens in the Subject headers of outgoing email messages.&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RT-Extension-BrandedQueues/ RT::Extension::BrandedQueues] by [[JesseVincent]]&lt;br /&gt;
&lt;br /&gt;
== QuickCalls ==&lt;br /&gt;
&lt;br /&gt;
Quickly create tickets in specific queues with default values [http://search.cpan.org/dist/RT-Extension-QuickCalls/lib/RT/Extension/QuickCalls.pm RT::Extension::QuickCalls] by [[JesseVincent]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* [[RT3StatisticsPackage]]&lt;br /&gt;
** [[RT3StatisticsPackageTimeWorked]] - Generate a report of [[TimeWorked]] for the specified number of days.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-OnlineDocs RT-OnlineDocs] - adds a &amp;quot;Developer Documentation&amp;quot; menu to the RT user interface.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ActivityReports/ RT::Extension::ActivityReports] [[ActivityReportsPostInstall|Adding to Menu]]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-AddAdminCcsOnQueueChange/lib/RT/Extension/AddAdminCcsOnQueueChange.pm RT::Extension::AddAdminCcsOnQueueChange]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-BecomeUser/ RT::Extension::BecomeUser] - This extension for RT 3.6 provides an ability for super user to effectively log on any user in the system for debugging purposes&lt;br /&gt;
** [http://search.cpan.org/~jpierce/RTx-BecomeUser-1.10_3/ Unofficial update for 3.8]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-BugTracker/ RT::BugTracker] - Adds a UI designed for bug-tracking for developers to RT&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-BugTracker-Public/ RT::BugTracker::Public] - Adds a public, (hopefully) userfriendly bug tracking UI to RT&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-Calendar/ RTx::Calendar] - This extension for RT 3.6+ adds a calendar page, a calendar portlet and iCal feeds of all your tasks and reminers with due date.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-DDMU/ RTx::DDMU] - drop down menu user interface for RT (RT 3.5 or later)&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-EmailCompletion/ RTx::EmailCompletion] - This extension uses javascript to add ajax completion on almost all email input field.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ExtractSubjectTagOnTransaction/ RT::Extension::ExtractSubjectTagOnTransaction]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-From/ RTx::From] - Makes it a bit easier to find users and their tickets.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-MenubarSearches/ RT::Extension::MenubarSearches] - This simple extension for RT 3.x (Tested on 3.4 and newer) adds a dropdown of a user&#039;s queues into RT&#039;s menubar. Using a tiny bit of javascript, selecting one of these queues will automatically jump to a search showing new, open and stalled tickets in that queue.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-MergeUsers/ RT::Extension::MergeUsers] - adds the ability combine users to via the User Administration page&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-QueueWizard/ RT::Extension::QueueWizard] - [[QueueWizard]] allows for fast creation of queues by cloning a pre-existing queue&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-rt_cpan_org/ RT::Extension::rt_cpan_org] - The customizations that turn a RT into a RT for rt.cpan.org&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ServiceUpdates/ RT::Extension::ServiceUpdates] - Message of the Day(?)&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-S3Invoker/ RTx::S3Invoker] - Allows one to load saved searches (global too!) via [[ManualSimpleSearch]].&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-Tags/ RTx::Tags] - Provides functionality to [[ManualSimpleSearch]] custom fields, and a tag cloud (via HTML::TagCloud) of values in the CF Tags.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-Timeline/ RT::Extension::Timeline] - This extension for RT 3.6 uses Timeline http://simile.mit.edu/timeline/ to visualize RT tickets.&lt;br /&gt;
** Works in 3.8 with a tweak to /path/to/rt/share/html/Callbacks/Timeline/Ticket/Elements/Tabs/Default to change the tab index from &#039;j&#039; to something else e.g; &#039;t&#039;. Otherwise, the Bulk Update tab is clobbered.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-WebCronTool/ RTx-WebCronTool] - web interface for the built-in &amp;quot;rt-crontool&amp;quot; utility, allowing scheduled processes to be launched remotely.&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-SideBySideView RT-Extension-SideBySideView] - a moduled version of [http://wiki.bestpractical.com/view/SideBySideTicketScreen SideBySideTicketScreen] from Stephen Turner&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-ShowRelations RT-Extension-ShowRelations] - is a Module for RT 3.6/3.8x to Display Ticket Relations as Table based on a Search&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-FastGroupRights RT-Extension-FastGroupRights] - is a replacement for core [[GroupRights]] Pages with a faster Solution which not loads all available groups with their rights. It will only load the System Groups, Roles and User Defined Groups with already granted rights. Additional it offers a search Field to search for Groups to grant them rights. This is based on an Idea and Code from MIT (Stephen Turner)&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-QueueDeactivatedScrips RT-Extension-QueueDeactivatedScrips] - is a moduled version of Dirk Pape&#039;s [http://page.mi.fu-berlin.de/dirkpape/rt3/HideGlobalScrips/ HideGlobalScrips]&lt;br /&gt;
&lt;br /&gt;
 addon for RT 3.6.x&lt;br /&gt;
&lt;br /&gt;
== Writing your own extensions ==&lt;br /&gt;
&lt;br /&gt;
* Homepage Components (Portlets): [[WritingPortlets]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ManualRequirements&amp;diff=2082</id>
		<title>ManualRequirements</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ManualRequirements&amp;diff=2082"/>
		<updated>2011-02-19T19:19:02Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 193.136.124.150 (talk | block) to last version by 12.43.88.121&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prev: [[ManualIntroduction]] --- Up: [[UserManual]] --- Next: [[ManualInstallation]]&lt;br /&gt;
&lt;br /&gt;
= REQUIREMENTS =&lt;br /&gt;
&lt;br /&gt;
RT is a fairly large, complex piece of software. It makes some (ok, &#039;&#039;&#039;lots&#039;&#039;&#039; of) assumptions about the environment in which it runs, which you will have to fulfill during installation.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re working with an already installed RT you don&#039;t need to know any of this now.&lt;br /&gt;
&lt;br /&gt;
To properly install RT you&#039;ll need some things:&lt;br /&gt;
&lt;br /&gt;
== Knowledge ==&lt;br /&gt;
&lt;br /&gt;
* root access to the server you&#039;re going to install it on&lt;br /&gt;
* how to add aliases to your mail system&lt;br /&gt;
* how to start and stop your web server&lt;br /&gt;
* how your distribution mangles the webserver configuration files.&lt;br /&gt;
&lt;br /&gt;
== Make choice ==&lt;br /&gt;
&lt;br /&gt;
In installing an application as large and pervasive as RT, which depends on many other things, you will often have to make the decision &amp;quot;do I provide it a separate version of the thing it requires, or do I upgrade my system&#039;s facility to the proper, new-enough version?&amp;quot; This is a difficult question to answer in some cases, as it depends on the level of systems administration experience you have. We can&#039;t answer it for you but we&#039;ll attempt to make clear what effect the possible choice may have on how you install and run the package. See the Installation Guides - your distro may have a packaged version of RT.&lt;br /&gt;
&lt;br /&gt;
== RT source code ==&lt;br /&gt;
&lt;br /&gt;
The latest version is available at http://www.bestpractical.com/rt/download.html&lt;br /&gt;
&lt;br /&gt;
== Perl ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; For RT 3.0.0 and greater you need &#039;&#039;&#039;Perl 5.8.3 or newer&#039;&#039;&#039;. It contains significantly enhanced support for Unicode and non-English languages. Perl 5.8.3 fixed major bugs - using prior versions may cause data corruption. If your distribution uses an older Perl version, you can compile your own - see [[CompilingPerl]]. Or you can upgrade your system&#039;s version of perl.&lt;br /&gt;
&lt;br /&gt;
Note that if you&#039;re using a packaged perl and a packaged Apache, you probably need to use your distribution&#039;s packaged Apache::DBI and mod_perl as well, and all of these need to be version compatible with RT -- it&#039;s vaguely possible this might mean you need to uninstall &#039;&#039;&#039;all&#039;&#039;&#039; of the managed packages and build these things from scratch... at which point you might want to reconsider which distribution you want to use.&lt;br /&gt;
&lt;br /&gt;
If you will be running &#039;&#039;&#039;RT 3.0.x or earlier&#039;&#039;&#039; under FastCGI, you need support for setgid perl scripts. RT 3.2 and later do not need this. See details below and on the [[FastCGIConfiguration]] page. (There really isn&#039;t much reason to newly install a version that old, so that&#039;s all we&#039;ll say about this now.)&lt;br /&gt;
&lt;br /&gt;
== Perl modules ==&lt;br /&gt;
&lt;br /&gt;
If all of that sounds vague, don&#039;t worry: a tool included with RT takes care of the installation of most of these automatically (see [[ManualInstallation]]). The tool supplied with RT uses Perl&#039;s CPAN system (http://www.cpan.org) to install modules. Some operating systems package some or all of the modules required and you may be better off installing the modules that way.&lt;br /&gt;
&lt;br /&gt;
And, finally, you might find that you&#039;ll need to mix these two approaches; on [[SuSE]] 10.3 for example, fixdeps will install everything except Apache::DBI.&lt;br /&gt;
&lt;br /&gt;
Currently (April,2008 - RT 3.6.6) the dependency &amp;quot;HTML::[[FormatText]]&amp;quot; will not install due to a failure in a subdependency: &amp;quot;Font::AFM&amp;quot;. The latter fails with a test result: t/afm.....skipped (no reason given). You will need to install this manually with CPAN using the command &amp;quot;force install Font::AFM&amp;quot;. Afterwards, the &amp;quot;HTML::[[FormatText]]&amp;quot; module can be installed ok.&lt;br /&gt;
&lt;br /&gt;
=== NCFTP ===&lt;br /&gt;
&lt;br /&gt;
Some platforms, e.g. [[CentOS]] 4.x, will also require the freely available [[NcFTP]] Client (http://www.ncftp.com/ncftp/) in order to satisfy some configuration dependencies for the Perl CPAN system.&lt;br /&gt;
&lt;br /&gt;
You can configure to avoid this requirement during the setup configuration of CPAN by telling the configuration dialog that there is no &amp;quot;ncftp&amp;quot; executable and then selecting only &amp;quot;http&amp;quot; CPAN Mirrors. This may also be advantageous if your system is behind a corporate firewall which does not allow FTP.&lt;br /&gt;
&lt;br /&gt;
== Database backend ==&lt;br /&gt;
&lt;br /&gt;
RT stores its data in a database. You can choose from the following database management systems (DBMS):&lt;br /&gt;
&lt;br /&gt;
* We recommend [http://www.mysql.com MySQL] 4.0.18 or newer *with support for [[InnoDB]]*.&lt;br /&gt;
* [http://www.postgresql.org PostgreSQL] 7.4 or later will also work&lt;br /&gt;
* Oracle 9iR2 or newer&lt;br /&gt;
&lt;br /&gt;
If your system already has a DBMS engine installed and working, you&#039;re probably best to use that one.&lt;br /&gt;
&lt;br /&gt;
== Web server ==&lt;br /&gt;
&lt;br /&gt;
We recommend using [http://httpd.apache.org Apache] version 2.x with [mod_perl] 2 or a webserver with [[FastCGI]] support.&lt;br /&gt;
&lt;br /&gt;
=== mod_perl vs FastCGI ===&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;don&#039;t need both&#039;&#039;&#039; mod_perl and [[FastCGI]], you have to install and configure only one thing. You should choose the software you&#039;re familiar with, but if you&#039;re not familiar with either, don&#039;t panic, here are short descriptions of both projects and how well each works with RT.&lt;br /&gt;
&lt;br /&gt;
==== mod_perl ====&lt;br /&gt;
&lt;br /&gt;
[mod_perl] project has two major stable releases: mod_perl 1.x and mod_perl 2.x; in the middle there is development versions mod_perl 1.9x. Let see which releases you can use:&lt;br /&gt;
&lt;br /&gt;
* mod_perl 1.x is supported release, but this mean you &#039;&#039;&#039;must use Apache 1.3.x&#039;&#039;&#039;, because mod_perl 1.x works only with Apache 1.3.x. mod_perl 1.x must be built with &amp;lt;code&amp;gt;EVERYTHING=1&amp;lt;/code&amp;gt; option(most distribution packages have this option on). For an excerpt, see [[ManualApache]]. Using mod_perl with Apache 1.3.x could lead to massive stability problems.&lt;br /&gt;
&lt;br /&gt;
* We &#039;&#039;&#039;don&#039;t recommend&#039;&#039;&#039; to use development 1.9x versions, because of development status. Also mod_perl 2.x was released and it&#039;s stable branch of the 1.9x development versions, so you wouldn&#039;t get much support from mod_perl users and developers if you use mod_perl 1.9x. RT-3.4.4 and greater &#039;&#039;&#039;won&#039;t work&#039;&#039;&#039; with development 1.9x releases.&lt;br /&gt;
&lt;br /&gt;
* mod_perl 2.0 has been released with major API-changes in mod_perl 2.0-RC3 which lead to incompatibities that also affect RT, see this [http://lists.bestpractical.com/pipermail/rt-users/2005-April/030477.html mailing-list message].&lt;br /&gt;
** So RT-3.4.3 or any prior versions is &#039;&#039;&#039;totally unsupported&#039;&#039;&#039; on mod_perl 2.x.&lt;br /&gt;
** mod_perl 2.x has been &#039;&#039;&#039;marked as supported&#039;&#039;&#039; in RT 3.4.4. There is no mentioning of incomplete support in any way. See this [http://www.gossamer-threads.com/lists/rt/announce/48184 mailing list message].&lt;br /&gt;
** If you experience issues getting mod_perl 2.x+apache 2.x up and running, consider using apache 1.3.x + mod_perl 1.x or [[FastCGI]] instead, though this is much less likely than it used to be.&lt;br /&gt;
&lt;br /&gt;
For [[CentOS]]-4.6 and RT 3.6.6, you can get a supported Web Stack by enabling the &amp;quot;centosplus&amp;quot; repository in Yum and doing a &amp;quot;yum update&amp;quot;. If you try to use mod_perl2 on [[CentOS4]] without &amp;quot;centosplus&amp;quot; you will lose hair.&lt;br /&gt;
&lt;br /&gt;
==== FastCGI ====&lt;br /&gt;
&lt;br /&gt;
You can use [[FastCGI]] with Apache 1.3.x and 2.x. You can use [[FastCGI]] with other HTTP servers, but this functionality is not tested very well (if at all).&lt;br /&gt;
&lt;br /&gt;
In RT versions prior to 3.2, RT&#039;s [[FastCGI]] handler runs setgid to the &amp;quot;rt&amp;quot; group to protect RT&#039;s database password. You may need to install a special &amp;quot;suidperl&amp;quot; package or reconfigure your perl setup to support &amp;quot;setuid scripts&amp;quot; if you intend to use RT with [[FastCGI]].&lt;br /&gt;
&lt;br /&gt;
* Debian GNU/* 3.0+: the package which installs suidperl is called perl-suid, and should work without any tweaking.&lt;br /&gt;
* [[FreeBSD]] 4.2+: the package is called sperl, and should install a suidperl that just works&lt;br /&gt;
* Conectiva Linux 6.0+: suidperl is installed by default when perl is installed, but the program /bin/suidperl is not setuid. You must use chmod to make it setuid.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Prev: [[ManualIntroduction]] --- Up: [[UserManual]] --- Next: [[ManualInstallation]]&lt;br /&gt;
[[Category:RT User Manual]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Rights&amp;diff=3206</id>
		<title>Rights</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Rights&amp;diff=3206"/>
		<updated>2011-02-06T05:22:37Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 173.208.45.178 (talk | block) to last version by Jibsheet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes RT security management aspects.&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
RT has different types of [[Group]]s that identify specific groups of system users. For security management, the public (user-defined) groups are the most important.&lt;br /&gt;
&lt;br /&gt;
== Objects ==&lt;br /&gt;
&lt;br /&gt;
RT manipulates different objects: [[Ticket]]s, [[Queue]]s, [[Scrip]]s, [[Template]]s, [[CustomField]]s, Users, [[Group]]s, etc. Each object takes a different place in the object tree. For example, scripts can either be global- or queue-specific, but tickets are always associated with a queue. Each object has a set of defined rights. To perform a particular action on an object, a user must have the appropriate rights. For example, if you want create a ticket in queue A, you should have the [[CreateTicket]] right on queue A (or on all queues). Other types of rights, such as [[AdminGroup]], are not queue-specific.&lt;br /&gt;
&lt;br /&gt;
In general, it is possible to grant each user rights on each small object like a scrip named &#039;foo&#039; or a Template named &#039;bar.&#039; But, such a setup would be difficult to maintain, and would require an overly-complex user interface. Instead, the RT user interface gives access to rights that are &#039;&#039;&#039;system-wide&#039;&#039;&#039;, rights that can be assigned on a &#039;&#039;&#039;group by group&#039;&#039;&#039; basis, and other rights that can be assigned on a &#039;&#039;&#039;queue by queue&#039;&#039;&#039; basis. All objects have a context. For example, if Scrip A is a global scrip (system-wide), you can grant users rights on this object in the global context. Each right can be tied to more then one context and the interpretation of the right can be different in the different contexts. For example, the [[AdminQueue]] right in two different queues can be given to different groups of users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: I forgot about rights that change behavior in different contexts when I started all this. Maybe I&#039;ll recheck this all. Feel free to change descriptions if you &amp;lt;u&amp;gt;know&amp;lt;/u&amp;gt; the real situation. --Ruslan&lt;br /&gt;
&lt;br /&gt;
= Descriptions =&lt;br /&gt;
&lt;br /&gt;
* [[QueueSpecificRights]]&lt;br /&gt;
* [[GroupSpecificRights]]&lt;br /&gt;
* [[GlobalRights]](with full index)&lt;br /&gt;
&lt;br /&gt;
= Working schemas =&lt;br /&gt;
&lt;br /&gt;
This chapter introduces several working schemas which can be used as template in different situations.&lt;br /&gt;
&lt;br /&gt;
== Public support queue ==&lt;br /&gt;
&lt;br /&gt;
Let start from the beginning. We have recently created queue &#039;support&#039; that is for our public queue and group &#039;SupportTeam&#039; of which members support our customers. Goto &#039;Configuration&#039; tab -&amp;amp;gt; &#039;[[Queue]]s&#039; -&amp;amp;gt; &#039;support&#039; -&amp;amp;gt; &#039;[[Group]] rights&#039; - it&#039;s the place where we&#039;ll do all the things that are described below. Then follow the step by step descriptions:&lt;br /&gt;
&lt;br /&gt;
* We should grant all users with [[CreateTicket]] on queue &#039;support&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Important:&#039;&#039;&#039; It&#039;s a public queue and users often use different email addresses to reply to same ticket, so if you don&#039;t grant [[Everyone]] with [[ReplyToTicket]] right then your users would have problems in such a case.&lt;br /&gt;
* You don&#039;t need grant other system [[Group]]s with same rights because [[Everyone]] includes all users.&lt;br /&gt;
* If some of your internal groups shouldn&#039;t have [[ReplyToTicket]] right, then you can assign it to [[Unprivileged]] and some internal groups.&lt;br /&gt;
&lt;br /&gt;
* If you wish to allow public access to the Web UI([[SelfService]]) then you will also want the following rights to be granted to [[Everyone]] [[Group]]:&lt;br /&gt;
*# [[SeeQueue]] that allows them to see queue &#039;support&#039; in select boxes(&#039;create ticket in&#039; box, &#039;search criteria&#039; box and etc).&lt;br /&gt;
*# [[ShowTicket]], without this right users can&#039;t see tickets in Web UI, but can reply with email. Below we&#039;ll see when we don&#039;t need this right granted to [[Everyone]].&lt;br /&gt;
&lt;br /&gt;
* Your customers are [[Requestor]]s so grant requestor role with rights:&lt;br /&gt;
*# [[ReplyToTicket]]&lt;br /&gt;
*# [[ShowTicket]], it&#039;s an overhead grant but if we revoke this right from [[Everyone]] some day then requestors still would have ability to see tickets which they had request. Now, with one right([[ShowTicket]] for [[Group]] [[Everyone]]) you can control requestor&#039;s ability to see other&#039;s requests.&lt;br /&gt;
&lt;br /&gt;
* Scroll to group &#039;SupportTeam&#039; and grant the following rights:&lt;br /&gt;
*# [[SeeQueue]], [[ShowTicket]] same reasons as for group [[Everyone]].&lt;br /&gt;
*# [[OwnTicket]], each support team member works only on their own tickets. It&#039;s an advantage that RT has over IMAP folders used for public support. Your workers don&#039;t spend their time answering the same ticket.&lt;br /&gt;
*# [[TakeTicket]], allows group members to take ticket from nobody.&lt;br /&gt;
*# [[DeleteTicket]], your public support queue can&#039;t live without it in most cases because of spam.&lt;br /&gt;
&lt;br /&gt;
* Now we can use Roles to grant owners with remaining rights. Scroll to Owner role and grant:&lt;br /&gt;
*# [[ModifyTicket]], this allows much, see right description, but you need this for ticket status change.&lt;br /&gt;
&lt;br /&gt;
=== Trick with comments ===&lt;br /&gt;
&lt;br /&gt;
RT has comments which allow internal teams disscussion inlined into ticket&#039;s body. Grant rights [[ShowTicketComments]] and [[CommentOnTicket]] to &#039;SupportTeam&#039; [[Group]] and to other groups who can help support team in different cases(for eg &#039;DevelopmentTeam&#039;).&lt;br /&gt;
&lt;br /&gt;
=== Tricks with [CC]s/[AdminCC]s ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it&#039;s necessary to watch others&#039; tickets. For example there is now discussion on a problem in some ticket and a worker has their own requests with similar problem then it would be good to watch on that ticket and do other job until it is resolved. Grant support team with [[Watch]] right.&lt;br /&gt;
&lt;br /&gt;
Also you can consider next schema with watchers: Customer sends request. Supporter can&#039;t resolve problem(unknown yet) on his own. He does standard things(request for more info, report with spec tool and so on from user), when supporter thinks that user has provided all needed info, he comments on ticket and at the same time adds developer as [[CC]].&lt;br /&gt;
&lt;br /&gt;
Special [[CustomField]] where supporter can setup value which means &amp;quot;awaiting reply from developer&amp;quot; helps a lot too, because developer can search all tickets where he is watcher and ticket wait for his reply/comment. This CF can be filled with other useful ticket states.&lt;br /&gt;
&lt;br /&gt;
[[AdminCC]]s can have more rights, for example reply directly to user with correspondence or modify ticket. It can be other teams who know standard reply forms and can solve particular problems or this role can be given to support department managers. If necessary grant [[Group]]s with [[WatchAsAdminCc]] right.&lt;br /&gt;
&lt;br /&gt;
== Departments of a company as groups ==&lt;br /&gt;
&lt;br /&gt;
[[Group]]s page describe simple example of using groups to manage rights of the stuffs who work in different departments in your company. Let&#039;s build more complex and universal variant.&lt;br /&gt;
&lt;br /&gt;
Split your privileged users with top level groups: one for your full time staffs, one for part time and on for privileged clients. &#039;&#039;&#039;Don&#039;t skip this step&#039;&#039;&#039; even if you think all your clients would be unprivileged, once when you will need this it would be able to do in one or two clicks instead of refactoring whole rights schema. This groups could be:&lt;br /&gt;
&lt;br /&gt;
* Team&lt;br /&gt;
* External team(part time)&lt;br /&gt;
* Clients&lt;br /&gt;
* ...add your own&lt;br /&gt;
&lt;br /&gt;
When you have created top level groups you can add groups and users to it, but don&#039;t hurry to add users, read more and you will understand that it&#039;s better to add user to one particular group. Create group for each department, may be you don&#039;t have &amp;quot;strict&amp;quot; departments in your company, but anyway usually people do different tasks: managers, developers, support, sales, PR... This people should see only that info that does make sense for them and helps them do thier job effectively, they shouldn&#039;t fill special search conditions to hide tickets that they don&#039;t ever want to see. This groups could be:&lt;br /&gt;
&lt;br /&gt;
* DevelopmentTeam&lt;br /&gt;
* SupportTeam&lt;br /&gt;
* SalesTeam&lt;br /&gt;
* ...add your own&lt;br /&gt;
&lt;br /&gt;
Department groups should be member of the &amp;quot;Team&amp;quot; top-level group. This allow you to grant all in your team with particular set of rights. If you don&#039;t add department group to the top-level group, then you have to add your new users into two groups at least to mark that user is a team member and works in specific department.&lt;br /&gt;
&lt;br /&gt;
For example RT can be used as mailing list, you just create &amp;quot;internal&amp;quot; queue and use it as internal discussions forum. In this situation &amp;quot;team&amp;quot; group will help you to grant rights on the queue easy. You can use RT-Action-[[NotifyGroup]] module to make this queue looks more like mailing list, you should setup scrip that will notify group &#039;Team&#039; on any transaction(or some particular transactions if you want).&lt;br /&gt;
&lt;br /&gt;
Department managers usually should be able to do more with department&#039;s tickets than other members. Create new groups for managers as members of the departments groups, so your managers would be able to do everything other in department could do, but also you&#039;d be able to grant them additional rights. Additional group for manager(s) allow you to change managers easy, for example if you change manager in XX department then you just disable old manager account or move it to other group and add another user into group and this is all you need to do, you don&#039;t need to assign any rights or revoke.&lt;br /&gt;
&lt;br /&gt;
You can notify managers about special events with RT-Action-[[NotifyGroup]] module. For example you can build next workflow: if owner of the ticket is member of the &amp;quot;[[SupportTeam]]&amp;quot; and transaction is correspond notify members of the &amp;quot;[[SupportManagers]]&amp;quot; with template &amp;quot;reply for managers&amp;quot;, this template could collect additional info like time gone since last user message, manager(s) get such messages and could control that support team reply to all customers in 48 hours period(or whatever period you use).&lt;br /&gt;
&lt;br /&gt;
Grant your managers with [[DelegateRights]] and [[AdminOwnPersonalGroups]] right, this will allow them to delegate their responsibilities to other users when it&#039;s required.&lt;br /&gt;
&lt;br /&gt;
To summarize all thoughts here is example of the groups tree:&lt;br /&gt;
&lt;br /&gt;
* [[Everyone]]&lt;br /&gt;
** [[Unprivileged]]&lt;br /&gt;
** [[Privileged]]&lt;br /&gt;
&lt;br /&gt;
*** Team(group)&lt;br /&gt;
**** SupportTeam(group)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** ...&lt;br /&gt;
***** SupportManagers(group)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** ...&lt;br /&gt;
&lt;br /&gt;
**** DevelopmentTeam(group)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** team member(user)&lt;br /&gt;
***** ...&lt;br /&gt;
***** DevelopmentManagers(group)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** manager(user)&lt;br /&gt;
****** ...&lt;br /&gt;
&lt;br /&gt;
*** ExternalTeam&lt;br /&gt;
*** Clients&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Glossary ==&lt;br /&gt;
&lt;br /&gt;
Some terms and acronyms which you could meet in this and other articles you can find descriptions for them in [[RTGlossary]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
&lt;br /&gt;
* [[RobHooft]] - cleanups, corrector, original [[SeeQueue]] right description&lt;br /&gt;
* Imak - minor spelling cleanup&lt;br /&gt;
* [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
== Epilogue ==&lt;br /&gt;
&lt;br /&gt;
We hope this small article can help you understand concepts which are used in RT to manage user&#039;s rights. Feel free to fix spelling, grammar and other glitches and of course add your own solutions and ideas. Good luck.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=User_talk:AnneS&amp;diff=5095</id>
		<title>User talk:AnneS</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=User_talk:AnneS&amp;diff=5095"/>
		<updated>2011-02-04T20:05:44Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Wondering about administrative actions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What reason am I not seeing for blocking 68.40.186.204 and rolling back the seemingly valid point made from there on the [http://requesttracker.wikia.com/wiki/Talk:ManualUsingWebInterface Talk:ManualUsingWebInterface] page? It seems to me that the fact that all of the &amp;quot;screenshot&amp;quot; links on that page point to a defunct GeoCities site that now gets redirected to a Yahoo error page in Spanish is a very real problem with the [http://requesttracker.wikia.com/wiki/Talk:ManualUsingWebInterface ManualUsingWebInterface] page. [[User:BillCole|BillCole]] 20:05, February 4, 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=RT_Jifty_Experimental_Schema_Changes&amp;diff=3050</id>
		<title>RT Jifty Experimental Schema Changes</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=RT_Jifty_Experimental_Schema_Changes&amp;diff=3050"/>
		<updated>2011-02-04T19:45:05Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by AlexFortran (talk | block) to last version by Best Practical&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Columns renames =&lt;br /&gt;
&lt;br /&gt;
* Columns in all tables have been renamed from [[CamelCase]] to lower_case&lt;br /&gt;
* Additional renames:&lt;br /&gt;
&lt;br /&gt;
 nick_name           =&amp;amp;gt; &#039;nickname&#039;,&lt;br /&gt;
 email_address       =&amp;amp;gt; &#039;email&#039;,&lt;br /&gt;
 principal_type      =&amp;amp;gt; &#039;type&#039;,&lt;br /&gt;
 immediate_parent_id =&amp;amp;gt; &#039;immediate_parent&#039;,&lt;br /&gt;
&lt;br /&gt;
* covered in upgrade script&lt;br /&gt;
&lt;br /&gt;
= Principals =&lt;br /&gt;
&lt;br /&gt;
* ObjectId column has gone, it was always equal to id&lt;br /&gt;
** covered in upgrade script&lt;br /&gt;
&lt;br /&gt;
= ACLs =&lt;br /&gt;
&lt;br /&gt;
* Rights delegations gone&lt;br /&gt;
** every record where DelegatedBy is not null and is not equal to 0 should be deleted&lt;br /&gt;
*** covered in upgrade script&lt;br /&gt;
** DelegatedBy and DelegatedFrom columns have gone&lt;br /&gt;
*** covered in upgrade script&lt;br /&gt;
&lt;br /&gt;
* PrincipalType is used for Roles only, so records where it is equal to Group or User are replaced with NULL&lt;br /&gt;
&lt;br /&gt;
= Dates =&lt;br /&gt;
&lt;br /&gt;
* All dates around 1970-01-01 that have been used as placeholders for &amp;quot;Not Set&amp;quot; have been replaced with NULLs&lt;br /&gt;
** &amp;lt;nowiki&amp;gt;!!! not implemented &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Extensions&amp;diff=1138</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Extensions&amp;diff=1138"/>
		<updated>2011-02-04T19:35:07Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by 109.254.49.7 (talk | block) to last version by Gmirandaupc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nota Bene =&lt;br /&gt;
&lt;br /&gt;
The Best Practical website now contains a list of standard and known-maintained extensions at http://bestpractical.com/rt/extensions.html. If you know of a maintained extension that doesn&#039;t show up there, send mail to webmaster at bestpractical.com.&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Here is a list of RT extensions packaged and available from CPAN or other places.&lt;br /&gt;
&lt;br /&gt;
Most of these extensions are prepared with Module::Install::[[RTx]] module, which allows you to package extension easily and quickly. People who would like to package their extensions should read the module&#039;s [http://search.cpan.org/dist/Module-Install-RTx/ documentation].&lt;br /&gt;
&lt;br /&gt;
= Help maintain this page =&lt;br /&gt;
&lt;br /&gt;
Please sort and refactor this list; RT::Extension is a verbose but lexigraphically equivalent form of [[RTx]]. Also note, that links to a particular version of a module on search.cpan may rot when later versions are released, used a perldoc query instead.&lt;br /&gt;
&lt;br /&gt;
= List =&lt;br /&gt;
&lt;br /&gt;
== Asset Tracker ==&lt;br /&gt;
&lt;br /&gt;
* [[AssetTracker]]&lt;br /&gt;
&lt;br /&gt;
== Command by email ==&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RT-Extension-CommandByMail RT::Extension::CommandByMail] allows you to change metadata of ticket via email:&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-CommandByMail/README Supported commands]&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-CommandByMail/lib/RT/Extension/CommandByMail.pm Overview]&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-CommandByMail/INSTALL Installation instructions]&lt;br /&gt;
* requires &#039;&#039;&#039;patching&#039;&#039;&#039; on [[RTs]] older than 3.6, but works out of the box on modern RT&lt;br /&gt;
* Authors: Best Practical&lt;br /&gt;
* See also: Extract Custom Field Values&lt;br /&gt;
&lt;br /&gt;
== Extract Custom Field Values ==&lt;br /&gt;
&lt;br /&gt;
Allows to extract CF values from email headers or body.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ExtractCustomFieldValues/lib/RT/Extension/ExtractCustomFieldValues.pm Overview]&lt;br /&gt;
* See also: [[ExtractCustomFieldValues]] and Command by email&lt;br /&gt;
&lt;br /&gt;
== Rights Matrix ==&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-RightsMatrix/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Shredder ==&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RTx-Shredder/ RTx::Shredder] by [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
* Version 0.01_01 is the latest that supports RT-3.0.x&lt;br /&gt;
* RT 3.2.x is &#039;&#039;&#039;unsupported&#039;&#039;&#039;&lt;br /&gt;
* Versions &amp;amp;gt;= 0.02 works with RT 3.4.x and greater, 3.4.1 requires &#039;&#039;&#039;patching&#039;&#039;&#039;&lt;br /&gt;
* Included in 3.8.x&lt;br /&gt;
&lt;br /&gt;
== Notify users/groups ==&lt;br /&gt;
&lt;br /&gt;
Part of RT 3.8&lt;br /&gt;
&lt;br /&gt;
Helps setup and manage scrip actions that allow you to notify particular groups of users.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Action-NotifyGroup Extension root]&lt;br /&gt;
&lt;br /&gt;
See also [[EmailGroup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Authentication ==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.bestpractical.com/view/ExternalAuth RT::Authen::ExternalAuth] by [[MikePeachey]]&lt;br /&gt;
&lt;br /&gt;
Allows authentication from any LDAP or DBI-supported data source. Also allows the use of a browser cookie to implement Single Sign-On with other web code using a DBI authentication backend.&lt;br /&gt;
&lt;br /&gt;
For RT-3.8.x&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/~zordrak/RT-Authen-ExternalAuth-0.08/ RT::Authen::ExternalAuth v0.08]&lt;br /&gt;
&lt;br /&gt;
For RT-3.6.x (&#039;&#039;&#039;unsupported&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/~zordrak/RT-Authen-ExternalAuth-0.05/ RT::Authen::ExternalAuth v0.05]&lt;br /&gt;
* [http://search.cpan.org/~zordrak/RT-Authen-CookieAuth-0.02/ RT::Authen::CookieAuth v0.02]&lt;br /&gt;
&lt;br /&gt;
== Export search results as XLS ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allow users to download search results in Microsoft Excel binary format. This typically fix encoding problems for non-ascii chars with the standard TSV export included in RT. [http://search.cpan.org/dist/RT-Extension-SearchResults-XLS/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Watched queues ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allow to display the list of queues the user is watcher, in the user configuration tab. [http://search.cpan.org/dist/RT-Extension-WatchedQueue/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Toggle SuperUser right on/off with a link ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allow users with [[SuperUser]] right to quickly enable/disable this right with a simple link at the top of each page. This way, they can work like standard users for day to day usage and enable [[SuperUser]] right only when needed. [http://search.cpan.org/dist/RT-Extension-ToggleSuperUser/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Mandatory subject ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension enforces users to fill the subject when creating a ticket via the web interface. [http://search.cpan.org/dist/RT-Extension-MandatorySubject/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Mandatory requestor ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension enforces users to fill the requestor when creating a ticket via the web interface. [http://search.cpan.org/dist/RT-Extension-MandatoryRequestor/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== User details ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension allows to quickly display watchers personal details on a ticket. [http://search.cpan.org/dist/RT-Extension-UserDetails/ Extension root]&lt;br /&gt;
&lt;br /&gt;
== Service Level Agreements (SLA) ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension enables the specification and usage of SLA&#039;s (Service Level Agreements).&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RT-Extension-SLA/ RT::Extension::SLA] by [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
== Workflow Builder ==&lt;br /&gt;
&lt;br /&gt;
This RT Extension is useful for creating Approvals and Workflows.&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RTx-WorkflowBuilder/ RTx::WorkflowBuilder] by Chia-liang Kao&lt;br /&gt;
&lt;br /&gt;
== Branded Queues ==&lt;br /&gt;
&lt;br /&gt;
Integrated into RT 3.8, read UPGRADING and etc/upgrade/3.8-branded-queues-extension.&lt;br /&gt;
&lt;br /&gt;
RT 3.2-3.6: This extension allows sites to &amp;quot;Brand&amp;quot; individual queues with distinct tokens in the Subject headers of outgoing email messages.&lt;br /&gt;
&lt;br /&gt;
[http://search.cpan.org/dist/RT-Extension-BrandedQueues/ RT::Extension::BrandedQueues] by [[JesseVincent]]&lt;br /&gt;
&lt;br /&gt;
== QuickCalls ==&lt;br /&gt;
&lt;br /&gt;
Quickly create tickets in specific queues with default values [http://search.cpan.org/dist/RT-Extension-QuickCalls/lib/RT/Extension/QuickCalls.pm RT::Extension::QuickCalls] by [[JesseVincent]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* [[RT3StatisticsPackage]]&lt;br /&gt;
** [[RT3StatisticsPackageTimeWorked]] - Generate a report of [[TimeWorked]] for the specified number of days.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-OnlineDocs RT-OnlineDocs] - adds a &amp;quot;Developer Documentation&amp;quot; menu to the RT user interface.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ActivityReports/ RT::Extension::ActivityReports] [[ActivityReportsPostInstall|Adding to Menu]]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-AddAdminCcsOnQueueChange/lib/RT/Extension/AddAdminCcsOnQueueChange.pm RT::Extension::AddAdminCcsOnQueueChange]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-BecomeUser/ RT::Extension::BecomeUser] - This extension for RT 3.6 provides an ability for super user to effectively log on any user in the system for debugging purposes&lt;br /&gt;
** [http://search.cpan.org/~jpierce/RTx-BecomeUser-1.10_3/ Unofficial update for 3.8]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-BugTracker/ RT::BugTracker] - Adds a UI designed for bug-tracking for developers to RT&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-BugTracker-Public/ RT::BugTracker::Public] - Adds a public, (hopefully) userfriendly bug tracking UI to RT&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-Calendar/ RTx::Calendar] - This extension for RT 3.6+ adds a calendar page, a calendar portlet and iCal feeds of all your tasks and reminers with due date.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-DDMU/ RTx::DDMU] - drop down menu user interface for RT (RT 3.5 or later)&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-EmailCompletion/ RTx::EmailCompletion] - This extension uses javascript to add ajax completion on almost all email input field.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ExtractSubjectTagOnTransaction/ RT::Extension::ExtractSubjectTagOnTransaction]&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-From/ RTx::From] - Makes it a bit easier to find users and their tickets.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-MenubarSearches/ RT::Extension::MenubarSearches] - This simple extension for RT 3.x (Tested on 3.4 and newer) adds a dropdown of a user&#039;s queues into RT&#039;s menubar. Using a tiny bit of javascript, selecting one of these queues will automatically jump to a search showing new, open and stalled tickets in that queue.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-MergeUsers/ RT::Extension::MergeUsers] - adds the ability combine users to via the User Administration page&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-QueueWizard/ RT::Extension::QueueWizard] - [[QueueWizard]] allows for fast creation of queues by cloning a pre-existing queue&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-rt_cpan_org/ RT::Extension::rt_cpan_org] - The customizations that turn a RT into a RT for rt.cpan.org&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RT-Extension-ServiceUpdates/ RT::Extension::ServiceUpdates] - Message of the Day(?)&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-S3Invoker/ RTx::S3Invoker] - Allows one to load saved searches (global too!) via [[ManualSimpleSearch]].&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-Tags/ RTx::Tags] - Provides functionality to [[ManualSimpleSearch]] custom fields, and a tag cloud (via HTML::TagCloud) of values in the CF Tags.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-Timeline/ RT::Extension::Timeline] - This extension for RT 3.6 uses Timeline http://simile.mit.edu/timeline/ to visualize RT tickets.&lt;br /&gt;
** Works in 3.8 with a tweak to /path/to/rt/share/html/Callbacks/Timeline/Ticket/Elements/Tabs/Default to change the tab index from &#039;j&#039; to something else e.g; &#039;t&#039;. Otherwise, the Bulk Update tab is clobbered.&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/RTx-WebCronTool/ RTx-WebCronTool] - web interface for the built-in &amp;quot;rt-crontool&amp;quot; utility, allowing scheduled processes to be launched remotely.&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-SideBySideView RT-Extension-SideBySideView] - a moduled version of [http://wiki.bestpractical.com/view/SideBySideTicketScreen SideBySideTicketScreen] from Stephen Turner&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-ShowRelations RT-Extension-ShowRelations] - is a Module for RT 3.6/3.8x to Display Ticket Relations as Table based on a Search&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-FastGroupRights RT-Extension-FastGroupRights] - is a replacement for core [[GroupRights]] Pages with a faster Solution which not loads all available groups with their rights. It will only load the System Groups, Roles and User Defined Groups with already granted rights. Additional it offers a search Field to search for Groups to grant them rights. This is based on an Idea and Code from MIT (Stephen Turner)&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/tbrumm/RT-Extension-QueueDeactivatedScrips RT-Extension-QueueDeactivatedScrips] - is a moduled version of Dirk Pape&#039;s [http://page.mi.fu-berlin.de/dirkpape/rt3/HideGlobalScrips/ HideGlobalScrips]&lt;br /&gt;
&lt;br /&gt;
 addon for RT 3.6.x&lt;br /&gt;
&lt;br /&gt;
== Writing your own extensions ==&lt;br /&gt;
&lt;br /&gt;
* Homepage Components (Portlets): [[WritingPortlets]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Talk:RTUsers&amp;diff=4756</id>
		<title>Talk:RTUsers</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Talk:RTUsers&amp;diff=4756"/>
		<updated>2011-01-27T06:04:50Z</updated>

		<summary type="html">&lt;p&gt;BillCole: /* Should this page exist? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Should this page exist? ===&lt;br /&gt;
With the old wiki, This page served a function as a public user list. On Wikia, there is a [[Special:ListUsers]] page that serves that function. Historically, this page was so heavily targeted by spammers that there were 450 changes in the last 2 months of its existence, when I was trying diligently to just keep the obvious new spam links out, i.e. on a typical day there would be 4 changes to add spam links and 4 removals. That has improved greatly at Wikia, but I&#039;m pretty sure that a large fraction of the &#039;User&#039; entries are really only here because some time ago a link-spammer put them on the old site and they didn&#039;t look spammy enough for anyone to remove them. I don&#039;t think it is worthwhile and maybe not even possible to sift out the legitimate personal entries from the bogus ones. even if someone adopted the task and did a reasonable job, would it be better than the [[Special:ListUsers]] page?&lt;br /&gt;
&lt;br /&gt;
That just leaves the organizational user list, which may suffer from a similar problem despite at least one attempt to clean out the certain junk. If it is presumed accurate, is it worthwhile?&lt;br /&gt;
&lt;br /&gt;
IMHO, the individual list should go and the org list swept for dubious cases (Vita-Mix? Really???) Anyone else have thoughts on that?&lt;br /&gt;
&lt;br /&gt;
[[User:BillCole|BillCole]] 20:20, January 26, 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Special:ListUsers is not at all similar to RTUsers. ListUsers is just a list of Wikia registered users who&#039;ve edited pages here. RTUsers is supposed to be a more extensive list of folks who use RT. Does that make sense? Am I missing something? [[User:Tsibley|Tsibley]] 20:32, January 26, 2011 (UTC)&lt;br /&gt;
:: RTUsers is &#039;&#039;&#039;&#039;&#039;really&#039;&#039;&#039;&#039;&#039; a list of folks who use RT and have made an edit to the RTUsers page, probably, at some point in the last decade or so. On the other hand, Special:ListUsers can show people who have pages in the RT wiki&#039;s User namespace but who have never made any edits. At the Kwiki-&amp;gt;Wifty import (June 2007) the list was 266 names long. At the Wifty-&amp;gt;MediaWiki/Wikia import the headcount was 435. So even assuming that there are no bogus entries, the majority are pretty old. Beyond that, it isn&#039;t clear to me what purpose the list of individual users is supposed to serve, so it isn&#039;t clear to me whether it could be cleaned up, pruned, restructured, etc. to make it something useful.  It isn&#039;t that I &#039;&#039;&#039;&#039;&#039;want&#039;&#039;&#039;&#039;&#039; the page gone gone, but more that since the Wikia migration meant I wasn&#039;t firefighting against constant vandalism, I noticed that the individual section of the  page really may not be  providing any particularly useful information worth defending. [[User:BillCole|BillCole]] 06:04, January 27, 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Talk:RTUsers&amp;diff=4754</id>
		<title>Talk:RTUsers</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Talk:RTUsers&amp;diff=4754"/>
		<updated>2011-01-26T20:20:34Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Existential doubts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Should this page exist? ===&lt;br /&gt;
With the old wiki, This page served a function as a public user list. On Wikia, there is a [[Special:ListUsers]] page that serves that function. Historically, this page was so heavily targeted by spammers that there were 450 changes in the last 2 months of its existence, when I was trying diligently to just keep the obvious new spam links out, i.e. on a typical day there would be 4 changes to add spam links and 4 removals. That has improved greatly at Wikia, but I&#039;m pretty sure that a large fraction of the &#039;User&#039; entries are really only here because some time ago a link-spammer put them on the old site and they didn&#039;t look spammy enough for anyone to remove them. I don&#039;t think it is worthwhile and maybe not even possible to sift out the legitimate personal entries from the bogus ones. even if someone adopted the task and did a reasonable job, would it be better than the [[Special:ListUsers]] page?&lt;br /&gt;
&lt;br /&gt;
That just leaves the organizational user list, which may suffer from a similar problem despite at least one attempt to clean out the certain junk. If it is presumed accurate, is it worthwhile?&lt;br /&gt;
&lt;br /&gt;
IMHO, the individual list should go and the org list swept for dubious cases (Vita-Mix? Really???) Anyone else have thoughts on that?&lt;br /&gt;
&lt;br /&gt;
[[User:BillCole|BillCole]] 20:20, January 26, 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Watch&amp;diff=4168</id>
		<title>Watch</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Watch&amp;diff=4168"/>
		<updated>2011-01-24T18:21:17Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Adding categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A user with the &#039;&#039;&#039;Watch&#039;&#039;&#039; right can add or remove &amp;lt;u&amp;gt;himself&amp;lt;/u&amp;gt; as requestor or Cc watcher on tickets.&lt;br /&gt;
&lt;br /&gt;
This right can be granted to users in a global context, or on a queue-by-queue basis. In a global context Watch right also gives facility to modify queue watchers.&lt;br /&gt;
&lt;br /&gt;
The [[ModifyTicket]] or [[ModifyQueueWatchers]] right allows a user to add or remove himself as well, next to the other possibilities these rights give to a user.&lt;br /&gt;
&lt;br /&gt;
Another related right is [[WatchAsAdminCc]]&lt;br /&gt;
&lt;br /&gt;
See also: [[Rights]], [[GlobalRights]]&lt;br /&gt;
[[Category:Rights]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ModifyACL&amp;diff=2216</id>
		<title>ModifyACL</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ModifyACL&amp;diff=2216"/>
		<updated>2011-01-24T18:20:44Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Adding categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A user with the &#039;&#039;&#039;Modify&#039;&#039;&#039;&#039;&#039;&#039;ACL&#039;&#039;&#039; right can modify the Access Control List of an object.&lt;br /&gt;
&lt;br /&gt;
To be able to modify the ACL on a group, the user will additionally need the [[AdminGroup]] right.&lt;br /&gt;
&lt;br /&gt;
See also: [[Rights]], [[GlobalRights]]&lt;br /&gt;
&lt;br /&gt;
TODO: Link to / Explain what an Access Control List does, exactly&lt;br /&gt;
[[Category:Rights]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=DeleteTicket&amp;diff=916</id>
		<title>DeleteTicket</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=DeleteTicket&amp;diff=916"/>
		<updated>2011-01-24T18:19:52Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Adding categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A user with the &#039;&#039;&#039;Delete&#039;&#039;&#039;&#039;&#039;&#039;Ticket&#039;&#039;&#039; right can change the status from any ticket in a queue to the deleted status (Display a Ticket, choose Respond/Resolve/Comment, select deleted status in combo, then Update).&lt;br /&gt;
&lt;br /&gt;
This right can be granted to users or groups on a global level, or on a queue-by-queue basis.&lt;br /&gt;
&lt;br /&gt;
Deleted tickets are almost impossible to find if you do not know the number. On most RT installations tickets should only be deleted if they should never have been created in the first place; e.g. a spam message coming in via E-mail.&lt;br /&gt;
&lt;br /&gt;
See also: [[Rights]], [[GlobalRights]]&lt;br /&gt;
[[Category:Rights]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Category:Rights&amp;diff=5301</id>
		<title>Category:Rights</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Category:Rights&amp;diff=5301"/>
		<updated>2011-01-24T18:18:34Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Created page with &amp;quot;Pages describing RT &amp;quot;Rights&amp;quot; settings.    This category could really use someone with a spare hour or two  to find all the pages that should be in it.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages describing RT &amp;quot;Rights&amp;quot; settings. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This category could really use someone with a spare hour or two  to find all the pages that should be in it.&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=DelegateRights&amp;diff=912</id>
		<title>DelegateRights</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=DelegateRights&amp;diff=912"/>
		<updated>2011-01-24T18:16:39Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Adding categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A user with the &#039;&#039;&#039;Delegate&#039;&#039;&#039;&#039;&#039;&#039;Rights&#039;&#039;&#039; right can temporarily delegate his own rights to users in specified personal [[Group]]s.&lt;br /&gt;
&lt;br /&gt;
See also: [[AdminOwnPersonalGroups]], [[Rights]], [[GlobalRights]]&lt;br /&gt;
[[Category:Rights]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ModifyTicket&amp;diff=2241</id>
		<title>ModifyTicket</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ModifyTicket&amp;diff=2241"/>
		<updated>2011-01-24T18:14:37Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Adding categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A user that has the &#039;&#039;&#039;Modify&#039;&#039;&#039;&#039;&#039;&#039;Ticket&#039;&#039;&#039; right is allowed to make generic changes to a [[Ticket]].&lt;br /&gt;
&lt;br /&gt;
This right can be granted in the global context, or on a queue-by-queue basis.&lt;br /&gt;
&lt;br /&gt;
This right can be used to:&lt;br /&gt;
&lt;br /&gt;
* ... change any ticket fields&lt;br /&gt;
* ... add or delete ticket links&lt;br /&gt;
* ... merge tickets, The user needs this right on both tickets!&lt;br /&gt;
* ... add or delete ticket custom field values&lt;br /&gt;
&lt;br /&gt;
This right allows very much, but for some of these things there are alternatives or there are restrictions:&lt;br /&gt;
&lt;br /&gt;
To allow a user:&lt;br /&gt;
&lt;br /&gt;
* ... to send a [[Comment]] on a ticket, we can use the [[CommentOnTicket]] right&lt;br /&gt;
* ... to add [[Correspondence]] on a ticket, we can use [[ReplyToTicket]]&lt;br /&gt;
* ... to add or delete a themselves as &amp;lt;u&amp;gt;ticket&amp;lt;/u&amp;gt; watcher ([[Requestor]], [[Cc]] or [[AdminCc]]), we can use [[Watch]] and [[WatchAsAdminCc]]&lt;br /&gt;
&lt;br /&gt;
Restrictions:&lt;br /&gt;
&lt;br /&gt;
* To change the Status from any to &#039;deleted&#039; the user needs the [[DeleteTicket]] right.&lt;br /&gt;
* To change the ticket into another queue, the user also needs [[SeeQueue]] and [[CreateTicket]] in the target queue. The current owner will lose ownership of the ticket if he has no right [[OwnTicket]] in the target queue&lt;br /&gt;
* There are restrictions in setting the ownership of the ticket, More info can be found in the [[FAQ]]&lt;br /&gt;
[[Category:Rights]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=HomePage&amp;diff=1543</id>
		<title>HomePage</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=HomePage&amp;diff=1543"/>
		<updated>2011-01-24T18:08:07Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Reverted edits by Allensmith (talk | block) to last version by Jibsheet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;rt-notice&amp;quot;&amp;gt;&lt;br /&gt;
== A new home! ==&lt;br /&gt;
The RT wiki is at its new home on Wikia. This move will help us combat spam more effectively and provide the often requested features of a modern wiki. If you notice anything out of place, please feel free to just fix it ;)&lt;br /&gt;
&lt;br /&gt;
A read-only archive of the old wiki is at located at [http://wiki-archive.bestpractical.com wiki-archive.bestpractical.com], and existing wiki.bestpractical.com links will redirect to the new location of the pages.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RT ==&lt;br /&gt;
&lt;br /&gt;
RT is an open source issue tracking and workflow platform. This wiki site is a free resource for RT users. RT doesn&#039;t come with a formal formatted users or administrators guide, but it&#039;s likely most of what you need to know to use and run it is contained somewhere within this wiki, so look around a little, be patient... and try not to install RT on a Sunday night when you need to run it in production on Monday: it&#039;s &#039;&#039;&#039;big&#039;&#039;&#039;, and learning how to set it up can take some time.&lt;br /&gt;
&lt;br /&gt;
Please: [[UpdateTheWiki]], post your hints, tricks, tips and tools about how to get the most out of RT. If you currently use RT, please head over to [[RTUsers]] and add yourself and your organization to the user list.&lt;br /&gt;
&lt;br /&gt;
== Announcements ==&lt;br /&gt;
&lt;br /&gt;
=== Production Releases ===&lt;br /&gt;
&lt;br /&gt;
* [http://blog.bestpractical.com/2010/05/rt-388-released.html RT 3.8.8 now available.]&lt;br /&gt;
* [http://blog.bestpractical.com/2009/11/rtir-242-now-available.html RTIR 2.4.2 now available.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/12/rtfm-243-released.html RTFM 2.4.3 now available.]&lt;br /&gt;
&lt;br /&gt;
=== Development Releases and Status ===&lt;br /&gt;
&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rt-4-an-update.html RT 4 - An update.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rt-394-first-development-release-leading-to-rt-400.html RT 3.9.4 - first development release leading to RT 4.0.0.]&lt;br /&gt;
* [http://blog.bestpractical.com/2010/09/rtir-260-release-candidate-1.html RTIR 2.6.0 Release Candidate 1.]&lt;br /&gt;
&lt;br /&gt;
[http://blog.bestpractical.com/announcements/ Other Announcements from Best Practical.]&lt;br /&gt;
&lt;br /&gt;
(Note: the newest versions of RTFM and RTIR require a fairly new version of RT as well, if not the absolute newest; be careful which versions you&#039;re using.)&lt;br /&gt;
&lt;br /&gt;
== Sections ==&lt;br /&gt;
&lt;br /&gt;
You can go through these pretty much in order if you&#039;re starting from scratch, but please plan to spend some quality time with the [[UserManual]] before you try to go live; RT is big and hairy, and you probably can&#039;t get your head around all of it in one sitting.&lt;br /&gt;
&lt;br /&gt;
* [[FAQ]], [[FindingAnswersAboutRT]] and &amp;quot;Common Problems&amp;quot; below.&lt;br /&gt;
* [[BugReporting]]&lt;br /&gt;
* [[HowToHelp]], [[Translation]]&lt;br /&gt;
* [[Demo]]&lt;br /&gt;
* [[UserManual]], [[RTGlossary]] &amp;amp;amp; [[Documentation]]&lt;br /&gt;
* [[InstallationGuides]], [[RTTutorials]]&lt;br /&gt;
* [[RT Config|RT_Config]] &amp;amp;amp; [[RT SiteConfig|RT_SiteConfig]]&lt;br /&gt;
&lt;br /&gt;
* [[Extensions]] to RT available as installable plugins&lt;br /&gt;
* [[Contributions]] by the community to customize RT&lt;br /&gt;
* [[RTIR]] RT for Incident Response&lt;br /&gt;
* [[RTFM]] RT FAQ Manager&lt;br /&gt;
&lt;br /&gt;
* [[RTHistory]]&lt;br /&gt;
* [[InThePress]]&lt;br /&gt;
* [[REST]] API&lt;br /&gt;
* Customizing with [[CustomizingWithCallbacks|Callbacks]]&lt;br /&gt;
&lt;br /&gt;
=== Common problems ===&lt;br /&gt;
&lt;br /&gt;
* [[CantLocateObject]] - Can&#039;t locate object method &amp;quot;new&amp;quot; via package &amp;quot;&amp;lt;code&amp;gt;RT::Handle&amp;lt;/code&amp;gt;&amp;quot; at rt3/lib/RT.pm&lt;br /&gt;
* [[NoConnectionToSyslog]] - no connection to syslog&lt;br /&gt;
* [[NoRecipFound]] - No recipients found. Not sending&lt;br /&gt;
* Getting information out of RT3 for [[reporting]] or inclusion elsewhere.&lt;br /&gt;
* [[PermissionDenied]] emails|&lt;br /&gt;
&lt;br /&gt;
== Wish lists ==&lt;br /&gt;
&lt;br /&gt;
* [[WikiWishList]] - wish list for this wiki&lt;br /&gt;
* [[WishList]] - wish list for the RT&lt;br /&gt;
* [[RT4WishList]] - wish list for the RT 4&lt;br /&gt;
* [[RT3StatisticsPackageWishList]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=FreeBSDInstallGuide&amp;diff=1374</id>
		<title>FreeBSDInstallGuide</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=FreeBSDInstallGuide&amp;diff=1374"/>
		<updated>2011-01-24T18:05:30Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Warning on broken RT38 port.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Available Ports =&lt;br /&gt;
&lt;br /&gt;
 www/rt36&lt;br /&gt;
 www/rt38&lt;br /&gt;
&lt;br /&gt;
Installing any of these involves:&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/www/rtXXX&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
You&#039;ll probably want to check out the Fresh Ports site for details on each of these:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.freshports.org/www/rt36 currently shows www/rt36 is vulnerable&lt;br /&gt;
http://www.freshports.org/www/rt38 this shows www/rt38 to be most current&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;&#039;&#039;BEWARE: THE RT38 PORT HAS A CUSTOMIZED CONFIG.LAYOUT WHICH BREAKS THE STANDARD RT MECHANISM FOR LOCAL CUSTOMIZATION. DO NOT USE THAT PORT IF YOU WANT THE FLEXIBILITY TO CUSTOMIZE RT CLEANLY. &#039;&#039;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==   Build Options ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;lt;strong&amp;amp;gt;RT32&amp;amp;lt;/strong&amp;amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| UPGRADE_RT30&lt;br /&gt;
| Upgrading from a RT 3.0 installation&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| INITIAL_INSTALL&lt;br /&gt;
| Do initialize DB (for initial install only)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|WITH_FASTCGI|Use [[FastCGI]] instead of mod_perl|&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| WITH_APACHE2&lt;br /&gt;
| Use Apache2 as the web server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|DB_TYPE=type|mysql, Oracle, Pg or [[SQLite]] (default: mysql)|&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_HOST=hostname&lt;br /&gt;
| The database host (default: localhost)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_PORT=port&lt;br /&gt;
| The database port&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_DATABASE=port&lt;br /&gt;
| The database name (default: rt3)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_DBA_USER=username&lt;br /&gt;
| Name of database administrator (root)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_DBA_PASSWORD=password&lt;br /&gt;
| Password of database administrator&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_USER=username&lt;br /&gt;
| Name of database user for RT (default: rt_user)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_PASSWORD=password&lt;br /&gt;
| Name of database password for RT (default: rt_pass)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &amp;amp;lt;strong&amp;amp;gt;RT3&amp;amp;lt;/strong&amp;amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| INITIAL_INSTALL&lt;br /&gt;
| Do initialize DB (for initial install only)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|WITH_FASTCGI|Use [[FastCGI]] instead of mod_perl|&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| WITH_APACHE2&lt;br /&gt;
| Use Apache2 as the web server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|DB_TYPE=type|mysql, Oracle, Pg or [[SQLite]] (default: mysql)|&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_HOST=hostname&lt;br /&gt;
| The database host (default: localhost)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_PORT=port&lt;br /&gt;
| The database port&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_DATABASE=database&lt;br /&gt;
| The database name (default: rt3)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_DBA_USER=username&lt;br /&gt;
| Name of database administrator (root)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_DBA_PASSWORD=password&lt;br /&gt;
| Password of database administrator&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_USER=username&lt;br /&gt;
| Name of database user for RT (default: rt_user)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DB_PASSWORD=password&lt;br /&gt;
| Name of database password for RT (default: rt_pass)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Getting Perl Installed =&lt;br /&gt;
&lt;br /&gt;
RT requires Perl-5.8.3 or greater.&lt;br /&gt;
&lt;br /&gt;
For a fresh installation when no other ports of Perl have been installed:&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/lang/perl5.8&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
Upgrade 5.8.x to the current ports version:&lt;br /&gt;
&lt;br /&gt;
 portupgrade perl&lt;br /&gt;
&lt;br /&gt;
Upgrade 5.6.1 to the current ports version:&lt;br /&gt;
&lt;br /&gt;
 portupgrade -o lang/perl5.8 perl-5.6.1&lt;br /&gt;
&lt;br /&gt;
Now tell FreeBSD to use Perl-5.8.x instead of the 5.00x version included with the base install.&lt;br /&gt;
&lt;br /&gt;
 use.perl port&lt;br /&gt;
&lt;br /&gt;
Which can be reversed with:&lt;br /&gt;
&lt;br /&gt;
 use.perl system&lt;br /&gt;
&lt;br /&gt;
Note: if you already had some PERL-modules installed, you&#039;ll have to re-install them after you upgraded perl, or you might run into problems. See the UPGRADING-file in /usr/ports/. It should be pointed out that [[FreeBSD]] is probably one of the platforms RT is easiest to install on, if not &#039;&#039;&#039;the&#039;&#039;&#039; easiest. But this demands that the administrator has some familiarity with the OS and the way &amp;quot;things work&amp;quot; in [[FreeBSD]] land - consult the excellent handbook on the [[FreeBSD]]-website. The reward is an almost painless installation of RT with instant productivity gains.&lt;br /&gt;
&lt;br /&gt;
 make clean install&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
Section 7 in [[ManualInstallation]] should get you started.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
&lt;br /&gt;
These are my notes from when I upgraded from 3.4.2 to 3.8.2 on [[FreeBSD]]: [[FreeBSDupgradeTo3 8 2|FreeBSDupgradeTo3_8_2]]&lt;br /&gt;
&lt;br /&gt;
= Problems and Workarounds =&lt;br /&gt;
&lt;br /&gt;
== Strange Issue ==&lt;br /&gt;
&lt;br /&gt;
After a fresh install on [[FreeBSD]] 5.4, port &amp;quot;rt34 3.4.2&amp;quot;, I get the following error upon starting Apache:&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value in numeric eq (==) at /usr/local/lib/perl5/site_perl/5.8.6/CGI/Cookie.pm line 26.&lt;br /&gt;
&lt;br /&gt;
any ideas? Thanks&lt;br /&gt;
&lt;br /&gt;
== Same here ==&lt;br /&gt;
&lt;br /&gt;
I get the same error overhere on a [[FreeBSD]] 5.3-RELEASE box, port www/rt34 also.&lt;br /&gt;
&lt;br /&gt;
== Workaround For Apache Error ==&lt;br /&gt;
&lt;br /&gt;
I solved my problem with the Cookie.pm error;&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value in numeric eq (==) at /usr/local/lib/perl5/site_perl/5.8.6/CGI/Cookie.pm line 26.&lt;br /&gt;
&lt;br /&gt;
by modifying the Cookie.pm to look like the below:&lt;br /&gt;
&lt;br /&gt;
# Turn on special checking for Doug [[MacEachern]]&#039;s modperl my $MOD_PERL = 0; if (exists $ENV{MOD_PERL}) {&lt;br /&gt;
&lt;br /&gt;
 if (defined($ENV{MOD_PERL_API_VERSION}) &amp;amp;amp;&amp;amp;amp;&lt;br /&gt;
       $ENV{MOD_PERL_API_VERSION} == 2) {&lt;br /&gt;
     $MOD_PERL = 2;&lt;br /&gt;
&lt;br /&gt;
== Different Workaround For Apache Error ==&lt;br /&gt;
&lt;br /&gt;
I use Debian, but it will work for you also Got through it by upgrading CGI.pm&lt;br /&gt;
&lt;br /&gt;
* cpan install CGI::Cookie&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=FreeBSDupgradeTo3_8_2&amp;diff=1383</id>
		<title>FreeBSDupgradeTo3 8 2</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=FreeBSDupgradeTo3_8_2&amp;diff=1383"/>
		<updated>2011-01-24T17:45:09Z</updated>

		<summary type="html">&lt;p&gt;BillCole: remove spam link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; This notes are user experience and don&#039;t free you from reading README, UPGRADING and UPGRADING.mysql (if you are on mysql DB) files. You &#039;&#039;&#039;MUST&#039;&#039;&#039; read them.&lt;br /&gt;
&lt;br /&gt;
Steffan below skipped upgrading mysql DB and most probably has broken attachments and/or malfunctioning RT.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My notes on our upgrade of 3.4.2 to 3.8.2. Existing server is running [[FreeBSD]] 5.4 and we used the [[FreeBSDInstallGuide]] to help us get going originally.&lt;br /&gt;
&lt;br /&gt;
Other pages that helped me: [[ManualInstallation]], [[MultipleInstances]], [[FastCGIConfiguration]]&lt;br /&gt;
&lt;br /&gt;
Ok... on with the show:&lt;br /&gt;
&lt;br /&gt;
* Shut down Apache so nobody can get to RT.&lt;br /&gt;
* Make DB backup&lt;br /&gt;
&lt;br /&gt;
 home [/usr/homex]# mysqldump -p --opt rt3_4 &amp;amp;gt; RT34_Backup.sql&lt;br /&gt;
   Enter password: xxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
* Download new tar file into /usr/local/src/&lt;br /&gt;
* Untar it and fire up configure with all needed options. Look at them closely as you&#039;ll likely need to adjust:&lt;br /&gt;
&lt;br /&gt;
 ./configure &#039;--prefix=/usr/local/rt3&#039; &#039;--enable-layout=RT3&#039; &#039;--with-web-user=nobody&#039; &#039;--with-web-group=nobody&#039; &#039;--with-libs-group=wheel&#039;&lt;br /&gt;
 &#039;--with-db-host=your.host.here.com&#039; &#039;--with-db-port=&#039; &#039;--with-db-type=mysql&#039; &#039;--with-db-rt-user=rt34&#039; &#039;--with-db-rt-pass=xxxxxxxx &#039;&lt;br /&gt;
 &#039;--with-db-database=rt_upgrade&#039; &#039;--with-db-dba=root&#039; &#039;--mandir=/usr/local/man&#039; &#039;--infodir=/usr/local/info/&#039; &#039;CC=cc&#039;&lt;br /&gt;
 &#039;CFLAGS=-O2&#039; --with-apachectl=/usr/local/apache/bin/apachectl --enable-gd --enable-graphviz&lt;br /&gt;
&lt;br /&gt;
* Fix the needed dependencies (work through the cpan stuff)&lt;br /&gt;
&lt;br /&gt;
 [usr/local/src/rt-3.8.2]# make fixdeps&lt;br /&gt;
&lt;br /&gt;
* Had to manual install a few packages:&lt;br /&gt;
&lt;br /&gt;
 [/usr/local/src/rt-3.8.2]# wget http://www.libgd.org/releases/gd-latest.tar.gz&lt;br /&gt;
 [/usr/local/src/rt-3.8.2]# wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.20.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Install them by untaring and doing the standard: ./configure; make install&lt;br /&gt;
* RT complained later saying it couldn&#039;t find the graphviz exe, so I softlinked it:&lt;br /&gt;
&lt;br /&gt;
 [/]# ln -s /usr/local/bin/dot /usr/bin/dot&lt;br /&gt;
&lt;br /&gt;
* Try again and again till no errors&lt;br /&gt;
&lt;br /&gt;
 [/usr/local/src/rt-3.8.2]# make fixdep&lt;br /&gt;
&lt;br /&gt;
* Now upgrade your DB:&lt;br /&gt;
&lt;br /&gt;
 [/]# /usr/local/rt3/sbin/rt-setup-database --dba root --prompt-for-dba-password --action upgrade&lt;br /&gt;
    In order to create or update your RT database, this script needs to connect to your  mysql instance on your.host.here.com as root&lt;br /&gt;
    Please specify that user&#039;s database password below. If the user has no database&lt;br /&gt;
    password, just press return.&lt;br /&gt;
 &lt;br /&gt;
    Password:&lt;br /&gt;
    Working with:&lt;br /&gt;
    Type:   mysql&lt;br /&gt;
    Host:   your.host.here.com&lt;br /&gt;
    Name:   rt_upgrade&lt;br /&gt;
    User:   rt34&lt;br /&gt;
    DBA:    root&lt;br /&gt;
    Enter RT version you&#039;re upgrading from: 3.4.2&lt;br /&gt;
 &lt;br /&gt;
  Going to apply following upgrades:&lt;br /&gt;
   3.5.1&lt;br /&gt;
   3.7.1&lt;br /&gt;
   ... snip ...&lt;br /&gt;
   3.8.1&lt;br /&gt;
   3.8.2&lt;br /&gt;
 &lt;br /&gt;
 Enter RT version if you want to stop upgrade at some point,&lt;br /&gt;
    or leave it blank if you want apply above upgrades:&lt;br /&gt;
 &lt;br /&gt;
 IT&#039;S VERY IMPORTANT TO BACK UP BEFORE THIS STEP&lt;br /&gt;
 &lt;br /&gt;
 Proceed [y/N]:y&lt;br /&gt;
 Processing 3.5.1&lt;br /&gt;
 Now inserting data&lt;br /&gt;
 Processing 3.7.1&lt;br /&gt;
 ... snip ...&lt;br /&gt;
 Processing 3.8.2&lt;br /&gt;
 Now inserting data&lt;br /&gt;
 [Tue Feb  3 23:29:12 2009] [warning]: Going to add [OLD] prefix to all temlates in approvals queue. If you never used&lt;br /&gt;
 approvals then you  can delete all these templates with [OLD] prefix. Leave new there may be you will want to use approvals&lt;br /&gt;
 some time. (./etc/upgrade/3.8.2/content:3) [Tue Feb  3 23:29:14 2009] [warning]: IMPORTANT: We&#039;re going to delete all&lt;br /&gt;
 scrips in Approvals queue and save them in &#039;rt-approvals-scrips-zgcD&#039; file. (./etc/upgrade/3.8.2/content:165)&lt;br /&gt;
 Done.&lt;br /&gt;
 [usr/local/src/rt-3.8.2]#&lt;br /&gt;
&lt;br /&gt;
* If it doesn&#039;t error you&#039;re golden! If it does, restore your DB and start over.&lt;br /&gt;
&lt;br /&gt;
* OK. Now we apply the upgraded code:&lt;br /&gt;
&lt;br /&gt;
 [usr/local/src/rt-3.8.2]# make upgrade&lt;br /&gt;
&lt;br /&gt;
* We had to move all of our old customizations out of the way and then rm the original dirs as they were trashing the new layout&lt;br /&gt;
&lt;br /&gt;
 [usr/local/src/rt-3.8.2]# cd /usr/local/rt3/local/&lt;br /&gt;
 [/usr/local/rt3/local/]# cp -pR html html.rt34&lt;br /&gt;
 [/usr/local/rt3/local/]# cp -pR lib lib.rt34&lt;br /&gt;
 [/usr/local/rt3/local/]# rm -R html/*&lt;br /&gt;
 [/usr/local/rt3/local/]# rm -R lib/*&lt;br /&gt;
&lt;br /&gt;
* Time to tweak Apache. We&#039;re moving from running RT with /mod_perl/ to /fastcgi/. First we have to install that:&lt;br /&gt;
&lt;br /&gt;
 [/]# cd /usr/ports/www/mod_fastcgi&lt;br /&gt;
 [/usr/ports/www/mod_fastcgi]# make install&lt;br /&gt;
 &lt;br /&gt;
   ... snip....&lt;br /&gt;
 &lt;br /&gt;
   ************************************************************&lt;br /&gt;
   * Fast-cgi modules was included with your apache           *&lt;br /&gt;
   * configuration file                                       *&lt;br /&gt;
   *                                                          *&lt;br /&gt;
   * You need to add following lines to your apache           *&lt;br /&gt;
   * configuration file. and restart it !                     *&lt;br /&gt;
   *                                                          *&lt;br /&gt;
   * AddHandler fastcgi-script fcgi fcgi fpl                  *&lt;br /&gt;
   *                                                          *&lt;br /&gt;
   ************************************************************&lt;br /&gt;
   ===&amp;amp;gt;   Registering installation for mod_fastcgi-2.4.2&lt;br /&gt;
&lt;br /&gt;
* we also need the FCGI perl module now that we have fastcgi built:&lt;br /&gt;
&lt;br /&gt;
 [/usr/local/src/]# wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.67.tar.gz&lt;br /&gt;
 [/usr/local/src/]# tar zxvf FCGI-0.67.tar.gz&lt;br /&gt;
 [/usr/local/src/FCGI-0.67/]# cd FCGI-0.67&lt;br /&gt;
 [/usr/local/src/FCGI-0.67/]# perl Makefile.PL&lt;br /&gt;
 [/usr/local/src/FCGI-0.67/]# make install&lt;br /&gt;
&lt;br /&gt;
* Now tweak the Apache conf file:&lt;br /&gt;
&lt;br /&gt;
 [/usr/local/rt3/local/]# cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.preupgrade&lt;br /&gt;
 [/usr/local/rt3/local/]# vi /usr/local/apache/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
* Comment out the following lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#  PerlModule Apache::DBI&lt;br /&gt;
  #  PerlRequire /usr/local/rt3/bin/webmux.pl&lt;br /&gt;
  #  SetHandler perl-script&lt;br /&gt;
  #  PerlHandler RT::Mason&lt;br /&gt;
  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add the following lines:&lt;br /&gt;
&lt;br /&gt;
 LoadModule fastcgi_module     libexec/mod_fastcgi.so                                (in upper section next to other LoadModule&#039;s )&lt;br /&gt;
 FastCgiServer /usr/local/rt3/bin/mason_handler.fcgi -idle-timeout 120 -processes 4  (right under above line)&lt;br /&gt;
 ScriptAlias / /usr/local/rt3/bin/mason_handler.fcgi/                                (right after the DocumentRoot statement)&lt;br /&gt;
&lt;br /&gt;
* Restart Apache and give it a whirl&lt;br /&gt;
* If Apache refuses to start, check the error logs&lt;br /&gt;
&lt;br /&gt;
Worked for me. Good luck -Steffan&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=ManualScrips&amp;diff=2101</id>
		<title>ManualScrips</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=ManualScrips&amp;diff=2101"/>
		<updated>2010-12-23T00:26:31Z</updated>

		<summary type="html">&lt;p&gt;BillCole: /* Scrips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prev: [[ManualRights]] --- Up: [[UserManual]] --- Next: [[ManualApprovals]]&lt;br /&gt;
&lt;br /&gt;
= Appendix 3 =&lt;br /&gt;
&lt;br /&gt;
== Scrips ==&lt;br /&gt;
&lt;br /&gt;
A scrip performs some action when some conditions are met. Many actions use a template. You can read a scrip as a sentence like: When &amp;amp;lt;condition&amp;amp;gt;, do &amp;amp;lt;action&amp;amp;gt; with &amp;amp;lt;template&amp;amp;gt;. When creating a Scrip, it is helpful to make the &amp;quot;Description&amp;quot; field a user-friendly phrase such as &amp;quot;Send replies to Requestor and Cc users&amp;quot; because users see that description in &#039;&#039;&#039;bold&#039;&#039;&#039; on the ticket update composition page.  &lt;br /&gt;
&lt;br /&gt;
=== Table 1: Conditions ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Condition Name&lt;br /&gt;
| What it means&lt;br /&gt;
| Possible Template&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| User Defined&lt;br /&gt;
| A user-defined condition (should be described below)&lt;br /&gt;
| User-defined templates&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Create&lt;br /&gt;
| When a new ticket is created&lt;br /&gt;
| Global template: Autoreply&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Transaction&lt;br /&gt;
| When a ticket is updated or changed in any way&lt;br /&gt;
| Global template: Transaction&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Reply&lt;br /&gt;
| When a watcher replies to a ticket&lt;br /&gt;
| Global template: Reply or Global template: Admin Reply&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Comment&lt;br /&gt;
| When a watcher comments on a ticket (privately)&lt;br /&gt;
| Global template: Admin Comment&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Correspond&lt;br /&gt;
| When a watcher corresponds to (replies to) a ticket (publicly)&lt;br /&gt;
| Global template: Blank&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Status&lt;br /&gt;
| When the ticket&#039;s status changes&lt;br /&gt;
| Global template: Status Changed&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Owner Change&lt;br /&gt;
| When the ticket gets a new owner&lt;br /&gt;
| Global template: Transaction&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Queue Change&lt;br /&gt;
| When the ticket is put in a different queue&lt;br /&gt;
| Global template: Transaction&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| On Resolve&lt;br /&gt;
| When the ticket is resolved (completed)&lt;br /&gt;
| Global template: Resolved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: don&#039;t create a global scrip using the &amp;quot;On Create&amp;quot; condition and the &amp;quot;Create Ticket&amp;quot; scrip action. This will create a loop.&lt;br /&gt;
&lt;br /&gt;
=== Table 2: Actions ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Action Name&lt;br /&gt;
| What It Means&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Auto Reply to Requestors&lt;br /&gt;
| Email an Auto Reply template to the ticket&#039;s requestor&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Requestors&lt;br /&gt;
| Email the ticket&#039;s requestor&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Owner As Comment&lt;br /&gt;
| Email the ticket&#039;s owner. &amp;quot;As Comment&amp;quot; means the return address of the email is RT&#039;s comment address and all responses will be posted as comments not visible to the requestor.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Owner&lt;br /&gt;
| Email the ticket&#039;s owner.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Admin Ccs As Comment&lt;br /&gt;
| Email the ticket&#039;s Admin Ccs. &amp;quot;As Comment&amp;quot; means the return address of the email is RT&#039;s comment address and all responses will be posted as comments not visible to the requestor.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Admin Ccs&lt;br /&gt;
| Email the ticket&#039;s Admin Ccs.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Requestors And Ccs As Comment&lt;br /&gt;
| Email the ticket&#039;s requestor and Ccs. &amp;quot;As Comment&amp;quot; means the return address of the email is RT&#039;s comment address and all responses will be posted as comments not visible to the requestor.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Requestors And Ccs&lt;br /&gt;
| Email the ticket&#039;s requestor and Ccs.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify All Watchers As Comment&lt;br /&gt;
| Email the ticket&#039;s requestor, owner, Ccs, and Admin Ccs. &amp;quot;As Comment&amp;quot; means the return address of the email is RT&#039;s comment address and all responses will be posted as comments not visible to the requestor.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify All Watchers&lt;br /&gt;
| Email the ticket&#039;s requestor, owner, Ccs, and Admin Ccs.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Other Recipients As Comment&lt;br /&gt;
| Email the addresses in the Cc: and Bcc: fields of a ticket&#039;s reply or comment. &amp;quot;As Comment&amp;quot; means the return address of the email is RT&#039;s comment address and all responses will be posted as comments not visible to the requestor.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Notify Other Recipients&lt;br /&gt;
| Email the addresses in the Cc: and Bcc: fields of a ticket&#039;s reply or comment&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Open Tickets&lt;br /&gt;
| Automatically opens a stalled, resolved, or rejected ticket when anyone replies to it; automatically opens new tickets when anyone except the requestor replies to it. Does not apply to tickets that are already open.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Not clear what the difference is between Auto Reply and Notify Requestors&lt;br /&gt;
&lt;br /&gt;
=== Table 3: Templates ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Template name&lt;br /&gt;
| What the user sees&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Autoreply&lt;br /&gt;
| A form letter saying a ticket has been created and what the ticket&#039;s ID is.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Transaction&lt;br /&gt;
| A form letter saying a ticket has been updated or changed in some way.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Admin Reply&lt;br /&gt;
| A form letter saying a watcher sent a message and what the message was. Includes a URL linking to the message in RT.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Reply&lt;br /&gt;
| A form letter saying a watcher sent a message and what the message was.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Admin Comment&lt;br /&gt;
| A form letter saying a watcher sent a message and what the message was. Includes a URL linking to the message in RT and a note that says the requestor cannot see the message.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Status Changed&lt;br /&gt;
| A form letter saying a ticket&#039;s status (open, new, stalled, etc.) has been changed.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Global template: Resolved&lt;br /&gt;
| A form letter saying a ticket has been resolved.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Custom condition ===&lt;br /&gt;
&lt;br /&gt;
You can customize conditions to fit your needs better. It would be good to find some information about the condition syntax.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Prev: [[ManualRights]] --- Up: [[UserManual]] --- Next: [[ManualApache]]&lt;br /&gt;
[[Category:RT User Manual]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=Scrip&amp;diff=3372</id>
		<title>Scrip</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=Scrip&amp;diff=3372"/>
		<updated>2010-12-23T00:16:47Z</updated>

		<summary type="html">&lt;p&gt;BillCole: link to ManualScrips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Scrip&#039;&#039;&#039; is the main instrument to customize RT&#039;s behavior, implement your own workflow, and extend the logic of things.&lt;br /&gt;
&lt;br /&gt;
Each scrip is a set of [[Condition]], [[ScripAction]], [[Template]] and [[Stage]].&lt;br /&gt;
&lt;br /&gt;
See also: [[Contributions]], [[WriteCustomCondition]], [[WriteCustomAction]], [[ManualScrips]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=QueryBuilder&amp;diff=2674</id>
		<title>QueryBuilder</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=QueryBuilder&amp;diff=2674"/>
		<updated>2010-12-23T00:12:04Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Automating redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[TicketSQL]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=AdminCcs&amp;diff=98</id>
		<title>AdminCcs</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=AdminCcs&amp;diff=98"/>
		<updated>2010-12-23T00:06:50Z</updated>

		<summary type="html">&lt;p&gt;BillCole: Automating redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[AdminCC]]&lt;/div&gt;</summary>
		<author><name>BillCole</name></author>
	</entry>
</feed>