0.15_28 commit
[bse.git] / site / docs / config.pod
CommitLineData
61551101
TC
1=head1 NAME
2
3config.pod - documents BSE configuration file options
4
5=head1 DESCRIPTION
6
7BSE historically used Constants.pm to keep most configuration
8information. The plan is to make sure any new configuration is kept
9in bse.cfg, and to slowly move most configuration information into
10bse.cfg.
11
12Keeping configuration information in Constants.pm makes it difficult
13to perform upgrades and makes it impossible to use tools such as
14mod_perl, at least if you want more than one site on the machine.
15
16=head1 CONFIGURATION ENTRIES
17
41f10371
TC
18=head2 [site]
19
20Contains URL configuration for the site.
21
22=over
23
24=item url
25
26The normal URL for the non-secure parts of the site.
27
28=item secureurl
29
30The secure URL for the shop, products and other portions of the site
31that should use SSL. This isn't checked to make sure it is https.
32
33=item name
34
35Used as the site "name" in a few places.
36
37=item adminurl
38
39If set, this is used as the base URL for accessing the administrative
40functions of your site.
41
42=item secureadmin
43
44Ignored if C<adminurl> is set.
45
46If this is true then C<secureurl> is used as the base URL for
47accessing the administrative functions of your site, otherwise C<url>
48is used as the base URL. Default: false (C<url>'s value is used)
49
50=back
51
61551101
TC
52=head2 [paths]
53
54Contains various file system paths.
55
56=over
57
58=item downloads
59
60This is where the files uploads with the file wizard are stored. It
61must be writable by the web server user.
62
63=item admin_templates
64
65Directory containing administrative templates. Note: this is not
66completely implemented for now, so assume the default. Default: admin
67directory under $TMPLDIR.
68
69=item templates
70
aefcabcb
TC
71Directory base for most templates.
72
73=item local_templates
74
75Local Directory base for templates. This is searched before the
76templates directory.
61551101 77
ca9aa2bf
TC
78=item images
79
80Where uploaded images are stored. This is not yet completely
81implemented. Default: $IMAGEDIR.
82
331fd099
TC
83=item libraries
84
85Local search path for BSE::Custom, or the class configured by
86C<custom_class> in [basic].
87
3c32512d
TC
88=item siteuser_images
89
90Where uploaded siteuser images are stored. This must be set in the
91config file. The default bse.cfg include an entry to use the current
92values of [paths].downloads
93
efcc5a30
TC
94=item dynamic_cache
95
96Pregenerated dynamic article pages are stored here. This must be
97defined if you site contains any dynamicly generated pages.
98
61551101
TC
99=back
100
101=head2 [extensions]
102
103This section is used by the file wizard to map uploaded file
104extensions to MIME content types. This can be used to extend
105BSE::FileEditor's internal extension map. It cannot override that
106map.
107
108The key for each entry is the extension, without the leading '.'.
109
110eg.
111
112 xls = application/msexcel
113
114=head2 [templates]
115
116Used for translating symbolic template names into full names under the
117template directory.
118
119In each case the default is the name with a C<.tmpl> extension.
120
121=over
122
123=item user/logon
124
125user logon page
126
127=item user/register
128
129user registration page
130
131=back
132
133=head2 [admin templates]
134
135Used for translating the names of administration templates into filenames.
136
137In each case the default is the name with a C<.tmpl> extension.
138
139=over
140
141=item filelist
142
143article file wizard
144
d2730773
TC
145=item catalog
146
147Catalog editor page. Default admin/edit_catalog.tmpl
148
149=item 1
150
151=item 2
152
153=item 3
154
155=item 4
156
157=item 5
158
159Article edit pages. Default admin/edit_<number>.tmpl
160
161=item steps
162
163Step child/parent management page. Default admin/edit_steps.tmpl
164
61551101
TC
165=back
166
167=head2 [html]
168
169Minor html items.
170
171=over
172
173=item charset
174
175The value of the charset keyword when outputting HTML from a script.
176Set to the empty string to suppress the charset keyword. Default:
177iso-8859-1.
178
179=back
180
181=head2 [basic]
182
183=over
184
185=item cookie_lifetime
186
187The expiry time for cookies. This should be in the form supported by
188CGI.pm for the -expires parameter. Typically you want a plus ('+'), a
189number, and a time character (s - seconds, m - minutes, h - hours, d -
190days, M - months). Default: +3h
191
192=item minpassword
193
194Minimum password length in characters. Default: 4.
195
b19047a6
TC
196=item randomdata
197
198Device to read random data from. This device should not block when it
199runs out of entropy.
200
6e3d2da5
TC
201=item sign
202
203If this is true then the encrypted messages containing the customer's
204credit card number are sent to the shop owner signed. To avoid
205keeping a passphrase and signing key on the server you can set this to
206false (0). This has the effect that anyone could send you an unsigned
207message encrypted with your public key, though this may not be a
208security threat. Default: True.
209
ca9aa2bf
TC
210=item link_titles
211
212If this is true then the links to your articles within BSE will be
213followed by a / and then by a simplified version of the article title.
214The aim is to include at least some title information in the URL
215without modifying the name of the HTML file. Default: False.
216
9168c88c
TC
217=item access_control
218
219If this is true then the user/group/permissions database is used to
220control access to the system. Default: False.
221
d49f56a6
TC
222=item server_auth
223
224Set this to non-zero to enable authentication via server
225authentication (usually Basic Authentication.) You should normally
226set this if you set htusers below. Default: 0 (disabled)
227
9168c88c
TC
228=item htusers
229
230This should be the path to a file to be updated with the list of users
231and crypt() versions of their passwords. If this is set then the
232security system will check for a user set by the browser before
233attempting a form based logon. Default: None.
234
331fd099
TC
235=item custom_class
236
237The name of the custom class for your site. This is currently only
238used for article editing customizations. This class should derive
239from BSE::CustomBase. Default: BSE::Custom.
240
efcc5a30
TC
241=item jit_dynamic_regen
242
243If this is true, then pre-generation for dynamic pages will be delayed
244until the page is displayed to a user. Default: off.
245
b19047a6
TC
246=back
247
248=head2 [mail]
249
35c0719f 250This section controls how BSE sends email.
b19047a6
TC
251
252=over
253
254=item smtp_server
255
256The host or IP address of your mail server. If this is not set
257C<sendmail> will be used instead. If this is set you must also set
258I<helo>.
259
260=item helo
261
262The name that BSE uses to identify itself when sending mail via SMTP.
263Required if I<smtp_server> is set.
264
265=item sendmail
266
267The path to the C<sendmail> binary. Default: /usr/lib/sendmail
268
269=item sendmail_opts
270
271The options supplied to sendmail. Default: -t -oi
272
273You may want to add the -odq option to this if you want mail queued
274rather than sent immediately.
275
61551101
TC
276=back
277
ca9aa2bf 278=head2 [children of I<id>]
721cd24c
TC
279
280Where I<id> is the identifier for an article.
281
282=over
283
284=item template
285
286the name of the default template for children of the given parent
287
288=item template_dirs
289
290a comma-separated list of extra directories under $TMPLDIR to search
291for templates that can be used for children of the given parent article.
292
293=back
294
ca9aa2bf
TC
295=head2 [article I<id>]
296
297Where I<id> is the identifier of an article.
298
299=over
300
301=item template_dirs
302
303A comma-separated list of extra directories under $TMPLDIR to search
304for templates that can be used for children of the given parent
305article.
306
307=item extra_templates
308
309A comma-separated list of extra templates under $TMPLDIR that can be
310used for the given article.
311
312=back
313
caa7299c
TC
314=head2 [level I<level>]
315
316=over
317
318=item template
319
320The default template for this level of article, assuming it hasn't
321been set in the [children of I<article id>] section.
322
323=item template_dirs
324
325A comma-separated list of extra directories under $TMPLDIR to search
326for templates that can be used for articles at the given I<level>.
327
328=back
329
330=head2 [catalogs]
331
332=over
333
334=item template
335
336The default template for catalogs.
337
338=back
339
340=head2 [products]
341
342=over
343
344=item template
345
346The default template for products.
347
d64413ee
TC
348=item extra_templates
349
350A comma separated list of extra templates that can be used for
351products.
352
caa7299c
TC
353=back
354
61551101
TC
355=head2 [messages]
356
357This can be used to control translation of error messages. Each key
358has a prefix identifying the module that uses the error, followed by
359'/' followed by a specific identifier for the message.
360
361Message parameters, expressed as $I<digit>, are replaced with the
362parameters passed to the message. C<$$> is replaced with C<$>.
363
364Each message identifier below is documented with the id, when it
365occurs, the default message, and any parameters.
366
367=over
368
369=item user/needlogon
370
371the user attempted to logon without entering a logon name. Default:
372"Please enter a logon name". No parameters.
373
374=item user/needpass
375
376the user attempted to logon without entering a password. Default:
377"Please enter your password." No parameters.
378
379=item user/baduserpass
380
381the user's logon name or password was not found or did not match.
382Default: "Invalid user or password". No parameters.
383
384=item user/notloggedon
385
386the user attempted to logoff while not logged on. Default: "You
387aren't logged on". No parameters.
388
389=item user/optsoldpass
390
391the user entered a new password on the options page without entering
392their old password. Default: "You need to enter your old password to
393change your password". No parameters.
394
395=back
396
2404a911
TC
397=head2 [downloads]
398
399=over
400
401=item must_be_paid
402
403if non-zero, the order must be marked as paid for before the file can
404be downloaded.
405
406=item must_be_filled
407
408if non-zero the order must be marked as filled before the files can be
409downloaded.
410
4afdbb1b
TC
411=item require_logon
412
413if non-zero the user must be registered/logged on to download I<any>
414file.
415
2404a911
TC
416=back
417
b19047a6
TC
418=head2 [confirmations]
419
420Control over confirmation emails.
421
422=over
423
424=item subject
425
426The subject of email confirmation emails. Default: Subcription
427Confirmation.
428
429=item from
430
431The from field for the email. Default: $SHOP_FROM
432
433=back
434
531fb3bc
TC
435=head2 [subscriptions]
436
437Control over subscription messages.
438
439=over
440
441=item from
442
443The from field for the email. Default: $SHOP_FROM.
444
d09682dd
TC
445=item testname
446
447Default for the "Test Name" field for sending test subscription
448messages.
449
450=item testemail
451
452Default for the "Test Email" field for sending test subscription
453messages.
454
455=item testtextonly
456
457Set to 1 if you want the "Test Text Only" box checked by default for
458sending test subscription messages.
459
460=item testing
461
462Set to 0 to disable display of the test subscription messages portions
463of the subscriptions send form.
464
99b7cef0
TC
465=item text_link_inline
466
467Set to format links as they appear in the text version of emails.
468C<$1> is replaced with the title, C<$2> with the URL and C<$3> with
469the index. C<$$> is replaced with '$'. Default: C<$1 [$3]>
470
471=item text_link_list
472
473Set to format links as they appear at the footer of the body text. If
474this is set to the empty string then no list appears. C<$1>, C<$2>,
475C<$3>, C<$$> are replaced as for I<text_link_inline> and $n is
476replaced with newline. Default: C<[$3] $2>
477
478=item text_link_list_prefix
479
480A line of text produced above the list of URLs if there is one.
481Default: C<----->. $n in this is replaced with newlines.
482
531fb3bc
TC
483=back
484
99b7cef0
TC
485For example, if the configuration is:
486
487 text_link_inline="$1" ($3)
488 text_link_list_prefix=$n$n-------
489 text_link_list=($3) "$1"$n => $2
490
491and the body text is:
492
493 doclink[3]
494 link[http://www.example.com/|Example]
495
496the result will be:
497
498 "The Shop" (1)
499 "Example" (2)
500
501
502 -------
503 (1) "The Shop"
504 => http://www.yoursite.com/shop/index.html
505 (2) "Example"
506 => http://www.example.com/
507
6e3d2da5
TC
508=head2 [search]
509
510=over
511
512=item highlight_partial
513
514If this is true then partial matches will be highlight in search
515result excerpts. Default: True
516
517=back
518
519=head2 [shop]
520
521=over
522
7b81711b
TC
523=item enabled
524
525Used by some templates to check if the shop is enabled. Set this to 1
526to enable the shop, or 0 to disable it.
527
57d988af
TC
528=item secureurl_articles
529
530If this is false then shop articles will not use the secureurl as their
531baseurl. Default: True
532
6e3d2da5
TC
533=item register_if_files
534
535If true the customer is required to register before checkout if there
536are any for sale files attached to products in the cart. Default: True
537
538=item require_logon
539
540If true the customer is required to be logged on before checkout,
541whether or not for sale files are attached to products in the cart.
542Default: False.
543
08123550
TC
544=item payment_types
545
546A comma-separated list of acceptable payment types. Default: 0
547
548The possible payment types are:
549
550=over
551
552=item *
553
5540 - the user enters a credit card number, name and expiry date
555
556=item *
557
5581 - the customer will send a cheque
559
560=item *
561
5622 - contact customer for details
563
564=back
565
81f3292d
TC
566Other types can be added by adding entries to the [payment type names]
567and [payment type descs] sections.
568
08123550
TC
569=item address1
570
571=item address2
572
573=item address3
574
575These are used by various shop templates to present an address that a
576cheque payment should be sent to.
577
331fd099
TC
578=item from
579
580From email address for emails sent by the shop. Overides $SHOP_FROM
581in Constants.pm
582
583=item to_name
584
585To name for emailed orders sent by the shop. Overrides $SHOP_TO_NAME
586in Constants.pm
587
588=item to_email
589
590To email for emailed orders sent by the shop. Overrides $SHOP_TO_EMAIL
591in Constants.pm
592
d09682dd
TC
593=item noencrypt
594
595If this is true then orders sent to you by the shop will not be
596encrypted. Enabling this disabled acceptance of credit card orders,
597and the default for C<payment_types> will become C<1> instead or C<0>.
598
599Please realize that other potentially commercially sensitive
600information is being sent in the clear to a central location,
601unencrypted.
602
603=item email_order
604
605If true, then the order is email to to_email, possibly with credit
606card information included. Default: $SHOP_EMAIL_ORDER.
607
d49f56a6
TC
608=item display_I<field>
609
610Used to translate the stored order field name into a presentation name
611suitable for error messages.
612
41e7c841
TC
613=item cardprocessor
614
615The name of a class to load to process credit card transactions online.
616
617Currently this can be either DevHelp::Payments::Test or
618DevHelp::Payments::Inpho.
619
6e3d2da5
TC
620=back
621
41e7c841
TC
622=head2 [Shop Order Validation]
623
624This section can contain extra order validation information, including
625specifying required fields, display names and extra validation rules.
626
6e3d2da5
TC
627=head2 [fields]
628
629=over
630
631=item title_size
632
633The maximum length of the article title field. Default: 255. Should
634not be set higher than this unless you change the database schema.
635
636=back
637
ee6577c3
TC
638=head2 [interest]
639
640Controls the interest.pl script.
641
642=over
643
644=item notify
645
646Email address that is notified of the interest. Defaults to $SHOP_FROM.
647
ca9aa2bf 648=back
ee6577c3 649
6e3d2da5
TC
650=head2 [debug]
651
652Used for debugging.
653
654=over
655
656=item logon_cookies
657
658When a user logs on, and the site url is different to the secure url
659BSE attempts to refresh to the other "side" of the site to set the
660same cookie.
661
662BSE does some simple comparisons to attempt to determine whether the
663logon form was triggered on the secure side of the site (possibly from
664the shop) or on the insecure side. Since CGI doesn't necessarily give
665us all the information required, it's possible it will guess wrong.
666
d2730773
TC
667Setting this option to 1 will enable debugging information sent to
668standard error, which will be sent to the error log on Apache. This
669probably isn't useful on IIS.
670
671=item file_unlink
672
673Reports errors to STDERR (hence to the error log on Apache) if there
674is a problem deleting the actual file when an attached file is
675removed.
676
677=item mail_encryption
678
679Reports debugging information to standard error while encrypting your
680mail.
6e3d2da5 681
2d873eb6
TC
682=item cookies
683
684Reports cookies received from the browser and sent to the browser to
685STDERR (hence to the error log on Apache.)
686
4175638b
TC
687=item dump_session
688
689If nonzero the session hash is dumped to STDERR after it is retrived
690from the database.
691
af74f0b4
TC
692=item subscription_expiry
693
694If non-zero then subscription expiry date calculations are dumped to
695STDERR.
696
efcc5a30
TC
697=item jit_dynamic_regen
698
699If non-zero then information about jit_dynamic_regen is sent to
700STDERR.
701
ca9aa2bf
TC
702=back
703
704=head2 [uri]
705
706Contains various URIs.
707
708This is underused, so don't rely on it yet.
709
710=over
711
712=item cgi
713
714The URI to the CGI directory. Default: /cgi-bin
715
716=item images
717
718The URI where images are kept. Default: /images
719
720=item shop
721
722=item articles
723
9168c88c 724=back
ca9aa2bf 725
9168c88c 726=head2 [articles]
ca9aa2bf 727
9168c88c
TC
728This will provide translations from symbolic names to article ids.
729
730Currently this is used for converting article ids in the access
731control code, and for looking up the id of the shop.
6e3d2da5 732
0b406a07
TC
733=head2 [printable type]
734
735If the user supplies a template name to printable.pl then you can use
736a different content type by adding an entry to this section. The key
737is the template name, and the value is the full content type.
738
918735d1
TC
739=head2 [search index scores]
740
741This section is used when generating the search index to override the
742default scores for each field in the articles.
743
744The default scores are:
745
746 Field Score
747 ----- -----
748 title 5
749 body 3
750 keyword 4
751
752A special key C<file_description> can be used here to set the score
753for indexing downloadable file descriptions, which aren't indexed by
754default. A good value is probably 2 or 1.
755
756=head2 [article flags]
757
758=head2 [product flags]
759
760=head2 [catalog flags]
761
762Flags that can be set for articles, products and catalogs
763respectively. Note that flags for articles are also visible in
764products and catalogs.
765
766All flag Ids are single letters or digits. Uppercase letters are
767reserved for use by BSE internally, leaving lower-case letters and
768digits for your own use.
769
770Use the id of the flag as the key, and a description of the flag as
771it's value.
772
95989433
TC
773=head2 [article uris]
774
775Each key is an article id, the values are base URIs to store the HTML
776form of those articles and their children under.
777
778=head2 [protect link]
779
780The keys are ids of articles that shouldn't have their link field
781overwritten. The value should be a true value, but is otherwise
782ignored.
783
d09682dd
TC
784=head2 [datadump]
785
786=over
787
788=item to
789
790The recipient for the data dump email sent by datadump.pl. Default:
791$DATA_EMAIL.
792
793=item from
794
795the From for the data dump email sent by datadump.pl. Default:
796$SHOP_FROM.
797
798=back
799
2a295ea9
TC
800=head2 [site users]
801
802Configuration for site users.
803
804=over
805
806=item nopassword
807
808If this is set to true then no passwords are required during
809registration, a confirmation email is sent immediately upon
810registration and that confirmation email contains a link the user can
811use to manage their details.
812
813This option has some security concerns since it can leave links to the
814user's information in the browser history. This option is not
815recommended.
816
817You cannot use this to control access to the shop.
818
819=item require_name1
820
821=item require_name2
822
823=item require_address
824
825=item require_city
826
827=item require_state
828
829=item require_postcode
830
831=item require_telephone
832
833=item require_facsimile
834
835=item require_country
836
837=item require_title
838
839=item require_organization
840
841Set these to true to require the corresponding field during
842registration, and to keep it required after modification. Default:
843false.
844
845If you enable any of these, you should enable C<info_on_register> as
846well, or modify the registration template to include the given fields.
847
848=item display_I<field name>
849
850Controls how the given field is displayed in error messages. If you
851change the field names on the registration and/or options forms you
852should probably change them here too. Default: internal field name
853with the first character converted to upper-case.
854
855=item info_on_register
856
857If this is set then the user info is prompted for during user
858registration. The information still isn't required unless the
859appropriate require_I<field> option is set. Default: false.
860
861=item register_refresh
862
863The default URL to refresh to on completing registration if no r
864parameter is supplied.
865
866=item subscribe_all
867
868If this is set then the subcription checkboxes are all checked on
869registration by default. Default: false.
870
871The user will only receive the subscriptions if they leave them checked
872and follow the link in the confirmation email.
873
874=item subscribe_I<id>
875
876Where I<id> is the number identifying a subscription. If this is set
877then the subscription checkbox for that subscription will be checked
878by default on the registration form. Default: false.
879
880The user will only receive the subscriptions if they leave it checked
881and follow the link in the confirmation email.
882
883You can get the I<id> of a subcription by looking at the Edit link on the
884subscriptions management page, the number after "id=" is the id.
885
9063386f
TC
886=item billing_on_main_opts
887
888If set to zero then user billing options will be managed on a separate
889page. This is controlled by the user/options_base.tmpl template.
890
891=item user_register
892
893If set to zero then users cannot register themselves. Default: true,
894allowing users to register themselves.
895
2a295ea9
TC
896=back
897
81f3292d
TC
898=head2 [payment type names]
899
900This section and [payment type descs] are used to configure new
901paymeny type ids.
902
903The key is the integer representing the payment type. The value is
904the name used in tags for checking the payment type.
905
906You can also add a description (currently unused) to [payment type
907descs].
908
909You should use numbers starting from 10 to avoid conflicts with future
910BSE payment types.
911
912=head2 [payment type descs]
913
914See [payment type names].
915
916=head2 [payment type required]
917
918Set the key given by the payment type id to a value of a
919comma-separated list of fields required for that payment type.
920
3ae524f3
TC
921=head2 [help style I<style-name>]
922
923This type of configuration section is used to set values for a style
924of help icon. Only the C<template> and C<prefix> values are used
925directly by the code, the others are used by the default helpicon
926templates.
927
928=over
929
930=item prefix
931
932The URI to the help files for this style. Default: /help/ in style
933"user", /admin/help/ in style "admin".
934
935=item template
936
937The template used to produce the icon. Default: helpicon in style
938user, admin/helpicon in style "admin".
939
940=item icon
941
942URI to the help icon image. Default: /images/admin/help.gif
943
944=item iconwidth
945
946The width of the help icon image. Default: 16
947
948=item iconheight
949
950The height of the help icon image. Default: 16
951
952=back
953
954If you just want to change the help icon image for user help icons you
955might do:
956
957 [help style user]
958 icon=/images/help.gif
959
4175638b
TC
960=head2 [affiliate]
961
962=over
963
964=item allowed_referer
965
966A semi-colon (;) separated list of referer domains that are allowed to
967link to the C<a_set> target of L<affiliate.pl>.
968
969If the user's browser supplies a referer header then it will be
970checked against this list.
971
972=item require_referer
973
974If this is set then the C<a_set> target of L<affiliate.pl> will
975require that the user's browser supply a Referer header.
976
977=item default_refresh
978
979If no C<r> parameter is supplied to the C<a_set> target of
980L<affiliate.pl> then this is used as the default refresh.
981
982Default: the site base url.
983
829c9ed9
TC
984=item subscription_required
985
986This is either the numeric or text of a subscription for which the
987affiliate must have an active subscription.
988
fdc2b7a2
TC
989=item flag_required
990
991A single letter flag which the site administrator must set for the
992affiliate page to be displayed for the given member.
993
ea646070
TC
994=item set_cookie
995
996If this is set then affiliate.pl will set the named cookie to the
997affiliate id.
998
999=item linkbaseurl
1000
1001Used as the link base URL for the afflink.tmpl side bar template when
1002an affiliate id is set. Default: example.com
1003
1004=item linkbasedesc
1005
1006Used at the text of the link for the afflink.tmpl side bar template
1007when an affiliate id is set. Default: Your Site.
1008
1009=item linkdefurl
1010
1011Used as the link URL for the afflink.tmpl side bar template when an
1012affiliate id is not set. Default: example.com
1013
1014=item linkdefdesc
1015
1016Used as the text of the link for the afflink.tmpl side bar template
1017when an affiliate id is not set. Default: Our site
1018
4175638b
TC
1019=back
1020
3c32512d
TC
1021=head2 [BSE Siteuser Images]
1022
1023Each key is the id of a member image, with a corresponding [BSE
1024Siteuser Image I<image_id>] section. The values are ignored.
1025
1026=head2 [BSE Siteuser Image I<image_id>]
1027
1028Provides information about a single member image "template".
1029
1030=over
1031
1032=item description
1033
1034Short description on the image, like "Logo". Used in error messages.
1035
1036=item help
1037
1038Longer description of the image. Accessible with the member_image tag.
1039
1040=item minwidth
1041
1042=item minheight
1043
1044=item maxwidth
1045
1046=item maxheight
1047
1048The minimum and maximum dimensions of the image.
1049
1050=item widthsmallerror
1051
1052=item heightsmallerror
1053
1054=item widthlargeerror
1055
1056=item heightlargeerror
1057
1058Error messages displayed in the when the image is outside the
1059configured dimensions.
1060
1061=item largeerror
1062
1063=item smallerror
1064
1065Default error messages for the above.
1066
1067=item maxspace
1068
1069Maximum storage the image can use in bytes. Default: 1000000.
1070
1071=item spaceerror
1072
1073Error message displayed if the image uses too much storage.
1074
1075=back
1076
ab2cd916
TC
1077=head2 [editor]
1078
1079Various editor settings.
1080
1081=over
1082
1083=item allow_thumb
1084
1085If this is non-zero the system will attempt to load the configured
1086thumbnail class, and put thumbnail images on the image manager page
1087rather than full-size images. Default: off
1088
1089=item thumbs_class
1090
1091The name of a perl class that implement's BSE's thumbnail API. At
1092this point the only class that implements that is BSE::Thumb::Imager,
1093supplied with BSE. Default: None
1094
1095=item default_thumbnail
1096
1097URI to the default thumbnail image. This is presented when the
1098runtime production of a thumbnail image fails.
1099
1100=item default_thumbnail_width
1101
1102=item default_thumbnail_height
1103
1104Dimensions of the default thumbnail image.
1105
1106=item default_thumbnail_alt
1107
1108Alt text for the default thumbnail image.
1109
1761af79
TC
1110=item check_modified
1111
1112If this is true then BSE will check the value of the lastModified
1113parameter passed against the value in the article. If these don't
1114match the article isn't saved and is redisplayed with an error
1115message. This provides simple protection against one user saving
1116changes over those made by another.
1117
ab2cd916
TC
1118=back
1119
1120=head2 [thumbnails]
1121
1122=over
1123
1124=item max_width
1125
1126=item max_height
1127
1128=item max_pixels
1129
1130Default values for the thumbimage tag.
1131
1132=back
1133
829c9ed9
TC
1134=head2 [includes]
1135
1136Each value is used as the relative or absolute name of a file or
1137directory to load more configuration data from.
1138
1139The keywords must remain unique.
1140
1141Only the [includes] section from bse.cfg itself is used to locate more
1142configuration data.
1143
1144If the value references a directory, all files with an extension of
1145C<.cfg> are read for configuration data.
1146
1147The order the files are read (which later files overriding older
1148files) is:
1149
1150=over
1151
1152=item 1.
1153
1154bse.cfg is read
1155
1156=item 2.
1157
1158the entries in [includes] are sorted alphabetically (or rather
1159asciily), so an entry with key "A" is read before one with key "B",
1160one with key "01" is read before "02", but key "10" would be read
1161I<before> key "2".
1162
1163=item *
1164
1165if an entry is a file then that is read and the values merged.
1166
1167=item *
1168
1169if an entry is a directory, then that is scanned and the files found
1170read alphabetically as above.
1171
1172=back
1173
6a8a6ac5
TC
1174=head2 [error_img]
1175
1176This is used to configure the error icon displayed next to fields that
1177fail validation.
1178
1179=over
1180
1181=item image
1182
1183URI to the image file.
1184
1185=item width
1186
1187=item height
1188
1189The width and height of the error icon image.
1190
1191=back
1192
fdc2b7a2
TC
1193=head2 [site user flags]
1194
1195Flags that can be set for site users.
1196
1197All flag Ids are single letters or digits. Uppercase letters are
1198reserved for use by BSE internally, leaving lower-case letters and
1199digits for your own use.
1200
1201Use the id of the flag as the key, and a description of the flag as
1202it's value.
1203
deae2a52
TC
1204=head2 [article defaults]
1205
1206=head2 [catalog defaults]
1207
1208=head2 [product defaults]
1209
1210These sections contain defaults values for the corresponding article
1211types.
1212
1213Each key is the name of a column for the article type.
1214
1215If an entry is not found in [catalog defaults] then [article defaults]
1216is also checked.
1217
1218If an entry is not found in [product defaults] then [article defaults]
1219is also checked.
1220
1221These sections are checked B<after> the C<[children of >I<id>C<]> and
1222C<[level >I<level>C<]> sections.
1223
1224These defaults are used when creating an article where no value is
1225supplied, they can also be accessed via the <:default I<name>:> tag.
1226
1c3e5303
TC
1227=head2 [newsletter filters]
1228
1229Contains C<criteria>I<index> entries starting from C<criteria1>, then
1230C<criteria2>, etc.
1231
1232Each entry consists of a filter class name, followed by a ; followed
1233by data passed to that filter.
1234
1235 ; user the original SQL based filter, configured from
1236 ; section [foo]
1237 criteria1=BSE::NLFilter::SQL;foo
1238
1239See the documentation for each filter to configure the filters.
1240
c2096d67
TC
1241=head2 [Query Groups]
1242
1243The key of each entry is the numeric identifier of a query group, the
1244values are the name of the query group. For example:
1245
1246 [query groups]
1247 1=some name
1248
1249 [query group some name]
1250 sql=select id from site_users where id = ? and name1 like '%some%'
1251
1252Each entry also has a corresponding [Query Group I<name>] section.
1253
1254=head2 [query group I<name>]
1255
1256This section corresponds to an entry in [Query Groups].
1257
1258=over
1259
1260=item sql
1261
1262This is an SQL statement. One placeholder is required and is passed
1263the siteuser id (primary key) of the user to be checked. If this
1264query returns I<any> rows then the user is considered part of the
1265group.
1266
1267=back
1268
16901a2a
TC
1269=head2 [template types]
1270
1271Each key is a template name, the value is the content type to be used
1272when displaying the template dynamically.
1273
41e7c841
TC
1274=head2 [inpho]
1275
1276This is used to configure the DevHelp::Payments::Inpho module.
1277
1278=over
1279
1280=item test
1281
1282If this is set then the test parameters are used instead of the
1283product values.
1284
1285=item url
1286
1287The URL to process requests through.
1288
1289Default: https://extranet.inpho.com.au/cc_ssl/process
1290
1291=item user
1292
1293Inpho supplied user name.
1294
1295=item password
1296
1297Inpho supplied password.
1298
1299=item test_url
1300
1301The URL to process test requests through.
1302
1303=item test_user
1304
1305The user to supply to test requests.
1306
1307=item test_password
1308
1309The password to supply to test requests.
1310
1311=back
1312
61551101
TC
1313=head1 AUTHOR
1314
1315Tony Cook <tony@develop-help.com>
1316
1317=cut