2d2e2d958c4f70a2ab7e1ff05f6fa62028c5d85e
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Configuration / DefaultConfigurationDescription.yaml
1 GFX:
2     type: container
3     description: 'Image Processing'
4     items:
5         thumbnails:
6             type: bool
7             description: 'Enables the use of thumbnails in the backend interface.'
8         thumbnails_png:
9             type: bool
10             description: 'If disabled, thumbnails from non-image files will be converted to ''gif'', otherwise ''png'' (default).'
11         gif_compress:
12             type: bool
13             description: 'Enables the use of the <code>\TYPO3\CMS\Core\Imaging\GraphicalFunctions::gifCompress()</code> workaround function for compressing .gif files made with GD or IM, which probably use only RLE or no compression at all.'
14         imagefile_ext:
15             type: list
16             description: 'Commalist of file extensions perceived as images by TYPO3. List should be set to ''gif,png,jpeg,jpg'' if IM is not available. Lowercase and no spaces between!'
17         gdlib:
18             type: bool
19             description: 'Enables the use of GD.'
20         gdlib_png:
21             type: bool
22             description: 'Enables the use of GD, with PNG only. This means that all items normally generated as gif-files will be png-files instead!'
23         processor_enabled:
24             type: bool
25             description: 'Enables the use of Image- or GraphicsMagick.'
26         processor_path:
27             type: text
28             description: 'Path to the IM tools ''convert'', ''combine'', ''identify''.'
29         processor_path_lzw:
30             type: text
31             description: 'Path to the IM tool ''convert'' with LZW enabled! See ''gif_compress''. If your version 4.2.9 of ImageMagick is compiled with LZW you may leave this field blank AND disable the flag ''gif_compress''! Tip: You can call LZW ''convert'' with a prefix like ''myver_convert'' by setting this path with it, eg. <code>/usr/bin/myver_</code> instead of just <code>/usr/bin/</code>.'
32         processor:
33             type: dropdown
34             allowedValues:
35               'ImageMagick': 'Choose ImageMagick for processing images'
36               'GraphicsMagick': 'Choose GraphicsMagick for processing images'
37             description: 'Select which external software on the server should process images - see also the Preset functionality to see what is available.'
38         processor_effects:
39             type: bool
40             description: 'If enabled, apply blur and sharpening in ImageMagick/GraphicMagick functions'
41         processor_allowUpscaling:
42             type: bool
43             description: 'If set, images can be scaled up if told so (in <code>\TYPO3\CMS\Core\Imaging\GraphicalFunctions</code>)'
44         processor_allowFrameSelection:
45             type: bool
46             description: 'If set, the [x] frame selector is appended to input filenames in stdgraphic. This speeds up image processing for PDF files considerably. Disable if your image processor or environment can''t cope with the frame selection.'
47         processor_allowTemporaryMasksAsPng:
48             type: bool
49             description: 'This should be set if your processor supports using PNGs as masks as this is usually faster.'
50         processor_stripColorProfileByDefault:
51             type: bool
52             description: 'If set, the processor_stripColorProfileCommand is used with all processor image operations by default. See tsRef for setting this parameter explicitly for IMAGE generation.'
53         processor_stripColorProfileCommand:
54             type: text
55             description: 'String: Specify the command to strip the profile information, which can reduce thumbnail size up to 60KB. Command can differ in IM/GM, IM also know the -strip command. See <a href="http://www.imagemagick.org/Usage/thumbnails/#profiles" target="_blank" rel="noopener noreferrer">imagemagick.org</a> for details'
56         processor_colorspace:
57             type: text
58             description: 'String: Specify the colorspace to use. Some ImageMagick versions (like 6.7.0 and above) use the sRGB colorspace, so all images are darker then the original. <br />Possible Values: CMY, CMYK, Gray, HCL, HSB, HSL, HWB, Lab, LCH, LMS, Log, Luv, OHTA, Rec601Luma, Rec601YCbCr, Rec709Luma, Rec709YCbCr, RGB, sRGB, Transparent, XYZ, YCbCr, YCC, YIQ, YCbCr, YUV'
59         processor_interlace:
60             type: text
61             description: 'String: Specify the interlace option to use. The result differs in different GM / IM versions. See manual of GraphicsMagick or ImageMagick for right option. <br />Possible values: None, Line, Plane, Partition'
62         jpg_quality:
63             type: int
64             description: 'Integer: Default JPEG generation quality'
65 SYS:
66     type: container
67     description: 'System'
68     items:
69         fileCreateMask:
70             type: text
71             description: 'File mode mask for Unix file systems (when files are uploaded/created).'
72         folderCreateMask:
73             type: text
74             description: 'As above, but for folders.'
75         createGroup:
76             type: text
77             description: 'Group for newly created files and folders (Unix only). Group ownership can be changed on Unix file systems (see above). Set this if you want to change the group ownership of created files/folders to a specific group. This makes sense in all cases where the webserver is running with a different user/group as you do. Create a new group on your system and add you and the webserver user to the group. Now you can safely set the last bit in fileCreateMask/folderCreateMask to 0 (e.g. 770). Important: The user who is running your webserver needs to be a member of the group you specify here! Otherwise you might get some error messages.'
78         sitename:
79             type: text
80             description: 'Name of the base-site.'
81         encryptionKey:
82             type: text
83             description: 'This is a "salt" used for various kinds of encryption, CRC checksums and validations. You can enter any rubbish string here but try to keep it secret. You should notice that a change to this value might invalidate temporary information, URLs etc. At least, clear all cache if you change this so any such information can be rebuilt with the new key.'
84         cookieDomain:
85             type: text
86             description: 'Restricts the domain name for FE and BE session cookies. When setting the value to ".domain.com" (replace domain.com with your domain!), login sessions will be shared across subdomains. Alternatively, if you have more than one domain with sub-domains, you can set the value to a regular expression to match against the domain of the HTTP request. The result of the match is used as the domain for the cookie. eg. <code>/\.(example1|example2)\.com$/</code> or <code>/\.(example1\.com)|(example2\.net)$/</code>. Separate domains for FE and BE can be set using <a href="#FE-cookieDomain">$TYPO3_CONF_VARS[''FE''][''cookieDomain'']</a> and <a href="#BE-cookieDomain">$TYPO3_CONF_VARS[''BE''][''cookieDomain'']</a> respectively.'
87         cookieSecure:
88             type: int
89             allowedValues:
90               '0': 'Always send the cookie, regardless if the connection is secure'
91               '1': 'Force HTTPS: the cookie will only be set if a secure (HTTPS) connection exists - use this in combination with lockSSL since otherwise the application will fail and throw an exception'
92               '2': 'The cookie will be set in each case, but uses the secure flag if a secure (HTTPS) connection exists'
93             description: 'Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client.'
94         trustedHostsPattern:
95             type: text
96             description: 'Regular expression pattern that matches all allowed hostnames (including their ports) of this TYPO3 installation, or the string "SERVER_NAME" (default). The default value <code>SERVER_NAME</code> checks if the HTTP Host header equals the SERVER_NAME and SERVER_PORT. This is secure in correctly configured hosting environments and does not need further configuration. If you cannot change your hosting environment, you can enter a regular expression here. Examples: <code>.*\.domain\.com</code> matches all hosts that end with <code>.domain.com</code> with all corresponding subdomains. <code>(.*\.domain|.*\.otherdomain)\.com</code> matches all hostnames with subdomains from <code>.domain.com</code> and <code>.otherdomain.com</code>. Be aware that HTTP Host header may also contain a port. If your installation runs on a specific port, you need to explicitly allow this in your pattern, e.g. <code>www\.domain\.com:88</code> allows only <code>www.domain.com:88</code>, <strong>not</strong> <code>www.domain.com</code>. To disable this check completely (not recommended because it is <strong>insecure</strong>) you can use ".*" as pattern.'
97         devIPmask:
98             type: text
99             description: 'Defines a list of IP addresses which will allow development-output to display. The debug() function will use this as a filter. See the function <code>\TYPO3\CMS\Core\Utility\GeneralUtility::cmpIP()</code> for details on syntax. Setting this to blank value will deny all. Setting to "*" will allow all.'
100         ddmmyy:
101             type: text
102             description: 'Format of Day-Month-Year - see PHP-function <a href="http://php.net/date" target="_blank" rel="noopener noreferrer">date()</a>'
103         hhmm:
104             type: text
105             description: 'Format of Hours-Minutes - see PHP-function <a href="http://php.net/date" target="_blank" rel="noopener noreferrer">date()</a>'
106         USdateFormat:
107             type: bool
108             description: 'If TRUE, dates entered in the TCEforms of the backend will be formatted mm-dd-yyyy'
109         loginCopyrightWarrantyProvider:
110             type: text
111             description: 'If you provide warranty for TYPO3 to your customers insert you (company) name here. It will appear in the login-dialog as the warranty provider. (You must also set URL below).'
112         loginCopyrightWarrantyURL:
113             type: text
114             description: 'Add the URL where you explain the extend of the warranty you provide. This URL is displayed in the login dialog as the place where people can learn more about the conditions of your warranty. Must be set (more than 10 chars) in addition with the ''loginCopyrightWarrantyProvider'' message.'
115         textfile_ext:
116             type: text
117             description: 'Text file extensions. Those that can be edited. Executable PHP files may not be editable if disallowed!'
118         mediafile_ext:
119             type: text
120             description: 'Commalist of file extensions perceived as media files by TYPO3. Lowercase and no spaces between!'
121         binPath:
122             type: text
123             description: 'List of absolute paths where external programs should be searched for. Eg. <code>/usr/local/webbin/,/home/xyz/bin/</code>. (ImageMagick path have to be configured separately)'
124         binSetup:
125             type: multiline
126             description: 'List of programs (separated by newline or comma). By default programs will be searched in default paths and the special paths defined by <code>binPath</code>. When PHP has openbasedir enabled the programs can not be found and have to be configured here. Example: <code>perl=/usr/bin/perl,unzip=/usr/local/bin/unzip</code>'
127         setMemoryLimit:
128             type: int
129             description: 'Integer: memory_limit in MB: If more than 16, TYPO3 will try to use ini_set() to set the memory limit of PHP to the value. This works only if the function ini_set() is not disabled by your sysadmin.'
130         phpTimeZone:
131             type: text
132             description: 'timezone to force for all date() and mktime() functions. A list of supported values can be found at <a href="http://php.net/manual/en/timezones.php" target="_blank" rel="noopener noreferrer">php.net</a>. If this is not set, a valid fallback will be searched for by PHP (php.ini''s <a href="http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone" target="_blank" rel="noopener noreferrer">date.timezone</a> setting, server defaults, etc); and if no fallback is found, the value of "UTC" is used instead.'
133         systemLog:
134             type: bool
135             description: 'Enables the deprecated system log functionality. Log data is written to the Logging API.'
136         systemLogLevel:
137             type: int
138             allowedValues:
139               '0': 'Severity: Info'
140               '1': 'Severity: Notice'
141               '2': 'Severity: Warning'
142               '3': 'Severity: Error'
143               '4': 'Severity: Fatal Error'
144             description: 'Enable the severity of log messages to be logged (see systemLog option) - Only messages with same or higher severity are logged.'
145         UTF8filesystem:
146             type: bool
147             description: 'If TRUE then TYPO3 uses utf-8 to store file names. This allows for accented Latin letters as well as any other non-latin characters like Cyrillic and Chinese.'
148         systemLocale:
149             type: text
150             description: 'Locale used for certain system related functions, e.g. escaping shell commands. If problems with filenames containing special characters occur, the value of this option is probably wrong. See <a href="http://php.net/manual/en/function.setlocale.php" target="_blank" rel="noopener noreferrer">setlocale()</a>.'
151         reverseProxyIP:
152             type: list
153             description: 'List of IP addresses. If TYPO3 is behind one or more (intransparent) reverse proxies the IP addresses must be added here.'
154         reverseProxyHeaderMultiValue:
155             type: text
156             allowedValues:
157               'none': 'Do not evaluate the reverse proxy header'
158               'first': 'Use the first IP address in the proxy header'
159               'last': 'Use the last IP address in the proxy header'
160             description: 'Defines which values of a proxy header (eg HTTP_X_FORWARDED_FOR) to use, if more than one is found.'
161         reverseProxyPrefix:
162             type: text
163             description: 'Optional prefix to be added to the internal URL (SCRIPT_NAME and REQUEST_URI).'
164         reverseProxySSL:
165             type: text
166             description: '''*'' or list of IP addresses of proxies that use SSL (https) for the connection to the client, but an unencrypted connection (http) to the server. If ''*'' all proxies defined in <a href="#SYS-reverseProxyIP">[SYS][reverseProxyIP]</a> use SSL.'
167         reverseProxyPrefixSSL:
168             type: text
169             description: 'Prefix to be added to the internal URL (SCRIPT_NAME and REQUEST_URI) when accessing the server via an SSL proxy. This setting overrides <a href="#SYS-reverseProxyPrefix">[SYS][reverseProxyPrefix]</a>.'
170         defaultCategorizedTables:
171             type: list
172             description: 'List of comma separated tables that are categorizable by default.'
173         displayErrors:
174             type: int
175             allowedValues:
176               '-1': 'TYPO3 does not touch the PHP setting. If [SYS][devIPmask] matches the user''s IP address, the configured [SYS][debugExceptionHandler] is used instead of the [SYS][productionExceptionHandler] to handle exceptions.'
177               '0': 'Live: Do not display any PHP error message. Sets "display_errors=0". Overrides the value of [SYS][exceptionalErrors] and sets it to 0 (= no errors are turned into exceptions). The configured [SYS][productionExceptionHandler] is used as exception handler.'
178               '1': 'Debug: Display error messages with the registered [SYS][errorHandler]. Sets "display_errors=1". The configured [SYS][debugExceptionHandler] is used as exception handler.'
179             description: 'Configures whether PHP errors or Exceptions should be displayed, effectively setting the PHP option <code>display_errors</code> during runtime.'
180         productionExceptionHandler:
181             type: phpClass
182             description: 'Classname to handle exceptions that might happen in the TYPO3-code. Leave empty to disable exception handling. Default: "TYPO3\CMS\Core\Error\ProductionExceptionHandler". This exception handler displays a nice error message when something went wrong. The error message is logged to the configured logs. Note: The configured "productionExceptionHandler" is used if [SYS][displayErrors] is set to "0" or is set to "-1" and [SYS][devIPmask] doesn''t match the user''s IP.'
183         debugExceptionHandler:
184             type: phpClass
185             description: 'Classname to handle exceptions that might happen in the TYPO3-code. Leave empty to disable exception handling. Default: "TYPO3\CMS\Core\Error\DebugExceptionHandler". This exception handler displays the complete stack trace of any encountered exception. The error message and the stack trace is logged to the configured logs. Note: The configured "debugExceptionHandler" is used if [SYS][displayErrors] is set to "1" or is set to "-1" or "2" and the [SYS][devIPmask] matches the user''s IP.'
186         errorHandler:
187             type: phpClass
188             description: 'Classname to handle PHP errors. E.g.: TYPO3\CMS\Core\Error\ErrorHandler. This class displays and logs all errors that are registered as [SYS][errorHandlerErrors]. Leave empty to disable error handling. Errors will be logged and can be sent to the optionally installed developer log or to the "syslog" database table. If an error is registered in [SYS][exceptionalErrors] it will be turned into an exception to be handled by the configured exceptionHandler.'
189         errorHandlerErrors:
190             type: errors
191             description: 'The E_* constant that will be handled by the [SYS][errorHandler]. Not all PHP error types can be handled! Default is 30466 = <code>E_ALL & ~(E_STRICT | E_NOTICE | E_COMPILE_WARNING | E_COMPILE_ERROR | E_CORE_WARNING | E_CORE_ERROR | E_PARSE | E_ERROR)</code> (see <a href="http://php.net/manual/en/errorfunc.constants.php" target="_blank" rel="noopener noreferrer">PHP documentation</a>).'
192         exceptionalErrors:
193             type: errors
194             description: 'The E_* constant that will be converted into an exception by the default [SYS][errorHandler]. Default is 4096 = <code>E_ALL & ~(E_STRICT | E_NOTICE | E_COMPILE_WARNING | E_COMPILE_ERROR | E_CORE_WARNING | E_CORE_ERROR | E_PARSE | E_ERROR | E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_USER_ERROR | E_USER_NOTICE | E_USER_WARNING)</code> (see <a href="http://php.net/manual/en/errorfunc.constants.php" target="_blank rel="noopener noreferrer"">PHP documentation</a>). E_USER_DEPRECATED is always excluded to avoid exceptions to be thrown for deprecation messages.'
195         belogErrorReporting:
196             type: errors
197             description: 'Configures which PHP errors should be logged to the "syslog" database table (extension: belog). If set to "0" no PHP errors are logged to the sys_log table. Default is 30711 = <code>E_ALL & ~(E_STRICT | E_NOTICE)</code> (see <a href="http://php.net/manual/en/errorfunc.constants.php" target="_blank" rel="noopener noreferrer">PHP documentation</a>).'
198         generateApacheHtaccess:
199             type: bool
200             description: 'TYPO3 can create <em>.htaccess</em> files which are used by Apache Webserver. They are useful for access protection or performance improvements. Currently <em>.htaccess</em> files in the following directories are created, if they do not exist: <ul><li>typo3temp/compressor/</li></ul>You want to disable this feature, if you are not running Apache or want to use own rulesets.'
201         ipAnonymization:
202             type: int
203             allowedValues:
204               '0': 'Disabled - Do not modify IP addresses at all'
205               '1': 'Mask the last byte for IPv4 addresses / Mask the Interface ID for IPv6 addresses (default)'
206               '2': 'Mask the last two bytes for IPv4 addresses / Mask the Interface ID and SLA ID for IPv6 addresses'
207             description: 'Configures if and how IP addresses stored via TYPO3''s API should be anonymized ("masked") with a zero-numbered replacement.'
208         systemMaintainers:
209             type: array
210             description: 'A list of backend user IDs allowed to access the Install Tool'
211         features:
212             type: container
213             description: 'New features of TYPO3 that are activated on new installations but upgrading installations can still use the old behaviour'
214             items:
215               redirects.hitCount:
216                 type: bool
217                 description: 'If on, and if extension "redirects" is loaded, each performed redirect is counted and last hit time is logged to the database.'
218               security.frontend.keepSessionDataOnLogout:
219                 type: bool
220                 description: 'If on, session data is kept in an anonymous session after frontend user logged out. As this is a potential security risk, it is recommended to disable this option if not specifically needed.'
221         availablePasswordHashAlgorithms:
222             type: array
223             description: 'A list of available password hash mechanisms. Extensions may register additional mechanisms here. This is usually not extended in LocalConfiguration.php.'
224 EXT:
225     type: container
226     description: 'Extension Installation'
227     items:
228         allowGlobalInstall:
229             type: bool
230             description: 'If set, global extensions in typo3/ext/ are allowed to be installed, updated and deleted etc.'
231         allowLocalInstall:
232             type: bool
233             description: 'If set, local extensions in typo3conf/ext/ are allowed to be installed, updated and deleted etc.'
234         excludeForPackaging:
235             type: list
236             description: 'List of directories and files which will not be packaged into extensions nor taken into account otherwise by the Extension Manager. Perl regular expression syntax!'
237 BE:
238     type: container
239     description: 'Backend'
240     items:
241         languageDebug:
242             type: bool
243             description: 'If enabled, language labels will be shown with additional debug information.'
244         fileadminDir:
245             type: text
246             description: 'Path to the primary directory of files for editors. This is relative to the public web dir, DefaultStorage will be created with that configuration, do not access manually but via <code>\TYPO3\CMS\Core\Resource\ResourceFactory::getDefaultStorage().</code>'
247         lockRootPath:
248             type: text
249             description: 'This path is used to evaluate if paths outside of public web path should be allowed. Ending slash required!'
250         userHomePath:
251             type: text
252             description: 'Combined folder identifier of the directory where TYPO3 backend-users have their home-dirs. A combined folder identifier looks like this: [storageUid]:[folderIdentifier]. Eg. <code>2:users/</code>. A home for backend user 2 would be: <code>2:users/2/</code>. Ending slash required!'
253         groupHomePath:
254             type: text
255             description: 'Combined folder identifier of the directory where TYPO3 backend-groups have their home-dirs. A combined folder identifier looks like this: [storageUid]:[folderIdentifier]. Eg. <code>2:groups/</code>. A home for backend group 1 would be: <code>2:groups/1/</code>. Ending slash required!'
256         userUploadDir:
257             type: text
258             description: 'Suffix to the user home dir which is what gets mounted in TYPO3. Eg. if the user dir is <code>../123_user/</code> and this value is <code>/upload</code> then <code>../123_user/upload</code> gets mounted.'
259         warning_email_addr:
260             type: text
261             description: 'Email address that will receive notification whenever an attempt to login to the Install Tool is made and that will also receive warnings whenever more than 3 failed backend login attempts (regardless of user) are detected within an hour.'
262         warning_mode:
263             type: int
264             allowedValues:
265               '0': 'Do not send notification-emails upon backend-login'
266               '1': 'Send a notification-email every time a backend user logs in'
267               '2': 'Send a notification-email every time an ADMIN backend user logs in'
268             description: 'Send emails to <code>warning_email_addr</code> upon backend-login'
269         lockIP:
270             type: int
271             allowedValues:
272               '0': 'Do not lock Backend User sessions to their IP address at all'
273               '1': 'Use the first part of the editors'' IPv4 address (e.g. "192.") as part of the session locking of Backend Users'
274               '2': 'Use the first two parts of the editors'' IPv4 address (e.g. "192.168") as part of the session locking of Backend Users'
275               '3': 'Use the first three parts of the editors'' IPv4 address (e.g. "192.168.13") as part of the session locking of Backend Users'
276               '4': 'Default: Use the editors'' full IPv4 address (e.g. "192.168.13.84") as part of the session locking of Backend Users (highest security)'
277             description: 'Session IP locking for backend users. See <a href="#FE-lockIP">[FE][lockIP]</a> for details.'
278         lockIPv6:
279             type: int
280             allowedValues:
281               '0': 'Do not lock Backend User sessions to their IP address at all'
282               '1': 'Use the first block (16 bits) of the editors'' IPv6 address (e.g. "2001:") as part of the session locking of Backend Users'
283               '2': 'Use the first two blocks (32 bits) of the editors'' IPv6 address (e.g. "2001:0db8") as part of the session locking of Backend Users'
284               '3': 'Use the first three blocks (48 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3") as part of the session locking of Backend Users'
285               '4': 'Use the first four blocks (64 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3") as part of the session locking of Backend Users'
286               '5': 'Use the first five blocks (80 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3:1319") as part of the session locking of Backend Users'
287               '6': 'Use the first six blocks (96 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3:1319:8a2e") as part of the session locking of Backend Users'
288               '7': 'Use the first seven blocks (112 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3:1319:8a2e:0370") as part of the session locking of Backend Users'
289               '8': 'Default: Use the editors'' full IPv6 address (e.g. "2001:0db8:85a3:08d3:1319:8a2e:0370:7344") as part of the session locking of Backend Users (highest security)'
290             description: 'Session IPv6 locking for backend users. See <a href="#FE-lockIPv6">[FE][lockIPv6]</a> for details.'
291         sessionTimeout:
292             type: int
293             description: 'Session time out for backend users in seconds. The value must be at least 180 to avoid side effects. Default is 28.800 seconds = 8 hours.'
294         IPmaskList:
295             type: list
296             description: 'Lets you define a list of IP-numbers (with *-wildcards) that are the ONLY ones allowed access to ANY backend activity. On error an error header is sent and the script exits. Works like IP masking for users configurable through TSconfig. See syntax for that (or look up syntax for the function <code>\TYPO3\CMS\Core\Utility\GeneralUtility::cmpIP())</code>'
297         lockBeUserToDBmounts:
298             type: bool
299             description: 'If set, the backend user is allowed to work only within his page-mount. It''s advisable to leave this on because it makes security easy to manage.'
300         lockSSL:
301             type: bool
302             description: 'If set, the backend can only be operated from an SSL-encrypted connection (https). A redirect to the SSL version of a URL will happen when a user tries to access non-https admin-urls'
303         lockSSLPort:
304             type: int
305             description: 'Use a non-standard HTTPS port for lockSSL. Set this value if you use lockSSL and the HTTPS port of your webserver is not 443.'
306         enabledBeUserIPLock:
307             type: bool
308             description: 'If set, the User/Group TSconfig option <code>option.lockToIP</code> is enabled.'
309         cookieDomain:
310             type: text
311             description: 'Same as <a href="#SYS-cookieDomain">$TYPO3_CONF_VARS[''SYS''][''cookieDomain'']</a> but only for BE cookies. If empty, $TYPO3_CONF_VARS[''SYS''][''cookieDomain''] value will be used.'
312         cookieName:
313             type: text
314             description: 'Set the name for the cookie used for the back-end user session'
315         loginSecurityLevel:
316             type: text
317             description: 'Keywords that determines the security level of login to the backend. "normal" means the password from the login form is sent in clear-text. The client/server communication should be secured with HTTPS.'
318         showRefreshLoginPopup:
319             type: bool
320             description: 'If set, the Ajax relogin will show a real popup window for relogin after the count down. Some auth services need this as they add custom validation to the login form. If it''s not set, the Ajax relogin will show an inline relogin window.'
321         adminOnly:
322             type: int
323             allowedValues:
324               '-1': 'Total shutdown for maintenance purposes'
325               '0': 'Default: All users can access the TYPO3 Backend'
326               '1': 'Only administrators / system maintainers can log in, CLI interface is disabled as well'
327               '2': 'Only administrators / system maintainers have access to the TYPO3 Backend, CLI executions are allowed as well'
328             description: 'Restricts access to the TYPO3 Backend - especially useful when doing maintenance or updates'
329         disable_exec_function:
330             type: bool
331             description: 'Don''t use exec() function (except for ImageMagick which is disabled by <a href="#GFX-im">[GFX][im]</a>=0). If set, all file operations are done by the default PHP-functions. This is necessary under Windows! On Unix the system commands by exec() can be used, unless this is disabled.'
332         compressionLevel:
333             type: text
334             description: 'Determines output compression of BE output. Makes output smaller but slows down the page generation depending on the compression level. Requires a) zlib in your PHP installation and b) special rewrite rules for .css.gzip and .js.gzip (please see <code>_.htacces</code> for an example). Range 1-9, where 1 is least compression and 9 is greatest compression. ''true'' as value will set the compression based on the PHP default settings (usually 5). Suggested and most optimal value is 5.'
335         checkStoredRecords:
336             type: bool
337             description: 'If set, values of the record are validated after saving in DataHandler. Disable only if using a database in strict mode.'
338         checkStoredRecordsLoose:
339             type: bool
340             description: 'If set, make a loose comparison ('''' equals 0) when validating record values after saving in DataHandler.'
341         fileDenyPattern:
342             type: text
343             description: 'A perl-compatible and JavaScript-compatible regular expression (without delimiters "/"!) that - if it matches a filename - will deny the file upload/rename or whatever. For security reasons, files with multiple extensions have to be denied on an Apache environment with mod_alias, if the filename contains a valid php handler in an arbitrary position. Also, ".htaccess" files have to be denied. Matching is done case-insensitive. Default value is stored in PHP constant FILE_DENY_PATTERN_DEFAULT'
344         interfaces:
345             type: text
346             description: 'This determines which interface options are available in the login prompt (All options: "backend,frontend")'
347         explicitADmode:
348             type: dropdown
349             allowedValues:
350               'explicitAllow': 'Administrators have to explicitly grant access for all editors and groups'
351               'explicitDeny': 'Editors have access to all content types by default, access has to explicitly restricted'
352             description: 'Sets the general allow/deny mode for Content Element Types (CTypes) when granting or restricting access for backend users'
353         flexformForceCDATA:
354             type: bool
355             description: 'If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA.'
356         versionNumberInFilename:
357             type: bool
358             description: |
359               <p>
360                 If enabled, included CSS and JS files loaded in the TYPO3 Backend will have the timestamp embedded in the filename, ie. <code>filename.1269312081.js</code>.
361                 This will make browsers and proxies reload the files if they change (thus avoiding caching issues).
362                 <strong>IMPORTANT:</strong> This feature requires extra <code>.htaccess</code> rules to work (please refer to the <code>typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-htaccess</code> file shipped with TYPO3).</p>
363               <p>If disabled the last modification date of the file will be appended as a query-string.</p>
364         debug:
365             type: bool
366             description: 'If enabled, the loginrefresh is disabled and pageRenderer is set to debug mode. Furthermore the fieldname is appended to the label of fields. Use this to debug the backend only!'
367         passwordHashing:
368             type: container
369             items:
370                 className:
371                     type: dropdown
372                     allowedValues:
373                         'TYPO3\CMS\Core\Crypto\PasswordHashing\Argon2iPasswordHash': 'Good password hash mechanism. Used by default if available.'
374                         'TYPO3\CMS\Core\Crypto\PasswordHashing\BcryptPasswordHash': 'Good password hash mechanism.'
375                         'TYPO3\CMS\Core\Crypto\PasswordHashing\Pbkdf2PasswordHash': 'Fallback hash mechanism if argon and bcrypt are not available.'
376                         'TYPO3\CMS\Core\Crypto\PasswordHashing\PhpassPasswordHash': 'Fallback hash mechanism if none of the above are available.'
377                 options:
378                     type: array
379                     description: 'Special settings for specific hashes.'
380 FE:
381     type: container
382     description: 'Frontend'
383     items:
384         addAllowedPaths:
385             type: list
386             description: 'Additional relative paths (comma-list) to allow TypoScript resources be in. Should be prepended with ''/''. If not, then any path where the first part is like this path will match. That is: ''myfolder/ , myarchive'' will match eg. ''myfolder/'', ''myarchive/'', ''myarchive_one/'', ''myarchive_2/'' ... No check is done to see if this directory actually exists in the root of the site. Paths are matched by simply checking if these strings equals the first part of any TypoScript resource filepath. (See class template, function init() in <code>\TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser)</code>'
387         debug:
388             type: bool
389             description: 'If enabled, the total parsetime of the page is added as HTTP response header "X-TYPO3-Parsetime". This can also be enabled/disabled via the TypoScript option <code>config.debug = 0</code>.'
390         compressionLevel:
391             type: int
392             description: 'Determines output compression of FE output. Makes output smaller but slows down the page generation depending on the compression level. Requires zlib in your PHP installation. Range 1-9, where 1 is least compression and 9 is greatest compression. ''true'' as value will set the compression based on the PHP default settings (usually 5). Suggested and most optimal value is 5.'
393         pageNotFoundOnCHashError:
394             type: bool
395             description: 'If TRUE, a page not found call is made when cHash evaluation error occurs, otherwise caching is disabled and page output is displayed.'
396         pageUnavailable_force:
397             type: bool
398             description: 'If TRUE, every frontend page is shown as "unavailable". If the client matches <a href="#SYS-devIPmask">[SYS][devIPmask]</a>, the page is shown as normal. This is useful during temporary site maintenance.'
399         addRootLineFields:
400             type: list
401             description: 'Comma-list of fields from the ''pages''-table. These fields are added to the select query for fields in the rootline.'
402         checkFeUserPid:
403             type: bool
404             description: 'If set, the pid of fe_user logins must be sent in the form as the field ''pid'' and then the user must be located in the pid. If you unset this, you should change the fe_users.username eval-flag ''uniqueInPid'' to ''unique'' in $TCA. This will do: <code>$TCA[''fe_users''][''columns''][''username''][''config''][''eval'']= ''nospace,lower,required,unique'';</code>'
405         lockIP:
406             type: int
407             allowedValues:
408               '0': 'Do not lock Frontend User sessions to their IP address at all'
409               '1': 'Use the first part of the visitors'' IPv4 address (e.g. "192.") as part of the session locking of Frontend Users'
410               '2': 'Default - Use the first two parts of the visitors'' IPv4 address (e.g. "192.168") as part of the session locking of Frontend Users'
411               '3': 'Use the first three parts of the visitors'' IPv4 address (e.g. "192.168.13") as part of the session locking of Frontend Users'
412               '4': 'Use the visitors'' full IPv4 address (e.g. "192.168.13.84") as part of the session locking of Frontend Users (highest security)'
413             description: 'If activated, Frontend Users are locked to (a part of) their public IP (<code>$_SERVER[''REMOTE_ADDR'']</code>) for their session, if REMOTE_ADDR is an IPv4-address. Enhances security but may throw off users that may change IP during their session (in which case you can lower it). The integer indicates how many parts of the IP address to include in the check for session (next to the user agent).'
414         lockIPv6:
415             type: int
416             allowedValues:
417               '0': 'Do not lock Backend User sessions to their IP address at all'
418               '1': 'Use the first block (16 bits) of the editors'' IPv6 address (e.g. "2001:") as part of the session locking of Backend Users'
419               '2': 'Use the first two blocks (32 bits) of the editors'' IPv6 address (e.g. "2001:0db8") as part of the session locking of Backend Users'
420               '3': 'Use the first three blocks (48 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3") as part of the session locking of Backend Users'
421               '4': 'Use the first four blocks (64 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3") as part of the session locking of Backend Users'
422               '5': 'Use the first five blocks (80 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3:1319") as part of the session locking of Backend Users'
423               '6': 'Use the first six blocks (96 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3:1319:8a2e") as part of the session locking of Backend Users'
424               '7': 'Use the first seven blocks (112 bits) of the editors'' IPv6 address (e.g. "2001:0db8:85a3:08d3:1319:8a2e:0370") as part of the session locking of Backend Users'
425               '8': 'Default: Use the visitors'' full IPv6 address (e.g. "2001:0db8:85a3:08d3:1319:8a2e:0370:7344") as part of the session locking of Backend Users (highest security)'
426             description: 'If activated, Frontend Users are locked to (a part of) their public IP (<code>$_SERVER[''REMOTE_ADDR'']</code>) for their session, if REMOTE_ADDR is an IPv6-address. Enhances security but may throw off users that may change IP during their session (in which case you can lower it). The integer indicates how many parts of the IP address to include in the check for session (next to the user agent).'
427         loginSecurityLevel:
428             type: text
429             description: 'See description for <a href="#BE-loginSecurityLevel">[BE][loginSecurityLevel]</a>. Default state for frontend is "normal". The client/server communication should be secured with HTTPS.'
430         lifetime:
431             type: int
432             description: 'If >0 and the option permalogin is >=0, the cookie of FE users will have a lifetime of the number of seconds this value indicates. Otherwise it will be a session cookie (deleted when browser is shut down). Setting this value to 604800 will result in automatic login of FE users during a whole week, 86400 will keep the FE users logged in for a day.'
433         sessionTimeout:
434             type: int
435             description: 'Server side session timeout for frontend users in seconds. Will be overwritten by the lifetime property if the lifetime is longer.'
436         sessionDataLifetime:
437             type: int
438             description: 'If >0, the session data of an anonymous session will timeout and be removed after the number of seconds given (86400 seconds represents 24 hours).'
439         permalogin:
440             type: text
441             description: '<dl><dt>-1</dt><dd>Permanent login for FE users is disabled.</dd><dt>0</dt><dd>By default permalogin is disabled for FE users but can be enabled by a form control in the login form.</dd><dt>1</dt><dd>Permanent login is by default enabled but can be disabled by a form control in the login form.</dd><dt>2</dt><dd>Permanent login is forced to be enabled.</dd></dl> In any case, permanent login is only possible if <a href="#FE-lifetime">[FE][lifetime]</a> lifetime is > 0.'
442         cookieDomain:
443             type: text
444             description: 'Same as <a href="#SYS-cookieDomain">$TYPO3_CONF_VARS[''SYS''][''cookieDomain'']</a> but only for FE cookies. If empty, $TYPO3_CONF_VARS[''SYS''][''cookieDomain''] value will be used.'
445         cookieName:
446             type: text
447             description: 'Set the name for the cookie used for the front-end user session'
448         defaultUserTSconfig:
449             type: multiline
450             description: 'Enter lines of default frontend user/group TSconfig.'
451         defaultTypoScript_constants:
452             type: multiline
453             description: 'Enter lines of default TypoScript, constants-field.'
454             compareValuesWithCurrentConfiguration: false
455         defaultTypoScript_setup:
456             type: multiline
457             description: 'Enter lines of default TypoScript, setup-field.'
458             compareValuesWithCurrentConfiguration: false
459         additionalAbsRefPrefixDirectories:
460             type: text
461             description: 'Enter additional directories to be prepended with absRefPrefix. Directories must be comma-separated. TYPO3 already prepends the following directories: typo3/, typo3temp/, typo3conf/ext/ and all local storages'
462         enable_mount_pids:
463             type: bool
464             description: 'If enabled, the mount_pid feature allowing ''symlinks'' in the page tree (for frontend operation) is allowed.'
465         hidePagesIfNotTranslatedByDefault:
466             type: bool
467             description: 'If enabled, pages that has no translation will be hidden by default. Basically this will inverse the effect of the page localization setting "Hide page if no translation for current language exists" to "Show page even if no translation exists"'
468         disableNoCacheParameter:
469             type: bool
470             description: 'If set, the no_cache request parameter will become ineffective. This is currently still an experimental feature and will require a website only with plugins that don''t use this parameter. However, using "&amp;no_cache=1" should be avoided anyway because there are better ways to disable caching for a certain part of the website (see COA_INT/USER_INT documentation in TSref).'
471         cacheHash:
472           type: container
473           items:
474               cachedParametersWhiteList:
475                   type: array
476                   description: 'Only the given parameters will be evaluated in the cHash calculation. Example: tx_news_pi1[uid]'
477               requireCacheHashPresenceParameters:
478                   type: array
479                   description: 'Configure Parameters that require a cHash. If no cHash is given but one of the parameters are set, then TYPO3 triggers the configured cHash Error behaviour'
480               excludedParameters:
481                   type: array
482                   description: 'The the given parameters will be ignored in the cHash calculation. Example: L,tx_search_pi1[query]'
483               excludedParametersIfEmpty:
484                   type: array
485                   description: 'Configure Parameters that are only relevant for the cHash if there''s an associated value available. Set excludeAllEmptyParameters to true to skip all empty parameters.'
486               excludeAllEmptyParameters:
487                   type: bool
488                   description: 'If true, all parameters which are relevant for cHash are only considered if they are non-empty.'
489         additionalCanonicalizedUrlParameters:
490             type: array
491             description: The given parameters will be included when calculating canonicalized URL
492         workspacePreviewLogoutTemplate:
493             type: text
494             description: 'If set, points to an HTML file relative to the TYPO3_site root which will be read and outputted as template for this message. Example: <code>fileadmin/templates/template_workspace_preview_logout.html</code>. Inside you can put the marker %1$s to insert the URL to go back to. Use this in <code>&lt;a href="%1$s"&gt;Go back...&lt;/a&gt;</code> links.'
495         versionNumberInFilename:
496             type: dropdown
497             allowedValues:
498               '': "Do not include the version/timestamp of the file at all"
499               'embed': 'Include the timestamp of the last modification timestamp of files embedded in the filename - e.g. "filename.1269312081.js"'
500               'querystring': 'Default - Append the last modification timestamp of the file as query string e.g. "filename.js?1269312081"'
501             description: |
502               Allows to automatically include a version number (timestamp of the file) to referred CSS and JS filenames
503               on the rendered page. This will make browsers and proxies reload the files if they change (thus avoiding caching issues).
504               <strong>IMPORTANT</strong>: ''embed'' requires extra <code>.htaccess</code> rules to work (please refer to the <code>root-htaccess</code> file shipped with TYPO3 in <code>typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles</code>)
505         passwordHashing:
506             type: container
507             items:
508                 className:
509                     type: dropdown
510                     allowedValues:
511                         'TYPO3\CMS\Core\Crypto\PasswordHashing\Argon2iPasswordHash': 'Good password hash mechanism. Used by default if available.'
512                         'TYPO3\CMS\Core\Crypto\PasswordHashing\BcryptPasswordHash': 'Good password hash mechanism.'
513                         'TYPO3\CMS\Core\Crypto\PasswordHashing\Pbkdf2PasswordHash': 'Fallback hash mechanism if argon and bcrypt are not available.'
514                         'TYPO3\CMS\Core\Crypto\PasswordHashing\PhpassPasswordHash': 'Fallback hash mechanism if none of the above are available.'
515                 options:
516                     type: array
517                     description: 'Special settings for specific hashes.'
518 MAIL:
519     type: container
520     description: 'Mail'
521     items:
522         transport:
523             type: text
524             description: '<dl><dt>smtp</dt><dd>Sends messages over the (standardized) Simple Message Transfer Protocol. It can deal with encryption and authentication. Most flexible option, requires a mail server and configurations in transport_smtp_* settings below. Works the same on Windows, Unix and MacOS.</dd><dt>sendmail</dt><dd>Sends messages by communicating with a locally installed MTA - such as sendmail. See setting transport_sendmail_command bellow.<dd><dt>mbox</dt><dd>This doesn''t send any mail out, but instead will write every outgoing mail to a file adhering to the RFC 4155 mbox format, which is a simple text file where the mails are concatenated. Useful for debugging the mail sending process and on development machines which cannot send mails to the outside. Configure the file to write to in the ''transport_mbox_file'' setting below</dd><dt>&lt;classname&gt;</dt><dd>Custom class which implements Swift_Transport. The constructor receives all settings from the MAIL section to make it possible to add custom settings.</dd></dl>'
525         transport_smtp_server:
526             type: text
527             description: '<em>only with transport=smtp</em>: &lt;server:port> of mailserver to connect to. &lt;port> defaults to "25".'
528         transport_smtp_encrypt:
529             type: text
530             description: '<em>only with transport=smtp</em>: Connect to the server using the specified transport protocol. Requires openssl library. Usually available: <em>ssl, sslv2, sslv3, tls</em>. Check <a href="http://www.php.net/stream_get_transports" target="_blank rel="noopener noreferrer"">stream_get_transports()</a>.'
531         transport_smtp_username:
532             type: text
533             description: '<em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your username here.'
534         transport_smtp_password:
535             type: password
536             description: '<em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your password here.'
537         transport_sendmail_command:
538             type: text
539             description: '<em>only with transport=sendmail</em>: The command to call to send a mail locally.'
540         transport_mbox_file:
541             type: text
542             description: '<em>only with transport=mbox</em>: The file where to write the mails into. This file will be conforming the mbox format described in RFC 4155. It is a simple text file with a concatenation of all mails. Path must be absolute.'
543         transport_spool_type:
544             type: text
545             description: '<dl><dt>file</dt><dd>Messages get stored to the file system till they get sent through the command swiftmailer:spool:send.</dd><dt>memory</dt><dd>Messages get send at the end of the running process.</dd><dt>&lt;classname&gt;</dt><dd>Custom class which implements the Swift_Spool interface.</dd></dl>'
546         transport_spool_filepath:
547             type: text
548             description: '<em>only with transport_spool_type=file</em>: Path where messages get temporarily stored. Ensure that this is stored outside of your webroot.'
549         defaultMailFromAddress:
550             type: text
551             description: 'This default email address is used when no other "from" address is set for a TYPO3-generated email. You can specify an email address only (eg. info@example.org).'
552         defaultMailFromName:
553             type: text
554             description: 'This default name is used when no other "from" name is set for a TYPO3-generated email.'
555         defaultMailReplyToAddress:
556             type: text
557             description: 'This default email address is used when no other "reply-to" address is set for a TYPO3-generated email. You can specify an email address only (eg. info@example.org).'
558         defaultMailReplyToName:
559             type: text
560             description: 'This default name is used when no other "reply-to" name is set for a TYPO3-generated email.'
561 HTTP:
562     type: container
563     description: 'Connection'
564     items:
565         cert:
566             type: mixed
567             description: 'Mixed: Set to a string to specify the path to a file containing a PEM formatted client side certificate. See http://docs.guzzlephp.org/en/latest/request-options.html#cert'
568         connect_timeout:
569             type: int
570             description: 'Default timeout for connection. Exception will be thrown if connecting to remote host takes more than this number of seconds.'
571         proxy:
572             type: mixed
573             description: |
574               <p>Default single proxy server as &quot;proxy.example.org&quot;.</p>
575               <p>Multiple proxies for different protocols can be added separately as array as well as authentication and port; see <a href="http://docs.guzzlephp.org/en/latest/request-options.html#proxy" target="_blank" rel="noopener noreferrer">the documentation</a> for details.</p>
576               <p>The configuration with an array must be made in the <code>AdditionalConfiguration.php</code>; see <a href="https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/GlobalValues/Typo3ConfVars/Index.html#file-additionalconfiguration-php" target="_blank" rel="noopener noreferrer">the documentation</a> for details.</p>
577         ssl_key:
578             type: mixed
579             description: 'Mixed: Local certificate and an optional passphrase, see http://docs.guzzlephp.org/en/latest/request-options.html#ssl-key'
580         timeout:
581             type: int
582             description: 'Default timeout for whole request. Exception will be thrown if sending the request takes more than this number of seconds. Should be greater than connection timeout (see above) or "0" to not set a limit. Defaults to "0".'
583         verify:
584             type: mixed
585             description: 'Mixed: Describes the SSL certificate verification behavior of a request. http://docs.guzzlephp.org/en/latest/request-options.html#verify'
586         version:
587             type: text
588             description: 'Default HTTP protocol version. Use either "1.0" or "1.1".'