[TASK] Move DefaultConfigurationDescription to Yaml format
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Configuration / DefaultConfigurationDescription.yaml
1 GFX:
2     type: container
3     items:
4         thumbnails:
5             type: bool
6             description: 'Enables the use of thumbnails in the backend interface.'
7         thumbnails_png:
8             type: bool
9             description: 'If disabled, thumbnails from non-image files will be converted to ''gif'', otherwise ''png'' (default).'
10         gif_compress:
11             type: bool
12             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.'
13         imagefile_ext:
14             type: list
15             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!'
16         gdlib:
17             type: bool
18             description: 'Enables the use of GD.'
19         gdlib_png:
20             type: bool
21             description: 'Enables the use of GD, with PNG only. This means that all items normally generated as gif-files will be png-files instead!'
22         processor_enabled:
23             type: bool
24             description: 'Enables the use of Image- or GraphicsMagick.'
25         processor_path:
26             type: text
27             description: 'Path to the IM tools ''convert'', ''combine'', ''identify''.'
28         processor_path_lzw:
29             type: text
30             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>.'
31         processor:
32             type: dropdown
33             allowedValues: [ 'ImageMagick', 'GraphicsMagick' ]
34             description: 'Set this either to "ImageMagick" or "GraphicsMagick". Setting this value will automatically configure some settings for use with the specified program version.'
35         processor_effects:
36             type: int
37             allowedValues: [ -1, 0, 1 ]
38             description: '<dl><dt>0</dt><dd>disabled</dd><dt>-1</dt><dd>Do not sharpen images by default</dd><dt>1</dt><dd>All; blur and sharpening is allowed in ImageMagick.</dd></dl>'
39         processor_allowUpscaling:
40             type: bool
41             description: 'If set, images can be scaled up if told so (in <code>\TYPO3\CMS\Core\Imaging\GraphicalFunctions</code>)'
42         processor_allowFrameSelection:
43             type: bool
44             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.'
45         processor_allowTemporaryMasksAsPng:
46             type: bool
47             description: 'This should be set if your processor supports using PNGs as masks as this is usually faster.'
48         processor_stripColorProfileByDefault:
49             type: bool
50             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.'
51         processor_stripColorProfileCommand:
52             type: text
53             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">imagemagick.org</a> for details'
54         processor_colorspace:
55             type: text
56             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'
57         jpg_quality:
58             type: int
59             description: 'Integer: Default JPEG generation quality'
60         png_truecolor:
61             type: bool
62             description: 'When creating png images, always use the full colorpalette, if disabled could reduce file sizes for scaled images, but the image quality will be let down.'
63 SYS:
64     type: container
65     items:
66         fileCreateMask:
67             type: text
68             description: 'File mode mask for Unix file systems (when files are uploaded/created).'
69         folderCreateMask:
70             type: text
71             description: 'As above, but for folders.'
72         createGroup:
73             type: text
74             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.'
75         sitename:
76             type: text
77             description: 'Name of the base-site.'
78         encryptionKey:
79             type: text
80             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.'
81         cookieDomain:
82             type: text
83             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.'
84         cookieSecure:
85             type: int
86             allowedValues: [ 0, 1, 2 ]
87             description: '<p>Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client.</p><dl><dt>0</dt><dd>always send cookie</dd><dt>1 (force HTTPS)</dt><dd>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</dd><dt>2</dt><dd>the cookie will be set in each case, but uses the secure flag if a secure (HTTPS) connection exists.</dd></dl>'
88         doNotCheckReferer:
89             type: bool
90             description: 'If set, it''s NOT checked numerous places that the referring host is the same as the current. This is an option you should set if you have problems with proxies not passing the HTTP_REFERER variable.'
91         recursiveDomainSearch:
92             type: bool
93             description: 'If set, the search for domain records will be done recursively by stripping parts of the hostname off until a matching domain record is found.'
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         sqlDebug:
101             type: int
102             allowedValues: [ 0, 1, 2 ]
103             description: '<p>Allows displaying executed SQL queries in the browser (for debugging purposes and development)</p><dl><dt>0</dt><dd>no SQL shown (default)</dd><dt>1</dt><dd>show only failed queries</dd><dt>2</dt><dd>show all queries</dd></dl>'
104         enable_DLOG:
105             type: bool
106             description: 'Whether the developer log is enabled.'
107         ddmmyy:
108             type: text
109             description: 'Format of Date-Month-Year - see PHP-function <a href="http://php.net/date" target="_blank">date()</a>'
110         hhmm:
111             type: text
112             description: 'Format of Hours-Minutes - see PHP-function <a href="http://php.net/date" target="_blank">date()</a>'
113         USdateFormat:
114             type: bool
115             description: 'If TRUE, dates entered in the TCEforms of the backend will be formatted mm-dd-yyyy'
116         loginCopyrightWarrantyProvider:
117             type: text
118             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).'
119         loginCopyrightWarrantyURL:
120             type: text
121             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.'
122         textfile_ext:
123             type: text
124             description: 'Text file extensions. Those that can be edited. Executable PHP files may not be editable in webspace if disallowed!'
125         mediafile_ext:
126             type: text
127             description: 'Commalist of file extensions perceived as media files by TYPO3. Lowercase and no spaces between!'
128         binPath:
129             type: text
130             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)'
131         binSetup:
132             type: multiline
133             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>'
134         no_pconnect:
135             type: bool
136             description: 'If TRUE, "connect" is used to connect to the database. If FALSE, a persistent connection using "pconnect" will be established!'
137         dbClientCompress:
138             type: bool
139             description: 'if TRUE, data exchange between TYPO3 and database server will be compressed. This may improve performance if (1) database serever is on the different server and (2) network connection speed to database server is 100mbps or less. CPU usage will be higher if this option is used but database operations will be executed faster due to much less (up to 3 times) database network traffic. This option has no effect if MySQL server is localhost.'
140         setDBinit:
141             type: multiline
142             description: 'These commands are executed after the database connection was established. Hint: The previous default "SET NAMES utf8;" is not required any more and will be removed automatically if set!'
143         setMemoryLimit:
144             type: int
145             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.'
146         phpTimeZone:
147             type: text
148             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">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">date.timezone</a> setting, server defaults, etc); and if no fallback is found, the value of "UTC" is used instead.'
149         systemLog:
150             type: list
151             description: '<p>semi-colon separated list. Defines one or more logging methods. Possible methods:</p><dl><dt>file,&lt;abs-path-to-file&gt;[,&lt;level&gt;]</dt><dd>logs to a file</dd><dt>mail,&lt;to&gt;[/&lt;from&gt;][,&lt;level&gt;]</dt><dd>sends the log entries via mail</dd><dt>syslog,&lt;facility&gt;,[,&lt;level&gt;]</dt><dd>uses the operating system''s log. Facility may be one of LOCAL0..LOCAL7, USER (on Windows USER is the only valid type).</dd><dt>error_log[,,&lt;level&gt;]</dt><dd>uses the PHP error log</dd></dl><p>The &lt;level&gt; is the individual logging level (see <a href="#SYS-systemLogLevel">[SYS][systemLogLevel]</a>).</p>'
152         systemLogLevel:
153             type: int
154             allowedValues: [ 0, 1, 2, 3, 4 ]
155             description: '<p>Only messages with same or higher severity are logged.</p><ul><li>0: info</li><li>1: notice</li><li>2: warning</li><li>3: error</li><li>4: fatal error</li></ul>'
156         enableDeprecationLog:
157             type: list
158             description: 'If set, this configuration enables the logging of deprecated methods and functions. The following options are allowed: <dl><dt>String: &quot;file&quot; (or integer &quot;1&quot;)</dt><dd>The log file will be written to typo3conf/deprecation_[hash-value].log</dd><dt>String: &quot;devlog&quot;</dt><dd>The log will be written to the development log</dd><dt>String: &quot;console&quot;<dt><dd>The log will be displayed in the Backend''s Debug Console.</dd></dl>Logging options &quot;file&quot;, &quot;devlog&quot; and &quot;console&quot; can be combined by comma-separating them.'
159         UTF8filesystem:
160             type: bool
161             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.'
162         systemLocale:
163             type: text
164             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">setlocale()</a>.'
165         reverseProxyIP:
166             type: list
167             description: 'List of IP addresses. If TYPO3 is behind one or more (intransparent) reverse proxies the IP addresses must be added here.'
168         reverseProxyHeaderMultiValue:
169             type: text
170             allowedValues: [ "none", "first", "last" ]
171             description: 'Defines which values of a proxy header (eg HTTP_X_FORWARDED_FOR) to use, if more than one is found. "none" discards the value, "first" and "last" use the first/last of the values in the list.'
172         reverseProxyPrefix:
173             type: text
174             description: 'Optional prefix to be added to the internal URL (SCRIPT_NAME and REQUEST_URI).'
175         reverseProxySSL:
176             type: text
177             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.'
178         reverseProxyPrefixSSL:
179             type: text
180             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>.'
181         defaultCategorizedTables:
182             type: list
183             description: 'List of comma separated tables that are categorizable by default.'
184         displayErrors:
185             type: int
186             allowedValues: [ -1, 0, 1 ]
187             description: '<p>Configures whether PHP errors or Exceptions should be displayed.</p><dl><dt>0</dt><dd>Do not display any PHP error message. Sets PHP "display_errors" setting to 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.</dd><dt>1</dt><dd>Display error messages with the registered [SYS][errorHandler]. Sets PHP "display_errors" setting to 1. The configured [SYS][debugExceptionHandler] is used as exception handler.</dd><dt>-1</dt><dd>TYPO3 CMS does not touch the PHP "display_errors" setting. If [SYS][devIPmask] matches the user''s IP address, the configured [SYS][debugExceptionHandler] is used instead of the [SYS][productionExceptionHandler] to handle exceptions.</dd></dl>'
188         productionExceptionHandler:
189             type: phpClass
190             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.'
191         debugExceptionHandler:
192             type: phpClass
193             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.'
194         errorHandler:
195             type: phpClass
196             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 can be logged to syslog (see: [SYS][systemLog]), to the installed developer log and to the "syslog" table. If an error is registered in [SYS][exceptionalErrors] it will be turned into an exception to be handled by the configured exceptionHandler.'
197         errorHandlerErrors:
198             type: errors
199             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">PHP documentation</a>).'
200         exceptionalErrors:
201             type: errors
202             description: 'The E_* constant that will be converted into an exception by the default [SYS][errorHandler]. Default is 20480 = <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_WARNING | E_USER_ERROR | E_USER_NOTICE | E_USER_WARNING)</code> (see <a href="http://php.net/manual/en/errorfunc.constants.php" target="_blank">PHP documentation</a>).'
203         syslogErrorReporting:
204             type: errors
205             description: 'Configures which PHP errors should be logged to the configured syslogs (see: [SYS][systemLog]). If set to "0" no PHP errors are logged to the syslog. Default is 30711 = <code>E_ALL & ~(E_STRICT | E_NOTICE)</code> (see <a href="http://php.net/manual/en/errorfunc.constants.php" target="_blank">PHP documentation</a>).'
206         belogErrorReporting:
207             type: errors
208             description: 'Configures which PHP errors should be logged to the "syslog" 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">PHP documentation</a>).'
209         generateApacheHtaccess:
210             type: bool
211             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.'
212         isInitialInstallationInProgress:
213             type: bool
214             description: 'If TRUE, the installation is ''in progress''. This value is handled within the install tool step installer internally.'
215         isInitialDatabaseImportDone:
216             type: bool
217             description: 'If TRUE, the database import is finished. This value is handled within the install tool step installer internally.'
218         systemMaintainers:
219             type: array
220             description: 'A list of backend user IDs allowed to access the Install Tool'
221 EXT:
222     type: container
223     items:
224         allowGlobalInstall:
225             type: bool
226             description: 'If set, global extensions in typo3/ext/ are allowed to be installed, updated and deleted etc.'
227         allowLocalInstall:
228             type: bool
229             description: 'If set, local extensions in typo3conf/ext/ are allowed to be installed, updated and deleted etc.'
230         allowSystemInstall:
231             type: bool
232             description: 'If set, you can install extensions in the sysext/ dir.'
233         excludeForPackaging:
234             type: list
235             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!'
236 BE:
237     type: container
238     items:
239         languageDebug:
240             type: bool
241             description: 'If enabled, language labels will be shown with additional debug information.'
242         fileadminDir:
243             type: text
244             description: 'Path to the primary directory of files for editors. This is relative to PATH_site, DefaultStorage will be created with that configuration, do not access manually but via <code>\TYPO3\CMS\Core\Resource\ResourceFactory::getDefaultStorage().</code>'
245         RTE_imageStorageDir:
246             type: text
247             description: 'Default storage directory for Rich Text Editor files.'
248         lockRootPath:
249             type: text
250             description: 'This path is used to evaluate if paths outside of PATH_site should be allowed. Ending slash required!'
251         userHomePath:
252             type: text
253             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!'
254         groupHomePath:
255             type: text
256             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!'
257         userUploadDir:
258             type: text
259             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.'
260         warning_email_addr:
261             type: text
262             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.'
263         warning_mode:
264             type: bit
265             description: 'Bit 1: If set, <code>warning_email_addr</code> will be notified every time a backend user logs in. Bit 2: If set, <code>warning_email_addr</code> will be notified every time an ADMIN backend user logs in.'
266         lockIP:
267             type: int
268             allowedValues: [ 0, 1, 2, 3, 4 ]
269             description: 'Session IP locking for backend users. See <a href="#FE-lockIP">[FE][lockIP]</a> for details. Default is 4 (which is locking the FULL IP address to session).'
270         sessionTimeout:
271             type: int
272             description: 'Seconds. Session time out for backend users. The value must be at least 180 to avoid side effects. Default is 3600 seconds = 1 hour.'
273         IPmaskList:
274             type: list
275             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>'
276         lockBeUserToDBmounts:
277             type: bool
278             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.'
279         lockSSL:
280             type: bool
281             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'
282         lockSSLPort:
283             type: int
284             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.'
285         enabledBeUserIPLock:
286             type: bool
287             description: 'If set, the User/Group TSconfig option <code>option.lockToIP</code> is enabled.'
288         cookieDomain:
289             type: text
290             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.'
291         cookieName:
292             type: text
293             description: 'Set the name for the cookie used for the back-end user session'
294         loginSecurityLevel:
295             type: text
296             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, "rsa" uses RSA password encryption (only if the rsaauth extension is installed).'
297         showRefreshLoginPopup:
298             type: bool
299             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.'
300         adminOnly:
301             type: int
302             allowedValues: [ -1, 0, 1, 2 ]
303             description: '<dl><dt>-1</dt><dd>total shutdown for maintenance purposes</dd><dt>0</dt><dd>normal operation, everyone can login (default)</dd><dt>1</dt><dd>only admins can login (no CLI)</dd><dt>2</dt><dd>only admins and regular CLI users can login</dd></dl>'
304         disable_exec_function:
305             type: bool
306             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.'
307         compressionLevel:
308             type: text
309             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.'
310         installToolPassword:
311             type: text
312             description: 'This is the md5-hashed, salted password for the Install Tool. Set this to '''' and access will be totally denied. You may consider to externally protect the typo3/sysext/install/ folder, eg. with a .htaccess file.'
313         checkStoredRecords:
314             type: bool
315             description: 'If set, values of the record are validated after saving in DataHandler. Disable only if using a database in strict mode.'
316         checkStoredRecordsLoose:
317             type: bool
318             description: 'If set, make a loose comparison ('''' equals 0) when validating record values after saving in DataHandler.'
319         fileDenyPattern:
320             type: text
321             description: 'A perl-compatible regular expression (without delimiters!) that - if it matches a filename - will deny the file upload/rename or whatever in the webspace. 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 constant FILE_DENY_PATTERN_DEFAULT'
322         interfaces:
323             type: text
324             description: 'This determines which interface options is available in the login prompt and in which order (All options: ",backend,frontend")'
325         explicitADmode:
326             type: dropdown
327             allowedValues: [ 'explicitAllow', 'explicitDeny' ]
328             description: 'Sets the general allow/deny mode for selector box values. Value can be either "explicitAllow" or "explicitDeny", nothing else!'
329         flexformForceCDATA:
330             type: bool
331             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.'
332         explicitConfirmationOfTranslation:
333             type: bool
334             description: 'If set, then the diff-data of localized records is not saved automatically when updated but requires that a translator clicks the special finish_translation/save/close button that becomes available.'
335         versionNumberInFilename:
336             type: bool
337             description: '<p>If TRUE, included CSS and JS files will have the timestamp embedded in the filename, ie. filename.1269312081.js. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). IMPORTANT: this feature requires extra .htaccess rules to work (please refer to _.htaccess or the _.htaccess file from the dummy package)</p><p>If FALSE the filemtime will be appended as a query-string.</p>'
338         debug:
339             type: bool
340             description: 'If set, the loginrefresh is disabled and pageRenderer is set to debug mode. Use this to debug the backend only!'
341 FE:
342     type: container
343     items:
344         addAllowedPaths:
345             type: list
346             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>'
347         debug:
348             type: bool
349             description: 'If set, some debug HTML-comments may be output somewhere. Can also be set by TypoScript.'
350         compressionLevel:
351             type: int
352             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.'
353         pageNotFound_handling:
354             type: text
355             description: '<p>How TYPO3 should handle requests for non-existing/accessible pages.</p> <dl><dt>empty (default)</dt><dd>The next visible page upwards in the page tree is shown.</dd> <dt>''true'' or ''1''</dt><dd>An error message is shown.</dd><dt>String</dt><dd>Static HTML file to show (reads content and outputs with correct headers), e.g. ''notfound.html'' or ''http://www.example.org/errors/notfound.html''.</dd> <dt>Prefix "REDIRECT:"</dt><dd> If prefixed with "REDIRECT:" it will redirect to the URL/script after the prefix.</dd><dt>Prefix "READFILE:"</dt><dd>If prefixed with "READFILE" then it will expect the remaining string to be a HTML file which will be read and outputted directly after having the marker "###CURRENT_URL###" substituted with REQUEST_URI and ###REASON### with reason text, for example: "READFILE:fileadmin/notfound.html".</dd> <dt>Prefix "USER_FUNCTION:"</dt><dd> If prefixed with "USER_FUNCTION:" a user function is called, e.g. "USER_FUNCTION:fileadmin/class.user_notfound.php:user_notFound->pageNotFound" where the file must contain a class "user_notFound" with a method "pageNotFound" inside with two parameters $param and $ref.</dd></dl>'
356         pageNotFound_handling_statheader:
357             type: text
358             description: 'If ''pageNotFound_handling'' is enabled, this string will always be sent as header before the actual handling.'
359         pageNotFoundOnCHashError:
360             type: bool
361             description: 'If TRUE, a page not found call is made when cHash evaluation error occurs, otherwise caching is disabled and page output is displayed.'
362         pageUnavailable_handling:
363             type: text
364             description: '<p>How TYPO3 should handle requests when pages are unavailable due to system problems.</p><dl><dt>empty (default)</dt><dd>An error message is shown.</dd><dt>String</dt><dd>HTML file or URL to show (reads content and outputs with correct headers), e.g. ''unavailable.html'' or ''http://www.example.org/errors/unavailable.html''.</dd><dt>Prefix "REDIRECT:"</dt><dd>If prefixed "REDIRECT:" it will redirect to the URL/script after the prefix.</dd><dt>Prefix "READFILE:"</dt><dd>If prefixed with "READFILE:" then it will expect the remaining string to be a HTML file which will be read and outputted directly after having the marker "###CURRENT_URL###" substituted with REQUEST_URI and ###REASON### with reason text, for example: "READFILE:fileadmin/unavailable.html".</dd><dt>Prefix "USER_FUNCTION:"</dt><dd>If prefixed "USER_FUNCTION:" then it will call a user function, eg. "USER_FUNCTION:fileadmin/class.user_unavailable.php:user_unavailable->pageUnavailable" where the file must contain a class "user_unavailable" with a method "pageUnavailable" inside with two parameters $param and $ref. If the client matches <a href="#SYS-devIPmask">[SYS][devIPmask]</a>, this setting is ignored and the page is shown as normal.</dd></dl>'
365         pageUnavailable_handling_statheader:
366             type: text
367             description: 'If ''pageUnavailable_handling'' is enabled, this string will always be sent as header before the actual handling.'
368         pageUnavailable_force:
369             type: bool
370             description: 'If TRUE, pageUnavailable_handling is used for every frontend page. If the client matches <a href="#SYS-devIPmask">[SYS][devIPmask]</a>, the page is shown as normal. This is useful during temporary site maintenance.'
371         addRootLineFields:
372             type: list
373             description: 'Comma-list of fields from the ''pages''-table. These fields are added to the select query for fields in the rootline.'
374         checkFeUserPid:
375             type: bool
376             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>'
377         lockIP:
378             type: int
379             allowedValues: [ 0, 1, 2, 3, 4 ]
380             description: 'If >0, fe_users are locked to (a part of) their REMOTE_ADDR IP for their session. Enhances security but may throw off users that may change IP during their session (in which case you can lower it to 2 or 3). The integer indicates how many parts of the IP address to include in the check. Reducing to 1-3 means that only first, second or third part of the IP address is used. 4 is the FULL IP address and recommended. 0 (zero) disables checking of course.'
381         loginSecurityLevel:
382             type: text
383             description: 'See description for <a href="#BE-loginSecurityLevel">[BE][loginSecurityLevel]</a>. Default state for frontend is "normal". Alternative authentication services can implement higher levels if preferred. For example, "rsa" level uses RSA password encryption (only if the rsaauth extension is installed).'
384         lifetime:
385             type: int
386             description: 'Integer: positive. 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.'
387         sessionDataLifetime:
388             type: int
389             description: 'Integer: positive. If >0, the session data will timeout and be removed after the number of seconds given (86400 seconds represents 24 hours).'
390         permalogin:
391             type: text
392             description: 'In any case, permanent login is only possible if <a href="#FE-lifetime">[FE][lifetime]</a> lifetime is > 0.</dd></dl>'
393         cookieDomain:
394             type: text
395             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.'
396         cookieName:
397             type: text
398             description: 'Set the name for the cookie used for the front-end user session'
399         defaultUserTSconfig:
400             type: multiline
401             description: 'Enter lines of default frontend user/group TSconfig.'
402         defaultTypoScript_constants:
403             type: multiline
404             description: 'Enter lines of default TypoScript, constants-field.'
405         defaultTypoScript_setup:
406             type: multiline
407             description: 'Enter lines of default TypoScript, setup-field.'
408         additionalAbsRefPrefixDirectories:
409             type: text
410             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'
411         get_url_id_token:
412             type: text
413             description: 'This is the token, which is substituted in the output code in order to keep a GET-based session going. Normally the GET-session-id is 5 chars (''&amp;ftu='') + hash_length (norm. 10)'
414         content_doktypes:
415             type: list
416             description: 'List of pages.doktype values which can contain content (so shortcut pages and external url pages are excluded, but all pages below doktype 199 should be included. doktype=6 is not either (backend users only...).'
417         enable_mount_pids:
418             type: bool
419             description: 'If enabled, the mount_pid feature allowing ''symlinks'' in the page tree (for frontend operation) is allowed.'
420         hidePagesIfNotTranslatedByDefault:
421             type: bool
422             description: 'If TRUE, 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"'
423         disableNoCacheParameter:
424             type: bool
425             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).'
426         cHashExcludedParameters:
427             type: text
428             description: 'The the given parameters will be ignored in the cHash calculation. Example: L,tx_search_pi1[query]'
429         cHashOnlyForParameters:
430             type: text
431             description: 'Only the given parameters will be evaluated in the cHash calculation. Example: tx_news_pi1[uid]'
432         cHashRequiredParameters:
433             type: text
434             description: 'Optional: 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'
435         cHashExcludedParametersIfEmpty:
436             type: text
437             description: 'Optional: Configure Parameters that are only relevant for the chash if there''s an associated value available. And asterisk "*" can be used to skip all empty parameters.'
438         workspacePreviewLogoutTemplate:
439             type: text
440             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.'
441         versionNumberInFilename:
442             type: dropdown
443             allowedValues: [ '', 'embed', 'querystring' ]
444             description: 'Allows to automatically include a version number (timestamp of the file) to referred CSS and JS filenames on the rendered page. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). Set to ''embed'' will have the timestamp embedded in the filename, ie. filename.1269312081.js. IMPORTANT: ''embed'' requires extra .htaccess rules to work (please refer to _.htaccess or the _.htaccess file from the dummy package)<p>Set to ''querystring'' (default setting) to append the version number as a query parameter (doesn''t require mod_rewrite).</p>'
445 MAIL:
446     type: container
447     items:
448         transport:
449             type: text
450             description: '<dl><dt>mail</dt><dd>Sends messages by delegating to PHP''s internal mail() function. No further settings required. This is the most unreliable option. If you are serious about sending mails, consider using "smtp" or "sendmail".</dd><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>'
451         transport_smtp_server:
452             type: text
453             description: '<em>only with transport=smtp</em>: &lt;server:port> of mailserver to connect to. &lt;port> defaults to "25".'
454         transport_smtp_encrypt:
455             type: text
456             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">stream_get_transports()</a>.'
457         transport_smtp_username:
458             type: text
459             description: '<em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your username here.'
460         transport_smtp_password:
461             type: text
462             description: '<em>only with transport=smtp</em>: If your SMTP server requires authentication, enter your password here.'
463         transport_sendmail_command:
464             type: text
465             description: '<em>only with transport=sendmail</em>: The command to call to send a mail locally.'
466         transport_mbox_file:
467             type: text
468             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.'
469         defaultMailFromAddress:
470             type: text
471             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 (ex. info@example.org).'
472         defaultMailFromName:
473             type: text
474             description: 'This default name is used when no other "from" name is set for a TYPO3-generated email.'
475 HTTP:
476     type: container
477     items:
478         cert:
479             type: mixed
480             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'
481         connect_timeout:
482             type: int
483             description: 'Default timeout for connection. Exception will be thrown if connecting to remote host takes more than this number of seconds.'
484         proxy:
485             type: mixed
486             description: 'Mixed: Default proxy server as "proxy.example.org", multiple proxies for different protocols can be added separately as array, as well as authentication and port, see http://docs.guzzlephp.org/en/latest/request-options.html#proxy'
487         ssl_key:
488             type: mixed
489             description: 'Mixed: Local certificate and an optional passphrase, see http://docs.guzzlephp.org/en/latest/request-options.html#ssl-key'
490         timeout:
491             type: int
492             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".'
493         verify:
494             type: mixed
495             description: 'Mixed: Describes the SSL certificate verification behavior of a request. http://docs.guzzlephp.org/en/latest/request-options.html#verify'
496         version:
497             type: text
498             description: 'Default HTTP protocol version. Use either "1.0" or "1.1".'