check user has access to an article before allowing file
[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
67b69296
TC
276=item set_errors_to_from
277
278If true, we add an Errors-To header set to the same as the From
279header. Default: true.
280
61551101
TC
281=back
282
ca9aa2bf 283=head2 [children of I<id>]
721cd24c
TC
284
285Where I<id> is the identifier for an article.
286
287=over
288
289=item template
290
291the name of the default template for children of the given parent
292
293=item template_dirs
294
295a comma-separated list of extra directories under $TMPLDIR to search
296for templates that can be used for children of the given parent article.
297
298=back
299
ca9aa2bf
TC
300=head2 [article I<id>]
301
302Where I<id> is the identifier of an article.
303
304=over
305
306=item template_dirs
307
308A comma-separated list of extra directories under $TMPLDIR to search
309for templates that can be used for children of the given parent
310article.
311
312=item extra_templates
313
314A comma-separated list of extra templates under $TMPLDIR that can be
315used for the given article.
316
317=back
318
caa7299c
TC
319=head2 [level I<level>]
320
321=over
322
323=item template
324
325The default template for this level of article, assuming it hasn't
326been set in the [children of I<article id>] section.
327
328=item template_dirs
329
330A comma-separated list of extra directories under $TMPLDIR to search
331for templates that can be used for articles at the given I<level>.
332
333=back
334
335=head2 [catalogs]
336
337=over
338
339=item template
340
341The default template for catalogs.
342
343=back
344
345=head2 [products]
346
347=over
348
349=item template
350
351The default template for products.
352
d64413ee
TC
353=item extra_templates
354
355A comma separated list of extra templates that can be used for
356products.
357
caa7299c
TC
358=back
359
61551101
TC
360=head2 [messages]
361
362This can be used to control translation of error messages. Each key
363has a prefix identifying the module that uses the error, followed by
364'/' followed by a specific identifier for the message.
365
366Message parameters, expressed as $I<digit>, are replaced with the
367parameters passed to the message. C<$$> is replaced with C<$>.
368
369Each message identifier below is documented with the id, when it
370occurs, the default message, and any parameters.
371
372=over
373
374=item user/needlogon
375
376the user attempted to logon without entering a logon name. Default:
377"Please enter a logon name". No parameters.
378
379=item user/needpass
380
381the user attempted to logon without entering a password. Default:
382"Please enter your password." No parameters.
383
384=item user/baduserpass
385
386the user's logon name or password was not found or did not match.
387Default: "Invalid user or password". No parameters.
388
389=item user/notloggedon
390
391the user attempted to logoff while not logged on. Default: "You
392aren't logged on". No parameters.
393
394=item user/optsoldpass
395
396the user entered a new password on the options page without entering
397their old password. Default: "You need to enter your old password to
398change your password". No parameters.
399
400=back
401
2404a911
TC
402=head2 [downloads]
403
404=over
405
406=item must_be_paid
407
408if non-zero, the order must be marked as paid for before the file can
409be downloaded.
410
411=item must_be_filled
412
413if non-zero the order must be marked as filled before the files can be
414downloaded.
415
4afdbb1b
TC
416=item require_logon
417
418if non-zero the user must be registered/logged on to download I<any>
419file.
420
2404a911
TC
421=back
422
b19047a6
TC
423=head2 [confirmations]
424
425Control over confirmation emails.
426
427=over
428
429=item subject
430
431The subject of email confirmation emails. Default: Subcription
432Confirmation.
433
434=item from
435
436The from field for the email. Default: $SHOP_FROM
437
438=back
439
531fb3bc
TC
440=head2 [subscriptions]
441
442Control over subscription messages.
443
444=over
445
446=item from
447
448The from field for the email. Default: $SHOP_FROM.
449
d09682dd
TC
450=item testname
451
452Default for the "Test Name" field for sending test subscription
453messages.
454
455=item testemail
456
457Default for the "Test Email" field for sending test subscription
458messages.
459
460=item testtextonly
461
462Set to 1 if you want the "Test Text Only" box checked by default for
463sending test subscription messages.
464
465=item testing
466
467Set to 0 to disable display of the test subscription messages portions
468of the subscriptions send form.
469
99b7cef0
TC
470=item text_link_inline
471
472Set to format links as they appear in the text version of emails.
473C<$1> is replaced with the title, C<$2> with the URL and C<$3> with
474the index. C<$$> is replaced with '$'. Default: C<$1 [$3]>
475
476=item text_link_list
477
478Set to format links as they appear at the footer of the body text. If
479this is set to the empty string then no list appears. C<$1>, C<$2>,
480C<$3>, C<$$> are replaced as for I<text_link_inline> and $n is
481replaced with newline. Default: C<[$3] $2>
482
483=item text_link_list_prefix
484
485A line of text produced above the list of URLs if there is one.
486Default: C<----->. $n in this is replaced with newlines.
487
531fb3bc
TC
488=back
489
99b7cef0
TC
490For example, if the configuration is:
491
492 text_link_inline="$1" ($3)
493 text_link_list_prefix=$n$n-------
494 text_link_list=($3) "$1"$n => $2
495
496and the body text is:
497
498 doclink[3]
499 link[http://www.example.com/|Example]
500
501the result will be:
502
503 "The Shop" (1)
504 "Example" (2)
505
506
507 -------
508 (1) "The Shop"
509 => http://www.yoursite.com/shop/index.html
510 (2) "Example"
511 => http://www.example.com/
512
6e3d2da5
TC
513=head2 [search]
514
515=over
516
517=item highlight_partial
518
519If this is true then partial matches will be highlight in search
520result excerpts. Default: True
521
522=back
523
524=head2 [shop]
525
526=over
527
7b81711b
TC
528=item enabled
529
530Used by some templates to check if the shop is enabled. Set this to 1
531to enable the shop, or 0 to disable it.
532
57d988af
TC
533=item secureurl_articles
534
535If this is false then shop articles will not use the secureurl as their
536baseurl. Default: True
537
6e3d2da5
TC
538=item register_if_files
539
540If true the customer is required to register before checkout if there
541are any for sale files attached to products in the cart. Default: True
542
543=item require_logon
544
545If true the customer is required to be logged on before checkout,
546whether or not for sale files are attached to products in the cart.
547Default: False.
548
08123550
TC
549=item payment_types
550
551A comma-separated list of acceptable payment types. Default: 0
552
553The possible payment types are:
554
555=over
556
557=item *
558
5590 - the user enters a credit card number, name and expiry date
560
561=item *
562
5631 - the customer will send a cheque
564
565=item *
566
5672 - contact customer for details
568
569=back
570
81f3292d
TC
571Other types can be added by adding entries to the [payment type names]
572and [payment type descs] sections.
573
08123550
TC
574=item address1
575
576=item address2
577
578=item address3
579
580These are used by various shop templates to present an address that a
581cheque payment should be sent to.
582
331fd099
TC
583=item from
584
585From email address for emails sent by the shop. Overides $SHOP_FROM
586in Constants.pm
587
588=item to_name
589
590To name for emailed orders sent by the shop. Overrides $SHOP_TO_NAME
591in Constants.pm
592
593=item to_email
594
595To email for emailed orders sent by the shop. Overrides $SHOP_TO_EMAIL
596in Constants.pm
597
d09682dd
TC
598=item noencrypt
599
600If this is true then orders sent to you by the shop will not be
601encrypted. Enabling this disabled acceptance of credit card orders,
602and the default for C<payment_types> will become C<1> instead or C<0>.
603
604Please realize that other potentially commercially sensitive
605information is being sent in the clear to a central location,
606unencrypted.
607
608=item email_order
609
610If true, then the order is email to to_email, possibly with credit
611card information included. Default: $SHOP_EMAIL_ORDER.
612
d49f56a6
TC
613=item display_I<field>
614
615Used to translate the stored order field name into a presentation name
616suitable for error messages.
617
41e7c841
TC
618=item cardprocessor
619
620The name of a class to load to process credit card transactions online.
621
622Currently this can be either DevHelp::Payments::Test or
623DevHelp::Payments::Inpho.
624
6e3d2da5
TC
625=back
626
41e7c841
TC
627=head2 [Shop Order Validation]
628
629This section can contain extra order validation information, including
630specifying required fields, display names and extra validation rules.
631
6e3d2da5
TC
632=head2 [fields]
633
634=over
635
636=item title_size
637
638The maximum length of the article title field. Default: 255. Should
639not be set higher than this unless you change the database schema.
640
641=back
642
ee6577c3
TC
643=head2 [interest]
644
645Controls the interest.pl script.
646
647=over
648
649=item notify
650
651Email address that is notified of the interest. Defaults to $SHOP_FROM.
652
ca9aa2bf 653=back
ee6577c3 654
6e3d2da5
TC
655=head2 [debug]
656
657Used for debugging.
658
659=over
660
661=item logon_cookies
662
663When a user logs on, and the site url is different to the secure url
664BSE attempts to refresh to the other "side" of the site to set the
665same cookie.
666
667BSE does some simple comparisons to attempt to determine whether the
668logon form was triggered on the secure side of the site (possibly from
669the shop) or on the insecure side. Since CGI doesn't necessarily give
670us all the information required, it's possible it will guess wrong.
671
d2730773
TC
672Setting this option to 1 will enable debugging information sent to
673standard error, which will be sent to the error log on Apache. This
674probably isn't useful on IIS.
675
676=item file_unlink
677
678Reports errors to STDERR (hence to the error log on Apache) if there
679is a problem deleting the actual file when an attached file is
680removed.
681
682=item mail_encryption
683
684Reports debugging information to standard error while encrypting your
685mail.
6e3d2da5 686
2d873eb6
TC
687=item cookies
688
689Reports cookies received from the browser and sent to the browser to
690STDERR (hence to the error log on Apache.)
691
4175638b
TC
692=item dump_session
693
694If nonzero the session hash is dumped to STDERR after it is retrived
695from the database.
696
af74f0b4
TC
697=item subscription_expiry
698
699If non-zero then subscription expiry date calculations are dumped to
700STDERR.
701
efcc5a30
TC
702=item jit_dynamic_regen
703
704If non-zero then information about jit_dynamic_regen is sent to
705STDERR.
706
db7d73a7
TC
707=item ifUserCan
708
709If non-zero then the ifUserCan tag will output some trace information
710to STDERR.
711
ca9aa2bf
TC
712=back
713
714=head2 [uri]
715
716Contains various URIs.
717
718This is underused, so don't rely on it yet.
719
720=over
721
722=item cgi
723
724The URI to the CGI directory. Default: /cgi-bin
725
726=item images
727
728The URI where images are kept. Default: /images
729
730=item shop
731
732=item articles
733
9168c88c 734=back
ca9aa2bf 735
9168c88c 736=head2 [articles]
ca9aa2bf 737
9168c88c
TC
738This will provide translations from symbolic names to article ids.
739
740Currently this is used for converting article ids in the access
741control code, and for looking up the id of the shop.
6e3d2da5 742
0b406a07
TC
743=head2 [printable type]
744
745If the user supplies a template name to printable.pl then you can use
746a different content type by adding an entry to this section. The key
747is the template name, and the value is the full content type.
748
918735d1
TC
749=head2 [search index scores]
750
751This section is used when generating the search index to override the
752default scores for each field in the articles.
753
754The default scores are:
755
756 Field Score
757 ----- -----
758 title 5
759 body 3
760 keyword 4
761
762A special key C<file_description> can be used here to set the score
763for indexing downloadable file descriptions, which aren't indexed by
764default. A good value is probably 2 or 1.
765
766=head2 [article flags]
767
768=head2 [product flags]
769
770=head2 [catalog flags]
771
772Flags that can be set for articles, products and catalogs
773respectively. Note that flags for articles are also visible in
774products and catalogs.
775
776All flag Ids are single letters or digits. Uppercase letters are
777reserved for use by BSE internally, leaving lower-case letters and
778digits for your own use.
779
780Use the id of the flag as the key, and a description of the flag as
781it's value.
782
95989433
TC
783=head2 [article uris]
784
785Each key is an article id, the values are base URIs to store the HTML
786form of those articles and their children under.
787
788=head2 [protect link]
789
790The keys are ids of articles that shouldn't have their link field
791overwritten. The value should be a true value, but is otherwise
792ignored.
793
d09682dd
TC
794=head2 [datadump]
795
796=over
797
798=item to
799
800The recipient for the data dump email sent by datadump.pl. Default:
801$DATA_EMAIL.
802
803=item from
804
805the From for the data dump email sent by datadump.pl. Default:
806$SHOP_FROM.
807
808=back
809
2a295ea9
TC
810=head2 [site users]
811
812Configuration for site users.
813
814=over
815
816=item nopassword
817
818If this is set to true then no passwords are required during
819registration, a confirmation email is sent immediately upon
820registration and that confirmation email contains a link the user can
821use to manage their details.
822
823This option has some security concerns since it can leave links to the
824user's information in the browser history. This option is not
825recommended.
826
827You cannot use this to control access to the shop.
828
829=item require_name1
830
831=item require_name2
832
833=item require_address
834
835=item require_city
836
837=item require_state
838
839=item require_postcode
840
841=item require_telephone
842
843=item require_facsimile
844
845=item require_country
846
847=item require_title
848
849=item require_organization
850
851Set these to true to require the corresponding field during
852registration, and to keep it required after modification. Default:
853false.
854
855If you enable any of these, you should enable C<info_on_register> as
856well, or modify the registration template to include the given fields.
857
858=item display_I<field name>
859
860Controls how the given field is displayed in error messages. If you
861change the field names on the registration and/or options forms you
862should probably change them here too. Default: internal field name
863with the first character converted to upper-case.
864
865=item info_on_register
866
867If this is set then the user info is prompted for during user
868registration. The information still isn't required unless the
869appropriate require_I<field> option is set. Default: false.
870
871=item register_refresh
872
873The default URL to refresh to on completing registration if no r
874parameter is supplied.
875
876=item subscribe_all
877
878If this is set then the subcription checkboxes are all checked on
879registration by default. Default: false.
880
881The user will only receive the subscriptions if they leave them checked
882and follow the link in the confirmation email.
883
884=item subscribe_I<id>
885
886Where I<id> is the number identifying a subscription. If this is set
887then the subscription checkbox for that subscription will be checked
888by default on the registration form. Default: false.
889
890The user will only receive the subscriptions if they leave it checked
891and follow the link in the confirmation email.
892
893You can get the I<id> of a subcription by looking at the Edit link on the
894subscriptions management page, the number after "id=" is the id.
895
9063386f
TC
896=item billing_on_main_opts
897
898If set to zero then user billing options will be managed on a separate
899page. This is controlled by the user/options_base.tmpl template.
900
901=item user_register
902
903If set to zero then users cannot register themselves. Default: true,
904allowing users to register themselves.
905
2a295ea9
TC
906=back
907
81f3292d
TC
908=head2 [payment type names]
909
910This section and [payment type descs] are used to configure new
911paymeny type ids.
912
913The key is the integer representing the payment type. The value is
914the name used in tags for checking the payment type.
915
916You can also add a description (currently unused) to [payment type
917descs].
918
919You should use numbers starting from 10 to avoid conflicts with future
920BSE payment types.
921
922=head2 [payment type descs]
923
924See [payment type names].
925
926=head2 [payment type required]
927
928Set the key given by the payment type id to a value of a
929comma-separated list of fields required for that payment type.
930
3ae524f3
TC
931=head2 [help style I<style-name>]
932
933This type of configuration section is used to set values for a style
934of help icon. Only the C<template> and C<prefix> values are used
935directly by the code, the others are used by the default helpicon
936templates.
937
938=over
939
940=item prefix
941
942The URI to the help files for this style. Default: /help/ in style
943"user", /admin/help/ in style "admin".
944
945=item template
946
947The template used to produce the icon. Default: helpicon in style
948user, admin/helpicon in style "admin".
949
950=item icon
951
952URI to the help icon image. Default: /images/admin/help.gif
953
954=item iconwidth
955
956The width of the help icon image. Default: 16
957
958=item iconheight
959
960The height of the help icon image. Default: 16
961
962=back
963
964If you just want to change the help icon image for user help icons you
965might do:
966
967 [help style user]
968 icon=/images/help.gif
969
4175638b
TC
970=head2 [affiliate]
971
972=over
973
974=item allowed_referer
975
976A semi-colon (;) separated list of referer domains that are allowed to
977link to the C<a_set> target of L<affiliate.pl>.
978
979If the user's browser supplies a referer header then it will be
980checked against this list.
981
982=item require_referer
983
984If this is set then the C<a_set> target of L<affiliate.pl> will
985require that the user's browser supply a Referer header.
986
987=item default_refresh
988
989If no C<r> parameter is supplied to the C<a_set> target of
990L<affiliate.pl> then this is used as the default refresh.
991
992Default: the site base url.
993
829c9ed9
TC
994=item subscription_required
995
996This is either the numeric or text of a subscription for which the
997affiliate must have an active subscription.
998
fdc2b7a2
TC
999=item flag_required
1000
1001A single letter flag which the site administrator must set for the
1002affiliate page to be displayed for the given member.
1003
ea646070
TC
1004=item set_cookie
1005
1006If this is set then affiliate.pl will set the named cookie to the
1007affiliate id.
1008
1009=item linkbaseurl
1010
1011Used as the link base URL for the afflink.tmpl side bar template when
1012an affiliate id is set. Default: example.com
1013
1014=item linkbasedesc
1015
1016Used at the text of the link for the afflink.tmpl side bar template
1017when an affiliate id is set. Default: Your Site.
1018
1019=item linkdefurl
1020
1021Used as the link URL for the afflink.tmpl side bar template when an
1022affiliate id is not set. Default: example.com
1023
1024=item linkdefdesc
1025
1026Used as the text of the link for the afflink.tmpl side bar template
1027when an affiliate id is not set. Default: Our site
1028
4175638b
TC
1029=back
1030
3c32512d
TC
1031=head2 [BSE Siteuser Images]
1032
1033Each key is the id of a member image, with a corresponding [BSE
1034Siteuser Image I<image_id>] section. The values are ignored.
1035
1036=head2 [BSE Siteuser Image I<image_id>]
1037
1038Provides information about a single member image "template".
1039
1040=over
1041
1042=item description
1043
1044Short description on the image, like "Logo". Used in error messages.
1045
1046=item help
1047
1048Longer description of the image. Accessible with the member_image tag.
1049
1050=item minwidth
1051
1052=item minheight
1053
1054=item maxwidth
1055
1056=item maxheight
1057
1058The minimum and maximum dimensions of the image.
1059
1060=item widthsmallerror
1061
1062=item heightsmallerror
1063
1064=item widthlargeerror
1065
1066=item heightlargeerror
1067
1068Error messages displayed in the when the image is outside the
1069configured dimensions.
1070
1071=item largeerror
1072
1073=item smallerror
1074
1075Default error messages for the above.
1076
1077=item maxspace
1078
1079Maximum storage the image can use in bytes. Default: 1000000.
1080
1081=item spaceerror
1082
1083Error message displayed if the image uses too much storage.
1084
1085=back
1086
ab2cd916
TC
1087=head2 [editor]
1088
1089Various editor settings.
1090
1091=over
1092
1093=item allow_thumb
1094
1095If this is non-zero the system will attempt to load the configured
1096thumbnail class, and put thumbnail images on the image manager page
1097rather than full-size images. Default: off
1098
1099=item thumbs_class
1100
1101The name of a perl class that implement's BSE's thumbnail API. At
1102this point the only class that implements that is BSE::Thumb::Imager,
1103supplied with BSE. Default: None
1104
1105=item default_thumbnail
1106
1107URI to the default thumbnail image. This is presented when the
1108runtime production of a thumbnail image fails.
1109
1110=item default_thumbnail_width
1111
1112=item default_thumbnail_height
1113
1114Dimensions of the default thumbnail image.
1115
1116=item default_thumbnail_alt
1117
1118Alt text for the default thumbnail image.
1119
1761af79
TC
1120=item check_modified
1121
1122If this is true then BSE will check the value of the lastModified
1123parameter passed against the value in the article. If these don't
1124match the article isn't saved and is redisplayed with an error
1125message. This provides simple protection against one user saving
1126changes over those made by another.
1127
ab2cd916
TC
1128=back
1129
1130=head2 [thumbnails]
1131
1132=over
1133
1134=item max_width
1135
1136=item max_height
1137
1138=item max_pixels
1139
1140Default values for the thumbimage tag.
1141
1142=back
1143
829c9ed9
TC
1144=head2 [includes]
1145
1146Each value is used as the relative or absolute name of a file or
1147directory to load more configuration data from.
1148
1149The keywords must remain unique.
1150
1151Only the [includes] section from bse.cfg itself is used to locate more
1152configuration data.
1153
1154If the value references a directory, all files with an extension of
1155C<.cfg> are read for configuration data.
1156
1157The order the files are read (which later files overriding older
1158files) is:
1159
1160=over
1161
1162=item 1.
1163
1164bse.cfg is read
1165
1166=item 2.
1167
1168the entries in [includes] are sorted alphabetically (or rather
1169asciily), so an entry with key "A" is read before one with key "B",
1170one with key "01" is read before "02", but key "10" would be read
1171I<before> key "2".
1172
1173=item *
1174
1175if an entry is a file then that is read and the values merged.
1176
1177=item *
1178
1179if an entry is a directory, then that is scanned and the files found
1180read alphabetically as above.
1181
1182=back
1183
6a8a6ac5
TC
1184=head2 [error_img]
1185
1186This is used to configure the error icon displayed next to fields that
1187fail validation.
1188
1189=over
1190
1191=item image
1192
1193URI to the image file.
1194
1195=item width
1196
1197=item height
1198
1199The width and height of the error icon image.
1200
1201=back
1202
fdc2b7a2
TC
1203=head2 [site user flags]
1204
1205Flags that can be set for site users.
1206
1207All flag Ids are single letters or digits. Uppercase letters are
1208reserved for use by BSE internally, leaving lower-case letters and
1209digits for your own use.
1210
1211Use the id of the flag as the key, and a description of the flag as
1212it's value.
1213
deae2a52
TC
1214=head2 [article defaults]
1215
1216=head2 [catalog defaults]
1217
1218=head2 [product defaults]
1219
1220These sections contain defaults values for the corresponding article
1221types.
1222
1223Each key is the name of a column for the article type.
1224
1225If an entry is not found in [catalog defaults] then [article defaults]
1226is also checked.
1227
1228If an entry is not found in [product defaults] then [article defaults]
1229is also checked.
1230
1231These sections are checked B<after> the C<[children of >I<id>C<]> and
1232C<[level >I<level>C<]> sections.
1233
1234These defaults are used when creating an article where no value is
1235supplied, they can also be accessed via the <:default I<name>:> tag.
1236
1c3e5303
TC
1237=head2 [newsletter filters]
1238
1239Contains C<criteria>I<index> entries starting from C<criteria1>, then
1240C<criteria2>, etc.
1241
1242Each entry consists of a filter class name, followed by a ; followed
1243by data passed to that filter.
1244
1245 ; user the original SQL based filter, configured from
1246 ; section [foo]
1247 criteria1=BSE::NLFilter::SQL;foo
1248
1249See the documentation for each filter to configure the filters.
1250
c2096d67
TC
1251=head2 [Query Groups]
1252
1253The key of each entry is the numeric identifier of a query group, the
1254values are the name of the query group. For example:
1255
1256 [query groups]
1257 1=some name
1258
1259 [query group some name]
1260 sql=select id from site_users where id = ? and name1 like '%some%'
1261
1262Each entry also has a corresponding [Query Group I<name>] section.
1263
1264=head2 [query group I<name>]
1265
1266This section corresponds to an entry in [Query Groups].
1267
1268=over
1269
1270=item sql
1271
1272This is an SQL statement. One placeholder is required and is passed
1273the siteuser id (primary key) of the user to be checked. If this
1274query returns I<any> rows then the user is considered part of the
1275group.
1276
1277=back
1278
16901a2a
TC
1279=head2 [template types]
1280
1281Each key is a template name, the value is the content type to be used
1282when displaying the template dynamically.
1283
8f84f3f1
TC
1284=head2 [body class]
1285
1286This section defines CSS class names for BSE's body text link tags.
1287The key is the tag name, the value is the CSS class to be used.
1288
1289By default the class used is the same as the name of the tag, but you
1290can switch this off by adding an entry setting the class to the empty
1291string, for example:
1292
1293 ; no class attribute for any of the links
1294 [body class]
1295 link=
1296 poplink=
1297 doclink=
1298 popdoclink=
1299
1300You can set p here too to set the class for paragraphs generated as
1301body text. By default no class is set.
1302
def1a923
TC
1303=head2 [popimage]
1304
1305Controls the behaviour of the window displayed by the popimage[] body
1306text tag. If the Javascript for this has been customized then this
1307may not apply.
1308
1309=over
1310
1311=item extrawidth
1312
1313=item extraheight
1314
1315Extra width and height for the window beyond the size of the image.
1316Default: no extra width or height.
1317
1318=item popmiddle
1319
1320If set to non-zero popimage[] will attempt to centre the popup within
1321the current window. Default: 0.
1322
1323=back
1324
1325=over
1326
1327=back
1328
41e7c841
TC
1329=head2 [inpho]
1330
1331This is used to configure the DevHelp::Payments::Inpho module.
1332
1333=over
1334
1335=item test
1336
1337If this is set then the test parameters are used instead of the
1338product values.
1339
1340=item url
1341
1342The URL to process requests through.
1343
1344Default: https://extranet.inpho.com.au/cc_ssl/process
1345
1346=item user
1347
1348Inpho supplied user name.
1349
1350=item password
1351
1352Inpho supplied password.
1353
1354=item test_url
1355
1356The URL to process test requests through.
1357
1358=item test_user
1359
1360The user to supply to test requests.
1361
1362=item test_password
1363
1364The password to supply to test requests.
1365
1366=back
1367
61551101
TC
1368=head1 AUTHOR
1369
1370Tony Cook <tony@develop-help.com>
1371
1372=cut