RT NonCustomerEmailRegexp option, #15847
[freeside.git] / rt / etc / RT_Config.pm.in
index 8c9acc3..94eea5a 100644 (file)
@@ -175,6 +175,26 @@ improvements, but some setups can not handle it.
 
 Set($UseSQLForACLChecks, undef);
 
+=item C<$TicketsItemMapSize>
+
+In RT at display page of a ticket and there is the current search,
+then links for first, next, previous and last ticket are shown in
+the menu.
+
+To build full map RT has to fetch full result set out of DB what can
+eat lots of resourses. Using this option it's possible to limit number
+of tickets fetched.
+
+Set C<$TicketsItemMapSize> to number of tickets you want RT to look
+at to build the map. If full result set is bigger than that number
+then there would be no 'last' link in the menu.
+
+Set this to zero to return back to old behaviour.
+
+=cut
+
+Set($TicketsItemMapSize, 1000);
+
 =back
 
 =head1 Incoming Mail Gateway Configuration
@@ -264,9 +284,25 @@ regular expression that matches all addresses used by your RT.  This lets RT
 avoid sending mail to itself.  It will also hide RT addresses from the list of 
 "One-time Cc" and Bcc lists on ticket reply.
 
+If you have a number of addresses configured in your RT database already, you
+can generate a naive first pass regexp by using
+
+    perl etc/upgrade/generate-rtaddressregexp
+
+=cut
+
+Set($RTAddressRegexp , undef);
+
+=item C<$IgnoreCcRegexp>
+
+C<$IgnoreCcRegexp> is a regexp to exclude addresses from automatic addition 
+to the Cc list.  Use this for addresses that are I<not> received by RT but
+are sometimes added to Cc lists by mistake.  Unlike C<$RTAddressRegexp>, 
+these addresses can still receive email from RT otherwise.
+
 =cut
 
-Set($RTAddressRegexp , '^rt\@example.com$');
+Set($IgnoreCcRegexp, undef);
 
 =item C<$CanonicalizeEmailAddressMatch>, C<$CanonicalizeEmailAddressReplace>
 
@@ -295,24 +331,6 @@ F<RT/User_Local.pm>
 
 Set($CanonicalizeOnCreate, 0);
 
-=item C<$SenderMustExistInExternalDatabase>
-
-If C<$SenderMustExistInExternalDatabase> is true, RT will refuse to
-create non-privileged accounts for unknown users if you are using
-the C<$LookupSenderInExternalDatabase> option.
-Instead, an error message will be mailed and RT will forward the
-message to C<$RTOwner>.
-
-If you are not using C<$LookupSenderInExternalDatabase>, this option
-has no effect.
-
-If you define an AutoRejectRequest template, RT will use this
-template for the rejection message.
-
-=cut
-
-Set($SenderMustExistInExternalDatabase , undef);
-
 =item C<$ValidateUserEmailAddresses>
 
 If C<$ValidateUserEmailAddresses> is true, RT will refuse to create users with
@@ -323,6 +341,18 @@ made of multiple email adresses.
 
 Set($ValidateUserEmailAddresses, undef);
 
+=item C<$NonCustomerEmailRegexp>
+
+Normally, when a ticket is linked to a customer, any requestors on that
+ticket that didn't previously have customer memberships are linked to 
+the customer also.  C<$NonCustomerEmailRegexp> is a regexp for email 
+addresses that should I<not> automatically be linked to a customer in 
+this way.
+
+=cut
+
+Set($NonCustomerEmailRegexp, undef);
+
 =item C<@MailPlugins>
 
 C<@MailPlugins> is a list of auth plugins for L<RT::Interface::Email>
@@ -368,6 +398,11 @@ or 'qmail'.
 Note that you should remove the '-t' from C<$SendmailArguments>
 if you use 'sendmail' rather than 'sendmailpipe'
 
+For testing purposes, or to simply disable sending mail out into the world, you
+can set C<$MailCommand> to 'testfile' which writes all mail to a temporary
+file.  RT will log the location of the temporary file so you can extract mail
+from it afterwards.
+
 =cut
 
 Set($MailCommand , 'sendmailpipe');
@@ -387,8 +422,11 @@ Set($SetOutgoingMailFrom, 0);
 =item C<$OverrideOutgoingMailFrom>
 
 C<$OverrideOutgoingMailFrom> is used for overwriting the Correspond
-address of the queue. The option is a hash reference of queue name to
-email address.
+address of the queue as it is handed to sendmail -f. This helps force
+the From_ header away from www-data or other email addresses that show
+up in the "Sent by" line in Outlook.
+
+The option is a hash reference of queue name to email address.
 
 If there is no ticket involved, then the value of the C<Default> key will be
 used.
@@ -402,6 +440,54 @@ Set($OverrideOutgoingMailFrom, {
 
 =back
 
+=item C<$DefaultMailPrecedence>
+
+C<$DefaultMailPrecedence> is used to control the default
+Precedence level of outgoing mail where none is specified.
+By default it is C<bulk>, but if you only send mail to
+your staff, you may wish to change it.
+
+Note that you can set the precedence of individual templates
+by including an explicit Precedence header.
+
+If you set this value to C<undef> then we do not set a default
+Precedence header to outgoing mail. However, if there already is a
+Precedence header it will be preserved.
+
+=cut
+
+Set($DefaultMailPrecedence, 'bulk');
+
+=back
+
+=item C<$DefaultErrorMailPrecedence>
+
+C<$DefaultErrorMailPrecedence> is used to control the default
+Precedence level of outgoing mail that indicates some kind of
+error condition. By default it is C<bulk>, but if you only send
+mail to your staff, you may wish to change it.
+
+If you set this value to C<undef> then we do not add a Precedence
+header to error mail.
+
+=cut
+
+Set($DefaultErrorMailPrecedence, 'bulk');
+
+=back
+
+=item C<$UseOriginatorHeader>
+
+C<$UseOriginatorHeader> is used to control the insertion of an
+RT-Originator Header in every outgoing mail, containing the
+mail address of the transaction creator.
+
+=cut
+
+Set($UseOriginatorHeader, 1);
+
+=back
+
 =head1 Sendmail Configuration
 
 These options only take effect if C<$MailCommand> is 'sendmail' or
@@ -548,7 +634,7 @@ Set($UseFriendlyToLine, 0);
 
 =item C<$FriendlyToLineFormat>
 
-C<sprintf()> format of the friendly 'From:' header; its arguments
+C<sprintf()> format of the friendly 'To:' header; its arguments
 are WatcherType and TicketId.
 
 =cut
@@ -778,6 +864,9 @@ RT ships with several themes by default:
   3.4-compat      A 3.4 compatibility stylesheet to make RT look
                   (mostly) like 3.4
 
+This bundled distibution of RT also includes (enabled by default):
+  freeside2.1     Integration with Freeside
+
 This value actually specifies a directory in F<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
@@ -786,7 +875,7 @@ option can be overridden by users in their preferences.
 
 =cut
 
-Set($WebDefaultStylesheet, 'web2');
+Set($WebDefaultStylesheet, 'freeside2.1');
 
 =item C<$UsernameFormat>
 
@@ -797,7 +886,7 @@ EmailAddress.
 
 =cut
 
-Set($UsernameFormat, 'concise');
+Set($UsernameFormat, 'verbose');
 
 =item C<$WebDomain>
 
@@ -875,6 +964,41 @@ C<$LogoURL> points to the URL of the RT logo displayed in the web UI
 
 Set($LogoURL, RT->Config->Get('WebImagesURL') . "bplogo.gif");
 
+=item C<$LogoLinkURL>
+
+C<$LogoLinkURL> is the URL that the RT logo hyperlinks to.
+
+=cut
+
+Set($LogoLinkURL, "http://bestpractical.com");
+
+=item C<$LogoAltText>
+
+C<$LogoAltText> is a string of text for the alt-text of the logo. It
+will be passed through C<loc> for localization.
+
+=cut
+
+Set($LogoAltText, "Best Practical Solutions, LLC corporate logo");
+
+=item C<$LogoImageHeight>
+
+C<$LogoImageHeight> is the value of the C<height> attribute of the logo
+C<img> tag.
+
+=cut
+
+Set($LogoImageHeight, 33);
+
+=item C<$LogoImageWidth>
+
+C<$LogoImageWidth> is the value of the C<width> attribute of the logo
+C<img> tag.
+
+=cut
+
+Set($LogoImageWidth, 177);
+
 =item C<$WebNoAuthRegex>
 
 What portion of RT's URL space should not require authentication.
@@ -949,6 +1073,14 @@ Should your user's signatures (from their Preferences page) be included in Comme
 
 Set($MessageBoxIncludeSignature, 1);
 
+=item C<$MessageBoxIncludeSignatureOnComment>
+
+Should your user's signatures (from their Preferences page) be included in Comments. Setting this to false overrides C<$MessageBoxIncludeSignature>.
+
+=cut
+
+Set($MessageBoxIncludeSignatureOnComment, 1);
+
 =item C<$WikiImplicitLinks>
 
 Support implicit links in WikiText custom fields?  A true value
@@ -970,6 +1102,37 @@ sent in a request (although there is probably more to it than that)
 
 Set($TrustHTMLAttachments, undef);
 
+=item C<$AlwaysDownloadAttachments>
+
+Always download attachments, regardless of content type. If set,
+this overrides C<TrustHTMLAttachments>.
+
+=cut
+
+Set($AlwaysDownloadAttachments, undef);
+
+=item C<$AttachmentUnits>
+
+Controls the units (kilobytes or bytes) that attachment sizes use
+for display. The default is to display kilobytes if the attachment
+is larger than 1024 bytes, bytes otherwise. If you set
+C<$AttachmentUnits> to C<'k'> then attachment sizes will always be
+displayed in kilobytes. If set to C<'b'>, then sizes will be bytes.
+
+=cut
+
+Set($AttachmentUnits, undef);
+
+=item C<$EditCustomFieldsSingleColumn>
+
+When displaying a list of Ticket Custom Fields for editing, RT defaults
+to a 2 column list.  If you set this to 1, it will instead display the
+Custom Fields in a single column.
+
+=cut
+
+Set($EditCustomFieldsSingleColumn, 0);
+
 =item C<$RedistributeAutoGeneratedMessages>
 
 Should RT redistribute correspondence that it identifies as
@@ -1075,6 +1238,16 @@ to RT for the defined time.
 
 Set($AutoLogoff, 0);
 
+=item C<$LogoutRefresh>
+
+The number of seconds to wait after logout before sending the user to the
+login page. By default, 1 second, though you may want to increase this if
+you display additional information on the logout page.
+
+=cut
+
+Set($LogoutRefresh, 1);
+
 =item C<$WebSecureCookies>
 
 By default, RT's session cookie isn't marked as "secure" Some web browsers 
@@ -1140,6 +1313,29 @@ search results in RT. Choose from [0, 120, 300, 600, 1200, 3600, 7200].
 
 Set($SearchResultsRefreshInterval, 0);
 
+=item C<$ResolveDefaultUpdateType>
+
+Set the default Update Type when clicking the Resolve link in the Ticket
+links tab.
+
+  Comment            Comments (Not sent to requestors)
+  Respond            Reply to requestors
+
+=cut
+
+Set($ResolveDefaultUpdateType, 'Comment');
+
+=item C<$SuppressAutoOpenOnUpdate>
+
+When users click Comment or Reply on a new ticket in the web UI, the default
+status for the ticket gets set to 'open' if the status is currently 'new'.
+Setting this option to 1 will suppress that behavior and leave the default
+status as 'new'. This option can be overridden by users in their preferences.
+
+=cut
+
+Set($SuppressAutoOpenOnUpdate, 0);
+
 =item C<$OldestTransactionsFirst>
 
 By default, RT shows newest transactions at the bottom of the ticket
@@ -1201,7 +1397,7 @@ customized homepage ("RT at a glance").
 
 =cut
 
-Set($HomepageComponents, [qw(QuickCreate Quicksearch MyAdminQueues MySupportQueues MyReminders RefreshHomepage Dashboards)]);
+Set($HomepageComponents, [qw(QuickCreate Quicksearch MyCalendar MyAdminQueues MySupportQueues MyReminders RefreshHomepage Dashboards)]);
 
 =item C<@MasonParameters>
 
@@ -1225,13 +1421,15 @@ C<$DefaultSearchResultFormat> is the default format for RT search results
 Set ($DefaultSearchResultFormat, qq{
    '<B><A HREF="__WebPath__/Ticket/Display.html?id=__id__">__id__</a></B>/TITLE:#',
    '<B><A HREF="__WebPath__/Ticket/Display.html?id=__id__">__Subject__</a></B>/TITLE:Subject',
+   Customer,
    Status,
-   QueueName, 
+   QueueName,
    OwnerName, 
    Priority, 
    '__NEWLINE__',
-   '', 
+   '',
    '<small>__Requestors__</small>',
+   '<small>__CustomerTags__</small>',
    '<small>__CreatedRelative__</small>',
    '<small>__ToldRelative__</small>',
    '<small>__LastUpdatedRelative__</small>',
@@ -1251,6 +1449,46 @@ Set($DefaultSelfServiceSearchResultFormat, qq{
    Requestors,
    OwnerName});
 
+=item C<%AdminSearchResultFormat>
+
+In admin interface format strings similar to tickets search result
+formats are used. Use C<%AdminSearchResultFormat> to define format
+strings per RT class.
+
+=cut
+
+Set(%AdminSearchResultFormat,
+    Queues =>
+        q{'<a href="__WebPath__/Admin/Queues/Modify.html?id=__id__">__id__</a>/TITLE:#'}
+        .q{,'<a href="__WebPath__/Admin/Queues/Modify.html?id=__id__">__Name__</a>/TITLE:Name'}
+        .q{,__Description__,__Address__,__Priority__,__DefaultDueIn__,__Disabled__},
+
+    Groups =>
+        q{'<a href="__WebPath__/Admin/Groups/Modify.html?id=__id__">__id__</a>/TITLE:#'}
+        .q{,'<a href="__WebPath__/Admin/Groups/Modify.html?id=__id__">__Name__</a>/TITLE:Name'}
+        .q{,'__Description__'},
+
+    Users =>
+        q{'<a href="__WebPath__/Admin/Users/Modify.html?id=__id__">__id__</a>/TITLE:#'}
+        .q{,'<a href="__WebPath__/Admin/Users/Modify.html?id=__id__">__Name__</a>/TITLE:Name'}
+        .q{,__RealName__, __EmailAddress__},
+
+    CustomFields =>
+        q{'<a href="__WebPath__/Admin/CustomFields/Modify.html?id=__id__">__id__</a>/TITLE:#'}
+        .q{,'<a href="__WebPath__/Admin/CustomFields/Modify.html?id=__id__">__Name__</a>/TITLE:Name'}
+        .q{,__AppliedTo__, __FriendlyType__, __FriendlyPattern__},
+
+    Scrips => 
+        q{'<a href="__WebPath__/__WebRequestPathDir__/Scrip.html?id=__id__&Queue=__QueueId__">__id__</a>/TITLE:#'}
+        .q{,'<a href="__WebPath__/__WebRequestPathDir__/Scrip.html?id=__id__&Queue=__QueueId__">__Description__</a>/TITLE:Description'}
+        .q{,__Stage__, __Condition__, __Action__, __Template__},
+
+    Templates =>
+        q{'<a href="__WebPath__/__WebRequestPathDir__/Template.html?Queue=__QueueId__&Template=__id__">__id__</a>/TITLE:#'}
+        .q{,'<a href="__WebPath__/__WebRequestPathDir__/Template.html?Queue=__QueueId__&Template=__id__">__Name__</a>/TITLE:Name'}
+        .q{,'__Description__'},
+);
+
 =item C<$SuppressInlineTextFiles>
 
 If C<$SuppressInlineTextFiles> is set to a true value, then uploaded
@@ -1271,17 +1509,40 @@ ticket searches.
 
 Set($DontSearchFileAttachments, undef);
 
-=item C<$ChartFont>
+=item C<%ChartFont>
+
+The L<GD> module (which RT uses for graphs) ships with a builtin font 
+that doesn't have full Unicode support. You can use a given TrueType font 
+for a specific language by setting %ChartFont to (language =E<gt> the 
+absolute path of a font) pairs. Your GD library must have support for
+TrueType fonts to use this option. If there is no entry for a language 
+in the hash then font with 'others' key is used.
 
-The L<GD> module (which RT uses for graphs) uses a builtin font that doesn'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 have
-support for TrueType fonts to use this option.
+RT comes with two TrueType fonts covering most available languages.
 
 =cut
 
-Set($ChartFont, undef);
+Set(
+    %ChartFont,
+    'zh-cn'  => "$RT::BasePath/share/fonts/DroidSansFallback.ttf",
+    'zh-tw'  => "$RT::BasePath/share/fonts/DroidSansFallback.ttf",
+    'ja'     => "$RT::BasePath/share/fonts/DroidSansFallback.ttf",
+    'others' => "$RT::BasePath/share/fonts/DroidSans.ttf",
+);
+
+=item C<$ChartsTimezonesInDB>
+
+RT stores dates using the UTC timezone in the DB, so charts grouped
+by dates and time are not representative. Set C<$ChartsTimezonesInDB>
+to a true value to enable timezone conversions using your DB's
+capabilities. You may need to do some work on the DB side to use this
+feature, read more in F<docs/timezones_in_charts.pod>.
+
+At this time, this feature only applies to MySQL and PostgreSQL.
 
+=cut
+
+Set( $ChartsTimezonesInDB, 0 );
 
 =item C<@Active_MakeClicky>
 
@@ -1321,6 +1582,16 @@ Use this to set the default units for time entry to hours instead of minutes.
 
 Set($DefaultTimeUnitsToHours, 0);
 
+=item C<$SimpleSearchIncludeResolved>
+
+By default, the simple ticket search in the top bar excludes "resolved" tickets
+unless a status argument is specified.  Set this to a true value to include 
+them.
+
+=cut
+
+Set($SimpleSearchIncludeResolved, 0);
+
 =back
 
 =head1 L<Net::Server> (rt-server) Configuration
@@ -1461,7 +1732,7 @@ Set($AmbiguousDayInFuture, 0);
 
 =head1 Approval Configuration
 
-Configration for the approvl system
+Configuration for the approval system
 
 =over 4
 
@@ -1540,7 +1811,7 @@ custom field values from external sources at runtime.
 
 =cut
 
-Set(@CustomFieldValuesSources, ());
+Set(@CustomFieldValuesSources, ('RT::CustomFieldValues::Queues'));
 
 =item C<$CanonicalizeRedirectURLs>
 
@@ -1572,7 +1843,8 @@ C<Set(@Plugins, (qw(Extension::QuickDelete RT::FM)));>
 
 =cut
 
-Set(@Plugins, ());
+Set(@Plugins, (qw(RTx::Calendar
+                  RT::Extension::MobileUI))); #RTx::Checklist ));
 
 =back