← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 18:42:36 2015
Reported on Fri Jul 31 18:48:13 2015

Filename/var/www/foswikidev/core/lib/Foswiki.spec
StatementsExecuted 231 statements in 306µs
Line State
ments
Time
on line
Calls Time
in subs
Code
1# Foswiki - The Free and Open Source Wiki, http://foswiki.org/
2# See bottom of file for license and copyright information.
3#
4# This file contains a specification of the parts of Foswiki that can be
5# configured using =configure=. It is combined with =Config.spec= files
6# shipped with extensions to generate the interface seen when you run
7# =configure=.
8#
9# When you run configure from your browser, it will work out required
10# settings and write a new LocalSite.cfg. It should never be necessary to
11# modify this file directly.
12#
13# If for some strange reason you want to brew your own LocalSite.cfg by
14# copying this file (NOT recommended), then you must un-comment and complete
15# settings that are commented out, and remove everything from __END__ onwards.
16#
17# See 'setlib.cfg' in the 'bin' directory for how to configure a non-standard
18# include path for Perl modules.
19#
20#############################################################################
21#
22# NOTE FOR DEVELOPERS:
23# The comments in this file are formatted so that the =configure= script
24# can extract documentation from here. See
25# http://foswiki.org/System/DevelopingPlugins#Integrating_with_configure
26# for details of the syntax used.
27#
28# You can use $Foswiki::cfg variables in other settings,
29# but you must be sure they are only evaluated under program control and
30# NOT when this file is loaded. For example:
31## $Foswiki::cfg{Blah} = "$Foswiki::cfg{DataDir}/blah.dat"; # BAD
32## $Foswiki::cfg{Blah} = '$Foswiki::cfg{DataDir}/blah.dat'; # GOOD
33#
34# Note that the general path settings are deliberately commented out.
35# This is because they *must* be defined in LocalSite.cfg, and *not* here.
36
37#############################################################################
38#---+ General settings
39#---++ Web URLs and Paths
40# *Security Note:* Only the URL paths listed below should
41# be browseable from the web - if you expose any other directories (such as
42# lib or templates) you are opening up routes for possible hacking attempts.
43
44# **URL LABEL="Default Url Host" CHECK="noemptyok \
45# parts:scheme,authority \
46# partsreq:scheme,authority \
47# schemes:http,https \
48# authtype:hostip" **
49# This is the root of all Foswiki URLs.
50# For example, =http://myhost.com:123=
51# (do not include the trailing slash.)
52# $Foswiki::cfg{DefaultUrlHost} = 'http://your.domain.com';
53
54# **BOOLEAN EXPERT LABEL="Force Default Url Host"**
55# Enable this parameter to force foswiki to ignore the hostname in the
56# URL entered by the user. Foswiki will generate all links using the
57# {DefaultUrlHost}.
58#
59# By default, foswiki will use whatever URL that was entered by the
60# user to generate links. The only exception is the special =localhost=
61# name, which will be automatically replaced by the {DefaultUrlHost}.
62# In most installations this is the preferred behavior, however when
63# using SSL Accelerators, Reverse Proxys, and load balancers, the URL
64# entered by the user may have been altered, and foswiki should be forced
65# to return the {DefaultUrlHost}.
6612µs$Foswiki::cfg{ForceDefaultUrlHost} = $FALSE;
67
68# **URILIST LABEL="Permitted Redirect Host Urls" EXPERT CHECK='emptyok \
69# parts:scheme,authority \
70# authtype:hostip' **
71# If your host has aliases (such as both =www.mywiki.net= and =mywiki.net=
72# and some IP addresses) you need to tell Foswiki that redirecting to them
73# is OK. Foswiki uses redirection as part of its normal mode of operation
74# when it changes between editing and viewing.
75#
76# To prevent Foswiki from being used in phishing attacks and to protect it
77# from middleman exploits, the security setting {AllowRedirectUrl} is by
78# default disabled, restricting redirection to other domains. If a redirection
79# to a different host is attempted, the target URL is compared against this
80# list of additional trusted sites, and only if it matches is the redirect
81# permitted.
82#
83# Enter as a comma separated list of URLs (protocol, hostname and (optional)
84# port), for example =http://your.domain.com:8080,https://other.domain.com=.
85# (Omit the trailing slash.)
861700ns$Foswiki::cfg{PermittedRedirectHostUrls} = '';
87
88# **URLPATH LABEL="Script Url Path" CHECK="emptyok notrail"**
89# This is the 'cgi-bin' part of URLs used to access the Foswiki bin
90# directory. For example =/foswiki/bin=.
91# See [[http://foswiki.org/Support/ShorterUrlCookbook][ShorterUrlCookbook]]
92# for more information on setting up Foswiki to use shorter script URLs.
93# $Foswiki::cfg{ScriptUrlPath} = '/foswiki/bin';
94
95# **STRING 10 LABEL="Script Suffix" CHECK="emptyok"**
96# Suffix of Foswiki CGI scripts. For example, .cgi or .pl.
97# You may need to set this if your webserver requires an extension.
98#$Foswiki::cfg{ScriptSuffix} = '';
99
100# **URLPATH LABEL="Script Url Path for View" CHECK='undefok emptyok notrail' FEEDBACK="label='Verify';wizard='ScriptHash';method='verify';auth=1" **
101#! n.b. options should match Pluggables/SCRIPTHASH.pm for dynamic path items
102# This is the complete path used to access the Foswiki view script,
103# including any suffix.
104# You should leave this as it is, unless your web server is configured
105# for short URLs (for example using Foswiki's
106# [[http://foswiki.org/Support/ApacheConfigGenerator][Apache Config Generator]]
107# ). If it is, replace this with the base path of your wiki (the value of
108# {ScriptUrlPath} with the =/bin= suffix removed, so you'll have to leave
109# this field empty if your wiki lives at the top level).
110#
111# More information:
112# [[http://foswiki.org/Support/ShorterUrlCookbook][Shorter URL Cookbook]]
113# $Foswiki::cfg{ScriptUrlPaths}{view} = '$Foswiki::cfg{ScriptUrlPath}/view$Foswiki::cfg{ScriptSuffix}';
114
115# **URLPATH LABEL="Pub Url Path" CHECK='noemptyok notrail' **
116# This is the URL path used to link to attachments. For stores where
117# attachments are stored as files (such as PlainFile and RCSLite) then this
118# will normally be the URL path to the =pub= directory.
119# For example =/foswiki/pub=
120#
121# *Security Note:* files in the pub directory are *not*
122# protected by Foswiki access controls. If you require access controls, you
123# will have to use webserver controls (for example =.htaccess= on Apache).
124# See the
125# [[http://foswiki.org/Support/ApacheConfigGenerator][Apache Config Generator]]
126# for more information.
127# $Foswiki::cfg{PubUrlPath} = '/foswiki/pub';
128
129#! The following plugin must follow all other {ScriptUrlPaths} items
130# *SCRIPTHASH*
131
132# ---++ File System Paths
133# Configure the file system locations of key Foswiki directories here. These are usually guessed
134# correctly during bootstrap. Other file locations are configured within their related sections.
135# **PATH LABEL="Script Directory" FEEDBACK="label='Validate Permissions'; method='validate_permissions';title='Validate file permissions.'" CHECK="noemptyok perms:Dx,'(.txt|.cfg)$'" **
136# This is the file system path used to access the Foswiki bin directory.
137# $Foswiki::cfg{ScriptDir} = '/home/httpd/foswiki/bin';
138
139# **PATH LABEL="Pub Directory" FEEDBACK="label='Validate Permissions'; method='validate_permissions';title='Validate file permissions. WARNING: this may take a long time on a large system'" CHECK="noemptyok perms:r,'*',wD,'(,v|,pfv)$'" **
140# Attachments store (file path, not URL), must match the attachments URL
141# path =/foswiki/pub= - for example =/usr/local/foswiki/pub= This directory is
142# normally accessible from the web.
143# $Foswiki::cfg{PubDir} = '/home/httpd/foswiki/pub';
144
145# **PATH LABEL="Data Directory" FEEDBACK="label='Validate Permissions'; method='validate_permissions';title='Validate file permissions. WARNING: this may take a long time on a large system'" CHECK="noemptyok perms:rwDpd,'(,v|,pfv)$',r" **
146# Topic files store (file path, not URL). For example =/usr/local/foswiki/data=.
147# This directory must not be web accessible.
148# $Foswiki::cfg{DataDir} = '/home/httpd/foswiki/data';
149
150# **PATH LABEL="Tools Directory" FEEDBACK="label='Validate Permissions'; method='validate_permissions'" CHECK="noemptyok perms:rD" **
151# File path to tools directory. For example =/usr/local/foswiki/tools=.
152# This directory must not be web accessible.
153# $Foswiki::cfg{ToolsDir} = '/home/httpd/foswiki/tools';
154
155# **PATH LABEL="Template Directory" FEEDBACK="label='Validate Permissions'; method='validate_permissions'" CHECK="noemptyok perms:rD" **
156# File path to templates directory. For example =/usr/local/foswiki/templates=.
157# This directory must not be web accessible.
158# $Foswiki::cfg{TemplateDir} = '/home/httpd/foswiki/templates';
159
160# **PATH LABEL="Locales Directory" FEEDBACK="label='Validate Permissions'; method='validate_permissions'" CHECK="noemptyok perms:rD" **
161# File path to locale directory.
162# For example =/usr/local/foswiki/locale=.
163# This directory must not be web accessible.
164# $Foswiki::cfg{LocalesDir} = '/home/httpd/foswiki/locale';
165
166# **PATH LABEL="Working Directory" ONSAVE FEEDBACK="label='Validate Permissions'; method='validate_permissions'" CHECK="noemptyok perms:rw,'[\//]README$',r" **
167# Directory where Foswiki stores files that are required for the management
168# of Foswiki, but are not required to be accessed from the web.
169# A number of subdirectories will be created automatically under this
170# directory:
171# * ={WorkingDir}/tmp= - used for security-related temporary files
172# (these files can be deleted at any time without permanent damage).
173# _Passthrough files_ are used by Foswiki to work around the limitations
174# of HTTP when redirecting URLs.
175# _Session files_ are used to record information about active
176# users - for example, whether they are logged in or not.
177# For obvious reasons, these files must *not* be browseable from the web!
178# You are recommended to restrict filesystem permissions on this
179# directory so only the web server user can acess it.
180# * ={WorkingDir}/requestTmp= - used as an alternate location for the
181# system =/tmp= directory. This is only used if {TempfileDir}
182# is configured.
183# * ={WorkingDir}/work_areas= - these are work areas used by
184# extensions that need to store persistent data across sessions.
185# * ={WorkingDir}/registration_approvals= - this is used by the
186# default Foswiki registration process to store registrations that
187# are pending verification.
188# $Foswiki::cfg{WorkingDir} = '/home/httpd/foswiki/working';
189
190# **PATH LABEL="Safe PATH" CHECK='undefok'**
191# You can override the default PATH setting to control
192# where Foswiki looks for external programs, such as grep.
193# By restricting this path to just a few key
194# directories, you increase the security of your installation.
195# * Unix or Linux - Path separator is ':'. Make sure diff
196# and shell (Bourne or bash type) are found on path. Typical
197# path is =/bin:/usr/bin=
198# * Windows ActiveState Perl, using DOS shell. Path separator is ';'.
199# The Windows system directory is required on the path. Use '\' not
200# '/' in pathnames. Typical setting is =C:\windows\system32=
201# * Windows Cygwin Perl - Path separator is ':'. The Windows system
202# directory is required on the path. Use '/' not '\' in pathnames.
203# Typical setting is =/cygdrive/c/windows/system32=
204# $Foswiki::cfg{SafeEnvPath} = undef;
205
206# **PATH LABEL="Tempfile Directory" CHECK="undefok" EXPERT**
207# This is used to override the default system temporary file location.
208# Set this if you wish to have control over where working tmp files are
209# created. It is normally set automatically in the code.
210# $Foswiki::cfg{TempfileDir} = '';
211
212#############################################################################
213#---+ Security and Authentication
214# Control most aspects of how Foswiki handles security related activities.
215
216#---++ Sessions
217# Sessions are how Foswiki tracks a user across multiple requests.
218
219# **BOOLEAN LABEL="Use Client Sessions"**
220# Control whether Foswiki will use persistent sessions.
221# A user's session id is stored in a cookie, and this is used to identify
222# the user for each request they make to the server.
223# You can use sessions even if you are not using login.
224# This allows you to have persistent session variables - for example, skins.
225# Client sessions are not required for logins to work, but Foswiki will not
226# be able to remember logged-in users consistently.
227# See [[http://foswiki.org/System/UserAuthentication][User
228# Authentication]] for a full discussion of the pros and
229# cons of using persistent sessions.
2301500ns$Foswiki::cfg{UseClientSessions} = 1;
231
232# **NUMBER 20 LABEL="Session Expiry" DISPLAY_IF="{UseClientSessions}" CHECK="iff:'{UseClientSessions}'"**
233# Set the session timeout, in seconds. The session will be cleared after this
234# amount of time without the session being accessed. The default is 6 hours
235# (21600 seconds).
236#
237# *Note* By default, session expiry is done "on the fly" by the same
238# processes used to serve Foswiki requests. As such it imposes a load
239# on the server. When there are very large numbers of session files,
240# this load can become significant. For best performance, you can set
241# {Sessions}{ExpireAfter} to a negative number, which will mean that
242# Foswiki won't try to clean up expired sessions using CGI processes.
243# Instead you should use a cron job to clean up expired sessions. The
244# standard maintenance cron script =tools/tick_foswiki.pl= includes this
245# function. Session files are stored in the ={WorkingDir}/tmp= directory.
246#
247# This setting is also used to set a lifetime for passthru redirect requests.
24811µs$Foswiki::cfg{Sessions}{ExpireAfter} = 21600;
249
250# **NUMBER LABEL="Cookie Expiry" EXPERT DISPLAY_IF="{UseClientSessions} && {LoginManager}=='Foswiki::LoginManager::TemplateLogin'" CHECK="iff:'{UseClientSessions} && {LoginManager}=~/TemplateLogin$/'"**
251# TemplateLogin only.
252# Normally the cookie that remembers a user session is set to expire
253# when the browser exits, but using this value you can make the cookie
254# expire after a set number of seconds instead. If you set it then
255# users will be able to tick a 'Remember me' box when logging in, and
256# their session cookie will be remembered even if the browser exits.
257#
258# This should always be the same as, or longer than, {Sessions}{ExpireAfter},
259# otherwise Foswiki may delete the session from its memory even though the
260# cookie is still active.
261#
262# A value of 0 will cause the cookie to expire when the browser exits.
263# One month is roughly equal to 2600000 seconds.
2641400ns$Foswiki::cfg{Sessions}{ExpireCookiesAfter} = 0;
265
266# **BOOLEAN LABEL="IDs in Urls" EXPERT DISPLAY_IF="{UseClientSessions}" CHECK="iff:'{UseClientSessions}'"**
267# Foswiki will normally use a cookie in
268# the browser to store the session ID. If the client has cookies disabled,
269# then Foswiki will not be able to record the session. As a fallback, Foswiki
270# can rewrite local URLs to pass the session ID as a parameter to the URL.
271# This is a potential security risk, because it increases the chance of a
272# session ID being stolen (accidentally or intentionally) by another user.
273# If this is turned off, users with cookies disabled will have to
274# re-authenticate for every secure page access (unless you are using
275# {Sessions}{MapIP2SID}).
2761300ns$Foswiki::cfg{Sessions}{IDsInURLs} = 0;
277
278# **STRING 20 LABEL="Cookie Realm" EXPERT DISPLAY_IF="{UseClientSessions}" CHECK="undefok emptyok iff:'{UseClientSessions}'"**
279# By default the Foswiki session cookie is only accessible by the host which
280# sets it. To change the scope of this cookie you can set this to any other
281# value (ie. company.com). Make sure that Foswiki can access its own cookie.
282#
283# If empty, this defaults to the current host.
2841400ns$Foswiki::cfg{Sessions}{CookieRealm} = '';
285
286# **BOOLEAN LABEL="Use IP Matching" DISPLAY_IF="{UseClientSessions}" CHECK="iff:'{UseClientSessions}'" EXPERT**
287# Enable this option to prevent a session from being accessed by
288# more than one IP Address. This gives some protection against session
289# hijack attacks.
290#
291# This option may or may not be helpful, Public web sites can easily be
292# accessed by different users from the same IP address when they access
293# through the same proxy gateway, meaning that the protection is limited.
294# Additionally, people get more and more mobile using a mix of LAN, WLAN,
295# and 3G modems and they will often change IP address several times per day.
296# For these users IP matching causes the need to re-authenticate whenever
297# their IP Address changes and is quite inconvenient..
298#
299# Note that the =CGI::Session= tutorial strongly recommends use of
300# IP Matching for security purposes, so it is now enabled by default.
3011400ns$Foswiki::cfg{Sessions}{UseIPMatching} = 1;
302
303# **BOOLEAN LABEL="Enable Guest Sessions" DISPLAY_IF="{UseClientSessions}" CHECK="iff:'{UseClientSessions}'" EXPERT**
304# On prior versions of Foswiki, every user is given their own CGI Session.
305# Disable this setting to block creation of session for guest users.
306#
307# This is EXPERIMENTAL. Some parts of Foswiki will not function without a
308# CGI Session. This includes scripts that update, and any wiki applications
309# that make use of session variables.
3101300ns$Foswiki::cfg{Sessions}{EnableGuestSessions} = 1;
311
312# **BOOLEAN LABEL="Map IP to Session ID" EXPERT DISPLAY_IF="{UseClientSessions}" CHECK="iff:'{UseClientSessions}'" EXPERT**
313# For compatibility with older versions, Foswiki supports the mapping of the
314# clients IP address to a session ID. You can only use this if all
315# client IP addresses are known to be unique.
316# If this option is enabled, Foswiki will *not* store cookies in the
317# browser.
318# The mapping is held in the file =$Foswiki::cfg{WorkingDir}/tmp/ip2sid=.
319# If you turn this option on, you can safely turn {Sessions}{IDsInURLs}
320# _off_.
3211400ns$Foswiki::cfg{Sessions}{MapIP2SID} = 0;
322
323# **OCTAL LABEL="Session-File Permission" CHECK="min:000 max:777" EXPERT**
324# File security for new session objects created by the login manager.
325# You may have to adjust these permissions to allow (or deny) users other
326# than the webserver user access session objects that Foswiki creates in
327# the filesystem. This is an *octal* number representing the standard
328# UNIX permissions
329# (for example 0640 == rw-r-----)
33011µs$Foswiki::cfg{Session}{filePermission} = 0600;
331
332#---++ Validation
333# Validation is the process by which Foswiki validates that a request is
334# allowed by the site, and is not part of an attack on the site.
335
336# **SELECT strikeone,embedded,none LABEL="Validation Method" **
337# By default Foswiki uses Javascript to perform "double submission" validation
338# of browser requests. This technique, called "strikeone", is highly
339# recommended for the prevention of cross-site request forgery (CSRF). See also
340# [[http://foswiki.org/Support/WhyYouAreAskedToConfirm][Why am I being asked to confirm?]].
341#
342# If Javascript is known not to be available in browsers that use the site,
343# or cookies are disabled, but you still want validation of submissions,
344# then you can fall back on a embedded-key validation technique that
345# is less secure, but still offers some protection against CSRF. Both
346# validation techniques rely on user verification of "suspicious"
347# transactions.
348#
349# This option allows you to select which validation technique will be
350# used.
351# * If it is set to "strikeone", or is undefined, 0, or the empty string,
352# then double-submission using Javascript will be used.
353# * If it is set to "embedded", then embedded validation keys will be used.
354# * If it is set to "none", then no validation of posted requests will
355# be performed.
3561800ns$Foswiki::cfg{Validation}{Method} = 'strikeone';
357
358# **NUMBER LABEL="Validation Expiry" EXPERT DISPLAY_IF="{Validation}{Method}!='none'" CHECK="min:1 iff:'{Validation}{Method} ne q<none>'"**
359# Validation keys are stored for a maximum of this amount of time before
360# they are invalidated. Time in seconds. A shorter time reduces the risk
361# of a hacker finding and re-using one of the keys, at the cost of more
362# frequent confirmation prompts for users.
3631300ns$Foswiki::cfg{Validation}{ValidForTime} = 3600;
364
365# **NUMBER LABEL="Maximum Keys per Session" EXPERT DISPLAY_IF="{Validation}{Method}!='none'" CHECK="min:10 iff:'{Validation}{Method} ne q<none>'"**
366# The maximum number of validation keys to store in a session. There is one
367# key stored for each page rendered. If the number of keys exceeds this
368# number, the oldest keys will be force-expired to bring the number down.
369# This is a simple tradeoff between space on the server, and the number of
370# keys a single user might use (usually dictated by the number of wiki pages
371# they have open simultaneously)
3721300ns$Foswiki::cfg{Validation}{MaxKeysPerSession} = 1000;
373
374# **BOOLEAN LABEL="Expire Validation Key on Use" EXPERT DISPLAY_IF="{Validation}{Method}!='none'" CHECK="iff:'{Validation}{Method} ne q<none>'"**
375# Expire a validation key immediately when it is used to validate the saving
376# of a page. This protects against an attacker evesdropping the communication
377# between browser and server and exploiting the keys sent from browser to
378# server. If this is enabled and a user edits and saves a page, and then goes
379# back to the edit screen using the browser back button and saves again, they
380# will be met by a warning screen against "Suspicious request from
381# browser". The same warning will be displayed if you build an application with
382# pages containing multiple forms and users try to submit from these
383# forms more than once. If this warning screen is a problem for your users, you
384# can disable this setting which enables reuse of validation keys.
385# However this will lower the level of security against cross-site request
386# forgery.
3871300ns$Foswiki::cfg{Validation}{ExpireKeyOnUse} = 1;
388
389#---++ Login
390# Foswiki supports different ways of handling how a user asks, or is asked,
391# to log in.
392
393# **SELECTCLASS none,Foswiki::LoginManager::*Login* CHECK="also:{AuthScripts}" LABEL="Login Manager"**
394# Select the login manager to use.
395# * none - Don't support logging in, all users have access to everything.
396# * Foswiki::LoginManager::TemplateLogin - Redirect to the login template,
397# which asks for a username and password in a form. Does not cache the
398# ID in the browser, so requires client sessions to work.
399# * Foswiki::LoginManager::ApacheLogin - Redirect to an '...auth' script
400# for which Apache can be configured to ask for authorization information.
401# Does not require client sessions, but works best with them enabled.
402# It is important to ensure that the chosen LoginManager is consistent with
403# the Web Server configuration.
4041500ns$Foswiki::cfg{LoginManager} = 'Foswiki::LoginManager::TemplateLogin';
405
406# **BOOLEAN LABEL="Debug Login Manager" EXPERT**
407# Write debugging output to the webserver error log.
4081500ns$Foswiki::cfg{Trace}{LoginManager} = 0;
409
410# **STRING 100 LABEL="Authenticated Scripts" DISPLAY_IF="{LoginManager}=='Foswiki::LoginManager::TemplateLogin'" CHECK="iff:'{LoginManager} =~ /TemplateLogin$/'" CHECK_ON_CHANGE="{LoginManager}" **
411# Comma-separated list of scripts in the bin directory that require the user to
412# authenticate. This setting is used with TemplateLogin; any time an
413# unauthenticated user attempts to access one of these scripts, they will be
414# required to authenticate. With ApacheLogin, the web server must be configured
415# to require a valid user for access to these scripts. =edit= and
416# =save= should be removed from this list if the guest user is permitted to
417# edit topics without authentication.
4181500ns$Foswiki::cfg{AuthScripts} =
419'attach,compareauth,edit,manage,previewauth,rdiffauth,rename,restauth,save,statistics,upload,viewauth,viewfileauth';
420
421# **BOOLEAN LABEL="Legacy REST Security" EXPERT**
422# Foswiki 1.2 has removed the =rest= script from the list of {AuthScripts}.
423# Instead of providing blanket security for =rest=, each handler is now
424# responsible to set its individual requirements for 3 options:
425# _authentication_, _validation_ and _http_allow_ methods (POST vs. GET).
426# The defaults for these 3 options have been changed to default to be secure,
427# and handlers can exempt these checks based upon their specific requirements.
428# Enable this setting to restore the original insecure defaults.
4291400ns$Foswiki::cfg{LegacyRESTSecurity} = $FALSE;
430
431# **REGEX LABEL="Authenticated Scripts Pattern" EXPERT**
432# Regular expression matching the scripts that should be allowed to accept the
433# =username= and =password= parameters other than the login script. Older
434# versions of Foswiki would accept the username and password parameter on any
435# script. The =login= and =logon= script will always accept the username and
436# password, but only from POST requests. In order to add support for the
437# =rest= and =restauth>> scripts, specify =/^(view|rest)(auth)?$/=
4381500ns$Foswiki::cfg{Session}{AcceptUserPwParam} = '^view(auth)?$';
439
440# **BOOLEAN LABEL="Accept User Password on GET" EXPERT**
441# For backwards compatibility, enable this setting if you want
442# =username= and =password= parameters to be accepted on a GET request when
443# provided as part of the query string. It is more secure to restrict login
444# operations to POST requests only.
4451300ns$Foswiki::cfg{Session}{AcceptUserPwParamOnGET} = $FALSE;
446
447# **BOOLEAN LABEL="Prevent from Remembering the User Password" EXPERT DISPLAY_IF="{LoginManager}=='Foswiki::LoginManager::TemplateLogin'" CHECK="iff:'{LoginManager} =~ /TemplateLogin$/'"**
448# Browsers typically remember your login and passwords to make authentication
449# more convenient for users. If your Foswiki is used on public terminals,
450# you can prevent this, forcing the user to enter the login and password
451# every time.
4521500ns$Foswiki::cfg{TemplateLogin}{PreventBrowserRememberingPassword} = 0;
453
454# **BOOLEAN LABEL="Allow Login 'Using Email Address" EXPERT DISPLAY_IF="{LoginManager}=='Foswiki::LoginManager::TemplateLogin'" CHECK="iff:'{LoginManager} =~ /TemplateLogin$/'"**
455# Allow a user to log in to foswiki using the email addresses known to the
456# password system (in addition to their username).
4571300ns$Foswiki::cfg{TemplateLogin}{AllowLoginUsingEmailAddress} = 0;
458
459# **REGEX LABEL="Login Name Filter" EXPERT**
460# The perl regular expression used to constrain user login names. Some
461# environments may require funny characters in login names, such as \.
462# This is a filter *in* expression, so a login name must match this
463# expression or an error will be thrown and the login denied.
4641400ns$Foswiki::cfg{LoginNameFilterIn} = '^[^\s\*?~^\$@%`"\'&;|<>\x00-\x1f]+$';
465
466# **STRING 20 LABEL="Default User Login" EXPERT**
467# Guest user's login name. You are recommended not to change this.
46811µs$Foswiki::cfg{DefaultUserLogin} = 'guest';
469
470# **STRING 20 LABEL="Default User WikiName" EXPERT**
471# Guest user's wiki name. You are recommended not to change this.
4721400ns$Foswiki::cfg{DefaultUserWikiName} = 'WikiGuest';
473
474# **STRING 20 LABEL="Admin User Login" EXPERT**
475# An internal admin user login name (matched with the configure password,
476# if set) which can be used as a temporary Admin login (see: Main.AdminUser).
477# This login name is additionally required by the install script for some addons
478# and plugins, usually to gain write access to the Foswiki web.
479# If you change this you risk making topics uneditable.
4801400ns$Foswiki::cfg{AdminUserLogin} = 'admin';
481
482# **STRING 20 LABEL="Admin User WikiName" EXPERT**
483# The internal admin user WikiName that is displayed for actions done by the
484# {AdminUserLogin}.
485# This is a special WikiName and should never be directly authenticated.
486# It is accessed by logging in using the AdminUserLogin either directly
487# or with the sudo login.
488# You should normally not need to change this (if you do,
489# you will need to move the %USERSWEB%.AdminUser topic to match. Do not
490# register a user with this name!)
4911300ns$Foswiki::cfg{AdminUserWikiName} = 'AdminUser';
492
493# **STRING 20 LABEL="Admin Group" EXPERT**
494# Group of users that can use special =?action=repRev= and =?action=delRev=
495# on =save= and ALWAYS have edit powers. See %SYSTEMWEB%.CompleteDocumentation
496# for an explanation of wiki groups. The default value "AdminGroup" is used
497# everywhere in Foswiki to protect important settings so you would need
498# a really special reason to change this setting.
4991300ns$Foswiki::cfg{SuperAdminGroup} = 'AdminGroup';
500
501# **STRING 20 LABEL="Users TopicName" EXPERT**
502# Name of topic in the {UsersWebName} web where registered users are listed.
503# Automatically maintained by the standard registration scripts.
504# *If you change this setting you will have to use Foswiki to*
505# *manually rename the existing topic*
5061300ns$Foswiki::cfg{UsersTopicName} = 'WikiUsers';
507
508#---++ User mapping
509# This section contains only expert options.
510# The user mapping is used to map login names used with external
511# authentication systems to Foswiki user identities.
512
513# **SELECTCLASS Foswiki::Users::*UserMapping LABEL="User Mapping Manager" EXPERT**
514# By default only two mappings are available, though other mappings *may*
515# be installed to support other authentication providers.
516# * Foswiki::Users::TopicUserMapping - uses Foswiki user and group topics to
517# determine user information, and group memberships.
518# * Foswiki::Users::BaseUserMapping - has only pseudo users such as
519# {AdminUser} and {DefaultUserWikiName}, with the Admins login and
520# password being set from configure.
521# *Does not support User registration*, and only works with TemplateLogin.
5221400ns$Foswiki::cfg{UserMappingManager} = 'Foswiki::Users::TopicUserMapping';
523
524# **BOOLEAN LABEL="Force Manage Emails" EXPERT DISPLAY_IF="{UserMappingManager}=='Foswiki::Users::TopicUserMapping'" CHECK="iff:'{UserMappingManager} =~ /:TopicUserMapping$/'"**
525# Enable this parameter to force the TopicUserMapping manager to directly
526# manage email addresses, and not pass management over to the PasswordManager.
527# When enabled, TopicUserMapping will store addresses in the user topics.
528#
529# Default is disabled. The PasswordManager will determine what is
530# responsible for storing email addresses.
531#
532# *Note:* Foswiki provides a utility to migrate emails from user topic to the
533# password file, but does not provide any way to migrate emails from the
534# password file back to user topics.
5351600ns$Foswiki::cfg{TopicUserMapping}{ForceManageEmails} = $FALSE;
536
537#---++ Access Control
538# Control some features of how Foswiki handles access control settings.
539
540# **SELECTCLASS Foswiki::Access::*Access LABEL="Access Control Implementation" **
541# Choose who can access the wiki.
542# * =TopicACLAccess= is the normal foswiki ACL system, as documented
543# in the setup guides.
544# * =AdminOnlyAccess= denies all non-admins (not in the AdminGroup)
545# any access to the wiki - useful for site maintainence.
546# * =TopicACLReadOnlyAccess= denies all non-admins any update access
547# to the wiki, and falls back to =TopicACLAccess= for VIEW access
548# checks - also useful for site maintenance.
549# Note: The AdminOnly and ReadOnly access controls do not necessarly
550# provide absolute control. Some extensions (non-default) have been
551# written to allow anonymous updates. If an operation does not check
552# for access permission, then it will not get blocked by these controls.
5531400ns$Foswiki::cfg{AccessControl} = 'Foswiki::Access::TopicACLAccess';
554
555# **BOOLEAN LABEL="Enable Deprecated Empty Deny" EXPERT **
556# Optionally restore the deprecated empty =DENY= ACL behavior.
557# If this setting is enabled, the "Empty" =DENY= ACL is interpreted as
558# "Deny nobody", which is equivalent to "Allow all".
559# It is recommended that this setting remain disabled, and that
560# these rules be replaced with the * wildcard on the =ALLOW= setting:
561# <verbatim>
562# * Set DENYTOPICVIEW = Should be replaced with:
563# * Set ALLOWTOPICVIEW = *
564# </verbatim>
565# See =tools/convertTopicSettings.pl= for a utility to migrate to the
566# new ACL format.
5671700ns$Foswiki::cfg{AccessControlACL}{EnableDeprecatedEmptyDeny} = $FALSE;
568
569# **SELECT authenticated,acl,all LABEL="Access to RAW" EXPERT**
570# Choose which users will have access to the "raw" topic views.
571# Default is "authenticated", so that guest users can not view the raw
572# topic contents. This avoids indexing of raw topic context by bots and
573# crawlers.
574# If set to =acl=, then access is controlled by setting =ALLOW= or =DENY=
575# =WEB= or =TOPIC RAW=, for example:
576# <verbatim>
577# * Set ALLOWTOPICRAW = DevelopersGroup
578# </verbatim>
5791600ns$Foswiki::cfg{FeatureAccess}{AllowRaw} = 'authenticated';
580
581# **SELECT authenticated,acl,all LABEL="Access to History" EXPERT**
582# Choose which users will have access to the topic history.
583# Default is "authenticated", so that guest users can not view the topic
584# history. This can also reduce bot workload by denying web crawlers access
585# to topic history. If set to =acl=, then access is controlled on a topic
586# or web basis by setting =ALLOW= or =DENY= =WEB= or =TOPIC HISTORY=.
587# For example:
588# <verbatim>
589# * Set DENYTOPICHISTORY = WikiGuest
590# </verbatim>
591# Note that this setting also controls access to the =rdiff= and =compare=
592# scripts.
5931400ns$Foswiki::cfg{FeatureAccess}{AllowHistory} = 'authenticated';
594
595# **STRING 80 LABEL="Access to Configure"**
596# A list of users permitted to use the =bin/configure= configuration tool
597# If this is configured, then users attempting to access
598# configure are validated against this list. (The user must still first
599# login using the normal Foswiki authentication). If configured, it is
600# applied as a replacement for testing the isAdmin status of the user.
601# This can be used to:
602# * Allow configure to be used only by a subset of Admins
603# * Allow configure to be used by non-admin users.
604# * Allow configure to run by anyone
605# Because users with access to configure can install software on the server
606# and make changes that are potentially difficult to recover from, it is
607# strongly recommended that configure access be limited. Examples:
608# * Restrict configure to "JoeAdmin" and "BobAdmin": =JoeAdmin BobAdmin=
609# The super admin user can always use configure. provided you set the expert
610# Password setting under the Passwords tab.
6111400ns$Foswiki::cfg{FeatureAccess}{Configure} = '';
612
613#---++ Passwords
614# Control how passwords are handled.
615
616# **SELECTCLASS none,Foswiki::Users::*User LABEL="Password Manager"**
617# The password manager handles the passwords database, and provides
618# password lookup, and optionally password change, services to the rest of
619# Foswiki.
620# Foswiki ships with one password manager implementation:
621# * =Foswiki::Users::HtPasswdUser= - handles 'htpasswd' format files, with
622# passwords encoded as per the HtpasswdEncoding
623# You can provide your own alternative by implementing a new subclass of
624# Foswiki::Users::Password, and pointing {PasswordManager} at it in
625# lib/LocalSite.cfg.
626#
627# If 'none' is selected, users will not be able to change passwords
628# and TemplateLogin manager then will always succeed, regardless of
629# what username or password they enter. This may be useful when you want to
630# enable logins so Foswiki can identify contributors, but you don't care about
631# passwords. Using ApacheLogin and PassordManager set to 'none' (and
632# AllowLoginName = true) is a common Enterprise SSO configuration, in which
633# any logged in user can then register to create their Foswiki Based identity.
6341400ns$Foswiki::cfg{PasswordManager} = 'Foswiki::Users::HtPasswdUser';
635
636# **NUMBER LABEL="Minimum Password Length"**
637# Minimum length for a password, for new registrations and password changes.
638# If you want to allow null passwords, set this to 0.
6391300ns$Foswiki::cfg{MinPasswordLength} = 7;
640
641# **PATH LABEL="Password Filename" DISPLAY_IF="/htpasswd/i.test({PasswordManager})" CHECK="iff:'{PasswordManager}=~/htpasswd/i'"**
642# Path to the file that stores passwords, for the Foswiki::Users::HtPasswdUser
643# password manager. You can use the =htpasswd= Apache program to create a new
644# password file with the right encoding, however use caution, as it will remove
645# email addresses from an existing file.
6461700ns$Foswiki::cfg{Htpasswd}{FileName} = '$Foswiki::cfg{DataDir}/.htpasswd';
647
648# **STRING LABEL="Password File Character Encodingname" DISPLAY_IF="/htpasswd/i.test({PasswordManager})" CHECK="undefok iff:'{PasswordManager}=~/htpasswd/i'"**
649# Character encoding used in the password file. This will default to utf-8, which allows any unicode
650# character to be used in usernames, passwords and email addresses. The only time you should change it
651# is if you have an existing password file that uses a different encoding (and even then only if there
652# is at least one character in that file that has a codepoint that would conflict with utf-8).
653# $Foswiki::cfg{Htpasswd}{CharacterEncoding} = 'utf-8';
654
655# **PATH LABEL="Password Lock-Filename" EXPERT DISPLAY_IF="/htpasswd/i.test({PasswordManager})" CHECK="iff:'{PasswordManager}=~/htpasswd/i'"**
656# Path to the lockfile for the password file. This normally does not need
657# to be changed; however if two Foswiki installations share and update a
658# common password file it is critical that both use the same lockfile.
659# For example, change it to the location of the password file,
660# =$Foswiki::cfg{DataDir}/htpasswd.lock=. Foswiki must have rights to
661# create the lock file in this location. Only applicable to =HtPasswdUser=.
6621400ns$Foswiki::cfg{Htpasswd}{LockFileName} =
663 '$Foswiki::cfg{WorkingDir}/htpasswd.lock';
664
665# **BOOLEAN LABEL="Cache Passwords" EXPERT DISPLAY_IF="{PasswordManager}=='Foswiki::Users::HtPasswdUser'" CHECK="iff:'{PasswordManager} =~ /:HtPasswdUser/' also:{DetectModification}"**
666# Enable this option on systems using =FastCGI, FCGID, or Mod_Perl= in
667# order to avoid reading the password file for every transaction.
668# It will cause the =HtPasswdUser= module to globally cache the password
669# file, reading it only once on initization.
6701400ns$Foswiki::cfg{Htpasswd}{GlobalCache} = $FALSE;
671
672# **BOOLEAN LABEL="Detect Modification of Password File" EXPERT DISPLAY_IF="{PasswordManager}=='Foswiki::Users::HtPasswdUser'" CHECK="iff:'{PasswordManager} =~ /:HtPasswdUser$/' also:{GlobalCache}"**
673# Enable this option if the .htpasswd file can be updated either external to Foswiki
674# or by another Foswiki instance, and =GlobalCache= is enabled. When enabled, Foswiki will verify the timestamp of
675# the file and will invalidate the cache if the file has been changed. This is only useful
676# if Foswiki is running in a =mod_perl= or =fcgi= envinroment.
6771300ns$Foswiki::cfg{Htpasswd}{DetectModification} = $FALSE;
678
679# **SELECT bcrypt,'htdigest-md5','apache-md5',sha1,'crypt-md5',crypt,plain LABEL="Password Encoding" DISPLAY_IF="/htpasswd/i.test({PasswordManager})" CHECK="iff:'{PasswordManager}=~/htpasswd/i'"**
680# Password encryption, for the =Foswiki::Users::HtPasswdUser= password
681# manager. This specifies the type of password hash to generate when
682# writing entries to =.htpasswd=. It is also used when reading password
683# entries unless {Htpasswd}{AutoDetect} is enabled.
684#
685# The choices in order of strongest to lowest strength:
686# * =(HTTPS)= - Any encoding over an HTTPS SSL connection.
687# (Not an option here.)
688# * =htdigest-md5= - Strongest only when combined with the
689# =Foswiki::LoginManager::ApacheLogin=. Useful on sites where
690# password files are required to be portable. The {AuthRealm}
691# value is used with the username and password to generate the
692# hashed form of the password, thus: =user:{AuthRealm}:hash=.
693# This encoding is generated by the Apache =htdigest= command.
694# * =bcrypt= - Hash based upon blowfish algorithm, strength of hash
695# controlled by a cost parameter.
696# *Not compatible with Apache Authentication*
697# * =apache-md5= - Enable an Apache-specific algorithm using an iterated
698# (1,000 times) MD5 digest of various combinations of a random
699# 32-bit salt and the password (=userid:$apr1$salt$hash=).
700# This is the default, and is the encoding generated by the
701# =htpasswd -m= command.
702# * =sha1= - has the strongest hash, however does not use a salt
703# and is therefore more vulnerable to dictionary attacks. This
704# is the encoding generated by the =htpasswd -s= command
705# (=userid:{SHA}hash=).
706# * =crypt-md5= - Enable use of standard libc (/etc/shadow)
707# crypt-md5 password (like =user:$1$salt$hash:email=). Unlike
708# =crypt= encoding, it does not suffer from password truncation.
709# Passwords are salted, and the salt is stored in the encrypted
710# password string as in normal crypt passwords. This encoding is
711# understood by Apache but cannot be generated by the =htpasswd=
712# command.
713# * =crypt= - encoding uses the first 8 characters of the password.
714# This is the default generated by the Apache =htpasswd= command
715# (=user:hash:email=). *Not Recommended.*
716# * =plain= - stores passwords as plain text (no encryption). Useful
717# for testing
718# If you need to create entries in =.htpasswd= before Foswiki is operational,
719# you can use the =htpasswd= or =htdigest= Apache programs to create a new
720# password file with the correct encoding. Use caution however as these
721# programs do not support the email addresses stored by Foswiki in
722# the =.htpasswd= file.
7231400ns$Foswiki::cfg{Htpasswd}{Encoding} = 'apache-md5';
724
725# **STRING 80 LABEL="Authentication Realm" DISPLAY_IF="/htpasswd/i.test({PasswordManager}) && /md5$/.test({Htpasswd}{Encoding})"**
726# Authentication realm. You may need to change it
727# if you are sharing a password file with another application.
7281600ns$Foswiki::cfg{AuthRealm} =
729'Enter your WikiName. (First name and last name, no space, no dots, capitalized, e.g. JohnSmith). Cancel to register if you do not have one.';
730
731# **BOOLEAN LABEL="Auto-detect Password Encoding" DISPLAY_IF="{PasswordManager}=='Foswiki::Users::HtPasswdUser' && {Htpasswd}{Encoding}!='plain'" CHECK="iff:'{PasswordManager} =~ /:HtPasswdUser$/ && {Htpasswd}{Encoding} ne q<plain>'"**
732# Auto-detect the stored password encoding type. Enable
733# this to allow migration from one encoding format to another format.
734# Note that this does add a small overhead to the parsing of the =.htpasswd=
735# file. Tests show approximately 1ms per 1000 entries. It should be used
736# with caution unless you are using CGI acceleration such as FastCGI or
737# mod_perl. This option is not compatible with =plain= text passwords.
7381400ns$Foswiki::cfg{Htpasswd}{AutoDetect} = $TRUE;
739
740# **NUMBER LABEL="BCrypt Cost" DISPLAY_IF="{PasswordManager}=='Foswiki::Users::HtPasswdUser' && {Htpasswd}{Encoding}=='bcrypt'" CHECK="min:0 iff:'{PasswordManager}=~/:HtPasswdUser/ && {Htpasswd}{Encoding} eq q<bcrypt>'"**
741# Specify the cost that should be incured when computing the hash of a
742# password. This number should be increased as CPU speeds increase.
743# The iterations of the hash is roughly 2^cost - default is 8, or 256
744# iterations.
7451300ns$Foswiki::cfg{Htpasswd}{BCryptCost} = 8;
746
747# **PASSWORD LABEL="Internal Admin Password" CHECK_ON_CHANGE="{FeatureAccess}{Configure}" CHECK="also:{FeatureAccess}{Configure}" ONSAVE**
748# If set, this password # permits use of the _internal admin_ login, and the sudo facility.
749# *As it is a "shared password", this is no longer recommended per good security practices.*
750# Clear this field to disable use of the internal admin login.
751#
7521300ns$Foswiki::cfg{Password} = '';
753
754#---++ Registration
755# Registration is the process by which new users register themselves with
756# Foswiki.
757
758# **BOOLEAN LABEL="Allow Login Names"**
759# If you want users to be able to use a login ID other than their
760# wikiname, you need to turn this on. It controls whether the 'LoginName'
761# box appears during the user registration process, and is used to tell
762# the User Mapping module whether to map login names to wikinames or not
763# (if it supports mappings, that is).
764#
765# Note: TopicUserMapping stores the login name in the WikiUsers topic.
766# Changing this value on a system with established users can cause login
767# issues.
76812µs$Foswiki::cfg{Register}{AllowLoginName} = $FALSE;
769
770# **BOOLEAN LABEL="Enable User Registration"**
771# Controls whether new user registration is available.
772# It will have no effect on existing users.
7731400ns$Foswiki::cfg{Register}{EnableNewUserRegistration} = $TRUE;
774
775# **BOOLEAN LABEL="Verify User Registration"**
776# Whether registrations must be verified by the user, by following
777# a link sent in an email to the user's registered email address
7781300ns$Foswiki::cfg{Register}{NeedVerification} = $FALSE;
779
780# **BOOLEAN LABEL="Approve User Registration"**
781# Whether registrations must be verified by a referee. The referees are
782# listed in the {Register}{Approvers} setting, by wikiname. Note that
783# the AntiWikiSpamPlugin supports automatic checking of registration
784# sources against black- and white-lists, and may be a good alternative
785# to an approval system.
7861300ns$Foswiki::cfg{Register}{NeedApproval} = $FALSE;
787
788# **STRING 40 LABEL="User Registration Approvers" CHECK="undefok emptyok"**
789# Comma-separated list of WikiNames of users who are able to approve
790# new registrations. These referees will be sent an email when a new
791# user verifies their registration. The referee must click a link in
792# the email to approve (or deny) the registration.
793# If the approver list is empty, the email will be sent to the wiki
794# administrator.
7951500ns$Foswiki::cfg{Register}{Approvers} = '';
796
797# **NUMBER 20 LABEL="Registration Expiry" DISPLAY_IF="{Register}{NeedVerification} || {Register}{NeedApproval}"**
798# Set the pending registration timeout, in seconds. The pending registration
799# will be cleared after this amount of time. The default is 6 hours
800# (21600 seconds).
801#
802# *Note:* By default, registration expiry is done "on the fly"
803# during the registration process. For best performance, you can
804# set {Register}{ExpireAfter} to a negative number, which will mean
805# that Foswiki won't try to clean up expired registrations during
806# registration. Instead you should use a cron job to clean up expired
807# sessions. The standard maintenance cron script =tools/tick_foswiki.pl=
808# includes this function.
809#
810# *Note:* that if you are using registration approval by 3rd party reviewers,
811# this timer should most likely be significantly increased.
812# 24 hours = 86400, 3 days = 259200.
813#
814# Pending registration requests are stored in the
815# ={WorkingDir}/registration_approvals= directory.
8161400ns$Foswiki::cfg{Register}{ExpireAfter} = 21600;
817
818# **BOOLEAN LABEL="Disable Password Confirmation" EXPERT**
819# Controls whether the user password has to be entered twice on the
820# registration page or not. The default is to require confirmation, in which
821# case the same password must be provided in the confirmation input.
8221400ns$Foswiki::cfg{Register}{DisablePasswordConfirmation} = $FALSE;
823
824# **BOOLEAN LABEL="Hide Password" EXPERT**
825# Hide password in registration email to the _user_.
826# Note that Foswiki sends administrators a separate confirmation.
8271700ns$Foswiki::cfg{Register}{HidePasswd} = $TRUE;
828
829# **STRING 20 LABEL="Registration Agent WikiName" EXPERT**
830# The internal user that creates user topics on new registrations.
831# You are recommended not to change this. Note that if the default
832# protection of the users web (Main) is changed, this user must have
833# write access to that web.
8341600ns$Foswiki::cfg{Register}{RegistrationAgentWikiName} = 'RegistrationAgent';
835
836# **BOOLEAN LABEL="Require Unique Email"**
837# Normally users can register multiple WikiNames using the same email address.
838# Enable this parameter to prevent multiple registrations using the same
839# email address.
8401300ns$Foswiki::cfg{Register}{UniqueEmail} = $FALSE;
841
842# **REGEX 80 LABEL="Email Filter" CHECK="emptyok" EXPERT**
843# This regular expression can be used to block certain email addresses
844# from being used for registering users. It can be used to block some
845# of the more common wikispam bots. If this regex matches the entered
846# address, the registration is rejected. For example:
847# =^.*@(lease-a-seo\.com|paydayloans).*$=
848#
849# To block all domains and list only the permitted domains, use an
850# expression of the format:
851# =@(?!(example\.com|example\.net)$)=
8521500ns$Foswiki::cfg{Register}{EmailFilter} = '';
853
854#---++ Environment
855# Control some aspects of the environment Foswiki runs within.
856
857# **PERL LABEL="Accessible Configuration"**
858# Array of the names of configuration items that are available when using
859# %IF, %SEARCH and %QUERY{}%. Extensions can push into this array to extend
860# the set. This is done as a filter in because while the bulk of configuration
861# items are quite innocent, it's better to be a bit paranoid.
862115µs$Foswiki::cfg{AccessibleCFG} = [
863 '{AccessControlACL}{EnableDeprecatedEmptyDeny}',
864 '{AccessibleCFG}',
865 '{AdminUserLogin}',
866 '{AdminUserWikiName}',
867 '{AntiSpam}{EmailPadding}',
868 '{AntiSpam}{EntityEncode}',
869 '{AntiSpam}{HideUserDetails}',
870 '{AntiSpam}{RobotsAreWelcome}',
871 '{AuthRealm}',
872 '{AuthScripts}',
873 '{Cache}{Enabled}',
874 '{DefaultDateFormat}',
875 '{DefaultUrlHost}',
876 '{DenyDotDotInclude}',
877 '{DisplayTimeValues}',
878 '{EnableEmail}',
879 '{EnableHierarchicalWebs}',
880 '{FormTypes}',
881 '{HomeTopicName}',
882 '{LeaseLength}',
883 '{LeaseLengthLessForceful}',
884 '{LinkProtocolPattern}',
885 '{LocalSitePreferences}',
886 '{LoginNameFilterIn}',
887 '{LowerNational}',
888 '{MaxRevisionsInADiff}',
889 '{MinPasswordLength}',
890 '{NameFilter}',
891 '{NotifyTopicName}',
892 '{NumberOfRevisions}',
893 '{PluginsOrder}',
894 '{Plugins}{WebSearchPath}',
895 '{PluralToSingular}',
896 '{Register}{AllowLoginName}',
897 '{Register}{Approvers}',
898 '{Register}{DisablePasswordConfirmation}',
899 '{Register}{EnableNewUserRegistration}',
900 '{Register}{NeedApproval}',
901 '{Register}{NeedVerification}',
902 '{Register}{RegistrationAgentWikiName}',
903 '{ReplaceIfEditedAgainWithin}',
904 '{ScriptSuffix}',
905 '{ScriptUrlPath}',
906 '{Site}{Locale}',
907 '{Site}{LocaleRegexes}',
908 '{SitePrefsTopicName}',
909 '{Stats}{TopContrib}',
910 '{Stats}{TopicName}',
911 '{Stats}{TopViews}',
912 '{SuperAdminGroup}',
913 '{SystemWebName}',
914 '{TemplateLogin}{AllowLoginUsingEmailAddress}',
915 '{TemplatePath}',
916 '{TrashWebName}',
917 '{UploadFilter}',
918 '{UpperNational}',
919 '{UseLocale}',
920 '{UserInterfaceInternationalisation}',
921 '{UsersTopicName}',
922 '{UsersWebName}',
923 '{Validation}{Method}',
924 '{WebMasterEmail}',
925 '{WebMasterName}',
926 '{WebPrefsTopicName}',
927];
928
929# **BOOLEAN LABEL="Allow URLs in INCLUDE"**
930# Allow %INCLUDE of URLs. This is disabled by default, because it is possible
931# to mount a denial-of-service (DoS) attack on a Foswiki site using INCLUDE and
932# URLs. Only enable it if you are in an environment where a DoS attack is not
933# a high risk.
934#
935# You may also need to configure the proxy settings ({PROXY}{HOST} and
936# {PROXY}{PORT}) if your server is behind a firewall and you allow %INCLUDE of
937# external webpages (see Proxies).
9381700ns$Foswiki::cfg{INCLUDE}{AllowURLs} = $FALSE;
939
940# **BOOLEAN LABEL="Display logged in unknown Users" EXPERT**
941# If a login name (or an internal user id) cannot be mapped to a wikiname,
942# then the user is unknown. By default the user will be displayed using
943# whatever identity is stored for them. For security reasons you may want
944# to obscure this stored id by setting this option to true.
9451300ns$Foswiki::cfg{RenderLoggedInButUnknownUsers} = $FALSE;
946
947# **BOOLEAN LABEL="Deny '..' in INCLUDE" EXPERT**
948# Remove .. from %INCLUDE{filename}%, to stop includes
949# of relative paths.
9501300ns$Foswiki::cfg{DenyDotDotInclude} = $TRUE;
951
952# **REGEX LABEL="Upload Filter" EXPERT**
953# Regex used to detect illegal names for uploaded (attached) files.
954#
955# Normally your web server should be configured to control what can be
956# done with files in the =pub= directory (see
957# [[http://foswiki.org/Support/FaqSecureFoswikiAgainstAttacks#Configure_the_web_server_to_protect_attachments][Support.FaqSecureFoswikiAgainstAttacks]]
958# for help doing this. In this case, this configuration item can be set to
959# the null string.
960#
961# On some hosted installations, you don't have access to the web server
962# configuration in order to secure it. In this case, you can use this option
963# to detect filenames that present a security threat (e.g. that the webserver
964# might interpret as executables).
965#
966# *Note:* Make sure you update this list with any configuration or script
967# filetypes that are automatically run by your web server. The default setting
968# also renames files with trailing dot (.), which is silently discarded on windows.
969#
970# *Note:* this will only filter files during upload. It won't affect
971# files that were already uploaded, or files that were created directly
972# on the server.
973#
9741500ns$Foswiki::cfg{UploadFilter} = '^((?i)\.htaccess|.*\.(?i)(?:php[0-9s]?(\..*)?|[sp]htm[l]?(\..*)?|pl|py|cgi)?)$';
975
976# **REGEX LABEL="Name Filter" EXPERT**
977# Filter-out regex for webnames, topic names, file attachment names, usernames,
978# include paths and skin names. This is a filter *out*, so if any of the
979# characters matched by this expression are seen in names, they will be
980# removed.
9811400ns$Foswiki::cfg{NameFilter} = '[\\\\\\s\\*?~^\\$@%`"\'\\x26;|\\x3c>\\[\\]#\\x00-\\x1f]';
982
983# **BOOLEAN LABEL="Force unsafe Regular Expressions" EXPERT**
984# If this is set, then the search module will use more relaxed
985# rules governing regular expressions searches.
9861300ns$Foswiki::cfg{ForceUnsafeRegexes} = $FALSE;
987
988# **BOOLEAN LABEL="Get Script Url from Request" EXPERT**
989# Build the path to /foswiki/bin from the URL that was used to get this
990# far. This can be useful when rewriting rules or redirection are used
991# to shorten URLs. Note that displayed links are incorrect after failed
992# authentication if this is set, so unless you really know what you are
993# doing, leave it alone.
9941400ns$Foswiki::cfg{GetScriptUrlFromCgi} = $FALSE;
995
996# **BOOLEAN LABEL="Drain STDIN" EXPERT**
997# Draining STDIN may be necessary if the script is called due to a
998# redirect and the original query was a POST. In this case the web
999# server is waiting to write the POST data to this script's STDIN,
1000# but CGI.pm won't drain STDIN as it is seeing a GET because of the
1001# redirect, not a POST. Enable this *only* in case a Foswiki script
1002# hangs.
10031300ns$Foswiki::cfg{DrainStdin} = $FALSE;
1004
1005# **BOOLEAN LABEL="Remove Port Number" EXPERT**
1006# Remove port number from URL. If set, and a URL is given with a port
1007# number for example http://my.server.com:8080/foswiki/bin/view, this will strip
1008# off the port number before using the url in links.
10091200ns$Foswiki::cfg{RemovePortNumber} = $FALSE;
1010
1011# **BOOLEAN LABEL="Allow Redirect Url" EXPERT**
1012# Allow the use of URLs in the =redirectto= parameter to the
1013# =save= script, and in =topic= parameter to the
1014# =view= script. *WARNING:* Enabling this feature makes it
1015# very easy to build phishing pages using the wiki, so in general,
1016# public sites should *not* enable it. Note: It is possible to
1017# redirect to a topic regardless of this setting, such as
1018# =topic=OtherTopic= or =redirectto=Web.OtherTopic=.
1019# To enable redirection to a list of trusted URLs, keep this setting
1020# disabled and set the {PermittedRedirectHostUrls}.
10211300ns$Foswiki::cfg{AllowRedirectUrl} = $FALSE;
1022
1023# **BOOLEAN LABEL="Use Path for Redirect Cache" EXPERT**
1024# Some authentication systems do not allow parameters to be passed in
1025# the target URL to be redirected to after authentication. In this case,
1026# Foswiki can be configured to encode the address of the parameter cache
1027# in the path information of the URL. Note that if you are using Apache
1028# rewriting rules, this may not work.
10291200ns$Foswiki::cfg{UsePathForRedirectCache} = $FALSE;
1030
1031# **REGEX LABEL="Accessible ENV" EXPERT**
1032# Defines the filter-in regexp that must match the names of environment
1033# variables that can be seen using the %ENV{}% macro. Set it to
1034# '^.*$' to allow all environment variables to be seen (not recommended).
10351400ns$Foswiki::cfg{AccessibleENV} =
1036'^(HTTP_\w+|REMOTE_\w+|SERVER_\w+|REQUEST_\w+|MOD_PERL|FOSWIKI_ACTION|PATH_INFO)$';
1037
1038#---++ Proxies
1039# Some environments require outbound HTTP traffic to go through a proxy
1040# server (for example http://proxy.your.company).
1041
1042# **URL 30 LABEL="Proxy Host" CHECK='undefok emptyok parts:scheme,authority,path\
1043# user pass \
1044# partsreq:scheme,authority \
1045# schemes:http,https \
1046# authtype:hostip' **
1047# Hostname or address of the proxy server.
1048# If your proxy requires authentication, simply put it in the URL, as in:
1049# http://username:password@proxy.your.company.
10501700ns$Foswiki::cfg{PROXY}{HOST} = undef;
1051
1052# **STRING 30 LABEL="Proxy Port" CHECK='undefok emptyok'**
1053# Some environments require outbound HTTP traffic to go through a proxy
1054# server. Set the port number here (e.g: 8080).
10551400ns$Foswiki::cfg{PROXY}{PORT} = undef;
1056
1057#---++ Anti-spam
1058# Foswiki incorporates some simple anti-spam measures to protect
1059# e-mail addresses and control the activities of benign robots, which
1060# should be enough to handle intranet requirements. Administrators of
1061# public (internet) sites are strongly recommended to install
1062# [[http://foswiki.org/Extensions/AntiWikiSpamPlugin][AntiWikiSpamPlugin]]
1063
1064# **STRING 50 LABEL="Email Padding" CHECK="undefok emptyok"**
1065# Text added to e-mail addresses to prevent spambots from grabbing
1066# addresses. For example set to 'NOSPAM' to get fred@user.co.ru
1067# rendered as fred@user.coNOSPAM.ru
10681600ns$Foswiki::cfg{AntiSpam}{EmailPadding} = '';
1069
1070# **BOOLEAN LABEL="Hide User Details"**
1071# Normally Foswiki stores the user's sensitive information (such as their e-mail
1072# address) in a database out of public view. This is to help prevent e-mail
1073# spam and identity fraud.
1074#
1075# This setting controls whether or not the =%USERINFO%= macro will reveal
1076# details about users other than the current logged in user. It does not
1077# control how Foswiki actually stores email addresses. If disclosure of
1078# emails is not a risk for you (for example, you are behind a firewall) and you
1079# are happy for e-mails to be made public to all Foswiki users, then you
1080# can disable this option. If you prefer to store email addresses directly
1081# in user topics, see the TopicUserMapping expert settings under the
1082# UserMapping tab.
1083#
1084# Note that if this option is set, then the =%USERINFO= macro will only expand
1085# the =$wikiname=, =$wikiusername= and =$isgroup= tokens.
1086# All other tokens are ignored for non-admin users.
10871400ns$Foswiki::cfg{AntiSpam}{HideUserDetails} = $TRUE;
1088
1089# **BOOLEAN LABEL="Obfuscate Emails"**
1090# By default Foswiki will also manipulate e-mail addresses to reduce the
1091# harvesting of e-mail addresses. Foswiki will encode all non-alphanumeric
1092# characters to their HTML entity equivalent. for example @ becomes &&lt;nop&gt;#64;
1093# This is not completely effective, however it can prevent some primitive
1094# spambots from seeing the addresses.
10951300ns$Foswiki::cfg{AntiSpam}{EntityEncode} = $TRUE;
1096
1097# **BOOLEAN LABEL="Robots are Welcome"**
1098# By default, Foswiki doesn't do anything to stop robots, such as those used
1099# by search engines, from visiting "normal view" pages.
1100# If you disable this option, Foswiki will generate a META tag to tell robots
1101# not to index pages. Inappropriate pages (like the raw and edit views) are
1102# always protected from being indexed.
1103# Note that for full protection from robots you should also use robots.txt
1104# (there is an example in the root of your Foswiki installation).
11051300ns$Foswiki::cfg{AntiSpam}{RobotsAreWelcome} = $TRUE;
1106
1107#---+ Logging and Statistics
1108#---++ Logging
1109# Control how Foswiki handles logging, including location of logfiles.
1110
1111# **SELECTCLASS none,Foswiki::Logger::*,Foswiki::Logger::PlainFile::* LABEL="Logger Implementation"**
1112# Foswiki supports different implementations of log files. It can be
1113# useful to be able to plug in a database implementation, for example,
1114# for a large site, or even provide your own custom logger. Select the
1115# implementation to be used here. Most sites should be OK with the
1116# PlainFile logger, which automatically rotates the logs every month.
1117#
1118# Note that on very busy systems, this logfile rotation can be disruptive
1119# and the =Compatibility= logger might perform better.
1120#
1121# The =PlainFile::Obfuscating= logger is identical to the =PlainFile=
1122# logger except that IP addresses are either obfuscated by replacing the
1123# IP Address with a MD5 Hash, or by completely masking it to x.x.x.x.
1124# If your regulatory domain prohibits tracking of IP Addresses, use the
1125# Obfuscating logger. Note that Authentication Errors are never obfuscated.
1126#
1127# Note: the Foswiki 1.0 implementation of logfiles is still supported,
1128# through use of the =Foswiki::Logger::Compatibility= logger.
1129# Foswiki will automatically select the Compatibility logger if it detects
1130# a setting for ={WarningFileName}= in your LocalSite.cfg.
11311800ns$Foswiki::cfg{Log}{Implementation} = 'Foswiki::Logger::PlainFile';
1132
1133# **PATH LABEL="Log Directory"**
1134# Directory where log files will be written. Note that the Compatibility
1135# Logger does not use this setting by default.
11361500ns$Foswiki::cfg{Log}{Dir} = '$Foswiki::cfg{WorkingDir}/logs';
1137
1138# **BOOLEAN LABEL="Obfuscate IP Addresses" DISPLAY_IF="/PlainFile::Obfuscating/i.test({Log}{Implementation})" CHECK="iff:'{Log}{Implementation} =~ /PlainFile::Obfuscating/'"**
1139# The Obfuscating logger can either replace IP addresses with a hashed address
1140# that cannot be easily reversed to the original IP, or the IP address can
1141# be completely masked as =x.x.x.x=. Enable this parameter to replace
1142# The IP address with the literal string =x.x.x.x=.
11431600ns$Foswiki::cfg{Log}{Obfuscating}{MaskIP} = $FALSE;
1144
1145# **PERL LABEL="Log Actions" EXPERT**
1146# Whether or not to log different actions in the events log.
1147# Information in the events log is used in gathering web statistics,
1148# and is useful as an audit trail of Foswiki activity. Actions
1149# not listed here will be logged by default. To disable logging of an action,
1150# add it to this list if not already present, and set value to 0.
115115µs$Foswiki::cfg{Log}{Action} = {
1152 view => 1,
1153 search => 1,
1154 changes => 1,
1155 rdiff => 1,
1156 compare => 1,
1157 edit => 1,
1158 save => 1,
1159 upload => 1,
1160 attach => 1,
1161 rename => 1,
1162 register => 1,
1163 rest => 1,
1164 viewfile => 1,
1165};
1166
1167# **PATH LABEL="Debug Filename" DISPLAY_IF="/Compatibility/i.test({Log}{Implementation}) || {DebugFileName}"**
1168# Log file for debug messages when using the Compatibility logger.
1169# (Usually very low volume.) If =%DATE%= is included in the file name, it gets expanded
1170# to YYYYMM (year, month), causing a new log to be written each month.
1171#
1172# To use the Compatibility logger, set this to a valid file path and name.
1173#
1174# Foswiki 1.0.x default: =$Foswiki::cfg{DataDir}/debug.txt=
1175# or Foswiki 1.1 logging directory =$Foswiki::cfg{Log}{Dir}/debug%DATE%.txt=
11761500ns$Foswiki::cfg{DebugFileName} = '';
1177
1178# **PATH LABEL="Warning Filename" DISPLAY_IF="/Compatibility/i.test({Log}{Implementation}) || {WarningFileName}"**
1179# Log file for Warnings when using the Compatibility logger.
1180# (Usually low volume) If =%DATE%= is included in the file name, it gets
1181# expanded to YYYYMM (year, month), causing a new log to be written each month.
1182#
1183# To use the Compatibility logger, set this to a valid file path and name.
1184#
1185# Foswiki 1.0.x default: =$Foswiki::cfg{DataDir}/warn%DATE%.txt=
1186# or Foswiki 1.1 logging directory =$Foswiki::cfg{Log}{Dir}/warn%DATE%.txt=
11871400ns$Foswiki::cfg{WarningFileName} = '';
1188
1189# **PATH LABEL="Log Filename" DISPLAY_IF="/Compatibility/i.test({Log}{Implementation}) || {LogFileName}"**
1190# Log file recording web activity when using the Compatibility logger
1191# (High volume). If =%DATE%= is included in the file name, it gets expanded
1192# to YYYYMM (year, month), causing a new log to be written each month.
1193#
1194# To use the Compatibility logger, set this to a valid file path and name.
1195#
1196# Foswiki 1.0.x default: =$Foswiki::cfg{DataDir}/log%DATE%.txt=
1197# or Foswiki 1.1 logging directory =$Foswiki::cfg{Log}{Dir}/log%DATE%.txt=
11981400ns$Foswiki::cfg{LogFileName} = '';
1199
1200# **PATH LABEL="Configure Log Filename" DISPLAY_IF="/Compatibility/i.test({Log}{Implementation}) || {ConfigureLogFileName}" CHECK="undefok"**
1201# Log file recording configuration changes when using the Compatibility logger
1202# If =%DATE%= is included in the file name, it gets expanded
1203# to YYYYMM (year, month), causing a new log to be written each month.
1204#
1205# To use the Compatibility logger, set this to a valid file path and name.
1206#
12071400ns$Foswiki::cfg{ConfigureLogFileName} = undef;
1208
1209#---++ Statistics
1210# Statistics are usually assembled by a cron script
1211
1212# **NUMBER LABEL="Top Views" CHECK="min:0" **
1213# Number of top viewed topics to show in statistics topic
12141600ns$Foswiki::cfg{Stats}{TopViews} = 10;
1215
1216# **NUMBER LABEL="Top Contributors" CHECK="min:0" **
1217# Number of top contributors to show in statistics topic
12181300ns$Foswiki::cfg{Stats}{TopContrib} = 10;
1219
1220# **SELECT Prohibited, Allowed, Always LABEL="Auto-Create Topic"**
1221# Set this parameter to =Allowed= if you want the statistics script to create a
1222# missing WebStatistics topic only when the parameter =autocreate=1= is
1223# supplied.
1224# Set it to =Always= if a missing WebStatistics topic should be created unless
1225# overridden by URL parameter ='autocreate=0'=. =Prohibited= is
1226# the previous behavior and is the default.
12271400ns$Foswiki::cfg{Stats}{AutoCreateTopic} = 'Prohibited';
1228
1229# **STRING 20 LABEL="Statistics Group" CHECK="undefok emptyok"**
1230# If this is set to the name of a Group, then the statistics script will only
1231# run for members of the specified and the AdminGroup. Example:
1232# Set to =AdminGroup= to restrict statistics to administrators.
1233# Default is un-set (anyone can run statistics).
12341400ns$Foswiki::cfg{Stats}{StatisticsGroup} = '';
1235
1236# **STRING 20 LABEL="Statistics TopicName" EXPERT**
1237# Name of statistics topic. Note: If you change the name of the
1238# statistics topic you must also rename the WebStatistics topic in each web,
1239# and the DefaultWebStatistics topic in the System web (and possibly in
1240# the %USERSWEB%).
12411400ns$Foswiki::cfg{Stats}{TopicName} = 'WebStatistics';
1242
1243#############################################################################
1244#---+ Internationalisation
1245# Foswiki includes powerful features for internationalisation.
1246
1247#---++ Languages
1248# **BOOLEAN LABEL="Inteface Internationalisation"**
1249# Enable user interface internationalisation to present the user
1250# interface in the users own language(s).
1251# When enabled, the following settings control the languages that are
1252# available in the user interface. Check every language that you want
1253# your site to support.
1254#
1255# Allowing all languages is the best for *really* international
1256# sites, but for best performance you should enable only the languages you
1257# really need. English is the default language, and is always enabled.
1258#
1259# {LocalesDir} is used to find the languages supported in your installation,
1260# so if the list of available languages is empty, it's probably because
1261# {LocalesDir} is pointing to the wrong place.
12621300ns$Foswiki::cfg{UserInterfaceInternationalisation} = $FALSE;
1263
1264# **BOOLEAN EXPERT DISPLAY_IF="{UserInterfaceInternationalisation}" CHECK="iff:'{UserInterfaceInternationalisation}'" ONSAVE**
1265# Enable compilation of =.po= string files into compressed =.mo= files.
1266# This can result in a significant performance improvement for I18N,
1267# but has also been reported to cause issues on some systems. So for
1268# now this is considered experimental.
1269#
1270# Note that if string files are edited, you must re-run configure to recompile
1271# modified files. Disable this option to prevent compiling of string files.
1272#
1273# Configure automatically detects out-of-date =.mo= files and recompiles
1274# them whenever it is run. Configure removes =.mo= files when this option
1275# is disabled.
12761300ns$Foswiki::cfg{LanguageFileCompression} = $FALSE;
1277
1278# *LANGUAGES* Marker used by bin/configure script - do not remove!
1279
1280#---++ Locale
1281# Enable operating system level locales and internationalisation support
1282# for 8-bit character sets. This may be required for correct functioning
1283# of the programs that Foswiki calls.
1284
1285# **BOOLEAN LABEL="Use Locale" **
1286# Enable the use of {Site}{Locale} - *Caution:*: Perl locales are badly broken
1287# in some versions of perl. For this reason locales are disabled in Foswiki
1288# by default.
12891300ns$Foswiki::cfg{UseLocale} = $FALSE;
1290
1291# **STRING 50 LABEL="Site Locale" DISPLAY_IF="{UseLocale}" CHECK="iff:'{UseLocale}'" **
1292# Site-wide locale - used by Foswiki and external programs such as grep, and to
1293# specify the language in which content must be presented
1294# for the user's web browser.
1295#
1296# Note that {Site}{Locale} is ignored unless {UseLocale} is set.
1297#
1298# Locale names are not standardised. On Unix/Linux check 'locale -a' on
1299# your system to see which locales are supported by your system.
1300#
1301#$Foswiki::cfg{Site}{Locale} = 'en.utf8';
1302
1303# **SELECT gmtime,servertime LABEL="Display Time Values" **
1304# Set the timezone (this only effects the display of times,
1305# all internal storage is still in GMT). May be gmtime or servertime
1306#
1307# This item is also used by configure to test if your perl supports early dates.
1308# Foswiki will still work fine on older versions of perl, but wiki
1309# applications that use dates somewhere prior to 1970 might encounter issues.
1310# =configure= tests if 1901-01-01 is handled by the perl localtime function.
13111500ns$Foswiki::cfg{DisplayTimeValues} = 'gmtime';
1312
1313# **SELECT '$day $month $year', '$year-$mo-$day', '$year/$mo/$day', '$year.$mo.$day' LABEL="Default Date Format"**
1314# Set the default format for dates. The traditional Foswiki format is
1315# '$day $month $year' (31 Dec 2007). The ISO format '$year-$mo-$day'
1316# (2007-12-31) is recommended for non English language Foswikis. Note that $mo
1317# is the month as a two digit number. $month is the three first letters of
1318# English name of the month
13191400ns$Foswiki::cfg{DefaultDateFormat} = '$day $month $year';
1320
1321# **BOOLEAN LABEL="Enable Plural to Singular"**
1322# Change non-existent plural topic name to singular.
1323# For example, =TestPolicies= to =TestPolicy=. Only works in English.
13241200ns$Foswiki::cfg{PluralToSingular} = $TRUE;
1325
1326#############################################################################
1327#---+ Store
1328#---++ Store Implementation
1329# Foswiki supports different back-end store implementations.
1330
1331# **SELECTCLASS Foswiki::Store::* LABEL="Store Implementation"**
1332# Store implementation.
1333# $Foswiki::cfg{Store}{Implementation} = 'Foswiki::Store::PlainFile';
1334
1335# **STRING 50 LABEL="Store Character Encoding" CHECK="undefok" EXPERT **
1336# Set this when you are using a store that was initiated under an old
1337# version of Foswiki, where the {Site}{CharSet} was set to something other
1338# than 'utf-8', and you cannot convert the store to UTF8 for some reason.
1339# This option takes the name of the encoding e.g. 'iso-8859-1'.
1340# Note: you are *STRONGLY* recommended to convert the entire store to
1341# UTF-8 in-place, as setting this option will incur a performance penatly.
1342# See =tools/bulk_copy.pl= for details on converting your store.
1343# Leave this undefined to use the default of utf-8 encoding.
1344# $Foswiki::cfg{Store}{Encoding} = undef;
1345
1346# **PERL LABEL="Implementation Classes" EXPERT**
1347# Customisation of the Foswiki Store implementation. This allows
1348# extension modules to hook into the store implementation at a very low level.
1349# Full class names of customisations must be added to the list, in the order in
1350# which they will appear in the inheritance hierarchy of the final store
1351# implementation.
13521800ns$Foswiki::cfg{Store}{ImplementationClasses} = [];
1353
1354# **BOOLEAN LABEL="Enable Hierarchical Webs" EXPERT**
1355# Set to enable (hierarchical) sub-webs. Without this setting, Foswiki will only
1356# allow a single level of webs. If you set this, you can use
1357# multiple levels, like a directory tree, webs within webs.
13581300ns$Foswiki::cfg{EnableHierarchicalWebs} = 1;
1359
1360# **NUMBER LABEL="Rember Changes For" CHECK="min:60" EXPERT**
1361# Number of seconds to remember changes for. This doesn't affect revision
1362# histories, which always remember when a file changed. It only affects
1363# the number of changes that are cached for fast access by the 'changes' and
1364# 'statistics' scripts, and for use by extensions such as the change
1365# notification mailer. It should be no shorter than the interval between runs
1366# of these scripts.
13671400ns$Foswiki::cfg{Store}{RememberChangesFor} = 2678400;
1368
1369# **SELECTCLASS Foswiki::Store::SearchAlgorithms::* LABEL="Search Algorithm" **
1370# This is the algorithm used to perform plain text (not query) searches.
1371# Foswiki has two built-in search algorithms, both of which are designed to
1372# work with the default flat-file databases (RcsWrap, RcsLite, and PlainFile).
1373# * The default 'Forking' algorithm, which forks a subprocess that
1374# runs a 'grep' command, is recommended for Linux/Unix.
1375# Forking may also work OK on Windows if you keep the directory path
1376# to Foswiki very short.
1377# * The 'PurePerl' algorithm, which is written in Perl and
1378# usually used on native Windows installations where forking
1379# is not stable, due to limitations in the length of command lines.
1380# On Linux/Unix you will be just fine with the 'Forking' implementation.
1381# However if you find searches run very slowly, you may want to try a
1382# different algorithm, which may work better on your configuration.
1383#
1384# Other store implementations and indexing search engines (for example,
1385# [[http://foswiki.org/Extensions/KinoSearchContrib][KinoSearchContrib]])
1386# may come with their own search algorithms.
1387# $Foswiki::cfg{Store}{SearchAlgorithm} = 'Foswiki::Store::SearchAlgorithms::Forking';
1388
1389# **SELECTCLASS Foswiki::Store::QueryAlgorithms::* LABEL="Query Algorithm" **
1390# This is the algorithm used to perform query searches. The default Foswiki
1391# algorithm (BruteForce) works well, but is not particularly fast (it is
1392# based on plain-text searching). You may be able to select a different
1393# algorithm here, depending on what alternative implementations have been
1394# installed.
13951500ns$Foswiki::cfg{Store}{QueryAlgorithm} = 'Foswiki::Store::QueryAlgorithms::BruteForce';
1396
1397# **SELECTCLASS Foswiki::Prefs::*RAM* LABEL="Preferences Backend" EXPERT**
1398# The algorithm used to store preferences. The default algorithm reads
1399# topics each time to access preferences. A caching algorithm that uses
1400# BerkeleyDB is also available from the PrefsCachePlugin. This algorithm
1401# is faster, but requires BerkeleyDB to be installed.
14021500ns$Foswiki::cfg{Store}{PrefsBackend} = 'Foswiki::Prefs::TopicRAM';
1403
1404# **COMMAND LABEL="Egrep Command" EXPERT DISPLAY_IF="{Store}{SearchAlgorithm}=='Foswiki::Store::SearchAlgorithms::Forking'" CHECK="iff:'{Store}{SearchAlgorithm} =~ /:Forking$/'"**
1405# Full path to GNU-compatible egrep program. This is used for searching when
1406# {SearchAlgorithm} is 'Foswiki::Store::SearchAlgorithms::Forking'.
1407# %CS{|-i}% will be expanded
1408# to -i for case-sensitive search or to the empty string otherwise.
1409# Similarly for %DET, which controls whether matching lines are required.
1410# (see the documentation on these options with GNU grep for details).
14111400ns$Foswiki::cfg{Store}{EgrepCmd} =
1412 'grep -E %CS{|-i}% %DET{|-l}% -a -H -- %TOKEN|U% %FILES|F%';
1413
1414# **COMMAND LABEL="Fgrep Command" EXPERT DISPLAY_IF="{Store}{SearchAlgorithm}=='Foswiki::Store::SearchAlgorithms::Forking'" CHECK="iff:'{Store}{SearchAlgorithm} =~ /:Forking$/'"**
1415# Full path to GNU-compatible fgrep program. This is used for searching when
1416# {SearchAlgorithm} is 'Foswiki::Store::SearchAlgorithms::Forking'.
14171500ns$Foswiki::cfg{Store}{FgrepCmd} =
1418 'grep -F %CS{|-i}% %DET{|-l}% -a -H -- %TOKEN|U% %FILES|F%';
1419
1420#---++ File system settings
1421# Generic settings
1422
1423# **BOOLEAN LABEL="Override Umask" EXPERT DISPLAY_IF="/Foswiki::Store::(Plain|Rcs)/.test({Store}{Implementation})" CHECK="iff:'{Store}{Implementation}=~/Foswiki::Store::(Plain|Rcs)/'"**
1424# Some systems will override the default umask to a highly restricted setting,
1425# which will block the application of the file and directory permissions.
1426# If mod_suexec is enabled, the Apache umask directive will also be ignored.
1427# Enable this setting if the checker reports that the umask is in conflict with
1428# the permissions, or adust the expert settings {Store}{dirPermission} and
1429# {Store}{filePermission} to be consistent with the system umask.
14301500ns$Foswiki::cfg{Store}{overrideUmask} = $FALSE;
1431
1432# **OCTAL LABEL="Directory Permission" CHECK="min:000 max:7777" EXPERT**
1433# File security for new directories created by stores.
1434# Only used by store implementations that create plain files. You may have
1435# to adjust these permissions to allow (or deny) users other than the
1436# webserver user access to directories that Foswiki creates. This is an
1437# *octal* number representing the standard UNIX permissions
1438# (for example 755 == rwxr-xr-x)
14391700ns$Foswiki::cfg{Store}{dirPermission} = 0755;
1440
1441# **OCTAL LABEL="File Permission" CHECK="min:000 max:7777" EXPERT **
1442# File security for new directories.
1443# You may have
1444# to adjust these permissions to allow (or deny) users other than the
1445# webserver user access to files that Foswiki creates. This is an
1446# *octal* number representing the standard UNIX permissions
1447# (for example 644 == rw-r--r--)
14481400ns$Foswiki::cfg{Store}{filePermission} = 0644;
1449
1450#---++ DataForm settings
1451# Settings that control the available form fields types. Extensions may extend
1452# the set of available types.
1453
1454# **PERL LABEL="Form Types"**
1455# This setting is automatically updated by configure to list all the installed
1456# FormField types. If you install an extension that adds new Form Field types,
1457# you need to run configure for them to be registered.
1458125µs$Foswiki::cfg{FormTypes} = [
1459 {
1460 'class' => 'Foswiki::Form::Radio',
1461 'multivalued' => 0,
1462 'size' => 4,
1463 'type' => 'radio'
1464 },
1465 {
1466 'class' => 'Foswiki::Form::Text',
1467 'multivalued' => 0,
1468 'size' => 10,
1469 'type' => 'text'
1470 },
1471 {
1472 'class' => 'Foswiki::Form::Checkbox',
1473 'multivalued' => 1,
1474 'size' => 4,
1475 'type' => 'checkbox'
1476 },
1477 {
1478 'class' => 'Foswiki::Form::Checkbox',
1479 'multivalued' => 1,
1480 'size' => 4,
1481 'type' => 'checkbox+values'
1482 },
1483 {
1484 'class' => 'Foswiki::Form::Color',
1485 'multivalued' => 0,
1486 'size' => '',
1487 'type' => 'color'
1488 },
1489 {
1490 'class' => 'Foswiki::Form::Select',
1491 'multivalued' => '',
1492 'size' => 1,
1493 'type' => 'select'
1494 },
1495 {
1496 'class' => 'Foswiki::Form::Select',
1497 'multivalued' => 1,
1498 'size' => 1,
1499 'type' => 'select+multi'
1500 },
1501 {
1502 'class' => 'Foswiki::Form::Select',
1503 'multivalued' => '',
1504 'size' => 1,
1505 'type' => 'select+values'
1506 },
1507 {
1508 'class' => 'Foswiki::Form::Select',
1509 'multivalued' => 1,
1510 'size' => 1,
1511 'type' => 'select+multi+values'
1512 },
1513 {
1514 'class' => 'Foswiki::Form::Date',
1515 'multivalued' => 0,
1516 'size' => 20,
1517 'type' => 'date'
1518 },
1519 {
1520 'class' => 'Foswiki::Form::Label',
1521 'multivalued' => 0,
1522 'size' => '',
1523 'type' => 'label'
1524 },
1525 {
1526 'class' => 'Foswiki::Form::ListFieldDefinition',
1527 'multivalued' => 0,
1528 'size' => '',
1529 'type' => 'listfielddefinition'
1530 },
1531 {
1532 'class' => 'Foswiki::Form::Rating',
1533 'multivalued' => 0,
1534 'size' => 4,
1535 'type' => 'rating'
1536 },
1537 {
1538 'class' => 'Foswiki::Form::FieldDefinition',
1539 'multivalued' => 0,
1540 'size' => '',
1541 'type' => 'fielddefinition'
1542 },
1543 {
1544 'class' => 'Foswiki::Form::Textarea',
1545 'multivalued' => 0,
1546 'size' => '',
1547 'type' => 'textarea'
1548 },
1549 {
1550 'class' => 'Foswiki::Form::Textboxlist',
1551 'multivalued' => 1,
1552 'size' => '',
1553 'type' => 'textboxlist'
1554 }
1555];
1556
1557#############################################################################
1558#---+ Tuning
1559
1560#---++ Cache
1561# Foswiki includes built-in support for caching HTML pages. This can
1562# dramatically increase performance, especially if there are a lot more page
1563# views than changes.
1564# The cache has a number of setup and tuning parameters. You should read
1565# [[http://foswiki.org/System/PageCaching][Page Caching]] on
1566# foswiki.org (or your local copy of this page in the System web) before
1567# enabling the cache. It is important that you read this topic carefully
1568# as the cache also has some major disadvantages with respect to formatted
1569# searches.
1570
1571# **BOOLEAN LABEL="Enable Page-Cache"**
1572# This setting will switch on/off caching.
15731900ns$Foswiki::cfg{Cache}{Enabled} = $FALSE;
1574
1575# **SELECTCLASS Foswiki::PageCache::DBI::* DISPLAY_IF="{Cache}{Enabled}" CHECK="iff:'{Cache}{Enabled}'" LABEL="Cache Implementation"**
1576# Select the cache implementation. The default page cache implementation
1577# is based on DBI (http://dbi.perl.org) which requires a working DBI driver to
1578# connect to a database. This database will hold all cached data as well as the
1579# maintenance data to keep the cache correct while content changes in the wiki.
1580# Recommended drivers are DBD::mysql, DBD::Pg, DBD::SQLite or any other
1581# database driver connecting to a real SQL engine.
15821400ns$Foswiki::cfg{Cache}{Implementation} = 'Foswiki::PageCache::DBI::Generic';
1583
1584# **PATH LABEL="Cache Root Directory" DISPLAY_IF="{Cache}{Enabled}" CHECK="iff:'{Cache}{Enabled}'"**
1585# Specify the directory where binary large objects will be stored.
15861500ns$Foswiki::cfg{Cache}{RootDir} = '$Foswiki::cfg{WorkingDir}/cache';
1587
1588# **STRING 80 LABEL="Cache Web-Dependencies" DISPLAY_IF="{Cache}{Enabled}" CHECK="iff:'{Cache}{Enabled}'"**
1589# List of those topics that have a manual dependency on every topic
1590# in a web. Web dependencies can also be specified using the WEBDEPENDENCIES
1591# preference, which overrides this setting.
15921400ns$Foswiki::cfg{Cache}{WebDependencies} =
1593 'WebRss, WebAtom, WebTopicList, WebIndex, WebSearch, WebSearchAdvanced';
1594
1595# **REGEX LABEL="Dependency Filter" DISPLAY_IF="{Cache}{Enabled}" CHECK="iff:'{Cache}{Enabled}'"**
1596# Exclude topics that match this regular expression from the dependency
1597# tracker.
15981400ns$Foswiki::cfg{Cache}{DependencyFilter} =
1599 '$Foswiki::cfg{SystemWebName}\..*|$Foswiki::cfg{TrashWebName}\..*|TWiki\..*';
1600
1601# **STRING 80 LABEL="Database Table Prefix" DISPLAY_IF="{Cache}{Enabled} && /Foswiki::PageCache::DBI.*/.test({Cache}{Implementation}) " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation}=~/PageCache::DBI.*/'"**
1602# Prefix used naming tables and indexes generated in the database.
16031600ns$Foswiki::cfg{Cache}{DBI}{TablePrefix} = 'foswiki_cache';
1604
1605# **STRING 80 LABEL="DBI DSN" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::Generic' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /Generic$/'"**
1606# Default database driver DSN. See the documentation of your DBI driver for the
1607# exact syntax of the DSN parameter string. *NOTE* this is a default, used only
1608# by the 'Generic' DBI driver. It is ignored by the SQLite, MySQL and
1609# PostGreSQL drivers, which all have their own ways of setting the DSN.
16101600ns$Foswiki::cfg{Cache}{DBI}{DSN} = '';
1611
1612# **STRING 80 LABEL="Database Username" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::Generic' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::Generic$/ '"**
1613# Database user name. Add a value if your database needs authentication
16141400ns$Foswiki::cfg{Cache}{DBI}{Username} = '';
1615
1616# **PASSWORD 80 LABEL="Database Password" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::Generic' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::Generic$/'"**
1617# Database user password. Add a value if your database needs authentication
16181500ns$Foswiki::cfg{Cache}{DBI}{Password} = '';
1619
1620# **STRING 80 LABEL="Database Filename" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::SQLite'" CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::SQLite$/'"**
1621# Name of the SQLite database file.
16221800ns$Foswiki::cfg{Cache}{DBI}{SQLite}{Filename} =
1623 '$Foswiki::cfg{WorkingDir}/sqlite.db';
1624
1625# **STRING 80 LABEL="Database Host" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::MySQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::MySQL$/'"**
1626# Name or IP address of the database server
162712µs$Foswiki::cfg{Cache}{DBI}{MySQL}{Host} = 'localhost';
1628
1629# **STRING 80 LABEL="Database Port" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::MySQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::MySQL$/ '"**
1630# Port on the database server to connect to
16311600ns$Foswiki::cfg{Cache}{DBI}{MySQL}{Port} = '';
1632
1633# **STRING 80 LABEL="Database Name" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::MySQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::MySQL$/ '"**
1634# Name of the database on the server host.
16351400ns$Foswiki::cfg{Cache}{DBI}{MySQL}{Database} = '';
1636
1637# **STRING 80 LABEL="Database Username" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::MySQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::MySQL$/ '"**
1638# Database user name. Add a value if your database needs authentication
16391500ns$Foswiki::cfg{Cache}{DBI}{MySQL}{Username} = '';
1640
1641# **PASSWORD 80 LABEL="Database Password" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::MySQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::MySQL/ '"**
1642# Database user password. Add a value if your database needs authentication
16431500ns$Foswiki::cfg{Cache}{DBI}{MySQL}{Password} = '';
1644
1645# **STRING 80 LABEL="Database Host" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::PostgreSQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::PostgreSQL$/ '"**
1646# Name or IP address of the database server
16471700ns$Foswiki::cfg{Cache}{DBI}{PostgreSQL}{Host} = 'localhost';
1648
1649# **STRING 80 LABEL="Database Port" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::PostgreSQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::PostgreSQL$/ '"**
1650# Port on the database server to connect to
16511500ns$Foswiki::cfg{Cache}{DBI}{PostgreSQL}{Port} = '';
1652
1653# **STRING 80 LABEL="Database Name" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::PostgreSQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::PostgreSQL$/ '"**
1654# Name of the database on the server host.
16551500ns$Foswiki::cfg{Cache}{DBI}{PostgreSQL}{Database} = '';
1656
1657# **STRING 80 LABEL="Database Username" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::PostgreSQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::PostgreSQL$/ '"**
1658# Database user name. Add a value if your database needs authentication
16591500ns$Foswiki::cfg{Cache}{DBI}{PostgreSQL}{Username} = '';
1660
1661# **PASSWORD 80 LABEL="Database Password" DISPLAY_IF="{Cache}{Enabled} && {Cache}{Implementation} == 'Foswiki::PageCache::DBI::PostgreSQL' " CHECK="iff:'{Cache}{Enabled} && {Cache}{Implementation} =~ /DBI::PostgreSQL$/ '"**
1662# Database user password. Add a value if your database needs authentication
16631600ns$Foswiki::cfg{Cache}{DBI}{PostgreSQL}{Password} = '';
1664
1665#---++ Browser Cache
1666# Settings for the browser cache are for experts only.
1667
1668# **PERL LABEL="Browser Cache Control" EXPERT**
1669# Disable or change the HTTP Cache-Control header. Foswiki defaults to
1670# =Cache-Control: max-age=0= which recomends to the browser that it should
1671# ask foswiki if the topic has changed. If you have a web that does not change
1672# (like System), you can get the browser to use its cache by setting
1673# ={'System' => ''}=.
1674# You can also set =max-age=28800= (for 8 hours), or any other of the
1675# =Cache-Control= directives.
1676#
1677# Setting the CacheControl to '' also allows you to manage this from your web
1678# server (which will not over-ride the setting provided by the application),
1679# thus enabling web server based caching policies. When the user receives a
1680# browser-cache topic, they can force a refresh using ctrl-r
1681#
1682# This hash must be explicitly set per web or sub-web.
168312µs$Foswiki::cfg{BrowserCacheControl} = {};
1684
1685#---++ HTTP Compression
1686# Settings controlling compression of the generated HTML, for experts only.
1687
1688# **BOOLEAN LABEL="Enable HTTP Compression" EXPERT**
1689# Enable gzip/deflate page compression. Modern browsers can uncompress content
1690# encoded using gzip compression. You will save a lot of bandwidth by
1691# compressing pages. This makes most sense when enabling page caching as well
1692# as these are stored in compressed format by default when {HttpCompress} is
1693# enabled. Note that only pages without any 'dirty areas' will be compressed.
1694# Any other page will be transmitted uncompressed.
16951400ns$Foswiki::cfg{HttpCompress} = $FALSE;
1696
1697#---++ HTML Page Layout
1698# Settings controlling the layout of the generated HTML, for experts only.
1699
1700# **BOOLEAN LABEL="Enable Merge Head and Script Zones" EXPERT**
1701# {MergeHeadAndScriptZones} is provided to maintain compatibility with
1702# legacy extensions that use =ADDTOHEAD= to add =script= markup and require
1703# content that is now in the =script= zone.
1704#
1705# Normally, dependencies between individual =ADDTOZONE= statements are
1706# resolved within each zone. However, if {MergeHeadAndScriptZones} is
1707# enabled, then =head= content which requires an =id= that only exists
1708# in =script= (and vice-versa) will be re-ordered to satisfy any dependency.
1709#
1710# WARNING: {MergeHeadAndScriptZones} will be removed from a future version
1711# of Foswiki.
17121300ns$Foswiki::cfg{MergeHeadAndScriptZones} = $FALSE;
1713
1714#############################################################################
1715#---+ Mail
1716# Settings controlling if and how Foswiki sends email. Mail is used by Foswiki
1717# to send out notifications of events, such as topic changes.
1718# Foswiki can send mail using a SMTP server, or using a local mail program
1719# such as =sendmail=. Mail can be sent in plain text or over SSL. You can
1720# set up S/MIME certificates to sign mails sent by Foswiki.
1721
1722#---++ Basic settings & Auto-configure
1723# Basic settings controlling if and how Foswiki handles email including the
1724# identity of the sender.
1725# <br/><br/>
1726# <ul><li>If your server is already able to send email, with a local agent like =sendmail=
1727# or =ssmtp=, <br/>you can fill in ={WebMasterEmail}= and click the Auto-configure button.
1728# It might just work.</li>
1729# <li>If you want to send email directly from perl, you must provide
1730# an ={SMTP}{MAILHOST}=. <br/>If your mail server requires authentication, you must also
1731# supply ={SMTP}{Username}= and ={SMTP}{Password}= </li></ul>
1732# <br/>
1733# When you supply a ={SMTP}{MAILHOST}=, Auto-configure will probe the server for the most secure
1734# connection possible, trying STARTTLS, SSL, and then SMTP. This can take an extended amount of
1735# time, especially on Windows servers. Please be patient, or use the Advanced Settings tab
1736# to manually configure the E-mail server connection.
1737# <br/>
1738# Auto-configure Email may change configuration settings (it will tell you
1739# what it changed.) These settings will only be made permanent when you save
1740# the configuration.
1741
1742# **STRING 30 LABEL="Webmaster Name"**
1743# Wiki administrator (webmaster) name.
1744# For use in mails sent by Foswiki (first name and last name, for
1745# example =Fred Smith=). This value is displayed using the
1746# =<nop>%WIKIWEBMASTERNAME%= macro.
17471500ns$Foswiki::cfg{WebMasterName} = 'Wiki Administrator';
1748
1749# **EMAILADDRESS 30 LABEL="Webmaster Email"\
1750# FEEDBACK="label='Auto-configure Email';\
1751# title='Long running: Probes the possible email servers to find most secure connection';\
1752# wizard='AutoConfigureEmail'; method='autoconfigure'"\
1753# FEEDBACK="label='Send Test Email';wizard='SendTestEmail'; method='send'"**
1754# Wiki administrator (webmaster) e-mail address, used as the sender address
1755# in emails sent by Foswiki. For example =webmaster@example.com=
1756# Must be a single valid email address.
1757# This value is displayed using the =<nop>%WIKIWEBMASTER%= macro.
1758# <br/>
1759# If your server is already configured to send email, press Auto-configure email. If it works, email will be enabled. You can then send a test email to further verify operation.
17601400ns$Foswiki::cfg{WebMasterEmail} = '';
1761
1762# **STRING 30 LABEL="SMTP Host"\
1763# FEEDBACK="label='Auto-configure Email';\
1764# title='Long running: Probes the possible email servers to find most secure connection';\
1765# wizard='AutoConfigureEmail'; method='autoconfigure'"**
1766# Optional mail host for outgoing mail, required if Net::SMTP is being used.
1767# Examples: =mail.your.company= If the smtp server uses a different port
1768# than the default 25, use the syntax =mail.your.company:portnumber=,
1769# or omit it to allow autoconfiguration to attempt to discover it for you.
1770#
1771# Although not recommended, you can also specify an IP address using
1772# the syntax =192.0.2.11= or =[2001:db8::beef]=. If necessary,
1773# a port number may be added to either form =:587=.
1774#
1775# For Gmail, set {SMTP}{MAILHOST} to =smtp.gmail.com=,
1776# provide your gmail email address and password for authentication, and use
1777# auto-configuration.
1778#
1779# After providing a server name, and optional username & password below, press Auto-configure email. If it works, email will be enabled. You can then send a test email to further verify operation.
17801600ns$Foswiki::cfg{SMTP}{MAILHOST} = '';
1781
1782# **STRING 30 LABEL="SMTP Username" DISPLAY_IF="{SMTP}{MAILHOST}!=''"**
1783# Username for SMTP. Only required if your mail server requires authentication.
1784# If this is left blank, Foswiki will not attempt to authenticate the mail
1785# sender.
17861400ns$Foswiki::cfg{SMTP}{Username} = '';
1787
1788# **PASSWORD 30 LABEL="SMTP Password" DISPLAY_IF="{SMTP}{MAILHOST}!=''"\
1789# FEEDBACK="label='Auto-configure Email';\
1790# title='Long running: Probes the possible email servers to find most secure connection';\
1791# wizard='AutoConfigureEmail'; method='autoconfigure'"**
1792# Password for your {SMTP}{Username}.
17931400ns$Foswiki::cfg{SMTP}{Password} = '';
1794
1795#---++ Advanced settings
1796# These are settings for advanced or uncommon configurations, and for debugging.
1797
1798# **BOOLEAN LABEL="Enable Email" CHECK_ON_CHANGE="{WebMasterEmail}" CHECK="also:{WebMasterEmail}"**
1799# Enable email globally. Un-check this option to disable all outgoing
1800# email from Foswiki. If this option is enabled, email must be functional
1801# for registration to be functional.
18021400ns$Foswiki::cfg{EnableEmail} = $FALSE;
1803
1804# **SELECT 'Net::SMTP',\
1805# 'Net::SMTP (SSL)',\
1806# 'Net::SMTP (TLS)',\
1807# 'Net::SMTP (STARTTLS)',\
1808# MailProgram \
1809# LABEL="Mail Method" \
1810# DISPLAY_IF="{EnableEmail}" CHECK="iff:'{EnableEmail}'"**
1811# Select the method Foswiki will use for sending email. On Unix/Linux hosts
1812# "MailProgram" is generally acceptable, although Net::SMTP provides better
1813# diagnostics when things go amiss. Otherwise choose one of the Email
1814# methods required by your ISP or Email server.
1815# You can select a method manually, or use the "Auto-configure" button to
1816# determine the best connection type for your ISP or Email server.
1817# Auto-configure requires {SMTP}{MAILHOST}, but you can leave everything else
1818# blank. You'll be told if the server requires a username and password.
18191700ns$Foswiki::cfg{Email}{MailMethod} = 'Net::SMTP';
1820
1821# **COMMAND LABEL="Mail Program" DISPLAY_IF="{EnableEmail} && {Email}{MailMethod} == 'MailProgram'" CHECK="iff:'{EnableEmail} && {Email}{MailMethod} eq q<MailProgram>'"**
1822# This needs to be a command-line program that accepts
1823# MIME format mail messages on standard input, and mails them.
18241400ns$Foswiki::cfg{MailProgram} = '/usr/sbin/sendmail -t -oi -oeq';
1825
1826# **BOOLEAN LABEL="Debug SMTP" DISPLAY_IF="{EnableEmail}" CHECK="iff:'{EnableEmail}'"**
1827# Set this option on to enable email debugging.
1828# Output will go to the webserver error log.
18291400ns$Foswiki::cfg{SMTP}{Debug} = 0;
1830
1831# **STRING 30 LABEL="Debug Flags" DISPLAY_IF="{EnableEmail} && {Email}{MailMethod} == 'MailProgram'" CHECK="iff:'{EnableEmail} && {Email}{MailMethod} eq q<MailProgram>'"**
1832# Flags passed to the mail program.
1833# Used when a {MailProgram} is selected and {SMTP}{Debug} is enabled.
1834# Flags are in addition to any specified with
1835# the program. These flags should enable tracing of the SMTP
1836# transactions to debug configuration issues.
1837#
1838# The default flags are correct for the =sendmail= program
1839# on many Unix/Linux systems. Note, however that =sendmail=
1840# will drop its privileges when running with -X. You must arrange
1841# for the client queue files (. =/var/spool/clientmqueue/=)
1842# to be read and writable by the webserver for the duration of any
1843# testing.
18441400ns$Foswiki::cfg{SMTP}{DebugFlags} = '';
1845
1846# **STRING 30 LABEL="Sender Host"\
1847# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod})" CHECK="iff:'{EnableEmail} && {Email}{MailMethod} =~ /^Net::SMTP/'"**
1848# Mail domain sending mail. SMTP requires that you identify yourself.
1849# This option specifies a string to pass to the mail host as your mail
1850# domain. If not given, then EHLO/HELO will not be sent to the mail host,
1851# which may result in your connection being rejected.
1852# Example: foswiki.your.company.
18531400ns$Foswiki::cfg{SMTP}{SENDERHOST} = '';
1854
1855# **BOOLEAN LABEL="Enable Verify Server Certificate" \
1856# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod})" CHECK="iff:'{EnableEmail} && {Email}{MailMethod} =~ /^Net::SMTP/'"**
1857# Verify that server's certificate contains the expected hostname when using
1858# an SSL (or STARTTLS) connection.
1859# This verifies the identity of the server to which mail is sent.
18601300ns$Foswiki::cfg{Email}{SSLVerifyServer} = $FALSE;
1861
1862# **PATH EXPERT LABEL="Certificate Authorities Filename" \
1863# FEEDBACK="label='Guess certificate locations'; wizard='SSLCertificates'; method='guess_locations'"\
1864# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod}) && {Email}{SSLVerifyServer}"**
1865# Specify the file used to verify the server certificate trust chain.
1866# This is the list of root Certificate authorities that you trust to issue
1867# certificates. You do not need to include intermedite CAs in this file.
1868# If you do not specify this or {Email}{SSLCaPath}, system defaults will
1869# be used.
18701400ns$Foswiki::cfg{Email}{SSLCaFile} = '';
1871
1872# **PATH LABEL="Certificate Authorities Directory" EXPERT \
1873# FEEDBACK="label='Guess certificate locations'; wizard='SSLCertificates'; method='guess_locations'"\
1874# FEEDBACK='label="Validate Contents"; wizard="SSLCertificates"; method="validate";\
1875# title="Examines every file in the directory and verifies \
1876# that the contents look like certificates/and/or CRLs"' \
1877# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod}) && {Email}{SSLVerifyServer}"**
1878# Specify the directory used to verify the server certificate trust chain.
1879# This is the list of root Certificate authorities that you trust to issue
1880# certificates. You do not need to include intermedite CAs in this directory.
1881# If you do not specify this or {Email}{SSLCaFile}, system defaults will be used.
1882# Refer to the openssl documentation for the format of this directory.
1883# Note that it can also contain Certificate Revocation Lists.
18841400ns$Foswiki::cfg{Email}{SSLCaPath} = '';
1885
1886# **BOOLEAN LABEL="Enable Verify Certificate Revocation" EXPERT \
1887# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod}) && {Email}{SSLVerifyServer}"**
1888# Enable this option to verify that the server's certificate has not been
1889# revoked by the issuing authority. If you enable this option, you should
1890# ensure that you have a mechanism established to periodically obtain
1891# updated CRLs from the CAs that you trust. The CRLs may be specified in
1892# a separate file {Email}{SSLCrlFile}, or in {Email}{SSLCaPath}.
18931400ns$Foswiki::cfg{Email}{SSLCheckCRL} = $FALSE;
1894
1895# **PATH LABEL="Revoked Certificates Filename" EXPERT \
1896# DISPLAY_IF="/^Net::SMTP/.test({Email}{MailMethod}) && {Email}{SSLCheckCRL}"**
1897# Specify a file containing all the revoked certificates (CRLs) from all
1898# your CAs. If you trust more than a few CAs, it's probably better to use
1899# {Email}{SSLCaPath}. Be sure to establish a periodic update mechanism.
19001400ns$Foswiki::cfg{Email}{SSLCrlFile} = '';
1901
1902# **PATH LABEL="Client Certificate Filename" EXPERT \
1903# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod})"**
1904# If your email server requires a X.509 client certificate, specify the path
1905# to the file that contains it.
1906# (This is unusual.)
1907# It must be in PEM format.
19081400ns$Foswiki::cfg{Email}{SSLClientCertFile} = '';
1909
1910# **PATH LABEL="Client Key Filename" EXPERT \
1911# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod}) && {Email}{SSLClientCertFile}.length"**
1912# Specify the file containing the private key corresponding to the X.509
1913# certificate used to connect to the server. It must be in PEM format.
1914#
1915# *Make sure that this file is only readable by the Foswiki software;*
1916# *it must NOT be readable by users!*
19171700ns$Foswiki::cfg{Email}{SSLClientKeyFile} = '';
1918
1919# **PASSWORD 30 LABEL="Client Key Password" EXPERT \
1920# DISPLAY_IF="{EnableEmail} && /^Net::SMTP/.test({Email}{MailMethod}) && {Email}{SSLClientKeyFile}.length"**
1921# If the file containing the certificate's private key is encrypted, specify
1922# the password. Otherwise leave blank.
19231300ns$Foswiki::cfg{Email}{SSLClientKeyPassword} = '';
1924
1925# **BOOLEAN LABEL="Enable Servertime in Email" EXPERT DISPLAY_IF="{EnableEmail}" CHECK="iff:'{EnableEmail}'"**
1926# Send email Date header using local "server time" instead of GMT
19271400ns$Foswiki::cfg{Email}{Servertime} = $FALSE;
1928
1929# **REGEX 80 LABEL="Valid TLD" EXPERT DISPLAY_IF="{EnableEmail}" CHECK="iff:'{EnableEmail}'"**
1930# This parameter is used to determine which Top Level domains are valid
1931# when auto-linking email addresses. It is also used by UserRegistration to
1932# validate email addresses. Note, this parameter _only_ controls
1933# matching of 3 character and longer TLDs. 2-character country codes and
1934# IP Address domains always permitted. See:
1935# Valid TLD's at http://data.iana.org/TLD/tlds-alpha-by-domain.txt
1936# Version 2012022300, Last Updated Thu Feb 23 15:07:02 2012 UTC
193716µs$Foswiki::cfg{Email}{ValidTLD} =
1938qr(AERO|ARPA|ASIA|BIZ|CAT|COM|COOP|EDU|GOV|INFO|INT|JOBS|MIL|MOBI|MUSEUM|NAME|NET|ORG|PRO|TEL|TRAVEL|XXX)i;
1939
1940#---++ Signed Email (S/MIME)
1941# Settings for S/MIME-signed email.
1942# Configure signing of outgoing email. (Secure/Multipurpose Internet
1943# Mail Extensions) is a standard for public key encryption and signing
1944# of MIME encoded email messages. Messages generated by the server will
1945# be signed using an X.509 certificate.
1946#
1947# Certificates for Secure Email may be obtained from a vendor or private
1948# certificate authority. You can also use the action buttons to generate
1949# certificates or certificate requests if OpenSSL is installed.
1950# The buttons are used to generate certificates for S/MIME
1951# signed Secure Email. There are two ways to use this:
1952#
1953# *Self signed certificates:*
1954# The =Generate S/MIME Certificate= button will generate a self-signed
1955# S/MIME certificate and install it. If you use this option, you will
1956# have to arrange for your users' e-mail clients to trust this certificate.
1957# This type of certificate is adequate for a small user base and for testing.
1958#
1959# *Certificate Authority signed certificates:*
1960# The =Generate S/MIME CSR= button is used to create private key and
1961# a _Certificate Signing Request_ (CSR) for use by your private Certificate
1962# Authority or by a trusted commercial Certificate authority.
1963# The =Cancel CSR= button is used to delete a pending request.
1964# The S/MIME Certificate information in the *Certificate Management*
1965# section must be completed for CSR's to work correctly.
1966#
1967# **BOOLEAN LABEL="Enabe S/MIME"\
1968# FEEDBACK="label='Generate S/MIME Certificate';span=2; \
1969# title='Generate a self-signed certficate for the WebMaster. \
1970# This allows immediate use of signed email.'; \
1971# wizard='SMIMECertificate'; method='generate_cert'"\
1972# FEEDBACK="label='Generate S/MIME CSR';col=1;\
1973# title='Generate a Certificate Signing Request for the \
1974# WebMaster. This request must be signed by a \
1975# Certificate Authority to create a certificate, \
1976# then installed.';\
1977# wizard='SMIMECertificate'; method='request_cert'"\
1978# FEEDBACK="label='Cancel CSR';\
1979# title='Cancel a pending Certificate Signing request. \
1980# This destroys the private key associated with \
1981# the request.';\
1982# wizard='SMIMECertificate'; method='cancel_cert'" **
1983# Enable to sign all e-mails sent by Foswiki using S/MIME.
19841400ns$Foswiki::cfg{Email}{EnableSMIME} = $FALSE;
1985
1986# **PATH LABEL="Certificate File" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
1987# Specify the file containing the administrator's X.509 certificate. It
1988# must be in PEM format.
1989#
1990# If your issuer requires an intermediate CA certificate(s), include them
1991# in this file after the sender's certificate in order from least to most
1992# authoritative CA.
1993#
1994# Leave blank if you are using a Foswiki-generated Self-signed certificate
1995# or a certificate installed from a Foswiki-generated CSR.
19961600ns$Foswiki::cfg{Email}{SmimeCertificateFile} = '';
1997
1998# **PATH LABEL="Key File" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
1999# Specify the file containing the private key corresponding to the
2000# administrator's X.509 certificate. It must be in PEM format.
2001#
2002# *Make sure that this file is only readable by the Foswiki software;*
2003# *it must NOT be readable by users!*
2004#
2005# Leave blank if you are using a Foswiki-generated Self-signed certificate
2006# or a certificate installed from a Foswiki-generated CSR.
20071400ns$Foswiki::cfg{Email}{SmimeKeyFile} = '';
2008
2009# **PASSWORD 30 LABEL="Key Password" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
2010# If the file containing the certificate's private key is encrypted, specify
2011# the password. Otherwise leave blank.
2012#
2013# Currently only DES3 encryption is supported, but you can convert
2014# other files with *openssl* as follows:
2015# <verbatim>
2016# openssl rsa -in keyfile.pem -out keyfile.pem -des3
2017# </verbatim>
2018# If you are using a Foswiki-generated Self-signed certificate
2019# or a certificate installed from a Foswiki-generated CSR, this field
2020# is automatically generated and must not be changed.
20211400ns$Foswiki::cfg{Email}{SmimeKeyPassword} = '';
2022
2023#---++ Certificate Management
2024# The following parameters can be used to specify commonly used components
2025# of the subject name for Certificate Signing Requests.
2026
2027# **STRING LABEL="Country Code" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
2028# ISO country code (2 letters)
202911µs$Foswiki::cfg{Email}{SmimeCertC} = '';
2030
2031# **STRING LABEL="State/Province" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
20321400ns$Foswiki::cfg{Email}{SmimeCertST} = '';
2033
2034# **STRING LABEL="Location" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
2035# Locality (city or town)
20361300ns$Foswiki::cfg{Email}{SmimeCertL} = '';
2037
2038# **STRING LABEL="Organization " DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
20391300ns$Foswiki::cfg{Email}{SmimeCertO} = '';
2040
2041# **STRING LABEL="Organization Unit" DISPLAY_IF="{Email}{EnableSMIME}" CHECK="iff:'{Email}{EnableSMIME}'"**
2042# For example Department.
20431400ns$Foswiki::cfg{Email}{SmimeCertOU} = '';
2044
2045#---+ Miscellaneous
2046# Miscellaneous expert options.
2047
2048#---++ Rendering control
2049# **STRING 70x10 LABEL="Template Path" NOSPELLCHECK EXPERT**
2050# A comma-separated list of generic file name templates that defines the order
2051# in which templates are assigned to skin path components.
2052# The file name templates can either be absolute file names ending in ".tmpl"
2053# or a topic name in a Foswiki web. The file names may contain
2054# these placeholders: =$name= (the template name), =$web=
2055# (the web), and =$skin= (the skin).
2056# Finding the right template file is done by following the skin path, and for
2057# each skin path component following the template path.
2058# The first file on the skin path + template path that is found is taken to be
2059# the requested template file.
2060# See 'Security and usability' in System.SkinTemplates for advice on
2061# setting this path for increased security.
20621600ns$Foswiki::cfg{TemplatePath} =
2063'$Foswiki::cfg{TemplateDir}/$web/$name.$skin.tmpl, $Foswiki::cfg{TemplateDir}/$name.$skin.tmpl, $web.$skinSkin$nameTemplate, $Foswiki::cfg{SystemWebName}.$skinSkin$nameTemplate, $Foswiki::cfg{TemplateDir}/$web/$name.tmpl, $Foswiki::cfg{TemplateDir}/$name.tmpl, $web.$nameTemplate, $Foswiki::cfg{SystemWebName}.$nameTemplate';
2064
2065# **STRING 120 LABEL="Link-Protocol Pattern" EXPERT**
2066# List of protocols (URI schemes) that Foswiki will
2067# automatically recognize in absolute links.
2068# Add any extra protocols specific to your environment (for example, you might
2069# add 'imap' or 'pop' if you are using shared mailboxes accessible through
2070# your browser, or 'tel' if you have a softphone setup that supports links
2071# using this URI scheme). A list of popular URI schemes can be
2072# found in [[http://en.wikipedia.org/wiki/URI_scheme][Wikipedia]].
20731300ns$Foswiki::cfg{LinkProtocolPattern} =
2074 '(file|ftp|gopher|https|http|irc|mailto|news|nntp|telnet)';
2075
2076# **NUMBER LABEL="Acronym Length" CHECK="min:2" EXPERT**
2077# Length of linking acronyms. Minumum number of consecutive upper case
2078# characters required to be linked as an acronym.
20791300ns$Foswiki::cfg{AcronymLength} = 3;
2080
2081# **BOOLEAN LABEL="Require Compatible Anchors" EXPERT**
2082# 'Anchors' are positions within a Foswiki page that can be targeted in
2083# a URL using the =#anchor= syntax. The format of these anchors has
2084# changed several times. If this option is set, Foswiki will generate extra
2085# redundant anchors that are compatible with the old formats. If it is not
2086# set, the links will still work but will go to the head of the target page.
2087# There is a small performance cost for enabling this option. Set it if
2088# your site has been around for a long time, and you want existing external
2089# links to the internals of pages to continue to work.
20901300ns$Foswiki::cfg{RequireCompatibleAnchors} = 0;
2091
2092# **NUMBER LABEL="Number of Revisions" CHECK="min:0" **
2093# How many links to other revisions to show in the bottom bar. 0 for all
20941300ns$Foswiki::cfg{NumberOfRevisions} = 4;
2095
2096# **NUMBER LABEL="Maximum Revisions in Diff" CHECK="min:1" EXPERT**
2097# Set the upper limit of the maximum number of difference that will be
2098# displayed when viewing the entire history of a page. The compared revisions
2099# will be evenly spaced across the history of the page, for example if the
2100# page has 100 revisions and we have set this option to 10, we will see
2101# differences between r100 and r90, r90 and r80, r80 and r70 and so on.
2102#
2103# This is only active for the =bin/rdiff= command. It is not used by the
2104# CompareRevisionsAddOn.
21051300ns$Foswiki::cfg{MaxRevisionsInADiff} = 25;
2106
2107# **PATH LABEL="Mime-Types Filename" CHECK='perms:Fr' EXPERT**
2108# Pathname to file that maps file suffixes to MIME types :
2109# For Apache server set this to Apache's mime.types file pathname,
2110# for example /etc/httpd/mime.types, or use the default shipped in
2111# the Foswiki data directory.
21121400ns$Foswiki::cfg{MimeTypesFileName} = '$Foswiki::cfg{DataDir}/mime.types';
2113
2114#---++ Leases and Locking
2115# **NUMBER LABEL="Replace If Edited Again Within" CHECK="min:0" EXPERT**
2116# If this is set to a > 0 value, and the revision control system
2117# supports it, then if a second edit of the same topic
2118# is done by the same user within this number of seconds, a new
2119# revision of the topic will NOT be created (the top revision will
2120# be replaced). Set this to 0 if you want *all* topic changes to create
2121# a new revision (as required by most formal development processes).
21221300ns$Foswiki::cfg{ReplaceIfEditedAgainWithin} = 3600;
2123
2124# **NUMBER LABEL="Lease Length" CHECK="min:60" EXPERT **
2125# When a topic is edited, the user takes a "lease" on that topic.
2126# If another user tries to also edit the topic while the lease
2127# is still active, they will get a warning. Leases are released
2128# automatically when the topic is saved; otherwise they remain active
2129# for {LeaseLength} seconds from when the edit started (or was checkpointed).
2130#
2131# Note: Leases are *not* locks; they are purely advisory. Leases
2132# can always be broken, but they are valuable if you want to avoid merge
2133# conflicts (for example you use highly structured data in your topic text and
2134# want to avoid ever having to deal with conflicts)
2135#
2136# Since Foswiki 1.0.6, Foswiki pages that can be used to POST to the
2137# server have a validation key, that must be sent to the server for the
2138# post to succeed. These validation keys can only be used once, and expire
2139# at the same time as the lease expires.
21401300ns$Foswiki::cfg{LeaseLength} = 3600;
2141
2142# **NUMBER LABEL="Lease Length, forceful" CHECK="min:-1" EXPERT **
2143# Even if the other users' lease has expired, then you can specify that
2144# they should still get a (less forceful) warning about the old lease for
2145# some additional time after the lease expired. You can set this to 0 to
2146# suppress these extra warnings completely, or to -1 so they are always
2147# issued, or to a number of seconds since the old lease expired.
21481200ns$Foswiki::cfg{LeaseLengthLessForceful} = 3600;
2149
2150#---++ Operating System
2151# **STRING 20 LABEL="Detailed OS" CHECK='undefok' EXPERT**
2152# The name of the host operating system. This is automatically calculated
2153# in the code. You should only need to override if your Perl doesn't provide
2154# the value of $^O or $Config::Config{'osname'} (an exceptional
2155# situtation never yet encountered)
2156# $Foswiki::cfg{DetailedOS} = '';
2157
2158# **STRING 20 LABEL="Operating System" CHECK='undefok' EXPERT**
2159# One of UNIX WINDOWS VMS DOS MACINTOSH OS2
2160# This is automatically calculated in the code based on the value of
2161# {DetailedOS}. It is used to group OS's into generic groups based on their
2162# behaviours - for example,
2163#
2164# $Foswiki::cfg{OS} = '';
2165
2166# **NUMBER LABEL="Maximum Backups LSC" CHECK="min:-1 undefok" EXPERT**
2167# Maximum number of backup versions of LocalSite.cfg to retain when changes
2168# are saved. Enables you to recover quickly from accidental changes.
2169# 0 does not save any backup versions. -1 does not limit the number of
2170# versions retained. Caution: If the directory is not writable and this
2171# parameter is non-zero, you will be unable to save the configuration.
21721300ns$Foswiki::cfg{MaxLSCBackups} = 10;
2173
2174#---++ Web and topic names
2175# **STRING 20 LABEL="Sandbox WebName" EXPERT**
2176# Name of the web used as a scratchpad or temporary workarea for users to
2177# experiment with Foswiki topics.
21781300ns$Foswiki::cfg{SandboxWebName} = 'Sandbox';
2179
2180# **STRING 20 LABEL="System WebName" EXPERT**
2181# Name of the web where documentation and default preferences are held. If you
2182# change this setting, you must make sure the web exists and contains
2183# appropriate content, and upgrade scripts may no longer work (don't
2184# change it unless you are certain that you know what you are doing!)
21851400ns$Foswiki::cfg{SystemWebName} = 'System';
2186
2187# **STRING 20 LABEL="Trash WebName" EXPERT**
2188# Name of the web used as a trashcan (where deleted topics are moved)
2189# If you change this setting, you must make sure the web exists.
21901300ns$Foswiki::cfg{TrashWebName} = 'Trash';
2191
2192# **STRING 20 LABEL="Users WebName" EXPERT**
2193# Name of the web where user and group topics are stored. If you
2194# change this setting, you must make sure the web exists and contains
2195# appropriate content including all user and group templates. Note that
2196# this web also houses the SitePreferences topic.
2197# (don't change it unless you are *certain* that you know what
2198# you are doing!)
21991300ns$Foswiki::cfg{UsersWebName} = 'Main';
2200
2201# **STRING 20 LABEL="DefaultPreferences TopicName" EXPERT**
2202# Name of site-level preferences topic in the {SystemWebName} web.
2203# *If you change this setting you will have to
2204# use Foswiki and *manually* rename the existing topic.*
2205# (don't change it unless you are *certain* that you know what
2206# you are doing!)
22071400ns$Foswiki::cfg{SitePrefsTopicName} = 'DefaultPreferences';
2208
2209# **STRING 70 LABEL="SitePreferences TopicName" EXPERT**
2210# Web.TopicName of the site-level local preferences topic. If this topic
2211# exists, any settings in it will *override* settings in
2212# {SitePrefsTopicName}.
2213#
2214# You are *strongly* recommended to keep all your local changes in
2215# a {LocalSitePreferences} topic rather than changing DefaultPreferences,
2216# as it will make upgrading a lot easier.
22171400ns$Foswiki::cfg{LocalSitePreferences} =
2218 '$Foswiki::cfg{UsersWebName}.SitePreferences';
2219
2220# **STRING 20 LABEL="WebPreferences TopicName" EXPERT**
2221# Name of preferences topic in a web.
2222# *If you change this setting you will have to
2223# use Foswiki to manually rename the topic in all existing webs*
2224# (don't change it unless you are *certain* that you know what
2225# you are doing!)
22261400ns$Foswiki::cfg{WebPrefsTopicName} = 'WebPreferences';
2227
2228# **STRING 20 LABEL="Home TopicName" EXPERT**
2229# Name of main topic in a web.
2230# *If you change this setting you will have to
2231# use Foswiki to manually rename the topic in all existing webs*
2232# (don't change it unless you are *certain* that you know what
2233# you are doing!)
22341400ns$Foswiki::cfg{HomeTopicName} = 'WebHome';
2235
2236# **STRING 20 LABEL="Notification TopicName" EXPERT**
2237# Name of topic in each web that has notification registrations.
2238# *If you change this setting you will have to
2239# use Foswiki to manually rename the topic in all existing webs*
22401300ns$Foswiki::cfg{NotifyTopicName} = 'WebNotify';
2241
2242#############################################################################
2243#---+ Extensions
2244
2245#---++ Extension operation and maintenance
2246# * Specify the plugin load order
2247# * Use the Extensions Repository to add, update or remove plugins
2248# * Enable and disable installed plugins
2249
2250#---+++ Enable or disable installed extensions
2251
2252# *PLUGINS* Marker used by bin/configure script - do not remove!
2253# The plugins were discovered by searching the =@INC=
2254# path for modules that match the Foswiki standard. For example
2255# =Foswiki/Plugins/MyPlugin.pm= or the TWiki standard
2256# =TWiki/Plugins/YourPlugin.pm=. Note that this list
2257# is only for Plugins. You cannot Enable/Disable Contribs, AddOns or Skins.
2258#
2259# Any plugins enabled in the configuration but not found in the =@INC=
2260# path are listed at the end and are flagged as errors in the
2261# {PluginsOrder} check.
2262
2263# **BOOLEAN LABEL="PreferencesPlugin"
22641800ns$Foswiki::cfg{Plugins}{PreferencesPlugin}{Enabled} = 1;
2265# **STRING EXPERT LABEL="PreferencesPlugin Module"**
22661600ns$Foswiki::cfg{Plugins}{PreferencesPlugin}{Module} = 'Foswiki::Plugins::PreferencesPlugin';
2267
2268# **BOOLEAN LABEL="SmiliesPlugin"
22691500ns$Foswiki::cfg{Plugins}{SmiliesPlugin}{Enabled} = 1;
2270# **STRING EXPERT LABEL="SmiliesPlugin Module"**
22711600ns$Foswiki::cfg{Plugins}{SmiliesPlugin}{Module} = 'Foswiki::Plugins::SmiliesPlugin';
2272
2273# **BOOLEAN LABEL="CommentPlugin"**
22741500ns$Foswiki::cfg{Plugins}{CommentPlugin}{Enabled} = 1;
2275# **STRING EXPERT LABEL="CommentPlugin Module"**
22761500ns$Foswiki::cfg{Plugins}{CommentPlugin}{Module} = 'Foswiki::Plugins::CommentPlugin';
2277
2278# **BOOLEAN LABEL="SpreadSheetPlugin"**
22791500ns$Foswiki::cfg{Plugins}{SpreadSheetPlugin}{Enabled} = 1;
2280# **STRING EXPERT LABEL="SpreadSheetPlugin Module"**
22811500ns$Foswiki::cfg{Plugins}{SpreadSheetPlugin}{Module} = 'Foswiki::Plugins::SpreadSheetPlugin';
2282
2283# **BOOLEAN LABEL="InterwikiPlugin"**
22841600ns$Foswiki::cfg{Plugins}{InterwikiPlugin}{Enabled} = 1;
2285# **STRING EXPERT LABEL="InterwikiPlugin Module"**
22861500ns$Foswiki::cfg{Plugins}{InterwikiPlugin}{Module} = 'Foswiki::Plugins::InterwikiPlugin';
2287
2288# **BOOLEAN LABEL="NatEditPlugin"**
22891600ns$Foswiki::cfg{Plugins}{NatEditPlugin}{Enabled} = 1;
2290# **STRING EXPERT LABEL="NatEditPlugin Module"**
22911500ns$Foswiki::cfg{Plugins}{NatEditPlugin}{Module} = 'Foswiki::Plugins::NatEditPlugin';
2292
2293# **BOOLEAN LABEL="TablePlugin"**
22941600ns$Foswiki::cfg{Plugins}{TablePlugin}{Enabled} = 1;
2295# **STRING EXPERT LABEL="TablePlugin Module"**
22961500ns$Foswiki::cfg{Plugins}{TablePlugin}{Module} = 'Foswiki::Plugins::TablePlugin';
2297
2298# **BOOLEAN LABEL="EditRowPlugin"**
22991900ns$Foswiki::cfg{Plugins}{EditRowPlugin}{Enabled} = 1;
2300# **STRING EXPERT LABEL="EditRowPlugin Module"**
23011500ns$Foswiki::cfg{Plugins}{EditRowPlugin}{Module} = 'Foswiki::Plugins::EditRowPlugin';
2302
2303# **BOOLEAN LABEL="SlideShowPlugin"**
23041500ns$Foswiki::cfg{Plugins}{SlideShowPlugin}{Enabled} = 1;
2305# **STRING EXPERT LABEL="SlideShowPlugin Module"**
23061400ns$Foswiki::cfg{Plugins}{SlideShowPlugin}{Module} = 'Foswiki::Plugins::SlideShowPlugin';
2307
2308# **BOOLEAN LABEL="TwistyPlugin"**
23091500ns$Foswiki::cfg{Plugins}{TwistyPlugin}{Enabled} = 1;
2310# **STRING EXPERT LABEL="TwistyPlugin Module"**
23111500ns$Foswiki::cfg{Plugins}{TwistyPlugin}{Module} = 'Foswiki::Plugins::TwistyPlugin';
2312
2313# **BOOLEAN LABEL="TinyMCEPlugin"**
23141600ns$Foswiki::cfg{Plugins}{TinyMCEPlugin}{Enabled} = 1;
2315# **STRING EXPERT LABEL="TinyMCEPlugin Module"**
23161500ns$Foswiki::cfg{Plugins}{TinyMCEPlugin}{Module} = 'Foswiki::Plugins::TinyMCEPlugin';
2317
2318# **BOOLEAN LABEL="WysiwygPlugin"**
23191500ns$Foswiki::cfg{Plugins}{WysiwygPlugin}{Enabled} = 1;
2320# **STRING EXPERT LABEL="WysiwygPlugin Module"**
23211500ns$Foswiki::cfg{Plugins}{WysiwygPlugin}{Module} = 'Foswiki::Plugins::WysiwygPlugin';
2322
2323# **BOOLEAN LABEL="TWikiCompatibilityPlugin"**
23241500ns$Foswiki::cfg{Plugins}{TWikiCompatibilityPlugin}{Enabled} = 0;
2325# **STRING EXPERT LABEL="TWikiCompatibilityPlugin Module"**
23261500ns$Foswiki::cfg{Plugins}{TWikiCompatibilityPlugin}{Module} = 'Foswiki::Plugins::TWikiCompatibilityPlugin';
2327
2328# **BOOLEAN LABEL="AutoViewTemplatePlugin"**
23291600ns$Foswiki::cfg{Plugins}{AutoViewTemplatePlugin}{Enabled} = 1;
2330# **STRING EXPERT LABEL="AutoViewTemplatePlugin Module"**
23311500ns$Foswiki::cfg{Plugins}{AutoViewTemplatePlugin}{Module} = 'Foswiki::Plugins::AutoViewTemplatePlugin';
2332
2333# **BOOLEAN LABEL="CompareRevisionsAddon"**
23341500ns$Foswiki::cfg{Plugins}{CompareRevisionsAddonPlugin}{Enabled} = 1;
2335# **STRING EXPERT LABEL="CompareRevisionsAddonPlugin Module"**
23361500ns$Foswiki::cfg{Plugins}{CompareRevisionsAddonPlugin}{Module} = 'Foswiki::Plugins::CompareRevisionsAddonPlugin';
2337
2338# **BOOLEAN LABEL="HistoryPlugin"**
233911µs$Foswiki::cfg{Plugins}{HistoryPlugin}{Enabled} = 1;
2340# **STRING EXPERT LABEL="HistoryPlugin Module"**
23411500ns$Foswiki::cfg{Plugins}{HistoryPlugin}{Module} = 'Foswiki::Plugins::HistoryPlugin';
2342
2343# **BOOLEAN LABEL="JQueryPlugin"**
234415µs$Foswiki::cfg{Plugins}{JQueryPlugin}{Enabled} = 1;
2345# **STRING EXPERT LABEL="JQueryPlugin Module"**
23461600ns$Foswiki::cfg{Plugins}{JQueryPlugin}{Module} = 'Foswiki::Plugins::JQueryPlugin';
2347
2348# **BOOLEAN LABEL="RenderListPlugin"**
234913µs$Foswiki::cfg{Plugins}{RenderListPlugin}{Enabled} = 1;
2350# **STRING EXPERT LABEL="RenderListPlugin Module"**
23511500ns$Foswiki::cfg{Plugins}{RenderListPlugin}{Module} = 'Foswiki::Plugins::RenderListPlugin';
2352
2353# **BOOLEAN LABEL="MailerContribPlugin"**
23541600ns$Foswiki::cfg{Plugins}{MailerContribPlugin}{Enabled} = 1;
2355# **STRING EXPERT LABEL="MailerContribPlugin Module"**
23561500ns$Foswiki::cfg{Plugins}{MailerContribPlugin}{Module} = 'Foswiki::Plugins::MailerContribPlugin';
2357
2358# **BOOLEAN LABEL="SubscribePlugin"**
23591500ns$Foswiki::cfg{Plugins}{SubscribePlugin}{Enabled} = 1;
2360# **STRING EXPERT LABEL="SubscribePlugin Module"**
23611400ns$Foswiki::cfg{Plugins}{SubscribePlugin}{Module} = 'Foswiki::Plugins::SubscribePlugin';
2362
2363# **BOOLEAN LABEL="UpdatesPlugin"**
23641500ns$Foswiki::cfg{Plugins}{UpdatesPlugin}{Enabled} = 1;
2365# **STRING EXPERT LABEL="UpdatesPlugin Module"**
23661400ns$Foswiki::cfg{Plugins}{UpdatesPlugin}{Module} = 'Foswiki::Plugins::UpdatesPlugin';
2367
2368# **BOOLEAN LABEL="HomePagePlugin"**
23691500ns$Foswiki::cfg{Plugins}{HomePagePlugin}{Enabled} = 1;
2370# **STRING EXPERT LABEL="HomePagePlugin Module"**
23711500ns$Foswiki::cfg{Plugins}{HomePagePlugin}{Module} = 'Foswiki::Plugins::HomePagePlugin';
2372
2373# **BOOLEAN LABEL="ConfigurePlugin"**
23741500ns$Foswiki::cfg{Plugins}{ConfigurePlugin}{Enabled} = 1;
2375# **STRING EXPERT LABEL="ConfigurePlugin Module"**
23761400ns$Foswiki::cfg{Plugins}{ConfigurePlugin}{Module} = 'Foswiki::Plugins::ConfigurePlugin';
2377
2378
2379#---+++ Install, Update or Remove extensions
2380# **STRING 80 LABEL="Extensions Repositories" FEEDBACK="label='Review installed extensions';wizard='ExploreExtensions';method='get_installed_extensions'" FEEDBACK="label='Search for extension';wizard='ExploreExtensions';method='find_extension_1'" FEEDBACK="label='All available extensions';wizard='ExploreExtensions';method='get_other_extensions'"**
2381# Extensions Repositories Search List.
2382# Foswiki extension repositories are just Foswiki webs that are organised in the
2383# same way as the Extensions web on Foswiki.org. The 'Search for extensions'
2384# button searches these repositories for installable extensions. To set up an
2385# extensions repository:
2386# 1 Create a Foswiki web to contain the repository
2387# 2 Copy the =FastReport= page from [[http://foswiki.org/Extensions/FastReport?raw=on][Foswiki:Extensions.FastReport]] to your new web
2388# 3 Set the =WEBFORMS= preference in WebPreferences to =PackageForm=
2389# The page for each extension must have the =PackageForm= (copy from
2390# Foswiki.org), and should have the packaged extension attached as a
2391# =zip= and/or =tgz= file.
2392#
2393# The search list is a semicolon-separated list of repository
2394# specifications, each in the format: =name=(listurl,puburl,username,password)=
2395# where:
2396# * =name= is the symbolic name of the repository, for example Foswiki.org
2397# * =listurl= is the root of a view URL
2398# * =puburl= is the root of a download URL
2399# * =username= is the username if TemplateAuth is required on the
2400# repository (optional)
2401# * =password= is the password if TemplateAuth is required on the
2402# repository (optional)
2403# Note: if your Repository uses ApacheAuth, embed the username and password
2404# into the listurl as =?username=x;password=y=
2405#
2406# For example,=
2407# twiki.org=(http://twiki.org/cgi-bin/viewlugins/,http://twiki.org/p/pub/Plugins/); foswiki.org=(http://foswiki.org/Extensions/,http://foswiki.org/pub/Extensions/);=
2408#
2409# For Extensions with the same name in more than one repository, the *last*
2410# matching repository in the list will be chosen, so Foswiki.org should
2411# always be last in the list for maximum compatibility.
24121400ns$Foswiki::cfg{ExtensionsRepositories} =
2413'Foswiki.org=(http://foswiki.org/Extensions/,http://foswiki.org/pub/Extensions/)';
2414
2415# *FINDEXTENSIONS* Marker used by bin/configure script - do not remove!
2416
2417#---+++ Configure how plugins are loaded by Foswiki
2418# **STRING 80 LABEL="Plugins Order"**
2419# Plugins evaluation order. If set to a comma-separated list of plugin names,
2420# will change the execution order of plugins so the listed subset of plugins
2421# are executed first. The default execution order is alphabetical on plugin
2422# name.
2423#
2424# If TWiki compatibility is required, TWikiCompatibilityPlugin should be
2425# the first Plugin in the list. SpreadSheetPlugin should typically be next
2426# in the list for proper operation.
2427#
2428# Note that some other general extension environment checks are made and
2429# reported here. Plugins that are enabled but not installed and duplicate
2430# plugins in the TWiki and Foswiki libraries are reported here. Also if a
2431# TWiki plugin is enabled and the Foswik version is installed, this will
2432# also be reported here.
24331400ns$Foswiki::cfg{PluginsOrder} = 'TWikiCompatibilityPlugin,SpreadSheetPlugin,SlideShowPlugin';
2434
2435# **STRING 80 LABEL="Plugins Search Path" EXPERT**
2436# Search path (web names) for plugin topics. Note that the current web
2437# is searched last, after this list. Most modern foswiki plugins do not
2438# use the plugin topic for settings, and this setting is ignored. It is
2439# recommended that this setting not be changed.
24401400ns$Foswiki::cfg{Plugins}{WebSearchPath} = '$Foswiki::cfg{SystemWebName},TWiki';
2441
24421139µs1;
2443__END__