include context from the _context parameter in JSON responses
[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
c5f849c7
TC
50=item forward_from
51
52Configure the IP address of one or more front-end proxies. This can
53be a regular expression except that C<.> is translated to C<\.> and
54C<*> is tranlated to C<.*> to give more glob() like matching.
55
56If the reqesting host matches then admin site URL matching is done
57against HTTP_X_FORWARDED_SERVER instead of SERVER_NAME.
58
59Default: no front-end server configured.
60
41f10371
TC
61=back
62
61551101
TC
63=head2 [paths]
64
65Contains various file system paths.
66
67=over
68
69=item downloads
70
71This is where the files uploads with the file wizard are stored. It
72must be writable by the web server user.
73
74=item admin_templates
75
76Directory containing administrative templates. Note: this is not
77completely implemented for now, so assume the default. Default: admin
78directory under $TMPLDIR.
79
80=item templates
81
02d87eea
TC
82Directory base for most templates. This can contain references like
83$(section/key) to other configuration entries. Split on the systems
84PATH separators (run: perl -V:path_sep)
aefcabcb
TC
85
86=item local_templates
87
88Local Directory base for templates. This is searched before the
02d87eea
TC
89templates directory. This can contain references like $(section/key)
90to other configuration entries. Split on the system's PATH separator.
61551101 91
ca9aa2bf
TC
92=item images
93
94Where uploaded images are stored. This is not yet completely
95implemented. Default: $IMAGEDIR.
96
331fd099
TC
97=item libraries
98
99Local search path for BSE::Custom, or the class configured by
100C<custom_class> in [basic].
101
3c32512d
TC
102=item siteuser_images
103
104Where uploaded siteuser images are stored. This must be set in the
105config file. The default bse.cfg include an entry to use the current
106values of [paths].downloads
107
efcc5a30
TC
108=item dynamic_cache
109
110Pregenerated dynamic article pages are stored here. This must be
111defined if you site contains any dynamicly generated pages.
112
195977cd
TC
113=item scalecache
114
115The directory where cached versions of scaled thumbnails are stored.
116Defaults to image_dir/scaled. This must be in the document tree. If
117you set this you should also set scalecacheurl.
118
119=item scalecacheurl
120
121The URL to the directory represented by scalecache. Defaults to
122/images/scaled.
123
61551101
TC
124=back
125
126=head2 [extensions]
127
128This section is used by the file wizard to map uploaded file
129extensions to MIME content types. This can be used to extend
130BSE::FileEditor's internal extension map. It cannot override that
131map.
132
133The key for each entry is the extension, without the leading '.'.
134
135eg.
136
137 xls = application/msexcel
138
139=head2 [templates]
140
141Used for translating symbolic template names into full names under the
142template directory.
143
144In each case the default is the name with a C<.tmpl> extension.
145
146=over
147
148=item user/logon
149
150user logon page
151
152=item user/register
153
154user registration page
155
156=back
157
158=head2 [admin templates]
159
160Used for translating the names of administration templates into filenames.
161
162In each case the default is the name with a C<.tmpl> extension.
163
164=over
165
166=item filelist
167
168article file wizard
169
d2730773
TC
170=item catalog
171
172Catalog editor page. Default admin/edit_catalog.tmpl
173
174=item 1
175
176=item 2
177
178=item 3
179
180=item 4
181
182=item 5
183
184Article edit pages. Default admin/edit_<number>.tmpl
185
186=item steps
187
188Step child/parent management page. Default admin/edit_steps.tmpl
189
61551101
TC
190=back
191
192=head2 [html]
193
194Minor html items.
195
196=over
197
198=item charset
199
200The value of the charset keyword when outputting HTML from a script.
201Set to the empty string to suppress the charset keyword. Default:
202iso-8859-1.
203
5af99440
TC
204=item redirect_links
205
206If this is a non-zero number, then all but mailto links are redirected
207to C<nuser.pl/redirect> so you can display a diclaimer. If this
208contained alphabetics it's treated as a comma separated list of url
209schemes that should be handled via C<nuser.pl/redirect>. If 0 or not
210present, no redirection is done.
211
212The redirect URL includes a hash of the url, title and the redirect
213salt to prevent using this mechanism by external sites for cookie
214stealing attacks.
215
216=item redirect_salt
217
218The salt used in generating the has for redirect_links. Default: an
219empty string.
220
61551101
TC
221=back
222
223=head2 [basic]
224
225=over
226
227=item cookie_lifetime
228
229The expiry time for cookies. This should be in the form supported by
230CGI.pm for the -expires parameter. Typically you want a plus ('+'), a
231number, and a time character (s - seconds, m - minutes, h - hours, d -
232days, M - months). Default: +3h
233
a8ddb0f3
TC
234=item cookie_domain
235
236This overrides the domain value set for cookies. This is useful if
237you allow the site to run under both example.com and www.example.com,
238if you set cookie_domain to example.com then a user visiting
239www.example.com will still have their cookies when they visit
240example.com.
241
3c8b9c2c
TC
242=item cookie_name
243
244This overrides the cookie name used to store the session id. Default:
245sessionid. This is useful when you have 2 sites under the same
246top-level domain, and helps disambiguate the cookie returned by the
247browser.
248
61551101
TC
249=item minpassword
250
251Minimum password length in characters. Default: 4.
252
b19047a6
TC
253=item randomdata
254
255Device to read random data from. This device should not block when it
256runs out of entropy.
257
6e3d2da5
TC
258=item sign
259
260If this is true then the encrypted messages containing the customer's
261credit card number are sent to the shop owner signed. To avoid
262keeping a passphrase and signing key on the server you can set this to
263false (0). This has the effect that anyone could send you an unsigned
264message encrypted with your public key, though this may not be a
265security threat. Default: True.
266
ca9aa2bf
TC
267=item link_titles
268
269If this is true then the links to your articles within BSE will be
270followed by a / and then by a simplified version of the article title.
271The aim is to include at least some title information in the URL
272without modifying the name of the HTML file. Default: False.
273
9168c88c
TC
274=item access_control
275
276If this is true then the user/group/permissions database is used to
277control access to the system. Default: False.
278
147e99e8
TC
279=item access_filter_steps
280
281If this is true, then the drop-down lists of possible stepparents and
282stepchildren on the article edit pages are filtered for access control.
283Default: False.
284
444957b9
TC
285=item access_filter_parents
286
287If this is true, then the drop-down lists of possible parents on the
288newsletter edit pages are filtered for access control.
289Default: False.
290
d49f56a6
TC
291=item server_auth
292
293Set this to non-zero to enable authentication via server
294authentication (usually Basic Authentication.) You should normally
295set this if you set htusers below. Default: 0 (disabled)
296
9168c88c
TC
297=item htusers
298
299This should be the path to a file to be updated with the list of users
300and crypt() versions of their passwords. If this is set then the
301security system will check for a user set by the browser before
302attempting a form based logon. Default: None.
303
331fd099
TC
304=item custom_class
305
306The name of the custom class for your site. This is currently only
307used for article editing customizations. This class should derive
308from BSE::CustomBase. Default: BSE::Custom.
309
671a9877 310=item jit_dynamic_pregen
efcc5a30
TC
311
312If this is true, then pre-generation for dynamic pages will be delayed
313until the page is displayed to a user. Default: off.
314
74b21f6d
TC
315=item staticajax
316
317If true, the ifAjax and ajax tags will be active for static pages.
318
195977cd
TC
319=item cache_thumbnails
320
321If set to zero the results of the thumbimage/gthumbimage body/template
322tags will not be cached. Default: 1 (caching is enabled).
323
b902f9de
TC
324=item static_thumbnails
325
326If true and cache_thumbnails is true then thumbnails for the thumbnail
327cache will be generated when a static page is regenerated, and the
328link from the page will link to the image in the cache rather than to
329C<thumb.pl>. Default: 1 (static thumbnails enabled).
330
73e6b73a
TC
331=item alias_prefix
332
333The prefix applied to articles that use a linkAlias url. This should
334start with a /.
335
336=item use_alias
337
338If this is non-zero then an article with linkAlias set will use an
339alias url instead of the "real" url. You will need to configure a
340RewriteRule or ErrorDocument to page.pl to direct the user to the
341correct URL. Default: 1.
342
343=item alias_suffix
344
345If this is non-zero then the title is cleaned up (all but
346alphanumerics removed) and appended to the alias URL generated.
347
8a153d74
TC
348=item default_popupimage
349
350This is the default popup image class for the popimage[] and
351gpopimage[] tags. Default: popup.
352
bf909925
TC
353=item warn_obsolete
354
355Some obsolete tags will warn to stderr if this is non-zero. Default:
356don't warn.
357
3f36e485
TC
358=item no_cache_dynamic
359
360If non-zero, the default, dynamic responses will include a
361C<Cache-Control: no-cache> header. This can be overridden for
362articles via , article flags, C<[template >
363I<templatename>C<].no_cache_dynamic> and [article].no_cache_dynamic.
364Default: 1.
365
80f59f40
TC
366=item redir_to_alias
367
368If true then page.pl will 301 redirect (Moved Permanently) requests
369for an article by its id to the generated link if the article has a
370link alias. Default: false. Must only be used with use_alias true.
371
4cf6a60c
TC
372=item track_uploads
373
374If this is non-zero, and a cache is configured (see [cache]), file
375uploads are tracked in entries in the cache.
376
377The fileprogress.pl script can be called by Ajax to display file
378upload progress information to the user. The upload state is updated
379a maximum of once a second.
380
b19047a6
TC
381=back
382
383=head2 [mail]
384
35c0719f 385This section controls how BSE sends email.
b19047a6
TC
386
387=over
388
389=item smtp_server
390
391The host or IP address of your mail server. If this is not set
392C<sendmail> will be used instead. If this is set you must also set
393I<helo>.
394
395=item helo
396
397The name that BSE uses to identify itself when sending mail via SMTP.
398Required if I<smtp_server> is set.
399
400=item sendmail
401
402The path to the C<sendmail> binary. Default: /usr/lib/sendmail
403
404=item sendmail_opts
405
406The options supplied to sendmail. Default: -t -oi
407
408You may want to add the -odq option to this if you want mail queued
409rather than sent immediately.
410
67b69296
TC
411=item set_errors_to_from
412
413If true, we add an Errors-To header set to the same as the From
414header. Default: true.
415
0c2e7f7a
TC
416=item html_system_email
417
418If non-zero then emails sent via the compose mail system that aren't
419being sent to a member record, will be sent as HTML, if the HTML
420template is available.
421
61551101
TC
422=back
423
ca9aa2bf 424=head2 [children of I<id>]
721cd24c
TC
425
426Where I<id> is the identifier for an article.
427
428=over
429
430=item template
431
432the name of the default template for children of the given parent
433
434=item template_dirs
435
436a comma-separated list of extra directories under $TMPLDIR to search
437for templates that can be used for children of the given parent article.
438
439=back
440
ca9aa2bf
TC
441=head2 [article I<id>]
442
443Where I<id> is the identifier of an article.
444
445=over
446
447=item template_dirs
448
449A comma-separated list of extra directories under $TMPLDIR to search
450for templates that can be used for children of the given parent
451article.
452
453=item extra_templates
454
455A comma-separated list of extra templates under $TMPLDIR that can be
456used for the given article.
457
458=back
459
caa7299c
TC
460=head2 [level I<level>]
461
462=over
463
464=item template
465
466The default template for this level of article, assuming it hasn't
467been set in the [children of I<article id>] section.
468
469=item template_dirs
470
471A comma-separated list of extra directories under $TMPLDIR to search
472for templates that can be used for articles at the given I<level>.
473
474=back
475
476=head2 [catalogs]
477
478=over
479
480=item template
481
482The default template for catalogs.
483
484=back
485
486=head2 [products]
487
488=over
489
490=item template
491
492The default template for products.
493
d64413ee
TC
494=item extra_templates
495
496A comma separated list of extra templates that can be used for
497products.
498
caa7299c
TC
499=back
500
61551101
TC
501=head2 [messages]
502
503This can be used to control translation of error messages. Each key
504has a prefix identifying the module that uses the error, followed by
505'/' followed by a specific identifier for the message.
506
507Message parameters, expressed as $I<digit>, are replaced with the
508parameters passed to the message. C<$$> is replaced with C<$>.
509
510Each message identifier below is documented with the id, when it
511occurs, the default message, and any parameters.
512
513=over
514
515=item user/needlogon
516
517the user attempted to logon without entering a logon name. Default:
518"Please enter a logon name". No parameters.
519
520=item user/needpass
521
522the user attempted to logon without entering a password. Default:
523"Please enter your password." No parameters.
524
525=item user/baduserpass
526
527the user's logon name or password was not found or did not match.
528Default: "Invalid user or password". No parameters.
529
530=item user/notloggedon
531
532the user attempted to logoff while not logged on. Default: "You
533aren't logged on". No parameters.
534
535=item user/optsoldpass
536
537the user entered a new password on the options page without entering
538their old password. Default: "You need to enter your old password to
539change your password". No parameters.
540
a53374d2
TC
541=item shop/logonrequired
542
543Displayed if the user attempts to checkout when [shop].require_logon
544is true.
545
61551101
TC
546=back
547
2404a911
TC
548=head2 [downloads]
549
550=over
551
552=item must_be_paid
553
554if non-zero, the order must be marked as paid for before the file can
555be downloaded.
556
557=item must_be_filled
558
559if non-zero the order must be marked as filled before the files can be
560downloaded.
561
4afdbb1b
TC
562=item require_logon
563
564if non-zero the user must be registered/logged on to download I<any>
565file.
566
32696f84
TC
567=item log_downufile
568
569if non-zero, downloads of userfiles will be logged. Default: 0
570
571=item log_downufile_maxage
572
573the maximum age of entries in the user file download log, in days.
574Default: 30.
575
2404a911
TC
576=back
577
b19047a6
TC
578=head2 [confirmations]
579
580Control over confirmation emails.
581
582=over
583
584=item subject
585
586The subject of email confirmation emails. Default: Subcription
587Confirmation.
588
589=item from
590
591The from field for the email. Default: $SHOP_FROM
592
593=back
594
531fb3bc
TC
595=head2 [subscriptions]
596
597Control over subscription messages.
598
599=over
600
601=item from
602
603The from field for the email. Default: $SHOP_FROM.
604
d09682dd
TC
605=item testname
606
607Default for the "Test Name" field for sending test subscription
608messages.
609
610=item testemail
611
612Default for the "Test Email" field for sending test subscription
613messages.
614
615=item testtextonly
616
617Set to 1 if you want the "Test Text Only" box checked by default for
618sending test subscription messages.
619
620=item testing
621
622Set to 0 to disable display of the test subscription messages portions
623of the subscriptions send form.
624
99b7cef0
TC
625=item text_link_inline
626
627Set to format links as they appear in the text version of emails.
628C<$1> is replaced with the title, C<$2> with the URL and C<$3> with
629the index. C<$$> is replaced with '$'. Default: C<$1 [$3]>
630
631=item text_link_list
632
633Set to format links as they appear at the footer of the body text. If
634this is set to the empty string then no list appears. C<$1>, C<$2>,
635C<$3>, C<$$> are replaced as for I<text_link_inline> and $n is
636replaced with newline. Default: C<[$3] $2>
637
638=item text_link_list_prefix
639
640A line of text produced above the list of URLs if there is one.
641Default: C<----->. $n in this is replaced with newlines.
642
531fb3bc
TC
643=back
644
99b7cef0
TC
645For example, if the configuration is:
646
647 text_link_inline="$1" ($3)
648 text_link_list_prefix=$n$n-------
649 text_link_list=($3) "$1"$n => $2
650
651and the body text is:
652
653 doclink[3]
654 link[http://www.example.com/|Example]
655
656the result will be:
657
658 "The Shop" (1)
659 "Example" (2)
660
661
662 -------
663 (1) "The Shop"
664 => http://www.yoursite.com/shop/index.html
665 (2) "Example"
666 => http://www.example.com/
667
6e3d2da5
TC
668=head2 [search]
669
670=over
671
672=item highlight_partial
673
674If this is true then partial matches will be highlight in search
675result excerpts. Default: True
676
54c97cf6
TC
677=item keep_inaccessible
678
679If this is true then resulting articles that can't be accessed by the
680user are listed in the search results. Default: false.
681
d401b996
TC
682=item wordre
683
684The default regular expression used to match words in text during
685indexing. Default: \w+
686
687=item wordre_I<fieldname>
688
689The field specific word match regular expression for the built-in
690search indexer. Default: the value of C<wordre>.
691
6e3d2da5
TC
692=back
693
61693c75
TC
694=head2 [search highlight]
695
696Sets the prefix and suffix used for highlighting matches for different
697fields.
698
699These are used by the highlight_result, excerpt, pageTitle, author,
700keywords and matchFile tags.
701
702Each field has a prefix and suffix entry. The key is
703I<fieldname>_prefix or I<fieldname>_suffix. For file fields this is
a9634cc9 704file_I<fieldname>_prefix and file_I<fieldname>_suffix.
61693c75
TC
705
706The default prefix is <b>. The default suffix is </b>.
707
708For example you can do:
709
710 [search highlight]
711 body_prefix=<span class="searchfound">
712 body_suffix=</span>
713
6e3d2da5
TC
714=head2 [shop]
715
716=over
717
7b81711b
TC
718=item enabled
719
720Used by some templates to check if the shop is enabled. Set this to 1
721to enable the shop, or 0 to disable it.
722
57d988af
TC
723=item secureurl_articles
724
725If this is false then shop articles will not use the secureurl as their
726baseurl. Default: True
727
6e3d2da5
TC
728=item register_if_files
729
730If true the customer is required to register before checkout if there
731are any for sale files attached to products in the cart. Default: True
732
733=item require_logon
734
735If true the customer is required to be logged on before checkout,
736whether or not for sale files are attached to products in the cart.
737Default: False.
738
08123550
TC
739=item payment_types
740
741A comma-separated list of acceptable payment types. Default: 0
742
743The possible payment types are:
744
745=over
746
747=item *
748
7490 - the user enters a credit card number, name and expiry date
750
751=item *
752
7531 - the customer will send a cheque
754
755=item *
756
7572 - contact customer for details
758
759=back
760
81f3292d
TC
761Other types can be added by adding entries to the [payment type names]
762and [payment type descs] sections.
763
08123550
TC
764=item address1
765
766=item address2
767
768=item address3
769
770These are used by various shop templates to present an address that a
771cheque payment should be sent to.
772
331fd099
TC
773=item from
774
775From email address for emails sent by the shop. Overides $SHOP_FROM
776in Constants.pm
777
778=item to_name
779
780To name for emailed orders sent by the shop. Overrides $SHOP_TO_NAME
781in Constants.pm
782
783=item to_email
784
785To email for emailed orders sent by the shop. Overrides $SHOP_TO_EMAIL
786in Constants.pm
787
d09682dd
TC
788=item noencrypt
789
790If this is true then orders sent to you by the shop will not be
791encrypted. Enabling this disabled acceptance of credit card orders,
792and the default for C<payment_types> will become C<1> instead or C<0>.
793
794Please realize that other potentially commercially sensitive
795information is being sent in the clear to a central location,
796unencrypted.
797
798=item email_order
799
800If true, then the order is email to to_email, possibly with credit
801card information included. Default: $SHOP_EMAIL_ORDER.
802
d49f56a6
TC
803=item display_I<field>
804
805Used to translate the stored order field name into a presentation name
806suitable for error messages.
807
41e7c841
TC
808=item cardprocessor
809
810The name of a class to load to process credit card transactions online.
811
812Currently this can be either DevHelp::Payments::Test or
813DevHelp::Payments::Inpho.
814
26c634af
TC
815=item crypt_module
816
817Name of the encryption module to use. Default: $SHOP_CRYPTO.
818
819=item crypt_signing_id
820
821Id of the key to sign the order email with. If this is non-empty then
822the email is signed even if [basic].sign is false. Default:
823$SHOP_SIGNING_ID.
824
825=item crypt_gpg
826
827Path to the GnuPG program. Default: $SHOP_GPG
828
745a6c13 829=item crypt_passphrase
26c634af
TC
830
831Passphrase of the key used to sign the email. Default:
832$SHOP_PASSPHRASE.
833
745a6c13
TC
834=item show_card_type
835
836If true, request the card type when requesting credit card
837information. Default: False.
838
56f87a80
TC
839=item cart_entry_limit
840
841Maximum number of entries in the cart. This limits the number of
842distinct products (with options) in the cart, not the total
843quantities. Default: Unlimited.
844
6e3d2da5
TC
845=back
846
bd3a048c
AMS
847=head2 [shipping]
848
849=over
850
851=item couriers
852
853A space-separated list of modules under Courier::, e.g. "Fastway::Road
854AustraliaPost::Air". These will be made available as shipping methods
855on the checkout page.
856
857=item sourcepostcode
858
859The post code from which products are shipped.
860
861=item fastwayfranchisee
862
863The name of the Fastway franchisee used to ship products from the
864sourcepostcode.
865
866=item fastwayfranchiseecode
867
868The Fastway franchisee code for the customer, if any.
869
870=back
871
41e7c841
TC
872=head2 [Shop Order Validation]
873
874This section can contain extra order validation information, including
875specifying required fields, display names and extra validation rules.
876
6e3d2da5
TC
877=head2 [fields]
878
879=over
880
881=item title_size
882
883The maximum length of the article title field. Default: 255. Should
884not be set higher than this unless you change the database schema.
885
886=back
887
ee6577c3
TC
888=head2 [interest]
889
890Controls the interest.pl script.
891
892=over
893
894=item notify
895
896Email address that is notified of the interest. Defaults to $SHOP_FROM.
897
ca9aa2bf 898=back
ee6577c3 899
6e3d2da5
TC
900=head2 [debug]
901
902Used for debugging.
903
904=over
905
906=item logon_cookies
907
908When a user logs on, and the site url is different to the secure url
909BSE attempts to refresh to the other "side" of the site to set the
910same cookie.
911
912BSE does some simple comparisons to attempt to determine whether the
913logon form was triggered on the secure side of the site (possibly from
914the shop) or on the insecure side. Since CGI doesn't necessarily give
915us all the information required, it's possible it will guess wrong.
916
d2730773
TC
917Setting this option to 1 will enable debugging information sent to
918standard error, which will be sent to the error log on Apache. This
919probably isn't useful on IIS.
920
921=item file_unlink
922
923Reports errors to STDERR (hence to the error log on Apache) if there
924is a problem deleting the actual file when an attached file is
925removed.
926
927=item mail_encryption
928
929Reports debugging information to standard error while encrypting your
930mail.
6e3d2da5 931
2d873eb6
TC
932=item cookies
933
934Reports cookies received from the browser and sent to the browser to
935STDERR (hence to the error log on Apache.)
936
4175638b
TC
937=item dump_session
938
939If nonzero the session hash is dumped to STDERR after it is retrived
940from the database.
941
af74f0b4
TC
942=item subscription_expiry
943
944If non-zero then subscription expiry date calculations are dumped to
945STDERR.
946
efcc5a30
TC
947=item jit_dynamic_regen
948
949If non-zero then information about jit_dynamic_regen is sent to
950STDERR.
951
db7d73a7
TC
952=item ifUserCan
953
954If non-zero then the ifUserCan tag will output some trace information
955to STDERR.
956
ca9aa2bf
TC
957=back
958
959=head2 [uri]
960
961Contains various URIs.
962
963This is underused, so don't rely on it yet.
964
965=over
966
967=item cgi
968
969The URI to the CGI directory. Default: /cgi-bin
970
971=item images
972
973The URI where images are kept. Default: /images
974
975=item shop
976
977=item articles
978
9168c88c 979=back
ca9aa2bf 980
9168c88c 981=head2 [articles]
ca9aa2bf 982
9168c88c
TC
983This will provide translations from symbolic names to article ids.
984
985Currently this is used for converting article ids in the access
986control code, and for looking up the id of the shop.
6e3d2da5 987
0b406a07
TC
988=head2 [printable type]
989
990If the user supplies a template name to printable.pl then you can use
991a different content type by adding an entry to this section. The key
992is the template name, and the value is the full content type.
993
918735d1
TC
994=head2 [search index scores]
995
996This section is used when generating the search index to override the
997default scores for each field in the articles.
998
999The default scores are:
1000
74b21f6d
TC
1001 Field Score Notes
1002 ----- ----- -----
1003 title 5
1004 body 3
1005 keyword 4
1006 pageTitle 5
1007 author 4
1008 summary 0
1009 description 0 Products only
1010 product_code 0 Products only
1011 file_displayName 2 displayName for files
1012 file_description 2 description for files
1013 file_notes 1 notes for files
918735d1
TC
1014
1015=head2 [article flags]
1016
1017=head2 [product flags]
1018
1019=head2 [catalog flags]
1020
1021Flags that can be set for articles, products and catalogs
1022respectively. Note that flags for articles are also visible in
1023products and catalogs.
1024
1025All flag Ids are single letters or digits. Uppercase letters are
1026reserved for use by BSE internally, leaving lower-case letters and
1027digits for your own use.
1028
1029Use the id of the flag as the key, and a description of the flag as
1030it's value.
1031
95989433
TC
1032=head2 [article uris]
1033
1034Each key is an article id, the values are base URIs to store the HTML
1035form of those articles and their children under.
1036
1037=head2 [protect link]
1038
1039The keys are ids of articles that shouldn't have their link field
1040overwritten. The value should be a true value, but is otherwise
1041ignored.
1042
d09682dd
TC
1043=head2 [datadump]
1044
1045=over
1046
1047=item to
1048
1049The recipient for the data dump email sent by datadump.pl. Default:
1050$DATA_EMAIL.
1051
1052=item from
1053
1054the From for the data dump email sent by datadump.pl. Default:
1055$SHOP_FROM.
1056
1057=back
1058
2a295ea9
TC
1059=head2 [site users]
1060
1061Configuration for site users.
1062
1063=over
1064
1065=item nopassword
1066
1067If this is set to true then no passwords are required during
1068registration, a confirmation email is sent immediately upon
1069registration and that confirmation email contains a link the user can
1070use to manage their details.
1071
1072This option has some security concerns since it can leave links to the
1073user's information in the browser history. This option is not
1074recommended.
1075
1076You cannot use this to control access to the shop.
1077
1078=item require_name1
1079
1080=item require_name2
1081
1082=item require_address
1083
1084=item require_city
1085
1086=item require_state
1087
1088=item require_postcode
1089
1090=item require_telephone
1091
1092=item require_facsimile
1093
1094=item require_country
1095
1096=item require_title
1097
1098=item require_organization
1099
1100Set these to true to require the corresponding field during
1101registration, and to keep it required after modification. Default:
1102false.
1103
1104If you enable any of these, you should enable C<info_on_register> as
1105well, or modify the registration template to include the given fields.
1106
1107=item display_I<field name>
1108
1109Controls how the given field is displayed in error messages. If you
1110change the field names on the registration and/or options forms you
1111should probably change them here too. Default: internal field name
1112with the first character converted to upper-case.
1113
1114=item info_on_register
1115
1116If this is set then the user info is prompted for during user
1117registration. The information still isn't required unless the
1118appropriate require_I<field> option is set. Default: false.
1119
1120=item register_refresh
1121
1122The default URL to refresh to on completing registration if no r
1123parameter is supplied.
1124
1125=item subscribe_all
1126
1127If this is set then the subcription checkboxes are all checked on
1128registration by default. Default: false.
1129
1130The user will only receive the subscriptions if they leave them checked
1131and follow the link in the confirmation email.
1132
1133=item subscribe_I<id>
1134
1135Where I<id> is the number identifying a subscription. If this is set
1136then the subscription checkbox for that subscription will be checked
1137by default on the registration form. Default: false.
1138
1139The user will only receive the subscriptions if they leave it checked
1140and follow the link in the confirmation email.
1141
1142You can get the I<id> of a subcription by looking at the Edit link on the
1143subscriptions management page, the number after "id=" is the id.
1144
9063386f
TC
1145=item billing_on_main_opts
1146
1147If set to zero then user billing options will be managed on a separate
1148page. This is controlled by the user/options_base.tmpl template.
1149
1150=item user_register
1151
1152If set to zero then users cannot register themselves. Default: true,
1153allowing users to register themselves.
1154
cf9f9cbc
TC
1155=item notify_register
1156
1157If true then an email is sent when a new user registers on your site.
1158The email address sent to is the first set of [site
1159users].notify_register_email, [shop].from or $SHOP_FROM from
1160Constants.pm
1161
1162No email is sent if a new user is created from the administration user
1163interface.
1164
1165See also: notify_register_email, notify_register_subject.
1166
1167=item notify_register_email
1168
1169The email to sent the registration notification too. See
1170notify_register above.
1171
1172=item notify_register_subject
1173
1174The subject of the notification email sent when a new user registers.
1175Any {I<field>} is replaced with the given field from the registered
1176user. See notify_register above.
1177
1178Default: New user {userId} registered
1179
6c83a514
TC
1180=item notify_register_customer
1181
1182If non-zero then email id C<notify_register_customer> will be sent to
1183new user on registration. By default this uses template
1184user/email_register, subject "Thank you for registering" which can be
1185overridden in [email notify_register_customer]
1186
2a295ea9
TC
1187=back
1188
81f3292d
TC
1189=head2 [payment type names]
1190
1191This section and [payment type descs] are used to configure new
1192paymeny type ids.
1193
1194The key is the integer representing the payment type. The value is
1195the name used in tags for checking the payment type.
1196
1197You can also add a description (currently unused) to [payment type
1198descs].
1199
1200You should use numbers starting from 10 to avoid conflicts with future
1201BSE payment types.
1202
1203=head2 [payment type descs]
1204
1205See [payment type names].
1206
1207=head2 [payment type required]
1208
1209Set the key given by the payment type id to a value of a
1210comma-separated list of fields required for that payment type.
1211
3ae524f3
TC
1212=head2 [help style I<style-name>]
1213
1214This type of configuration section is used to set values for a style
1215of help icon. Only the C<template> and C<prefix> values are used
1216directly by the code, the others are used by the default helpicon
1217templates.
1218
1219=over
1220
1221=item prefix
1222
1223The URI to the help files for this style. Default: /help/ in style
1224"user", /admin/help/ in style "admin".
1225
1226=item template
1227
1228The template used to produce the icon. Default: helpicon in style
1229user, admin/helpicon in style "admin".
1230
1231=item icon
1232
1233URI to the help icon image. Default: /images/admin/help.gif
1234
1235=item iconwidth
1236
1237The width of the help icon image. Default: 16
1238
1239=item iconheight
1240
1241The height of the help icon image. Default: 16
1242
1243=back
1244
1245If you just want to change the help icon image for user help icons you
1246might do:
1247
1248 [help style user]
1249 icon=/images/help.gif
1250
4175638b
TC
1251=head2 [affiliate]
1252
1253=over
1254
1255=item allowed_referer
1256
1257A semi-colon (;) separated list of referer domains that are allowed to
1258link to the C<a_set> target of L<affiliate.pl>.
1259
1260If the user's browser supplies a referer header then it will be
1261checked against this list.
1262
1263=item require_referer
1264
1265If this is set then the C<a_set> target of L<affiliate.pl> will
1266require that the user's browser supply a Referer header.
1267
1268=item default_refresh
1269
1270If no C<r> parameter is supplied to the C<a_set> target of
1271L<affiliate.pl> then this is used as the default refresh.
1272
1273Default: the site base url.
1274
829c9ed9
TC
1275=item subscription_required
1276
1277This is either the numeric or text of a subscription for which the
1278affiliate must have an active subscription.
1279
fdc2b7a2
TC
1280=item flag_required
1281
1282A single letter flag which the site administrator must set for the
1283affiliate page to be displayed for the given member.
1284
ea646070
TC
1285=item set_cookie
1286
1287If this is set then affiliate.pl will set the named cookie to the
1288affiliate id.
1289
1b5a718f
TC
1290=item other_cookies
1291
1292This is a comma-separated list of other cookies that should be set by
1293the a_set target. The values for the cookies should be passed to the
1294a_set target. For example with:
1295
1296 [affiliate]
1297 other_cookies=alpha,beta
1298
1299if the url:
1300
1301 http://your.site.com/cgi-bin/affiliate.pl?a_set=1&id=someid&alpha=1&beta=2&gamme=3
1302
1303is accessed, then the cookie alpha is set to "1", beta is set to "2".
1304The cookie gamma will not be set since it's not listed.
1305
ea646070
TC
1306=item linkbaseurl
1307
1308Used as the link base URL for the afflink.tmpl side bar template when
1309an affiliate id is set. Default: example.com
1310
1311=item linkbasedesc
1312
1313Used at the text of the link for the afflink.tmpl side bar template
1314when an affiliate id is set. Default: Your Site.
1315
1316=item linkdefurl
1317
1318Used as the link URL for the afflink.tmpl side bar template when an
1319affiliate id is not set. Default: example.com
1320
1321=item linkdefdesc
1322
1323Used as the text of the link for the afflink.tmpl side bar template
1324when an affiliate id is not set. Default: Our site
1325
4175638b
TC
1326=back
1327
3c32512d
TC
1328=head2 [BSE Siteuser Images]
1329
1330Each key is the id of a member image, with a corresponding [BSE
1331Siteuser Image I<image_id>] section. The values are ignored.
1332
1333=head2 [BSE Siteuser Image I<image_id>]
1334
1335Provides information about a single member image "template".
1336
1337=over
1338
1339=item description
1340
1341Short description on the image, like "Logo". Used in error messages.
1342
1343=item help
1344
1345Longer description of the image. Accessible with the member_image tag.
1346
1347=item minwidth
1348
1349=item minheight
1350
1351=item maxwidth
1352
1353=item maxheight
1354
1355The minimum and maximum dimensions of the image.
1356
1357=item widthsmallerror
1358
1359=item heightsmallerror
1360
1361=item widthlargeerror
1362
1363=item heightlargeerror
1364
1365Error messages displayed in the when the image is outside the
1366configured dimensions.
1367
1368=item largeerror
1369
1370=item smallerror
1371
1372Default error messages for the above.
1373
1374=item maxspace
1375
1376Maximum storage the image can use in bytes. Default: 1000000.
1377
1378=item spaceerror
1379
1380Error message displayed if the image uses too much storage.
1381
1382=back
1383
ab2cd916
TC
1384=head2 [editor]
1385
1386Various editor settings.
1387
1388=over
1389
1390=item allow_thumb
1391
1392If this is non-zero the system will attempt to load the configured
1393thumbnail class, and put thumbnail images on the image manager page
1394rather than full-size images. Default: off
1395
1396=item thumbs_class
1397
1398The name of a perl class that implement's BSE's thumbnail API. At
1399this point the only class that implements that is BSE::Thumb::Imager,
1400supplied with BSE. Default: None
1401
1402=item default_thumbnail
1403
1404URI to the default thumbnail image. This is presented when the
1405runtime production of a thumbnail image fails.
1406
1407=item default_thumbnail_width
1408
1409=item default_thumbnail_height
1410
1411Dimensions of the default thumbnail image.
1412
1413=item default_thumbnail_alt
1414
1415Alt text for the default thumbnail image.
1416
1761af79
TC
1417=item check_modified
1418
1419If this is true then BSE will check the value of the lastModified
1420parameter passed against the value in the article. If these don't
1421match the article isn't saved and is redisplayed with an error
1422message. This provides simple protection against one user saving
1423changes over those made by another.
1424
ab2cd916
TC
1425=back
1426
1427=head2 [thumbnails]
1428
1429=over
1430
1431=item max_width
1432
1433=item max_height
1434
1435=item max_pixels
1436
1437Default values for the thumbimage tag.
1438
1439=back
1440
829c9ed9
TC
1441=head2 [includes]
1442
1443Each value is used as the relative or absolute name of a file or
1444directory to load more configuration data from.
1445
1446The keywords must remain unique.
1447
1448Only the [includes] section from bse.cfg itself is used to locate more
1449configuration data.
1450
1451If the value references a directory, all files with an extension of
1452C<.cfg> are read for configuration data.
1453
1454The order the files are read (which later files overriding older
1455files) is:
1456
1457=over
1458
1459=item 1.
1460
1461bse.cfg is read
1462
1463=item 2.
1464
1465the entries in [includes] are sorted alphabetically (or rather
1466asciily), so an entry with key "A" is read before one with key "B",
1467one with key "01" is read before "02", but key "10" would be read
1468I<before> key "2".
1469
a9634cc9 1470=item 3.
829c9ed9
TC
1471
1472if an entry is a file then that is read and the values merged.
1473
a9634cc9 1474=item 4.
829c9ed9
TC
1475
1476if an entry is a directory, then that is scanned and the files found
1477read alphabetically as above.
1478
1479=back
1480
6a8a6ac5
TC
1481=head2 [error_img]
1482
1483This is used to configure the error icon displayed next to fields that
1484fail validation.
1485
1486=over
1487
1488=item image
1489
1490URI to the image file.
1491
1492=item width
1493
1494=item height
1495
1496The width and height of the error icon image.
1497
1498=back
1499
fdc2b7a2
TC
1500=head2 [site user flags]
1501
1502Flags that can be set for site users.
1503
1504All flag Ids are single letters or digits. Uppercase letters are
1505reserved for use by BSE internally, leaving lower-case letters and
1506digits for your own use.
1507
1508Use the id of the flag as the key, and a description of the flag as
1509it's value.
1510
deae2a52
TC
1511=head2 [article defaults]
1512
1513=head2 [catalog defaults]
1514
1515=head2 [product defaults]
1516
1517These sections contain defaults values for the corresponding article
1518types.
1519
1520Each key is the name of a column for the article type.
1521
1522If an entry is not found in [catalog defaults] then [article defaults]
1523is also checked.
1524
1525If an entry is not found in [product defaults] then [article defaults]
1526is also checked.
1527
1528These sections are checked B<after> the C<[children of >I<id>C<]> and
1529C<[level >I<level>C<]> sections.
1530
1531These defaults are used when creating an article where no value is
1532supplied, they can also be accessed via the <:default I<name>:> tag.
1533
1c3e5303
TC
1534=head2 [newsletter filters]
1535
1536Contains C<criteria>I<index> entries starting from C<criteria1>, then
1537C<criteria2>, etc.
1538
1539Each entry consists of a filter class name, followed by a ; followed
1540by data passed to that filter.
1541
1542 ; user the original SQL based filter, configured from
1543 ; section [foo]
1544 criteria1=BSE::NLFilter::SQL;foo
1545
1546See the documentation for each filter to configure the filters.
1547
c2096d67
TC
1548=head2 [Query Groups]
1549
1550The key of each entry is the numeric identifier of a query group, the
1551values are the name of the query group. For example:
1552
1553 [query groups]
1554 1=some name
1555
1556 [query group some name]
1557 sql=select id from site_users where id = ? and name1 like '%some%'
1558
1559Each entry also has a corresponding [Query Group I<name>] section.
1560
1561=head2 [query group I<name>]
1562
1563This section corresponds to an entry in [Query Groups].
1564
1565=over
1566
1567=item sql
1568
1569This is an SQL statement. One placeholder is required and is passed
1570the siteuser id (primary key) of the user to be checked. If this
1571query returns I<any> rows then the user is considered part of the
1572group.
1573
1574=back
1575
16901a2a
TC
1576=head2 [template types]
1577
1578Each key is a template name, the value is the content type to be used
1579when displaying the template dynamically.
1580
8f84f3f1
TC
1581=head2 [body class]
1582
1583This section defines CSS class names for BSE's body text link tags.
1584The key is the tag name, the value is the CSS class to be used.
1585
1586By default the class used is the same as the name of the tag, but you
1587can switch this off by adding an entry setting the class to the empty
1588string, for example:
1589
1590 ; no class attribute for any of the links
1591 [body class]
1592 link=
1593 poplink=
1594 doclink=
1595 popdoclink=
1596
1597You can set p here too to set the class for paragraphs generated as
1598body text. By default no class is set.
1599
def1a923
TC
1600=head2 [popimage]
1601
1602Controls the behaviour of the window displayed by the popimage[] body
1603text tag. If the Javascript for this has been customized then this
1604may not apply.
1605
1606=over
1607
1608=item extrawidth
1609
1610=item extraheight
1611
1612Extra width and height for the window beyond the size of the image.
1613Default: no extra width or height.
1614
1615=item popmiddle
1616
1617If set to non-zero popimage[] will attempt to centre the popup within
1618the current window. Default: 0.
1619
1620=back
1621
1622=over
1623
1624=back
1625
41e7c841
TC
1626=head2 [inpho]
1627
1628This is used to configure the DevHelp::Payments::Inpho module.
1629
1630=over
1631
1632=item test
1633
1634If this is set then the test parameters are used instead of the
1635product values.
1636
1637=item url
1638
1639The URL to process requests through.
1640
1641Default: https://extranet.inpho.com.au/cc_ssl/process
1642
1643=item user
1644
1645Inpho supplied user name.
1646
1647=item password
1648
1649Inpho supplied password.
1650
1651=item test_url
1652
1653The URL to process test requests through.
1654
1655=item test_user
1656
1657The user to supply to test requests.
1658
1659=item test_password
1660
1661The password to supply to test requests.
1662
1663=back
1664
f2bf0d11
TC
1665=head2 [custom]
1666
1667This section controls whether some custom class methods are called:
1668
1669=over
1670
1671=item saveopts
1672
1673If this is non-zero then siteuser_saveopts is called.
1674
1675=back
1676
0a66f55c
AO
1677=head2 [levelI<level> menus]
1678
1679Where I<level> is the article level at which the defined menu options will be available.
1680Configure each menu value and description as I<key> and I<value>.
1681
1682=over
1683
1684For example:
1685
1686 [level1 menus]
1687 0=Default
1688 1=Sidebar
1689 2=Footer
1690
1691To create a menus using such values, use the "allkids_of" iterator "filter" option.
1692
1693For example:
1694
1695 <:iterator begin allkids_of -1 filter: [menu] == 2 :>
1696
1697=back
1698
37726cc9
AO
1699=head2 [title alias]
1700
1701Enable the "titleAlias" article field and set which level it will be available.
1702
1703=over
1704
1705=item levelI<level>
1706
1707Where I<level> is the article "level" for which the "titleAlias" field should be enabled. To enable
1708set the value to non-zero.
1709
1710For example:
1711
1712 [title alias]
1713 level1=1
1714
1715The "titleAlias" can be used as an alternate "short" title for the given article, especially useful
1716for space critical iterated menus. A template conditional can be used to display the "titleAlias"
1717in place of the article "title" when appropriate.
1718
1719=back
1720
195977cd
TC
1721=head2 [thumb geometries]
1722
1723Each key represents a geometry identifier for use by the thumbimage[],
1724gthumbimage[] body text tags and the <:thumbimage ...:>, <:gthumbimage
b864cc90 1725...:>, <:dthumbimage ...:> template tags.
195977cd
TC
1726
1727The key is the geometry identifier, the value is the geometry string
1728as follows.
1729
1730The geometry string consists of:
1731
1732=over
1733
1734=item *
1735
1736dimensions
1737
1738=item *
1739
1740crop flag - if present
1741
1742=item *
1743
1744optional fill
1745
1746=back
1747
1748The dimensions can be in any of the following forms:
1749
1750=over
1751
1752=item *
1753
1754<width>x<height> - the desired maximum width and height. eg 200x150
1755
1756=item *
1757
1758<width>x - the desired width, with the height calculated
1759proportionally based on the source image size
1760
1761=item *
1762
1763x<height> - the designed height, with the width calculated
1764proportionally based on the source image size.
1765
1766=item *
1767
1768<size> - the desired maximum size in both directions. so "200" is
1769equivalent to "200x200"
1770
1771=back
1772
1773The crop flag is a single letter "c", if present then the image should
1774be scaled so the smaller dimension matches the requested size, and the
1775longer dimension will be cropped to fit.
1776
1777The fill if present is: fill(color) where color is a color recognized
1778by the underlying graphics implementation. This should be at least
1779hex web colors without the #, eg fill(FF0000) will fill with red.
1780
b864cc90
TC
1781=head2 [thumb classes]
1782
1783Each key represents a geometry identifier for use by the thumbimage[],
1784gthumbimage[] body text tags and the <:thumbimage ...:>, <:gthumbimage
1785...:>, <:dthumbimage ...:> template tags.
1786
1787The value is used as the class for the generated img tag.
1788
510a9ee7
TC
1789=head2 [targets]
1790
1791Each value represents a handler or script name for the <:dyntarget
1792I<script> I<target> ...:> tag.
1793
1794Each key has a TARGET version and a no-TARGET version, with the key
1795suffixed with C<_n>.
1796
1797The default C<nuser> target is C</cgi-bin/nuser.pl/user/TARGET>. The
1798default no-target C<nuser> is C</cgi-bin/nuser.pl/user>.
1799
1800For other targets the default is
1801C</cgi-bin/>I<script>C<.pl?a_TARGET=1> and
1802C</cgi-bin/>I<script>C<.pl>.
1803
1804The string C<TARGET> is replaced with the target specified in the
1805dyntarget tag.
1806
1807This, along with dyntarget is intended to allow a more "Web 2.0" type
1808of access to BSE. eg. you might set:
1809
1810 [targets]
1811 shop=/xshop/TARGET
1812 shop_x=/xshop/
1813
1814and have a rewrite rule:
1815
1816 RewriteRule ^/xshop/(.*)$ /cgi-bin/nuser.pl/shop/$1 [PT]
1817
8a153d74
TC
1818=head2 [popimage class I<classname>]
1819
1820This defines the settings for a class of images generated by the
1821popimage[] and gpopimage[] body text markup tags. For example, the
1822settings for C<popimage[imageid|foo]> can be found in section
1823C<[popimage class foo]>.
1824
1825=over
1826
1827=item html
1828
1829The html generated for this class. Tags of the form
1830C<{>I<identifier>C<}> are replaced, where I<identifier> can be
1831C<inline_> or C<outline_> followed by an image field name, for example
1832C<inline_src> is the URL to the inline image.
1833
1834Default: <a href="{outline_src}" rel="lightbox[id]" target="_blank"><img src="{inline_src}" alt="{inline_alt}" width="{inline_width}" height="{inline_height}" border="0" /></a>
1835
1836The default may be tuned as needed.
1837
1838=item inline
1839
1840The inline image geometry. Default: editor (the value used for
1841thumbnails on the admin side)
1842
1843=item outline
1844
1845The outline image geometry. If no value is supplied then the original
1846image values are used.
1847
1848=back
1849
0c2e7f7a
TC
1850=head2 [mail resources]
1851
1852Each key is the identifier of a file that can be attached to
1853BSE::ComposeMail emails. The value is comma separated filename,
1854content type, inline status.
1855
1856The files are searched for through the template search mechanism, so
1857the filename can be relative to either the master or local templates
1858directories.
1859
1860If the content type is not supplied, if the filename end in gif, png
1861or jpg the appropriate content type is used, otherwise
1862application/octet-stream.
1863
1864If the inline status is not supplied then images are considered
1865inline, and other files arent.
1866
a53374d2
TC
1867=head2 [shop registration]
1868
1869Each key represents a message id from attempts to checkout. Except
1870the all key which covers all cases.
1871
1872If the C<all> key or the message id key is non-zero then the checkout
1873page will redirect to registration instead of login if the cart or
1874configuration requires that the user be logged in.
1875
3f36e485
TC
1876=head2 [template I<template-name>]
1877
1878Settings for articles based on a particular template.
1879
1880=over
1881
1882=item no_cache_dynamic
1883
1884Controls whether a cache-control: no-cache header will be produced.
1885Can be overridden with the A and B article flags. If not set the
1886value of [article].no_cache_dynamic is used.
1887
1888=back
1889
1890=head2 [article]
1891
1892Global settings for articles.
1893
1894=over
1895
1896=item no_cache_dynamic
1897
1898Controls whether a cache-control: no-cache header will be produced.
1899Can be overridden with the A and B article flags or [template
1900I<template-name>].no_cache_dynamic. If not set the value of
1901[basic].no_cache_dynamic is used.
1902
1903=back
1904
c6fc339f
TC
1905=head2 [recaptcha]
1906
1907For the <:recaptcha:> tag currently only used for fmail.pl.
1908
1909=over
1910
1911=item api_public_key
1912
1913=item api_private_key
1914
1915The public and private key you receive when you register with reCAPTCHA.
1916
1917=item error_I<error_code>
1918
1919Replace the error message for the given I<error_code> where
1920I<error_code> is the reCAPTCHA error code
1921(eg. "incorrect-captcha-sol") with dash replaced by underscore.
1922
1923eg.
1924
1925 error_incorrect_captch_sol=VERY BAD INPUT
1926
1927=back
1928
36e373a9
TC
1929=head2 [global file metadata]
1930
1931Each key represents an item of metadata for files attached to
1932articles.
1933
1934The values are ignored.
1935
1936For each key, extra information is defined in the [file metadata
1937I<name>] section.
1938
1939=head2 [file metadata I<name>]
1940
1941Definition for the file metadata item I<name>.
1942
1943=over
1944
1945=item *
1946
1947title - descriptive name of the metadata. Defaults to I<name>.
1948
1949=item *
1950
1951rules - validation rules, separated by ;. Custom rules can be defined
1952in [file metadata validation].
1953
1954=item *
1955
1956ro - if non-zero the metadata cannot be modified directly by the admin
1957(applications can still generate it). Default: writable.
1958
1959=item *
1960
1961type - the data type of the metadata, any of string, text, enum,
1962integer, real, image. If this is enum values must be defined and
1963labels should be. Default: string.
1964
1965The types are:
1966
1967=over
1968
1969=item *
1970
1971string - single line of text
1972
1973=item *
1974
1975text - one or more lines of text
1976
1977=item *
1978
1979integer - whole number
1980
1981=item *
1982
1983real - number with decimal points
1984
1985=item *
1986
1987enum - select from a list of possible values.
1988
1989=item *
1990
1991image - image file.
1992
1993=back
1994
1995=item *
1996
1997values - semi-colon separated list of values for this metadata.
1998
1999=item *
2000
2001labels - semi-colon separated list of labels for the values
2002
2003=item *
2004
2005help - help html to display for the metadata
2006
2007=item *
2008
2009data_name - (images only) the key to use to store the image data.
2010Default: I<name>_data.
2011
2012=item *
2013
2014width_name - (images only) the key to use to store the image width.
2015Default: I<name>_width.
2016
2017=item *
2018
2019height_name - (images only) the key to use to store the image height.
2020Default: I<name>_height.
2021
2022=item *
2023
2024cond - a perl expression indicating whether the metadata should be
2025prompted for, for this file. $file is the file object. Default: 1.
2026
2027=item *
2028
2029unit - text displayed after the entry box for the metadata. Default:
2030empty. Useful for including a unit ("pixels") or format help
2031("hh:mm").
2032
2033=back
2034
bede67d9
TC
2035=head2 [session cleanup]
2036
2037Controls the processing of the bse_session_clean.pl script.
2038
2039=over
2040
2041=item *
2042
2043days - the minimum age in days of sessions to be removed. Default: 30.
2044
2045=item *
2046
2047per - the number of records to remove per SQL delete request.
2048Default: 1000.
2049
2050=item *
2051
2052count - the number of SQL delete requests to perform, maximum.
2053Default: 1000.
2054
2055=item *
2056
2057optimize - whether to perform a table optimization after deleting
2058records. Default: 1 (set to 0 to skip optimization)
2059
2060=back
2061
2062=head2 [nightly work]
2063
2064Controls the bse_nightly.pl script.
2065
2066=over
2067
2068=item *
2069
2070jobs - a comma separated list of BSE background processes to run when
2071bse_nightly.pl is run. Default: bse_session_clean
2072
2073=back
2074
4cf6a60c
TC
2075=head2 [cache]
2076
2077Parameters controlling where cached information - eg. file upload
2078progress is stored.
2079
2080=over
2081
2082=item *
2083
2084class - the BSE::Cache compatible cache class. See the documentation
2085of BSE::Cache::Cache, BSE::Cache::CHI or BSE::Cache::Memcached.
2086
2087=back
2088
a9634cc9
TC
2089=head2 [db]
2090
2091Database connection parameters. These override the settings in
2092Constants.pm which are deprecated.
2093
2094=over
2095
2096=item *
2097
2098dsn - the DBI dsn used to connect to the database. Default:
2099$Constants::DSN.
2100
2101=item *
2102
2103user - the logon to the database. Default: $Constants::UN
2104
2105=item *
2106
2107password - the password for the user. Default: $Constants::PW.
2108
2109=item *
2110
2111dbopts - a perl expression that should evaluate to a hash reference.
2112Default: $Constants::DBOPTs, or an empty hashref.
2113
2114=item *
2115
2116class - the database wrapper class to use. Default: BSE::DB::Mysql.
2117No other values are currently supported.
2118
2119=back
2120
61551101
TC
2121=head1 AUTHOR
2122
2123Tony Cook <tony@develop-help.com>
2124
2125=cut