import of rt 3.0.9
[freeside.git] / rt / etc / RT_Config.pm
1 #
2 # WARNING: NEVER EDIT RT_Config.pm. Instead, copy any sections you want to change to RT_SiteConfig.pm
3 # and edit them there.
4 #
5
6 package RT;
7
8 =head1 NAME
9
10 RT::Config
11
12 =for testing
13
14 use RT::Config;
15
16 =cut
17
18 # {{{ Base Configuration
19
20 # $rtname the string that RT will look for in mail messages to
21 # figure out what ticket a new piece of mail belongs to
22
23 # Your domain name is recommended, so as not to pollute the namespace.
24 # once you start using a given tag, you should probably never change it.
25 # (otherwise, mail for existing tickets won't get put in the right place
26
27 Set($rtname , "example.com");
28
29 # You should set this to your organization's DNS domain. For example,
30 # fsck.com or asylum.arkham.ma.us. It's used by the linking interface to
31 # guarantee that ticket URIs are unique and easy to construct.
32
33 Set($Organization , "example.com");
34
35 # $user_passwd_min defines the minimum length for user passwords. Setting
36 # it to 0 disables this check
37 Set($MinimumPasswordLength , "5");
38
39 # $Timezone is used to convert times entered by users into GMT and back again
40 # It should be set to a timezone recognized by your local unix box.
41 Set($Timezone , 'US/Eastern');
42
43 # }}}
44
45 # }}}
46
47 # {{{ Database Configuration
48
49 # Database driver beeing used. Case matters
50 # Valid types are "mysql", "Oracle" and "Pg"
51
52 Set($DatabaseType , 'mysql');
53
54 # The domain name of your database server
55 # If you're running mysql and it's on localhost,
56 # leave it blank for enhanced performance
57 Set($DatabaseHost   , 'localhost');
58 Set($DatabaseRTHost , 'localhost');
59
60 # The port that your database server is running on.  Ignored unless it's
61 # a positive integer. It's usually safe to leave this blank
62 Set($DatabasePort , '');
63
64 #The name of the database user (inside the database)
65 Set($DatabaseUser , 'rt_user');
66
67 # Password the DatabaseUser should use to access the database
68 Set($DatabasePassword , 'rt_pass');
69
70 # The name of the RT's database on your database server
71 Set($DatabaseName , 'rt3');
72
73 # If you're using Postgres and have compiled in SSL support,
74 # set DatabaseRequireSSL to 1 to turn on SSL communication
75 Set($DatabaseRequireSSL , undef);
76
77 # }}}
78
79 # {{{ Incoming mail gateway configuration
80
81 # OwnerEmail is the address of a human who manages RT. RT will send
82 # errors generated by the mail gateway to this address.  This address
83 # should _not_ be an address that's managed by your RT instance.
84
85 Set($OwnerEmail , 'root');
86
87 # If $LoopsToRTOwner is defined, RT will send mail that it believes
88 # might be a loop to $RT::OwnerEmail
89
90 Set($LoopsToRTOwner , 1);
91
92 # If $StoreLoopss is defined, RT will record messages that it believes
93 # to be part of mail loops.
94 # As it does this, it will try to be careful not to send mail to the
95 # sender of these messages
96
97 Set($StoreLoops , undef);
98
99 # $MaxAttachmentSize sets the maximum size (in bytes) of attachments stored
100 # in the database.
101
102 # For mysql and oracle, we set this size at 10 megabytes.
103 # If you're running a postgres version earlier than 7.1, you will need
104 # to drop this to 8192. (8k)
105
106 Set($MaxAttachmentSize , 10000000);
107
108 # $TruncateLongAttachments: if this is set to a non-undef value,
109 # RT will truncate attachments longer than MaxAttachmentLength.
110
111 Set($TruncateLongAttachments , undef);
112
113 # $DropLongAttachments: if this is set to a non-undef value,
114 # RT will silently drop attachments longer than MaxAttachmentLength.
115
116 Set($DropLongAttachments , undef);
117
118 # If $ParseNewMessageForTicketCcs is true, RT will attempt to divine
119 # Ticket 'Cc' watchers from the To and Cc lines of incoming messages
120 # Be forewarned that if you have _any_ addresses which forward mail to
121 # RT automatically and you enable this option without modifying
122 # "RTAddressRegexp" below, you will get yourself into a heap of trouble.
123
124 Set($ParseNewMessageForTicketCcs , undef);
125
126 # RTAddressRegexp is used to make sure RT doesn't add itself as a ticket CC if
127 # the setting above is enabled.
128
129 Set($RTAddressRegexp , '^rt\@example.com$');
130
131 # RT provides functionality which allows the system to rewrite
132 # incoming email addresses.  In its simplest form,
133 # you can substitute the value in CanonicalizeEmailAddressReplace
134 # for the value in CanonicalizeEmailAddressMatch
135 # (These values are passed to the CanonicalizeEmailAddress subroutine in RT/User.pm)
136 # By default, that routine performs a s/$Match/$Replace/gi on any address passed to it
137
138 Set($CanonicalizeEmailAddressMatch   , 'subdomain.example.com$');
139 Set($CanonicalizeEmailAddressReplace , 'example.com');
140
141 # If $SenderMustExistInExternalDatabase is true, RT will refuse to
142 # create non-privileged accounts for unknown users if you are using
143 # the "LookupSenderInExternalDatabase" option.
144 # Instead, an error message will be mailed and RT will forward the
145 # message to $RTOwner.
146 #
147 # If you are not using $LookupSenderInExternalDatabase, this option
148 # has no effect.
149 #
150 # If you define an AutoRejectRequest template, RT will use this
151 # template for the rejection message.
152
153 Set($SenderMustExistInExternalDatabase , undef);
154
155 # }}}
156
157 # {{{ Outgoing mail configuration
158
159 # RT is designed such that any mail which already has a ticket-id associated
160 # with it will get to the right place automatically.
161
162 # $CorrespondAddress and $CommentAddress are the default addresses
163 # that will be listed in From: and Reply-To: headers of correspondence
164 # and comment mail tracked by RT, unless overridden by a queue-specific
165 # address.
166
167 Set($CorrespondAddress , 'RT_CorrespondAddressNotSet');
168
169 Set($CommentAddress , 'RT_CommentAddressNotSet');
170
171 #Sendmail Configuration
172
173 # $MailCommand defines which method RT will use to try to send mail
174 # We know that 'sendmailpipe' works fairly well.
175 # If 'sendmailpipe' doesn't work well for you, try 'sendmail'
176 #
177 # Note that you should remove the '-t' from $SendmailArguments
178 # if you use 'sendmail rather than 'sendmailpipe'
179
180 Set($MailCommand , 'sendmailpipe');
181
182 # $SendmailArguments defines what flags to pass to $Sendmail
183 # assuming you picked 'sendmail' or 'sendmailpipe' as the $MailCommand above.
184 # If you picked 'sendmailpipe', you MUST add a -t flag to $SendmailArguments
185
186 # These options are good for most sendmail wrappers and workalikes
187 Set($SendmailArguments , "-oi -t");
188
189 # These arguments are good for sendmail brand sendmail 8 and newer
190 #Set($SendmailArguments,"-oi -t -ODeliveryMode=b -OErrorMode=m");
191
192 # If you selected 'sendmailpipe' above, you MUST specify the path
193 # to your sendmail binary in $SendmailPath.
194 # !! If you did not # select 'sendmailpipe' above, this has no effect!!
195 Set($SendmailPath , "/usr/sbin/sendmail");
196
197 # By default, RT sets the outgoing mail's "From:" header to
198 # "SenderName via RT".  Setting this option to 0 disables it.
199
200 Set($UseFriendlyFromLine , 1);
201
202 # sprintf() format of the friendly 'From:' header; its arguments
203 # are SenderName and SenderEmailAddress.
204 Set($FriendlyFromLineFormat , "\"%s via RT\" <%s>");
205
206 # RT can optionally set a "Friendly" 'To:' header when sending messages to
207 # Ccs or AdminCcs (rather than having a blank 'To:' header.
208
209 # This feature DOES NOT WORK WITH SENDMAIL[tm] BRAND SENDMAIL
210 # If you are using sendmail, rather than postfix, qmail, exim or some other MTA,
211 # you _must_ disable this option.
212
213 Set($UseFriendlyToLine , 0);
214
215 # sprintf() format of the friendly 'From:' header; its arguments
216 # are WatcherType and TicketId.
217 Set($FriendlyToLineFormat, "\"%s of $RT::rtname Ticket #%s\":;");
218
219 # By default RT doesn't notify the person who performs an update, as they
220 # already know what they've done. If you'd like to change this behaviour,
221 # Set $NotifyActor to 1
222
223 Set($NotifyActor, 0);
224
225
226 # }}}
227
228 # {{{ Logging
229
230 # Logging.  The default is to log anything except debugging
231 # information to syslog.  Check the Log::Dispatch POD for
232 # information about how to get things by syslog, mail or anything
233 # else, get debugging info in the log, etc.
234
235 #  It might generally make
236 # sense to send error and higher by email to some administrator.
237 # If you do this, be careful that this email isn't sent to this RT instance.
238
239 # the minimum level error that will be logged to the specific device.
240 # levels from lowest to highest:
241 #  debug info notice warning error critical alert emergency
242
243 #  Mail loops will generate a critical log message.
244 Set($LogToSyslog    , 'debug');
245 Set($LogToScreen    , 'error');
246 Set($LogToFile      , undef);
247 Set($LogDir, '/opt/rt3/var/log');
248 Set($LogToFileNamed , "rt.log");    #log to rt.log
249
250 # }}}
251
252 # {{{ Web interface configuration
253
254 # Define the directory name to be used for images in rt web
255 # documents.
256
257 # If you're putting the web ui somewhere other than at the root of
258 # your server
259 # $WebPath requires a leading / but no trailing /
260
261 Set($WebPath , "");
262
263 # This is the Scheme, server and port for constructing urls to webrt
264 # $WebBaseURL doesn't need a trailing /
265
266 Set($WebBaseURL , "http://RT::WebBaseURL.not.configured:80");
267
268 Set($WebURL , $WebBaseURL . $WebPath . "/");
269
270 # $WebImagesURL points to the base URL where RT can find its images.
271
272 Set($WebImagesURL , $WebURL . "NoAuth/images/");
273
274 # $RTLogoURL points to the URL of the RT logo displayed in the web UI
275
276 Set($LogoURL , $WebImagesURL . "rt.jpg");
277
278 # For message boxes, set the entry box width and what type of wrapping
279 # to use.
280 #
281 # Default width: 72
282 Set($MessageBoxWidth , 72);
283
284 # Default wrapping: "HARD"  (choices "SOFT", "HARD")
285 Set($MessageBoxWrap, "HARD");
286
287 # if TrustHTMLAttachments is not defined, we will display them
288 # as text. This prevents malicious HTML and javascript from being
289 # sent in a request (although there is probably more to it than that)
290 Set($TrustHTMLAttachments , undef);
291
292 # If $WebExternalAuth is defined, RT will defer to the environment's
293 # REMOTE_USER variable.
294
295 Set($WebExternalAuth , undef);
296
297 # If $WebFallbackToInternalAuth is undefined, the user is allowed a chance
298 # of fallback to the login screen, even if REMOTE_USER failed.
299
300 Set($WebFallbackToInternalAuth , undef);
301
302 # $WebExternalGecos means to match 'gecos' field as the user identity);
303 # useful with mod_auth_pwcheck and IIS Integrated Windows logon.
304
305 Set($WebExternalGecos , undef);
306
307 # $WebExternalAuto will create users under the same name as REMOTE_USER
308 # upon login, if it's missing in the Users table.
309
310 Set($WebExternalAuto , undef);
311
312 # $WebSessionClass is the class you wish to use for managing Sessions.
313 # It defaults to use your SQL database, but if you are using MySQL 3.x and
314 # plans to use non-ascii Queue names, uncomment and add this line to
315 # RT_SiteConfig.pm will prevent session corruption.
316
317 # Set($WebSessionClass , 'Apache::Session::File');
318
319 # $MaxInlineBody is the maximum attachment size that we want to see
320 # inline when viewing a transaction. 13456 is a random sane-sounding
321 # default.
322
323 Set($MaxInlineBody, 13456);
324
325 # $MyTicketsLength is the length of the table on the front page.
326 # For some people, the default of 10 isn't big enough to get a feel for
327 # how much work needs to be done before you get some time off.
328
329 Set($MyTicketsLength, 10);
330
331 # @MasonParameters is the list of parameters for the constructor of
332 # HTML::Mason's Apache or CGI Handler.  This is normally only useful
333 # for debugging, eg. profiling individual components with
334 #     (preamble => 'my $p = MasonX::Profiler->new($m, $r);');
335
336 @MasonParameters = () unless (@MasonParameters);
337
338 # }}}
339
340 # {{{ RT UTF-8 Settings
341
342 # An array that contains languages supported by RT's internationalization
343 # interface.  Defaults to all *.po lexicons; set it to qw(en ja) will make
344 # RT bilingual instead of multilingual, but will save same memory.
345
346 @LexiconLanguages = qw(*) unless (@LexiconLanguages);
347
348 # An array that contains default encodings used to guess which charset
349 # an attachment uses if not specified.  Must be recognized by
350 # Encode::Guess.
351
352 @EmailInputEncodings = qw(utf-8 iso-8859-1 us-ascii) unless (@EmailInputEncodings);
353
354 # The charset for localized email.  Must be recognized by Encode.
355
356 Set($EmailOutputEncoding , 'utf-8');
357
358 # }}}
359
360 # {{{ RT Date Handling Options (for Time::ParseDate)
361
362 # Set this to 1 if your local date convention looks like "dd/mm/yy"
363 # instead of "mm/dd/yy".
364
365 Set($DateDayBeforeMonth , 1);
366
367 # Should "Tuesday" default to meaning "Next Tuesday" or "Last Tuesday"?
368 # Set to 0 for "Next" or 1 for "Last".
369
370 Set($AmbiguousDayInPast , 1);
371
372 # }}}
373
374 1;