SiteConfig

From Request Tracker Wiki
Revision as of 05:10, 1 February 2013 by 130.235.93.68 (talk)
Jump to navigation Jump to search

What It Is

The Site'Config' file lives in ${RTHOME}/etc/RT_SiteConfig.pm. Its purpose is to provide you a place to override config settings in ${RTHOME}/etc/RT_Config.pm as well as add new config variables as provided by various user Contributions or for your own purposes. You set a config variable like so:

Set($Foo, "Value of Foo");
Set($Bar, 1);
Set(@Baz, "array", "of", "values");                        # works properly in RT 3.8 only
Set(%Zot, "hash" => "of", "keyed" => "values"); # works properly in RT 3.8 only

The following works in earlier versions of RT, but above is recommended for new things:

Set($Baz, ["reference", "to", "array", "of", "values"]);
Set($Zot, {"reference" => "to", "hash" => "of", "keyed" => "values"});

You access them like this in RT 3.8 and newer:

RT->Config->Get('Foo') # "Value of option Foo"
RT->Config->Get('Bar')  # 1
RT->Config->Get('Baz')->[0] # get option Baz that is array reference and access first element

For backwards compatibility with RT 3.6 you can use the following syntax:

$RT::Foo             # "Value of Foo"
$RT::Bar             # 1
$RT::Baz->[0]        # "array"
$RT::Zot->{"keyed"}  # "values"

Plugins

Set(@Plugins, qw(RT::Extension::ResetPassword RT::Extension::MandatorySubject));

The following is an invalid way to define extensions as each declaration will override the previous:

Set(@Plugins, qw(Extension::QuickDelete));
Set(@Plugins, qw(RT::Extension::ResetPassword));
Set(@Plugins, qw(RT::Extension::MandatorySubject));

Note there are only spaces between the (full) extension name and any spaces are allowed, so the following is also valid:

Set(@Plugins, qw(
   RT::Extension::ResetPassword
   RT::Extension::MandatorySubject
   RT::Extension::QuickDelete
));

Email interface

Options related to an email handling are described on EmailInterface page.

Logging

Configuring RT's, mysql's, apache's logs is described on LogsConfig page.

Other config variables

Here's an alphabetical list of some of the variables used by RT and what they do; please feel free to add more or document better.

$'Auto'Create (hash reference)

Attributes for autocreated accounts; used only in share/html/autohandler when $RT::WebExternalAuth and $RT::WebExternalAuto are set.

Set($AutoCreate, {Privileged => 1, WorkPhone => 'x900'});

Note: "Privileged => 1" does not appear to work at present. All auto-created users are unprivileged, and therefore do not show up in the "Configuration -> Users" list, and obviously do not have privileged status in the system either.

This issue has been reported: http://issues.bestpractical.com/Ticket/Display.html?id=14472

$Min'Password'Length (scalar)

MinPasswordLength lets you set a minimum password length for your users.

$rtname (scalar)

rtname lets you set name of your RT instance. See also EmailInterface and RenameInstance.

Custom Statuses:

RT 3.8 and prior: CustomStatuses

RT4 and after: CustomStatusesInRt4

To Be Documented

Hey, come on!  Make a step and document this.

$RT::WebExternalAuto (autohandler)
$RT::WebExternalGecos (autohandler)
$RT::WebFallbackToInternalAuth (autohandler)
$RT::WebExternalOnly (autohandler)
$RT::WebExternalAuth (autohandler)
 $RT::LdapServer (WebExternalAuth Parameter)
 $RT::LdapUser (WebExternalAuth Parameter)
 $RT::LdapPass (WebExternalAuth Parameter)
 $RT::LdapBase (WebExternalAuth Parameter)
 $RT::LdapUidAttr (WebExternalAuth Parameter)
 $RT::LdapFilter (WebExternalAuth Parameter)
 $RT::LdapTLS (WebExternalAuth Parameter)
 $RT::LdapGroup (WebExternalAuth Parameter)
 $RT::LdapGroupAttribute (WebExternalAuth Parameter)
 $RT::LdapSSLVersion (WebExternalAuth Parameter)