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