3 config.pod - documents BSE configuration file options
7 BSE historically used Constants.pm to keep most configuration
8 information. The plan is to make sure any new configuration is kept
9 in bse.cfg, and to slowly move most configuration information into
12 Keeping configuration information in Constants.pm makes it difficult
13 to perform upgrades and makes it impossible to use tools such as
14 mod_perl, at least if you want more than one site on the machine.
16 =head1 CONFIGURATION ENTRIES
20 Contains various file system paths.
26 This is where the files uploads with the file wizard are stored. It
27 must be writable by the web server user.
31 Directory containing administrative templates. Note: this is not
32 completely implemented for now, so assume the default. Default: admin
33 directory under $TMPLDIR.
37 Directory base for most templates. Note: this is not completely
38 implemented for now, so assume the default. Default: $TMPLDIR.
42 Where uploaded images are stored. This is not yet completely
43 implemented. Default: $IMAGEDIR.
49 This section is used by the file wizard to map uploaded file
50 extensions to MIME content types. This can be used to extend
51 BSE::FileEditor's internal extension map. It cannot override that
54 The key for each entry is the extension, without the leading '.'.
58 xls = application/msexcel
62 Used for translating symbolic template names into full names under the
65 In each case the default is the name with a C<.tmpl> extension.
75 user registration page
79 =head2 [admin templates]
81 Used for translating the names of administration templates into filenames.
83 In each case the default is the name with a C<.tmpl> extension.
93 Catalog editor page. Default admin/edit_catalog.tmpl
105 Article edit pages. Default admin/edit_<number>.tmpl
109 Step child/parent management page. Default admin/edit_steps.tmpl
121 The value of the charset keyword when outputting HTML from a script.
122 Set to the empty string to suppress the charset keyword. Default:
131 =item cookie_lifetime
133 The expiry time for cookies. This should be in the form supported by
134 CGI.pm for the -expires parameter. Typically you want a plus ('+'), a
135 number, and a time character (s - seconds, m - minutes, h - hours, d -
136 days, M - months). Default: +3h
140 Minimum password length in characters. Default: 4.
144 Device to read random data from. This device should not block when it
149 If this is true then the encrypted messages containing the customer's
150 credit card number are sent to the shop owner signed. To avoid
151 keeping a passphrase and signing key on the server you can set this to
152 false (0). This has the effect that anyone could send you an unsigned
153 message encrypted with your public key, though this may not be a
154 security threat. Default: True.
158 If this is true then the links to your articles within BSE will be
159 followed by a / and then by a simplified version of the article title.
160 The aim is to include at least some title information in the URL
161 without modifying the name of the HTML file. Default: False.
165 If this is true then the user/group/permissions database is used to
166 control access to the system. Default: False.
170 This should be the path to a file to be updated with the list of users
171 and crypt() versions of their passwords. If this is set then the
172 security system will check for a user set by the browser before
173 attempting a form based logon. Default: None.
179 This section controls how BSE sends email.
185 The host or IP address of your mail server. If this is not set
186 C<sendmail> will be used instead. If this is set you must also set
191 The name that BSE uses to identify itself when sending mail via SMTP.
192 Required if I<smtp_server> is set.
196 The path to the C<sendmail> binary. Default: /usr/lib/sendmail
200 The options supplied to sendmail. Default: -t -oi
202 You may want to add the -odq option to this if you want mail queued
203 rather than sent immediately.
207 =head2 [children of I<id>]
209 Where I<id> is the identifier for an article.
215 the name of the default template for children of the given parent
219 a comma-separated list of extra directories under $TMPLDIR to search
220 for templates that can be used for children of the given parent article.
224 =head2 [article I<id>]
226 Where I<id> is the identifier of an article.
232 A comma-separated list of extra directories under $TMPLDIR to search
233 for templates that can be used for children of the given parent
236 =item extra_templates
238 A comma-separated list of extra templates under $TMPLDIR that can be
239 used for the given article.
243 =head2 [level I<level>]
249 The default template for this level of article, assuming it hasn't
250 been set in the [children of I<article id>] section.
254 A comma-separated list of extra directories under $TMPLDIR to search
255 for templates that can be used for articles at the given I<level>.
265 The default template for catalogs.
275 The default template for products.
281 This can be used to control translation of error messages. Each key
282 has a prefix identifying the module that uses the error, followed by
283 '/' followed by a specific identifier for the message.
285 Message parameters, expressed as $I<digit>, are replaced with the
286 parameters passed to the message. C<$$> is replaced with C<$>.
288 Each message identifier below is documented with the id, when it
289 occurs, the default message, and any parameters.
295 the user attempted to logon without entering a logon name. Default:
296 "Please enter a logon name". No parameters.
300 the user attempted to logon without entering a password. Default:
301 "Please enter your password." No parameters.
303 =item user/baduserpass
305 the user's logon name or password was not found or did not match.
306 Default: "Invalid user or password". No parameters.
308 =item user/notloggedon
310 the user attempted to logoff while not logged on. Default: "You
311 aren't logged on". No parameters.
313 =item user/optsoldpass
315 the user entered a new password on the options page without entering
316 their old password. Default: "You need to enter your old password to
317 change your password". No parameters.
327 if non-zero, the order must be marked as paid for before the file can
332 if non-zero the order must be marked as filled before the files can be
337 if non-zero the user must be registered/logged on to download I<any>
342 =head2 [confirmations]
344 Control over confirmation emails.
350 The subject of email confirmation emails. Default: Subcription
355 The from field for the email. Default: $SHOP_FROM
359 =head2 [subscriptions]
361 Control over subscription messages.
367 The from field for the email. Default: $SHOP_FROM.
375 =item highlight_partial
377 If this is true then partial matches will be highlight in search
378 result excerpts. Default: True
386 =item register_if_files
388 If true the customer is required to register before checkout if there
389 are any for sale files attached to products in the cart. Default: True
393 If true the customer is required to be logged on before checkout,
394 whether or not for sale files are attached to products in the cart.
399 A comma-separated list of acceptable payment types. Default: 0
401 The possible payment types are:
407 0 - the user enters a credit card number, name and expiry date
411 1 - the customer will send a cheque
415 2 - contact customer for details
425 These are used by various shop templates to present an address that a
426 cheque payment should be sent to.
436 The maximum length of the article title field. Default: 255. Should
437 not be set higher than this unless you change the database schema.
443 Controls the interest.pl script.
449 Email address that is notified of the interest. Defaults to $SHOP_FROM.
461 When a user logs on, and the site url is different to the secure url
462 BSE attempts to refresh to the other "side" of the site to set the
465 BSE does some simple comparisons to attempt to determine whether the
466 logon form was triggered on the secure side of the site (possibly from
467 the shop) or on the insecure side. Since CGI doesn't necessarily give
468 us all the information required, it's possible it will guess wrong.
470 Setting this option to 1 will enable debugging information sent to
471 standard error, which will be sent to the error log on Apache. This
472 probably isn't useful on IIS.
476 Reports errors to STDERR (hence to the error log on Apache) if there
477 is a problem deleting the actual file when an attached file is
480 =item mail_encryption
482 Reports debugging information to standard error while encrypting your
489 Contains various URIs.
491 This is underused, so don't rely on it yet.
497 The URI to the CGI directory. Default: /cgi-bin
501 The URI where images are kept. Default: /images
511 This will provide translations from symbolic names to article ids.
513 Currently this is used for converting article ids in the access
514 control code, and for looking up the id of the shop.
518 Tony Cook <tony@develop-help.com>