diff options
author | ivan <ivan> | 2010-05-18 18:49:59 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-05-18 18:49:59 +0000 |
commit | e70abd21bab68b23488f7ef1ee2e693a3b365691 (patch) | |
tree | 75986ffa9ba6ab4f961f9033468a1344e1653408 /rt/etc | |
parent | b4b0c7e72d7eaee2fbfc7022022c9698323203dd (diff) |
import rt 3.8.8
Diffstat (limited to 'rt/etc')
-rw-r--r-- | rt/etc/RT_Config.pm | 219 | ||||
-rw-r--r-- | rt/etc/RT_Config.pm.in | 217 | ||||
-rw-r--r-- | rt/etc/upgrade/3.8.8/content | 38 |
3 files changed, 459 insertions, 15 deletions
diff --git a/rt/etc/RT_Config.pm b/rt/etc/RT_Config.pm index 823189b45..a5dacd327 100644 --- a/rt/etc/RT_Config.pm +++ b/rt/etc/RT_Config.pm @@ -104,7 +104,7 @@ Valid types are "mysql", "Oracle" and "Pg" =cut -Set($DatabaseType , 'SQLite'); +Set($DatabaseType , 'mysql'); =item C<$DatabaseHost>, C<$DatabaseRTHost> @@ -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 @@ -266,7 +286,7 @@ avoid sending mail to itself. It will also hide RT addresses from the list of =cut -Set($RTAddressRegexp , '^rt\@example.com$'); +Set($RTAddressRegexp , undef); =item C<$CanonicalizeEmailAddressMatch>, C<$CanonicalizeEmailAddressReplace> @@ -402,6 +422,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 @@ -875,6 +943,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 +1052,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 +1081,27 @@ 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<$RedistributeAutoGeneratedMessages> Should RT redistribute correspondence that it identifies as @@ -1075,6 +1207,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 @@ -1251,6 +1393,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 +1453,38 @@ 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> + +Dates are stored using UTC timezone in the DB, so charts groupped +by dates and time are not representative. Set C<$ChartsTimezonesInDB> +to a true value to enable timezones conversions using DB's +capabilities. You may need to do some work on DB side to use this +feature, read more in F<docs/timezones_in_charts.pod>. + +=cut +Set( $ChartsTimezonesInDB, 0 ); =item C<@Active_MakeClicky> diff --git a/rt/etc/RT_Config.pm.in b/rt/etc/RT_Config.pm.in index 5d28e719c..9bd809acc 100644 --- a/rt/etc/RT_Config.pm.in +++ b/rt/etc/RT_Config.pm.in @@ -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 @@ -266,7 +286,7 @@ avoid sending mail to itself. It will also hide RT addresses from the list of =cut -Set($RTAddressRegexp , '^rt\@example.com$'); +Set($RTAddressRegexp , undef); =item C<$CanonicalizeEmailAddressMatch>, C<$CanonicalizeEmailAddressReplace> @@ -402,6 +422,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 @@ -875,6 +943,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 +1052,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 +1081,27 @@ 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<$RedistributeAutoGeneratedMessages> Should RT redistribute correspondence that it identifies as @@ -1075,6 +1207,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 @@ -1251,6 +1393,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 +1453,38 @@ 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> + +Dates are stored using UTC timezone in the DB, so charts groupped +by dates and time are not representative. Set C<$ChartsTimezonesInDB> +to a true value to enable timezones conversions using DB's +capabilities. You may need to do some work on DB side to use this +feature, read more in F<docs/timezones_in_charts.pod>. + +=cut +Set( $ChartsTimezonesInDB, 0 ); =item C<@Active_MakeClicky> diff --git a/rt/etc/upgrade/3.8.8/content b/rt/etc/upgrade/3.8.8/content new file mode 100644 index 000000000..ee1943304 --- /dev/null +++ b/rt/etc/upgrade/3.8.8/content @@ -0,0 +1,38 @@ +@Initial = ( + sub { + # make sure global CFs are not applied to local objects + my $ocfs = RT::ObjectCustomFields->new( $RT::SystemUser ); + $ocfs->Limit( FIELD => 'ObjectId', OPERATOR => '!=', VALUE => 0 ); + my $alias = $ocfs->Join( + FIELD1 => 'CustomField', + TABLE2 => 'ObjectCustomFields', + FIELD2 => 'CustomField', + ); + $ocfs->Limit( ALIAS => $alias, FIELD => 'ObjectId', VALUE => 0 ); + while ( my $ocf = $ocfs->Next ) { + $ocf->Delete; + } + }, + sub { + # sort SortOrder + my $sth = $RT::Handle->dbh->prepare( + "SELECT cfs.LookupType, ocfs.id" + ." FROM ObjectCustomFields ocfs, CustomFields cfs" + ." WHERE cfs.id = ocfs.CustomField" + ." ORDER BY cfs.LookupType, ocfs.SortOrder, cfs.Name" + ); + $sth->execute; + + my ($i, $prev_type) = (0, ''); + while ( my ($lt, $id) = $sth->fetchrow_array ) { + $i = 0 if $prev_type ne $lt; + my $ocf = RT::ObjectCustomField->new( $RT::SystemUser ); + $ocf->Load( $id ); + my ($status, $msg) = $ocf->SetSortOrder( $i++ ); + $RT::Logger->warning("Couldn't set SortOrder: $msg") + unless $status; + $prev_type = $lt; + } + }, +); + |