Commit 082cf6ae authored by Carsten  Rose's avatar Carsten Rose
Browse files

Manual.rst: New check list. Updates on missing config entries. Details for...

Manual.rst: New check list. Updates on missing config entries. Details for record locking. More precise extraButtonInfo explanation.
config.qfq.example.ini: small updates to explanations.
ext_conf_template.txt: First version of extension manager configuration setup. Not functional.
parent 5ebbc2df
...@@ -261,6 +261,19 @@ Setup a *report* to manage all *forms*: ...@@ -261,6 +261,19 @@ Setup a *report* to manage all *forms*:
} }
} }
.. _install-checklist:
Install Check List
------------------
* Protect the directory `<T3 installation>/fileadmin/protected` in Apache against direct file access. Those directory
should be used for confidential (uploaded / generated) data.
* Protect the directory `<T3 installation>/fileadmin` in Apache to not execute PHP Scripts - malicious uploads won't be executed.
* Setup a log rotation rule for `sqlLog`.
* Check that `sqlLogMode` is set to `modify` on productive sites.
.. _config-qfq-ini: .. _config-qfq-ini:
config.qfq.ini config.qfq.ini
...@@ -284,9 +297,11 @@ config.qfq.ini ...@@ -284,9 +297,11 @@ config.qfq.ini
| DB_INDEX_DATA | DB_INDEX_DATA = 1 | Optional. Default: 1. Retrieve the current setting via {{_dbNameData:Y}} | | DB_INDEX_DATA | DB_INDEX_DATA = 1 | Optional. Default: 1. Retrieve the current setting via {{_dbNameData:Y}} |
| DB_INDEX_QFQ | DB_INDEX_QFQ = 1 | Optional. Default: 1. Retrieve the current setting via {{_dbNameQfq:Y}} | | DB_INDEX_QFQ | DB_INDEX_QFQ = 1 | Optional. Default: 1. Retrieve the current setting via {{_dbNameQfq:Y}} |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| SQL_LOG | SQL_LOG=../../sql.log | Filename to log SQL commands: relative to <ext_dir> or absolute. |
| SQL_LOG_MODE | SQL_LOG_MODE=modify | *all*: every statement will be logged - this might a lot. | | SQL_LOG_MODE | SQL_LOG_MODE=modify | *all*: every statement will be logged - this might a lot. |
| | | *modify*: log only statements who change data. | | | | *modify*: log only statements who change data. *error*: log only DB errors.|
| | | *none*: no SQL log at all. |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| SQL_LOG | SQL_LOG=../../sql.log | Filename to log SQL commands: relative to <ext_dir> or absolute. |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| MAIL_LOG | SQL_LOG=../../mail.log | Filename to log `sendEmail` commands: relative to <ext_dir> or absolute. | | MAIL_LOG | SQL_LOG=../../mail.log | Filename to log `sendEmail` commands: relative to <ext_dir> or absolute. |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
...@@ -332,9 +347,7 @@ config.qfq.ini ...@@ -332,9 +347,7 @@ config.qfq.ini
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| SECURITY_VARS_HONEYPOT | SECURITY_VARS_HONEYPOT = email,username,password | If empty: no check. All named variables will rendered as INPUT elements | | SECURITY_VARS_HONEYPOT | SECURITY_VARS_HONEYPOT = email,username,password | If empty: no check. All named variables will rendered as INPUT elements |
| SECURITY_ATTACK_DELAY | SECURITY_ATTACK_DELAY = 5 | If an attack is detected, sleep 'x' seconds and exit PHP process | | SECURITY_ATTACK_DELAY | SECURITY_ATTACK_DELAY = 5 | If an attack is detected, sleep 'x' seconds and exit PHP process |
| SECURITY_VARS_HONEYPOT | SECURITY_VARS_HONEYPOT = email,username,password | If empty: no check. All named variables will rendered as INPUT elements |
| SECURITY_SHOW_MESSAGE | SECURITY_SHOW_MESSAGE = true | If an attack is detected, show a message | | SECURITY_SHOW_MESSAGE | SECURITY_SHOW_MESSAGE = true | If an attack is detected, show a message |
| SECURITY_VARS_HONEYPOT | SECURITY_VARS_HONEYPOT = email,username,password | If empty: no check. All named variables will rendered as INPUT elements |
| SECURITY_GET_MAX_LENGTH | SECURITY_GET_MAX_LENGTH = 50 | GET vars longer than 'x' chars triggers an `attack-recognized`. | | SECURITY_GET_MAX_LENGTH | SECURITY_GET_MAX_LENGTH = 50 | GET vars longer than 'x' chars triggers an `attack-recognized`. |
| | | `ExceptionMaxLength`_ | | | | `ExceptionMaxLength`_ |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
...@@ -368,8 +381,13 @@ config.qfq.ini ...@@ -368,8 +381,13 @@ config.qfq.ini
| DOCUMENTATION_QFQ | DOCUMENTATION_QFQ=http://docs.typo3.org... | Link to the online documentation of QFQ. Every QFQ installation also | | DOCUMENTATION_QFQ | DOCUMENTATION_QFQ=http://docs.typo3.org... | Link to the online documentation of QFQ. Every QFQ installation also |
| | | contains a local copy: typo3conf/ext/qfq/Documentation/html/Manual.html | | | | contains a local copy: typo3conf/ext/qfq/Documentation/html/Manual.html |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| FILL_STORE_SYSTEM_BY_SQL | FILL_STORE_SYSTEM_BY_SQL = {{!SELECT s.id AS ... | Specific values read from the database to fill the system store during QFQ | | FILL_STORE_SYSTEM_BY_SQL_1 | FILL_STORE_SYSTEM_BY_SQL = SELECT s.id AS ... | Specific values read from the database to fill the system store during QFQ |
| | | load. See `fillStoreSystemBySql`_ for a usecase. | | FILL_STORE_SYSTEM_BY_SQL_2 | | load. See `fillStoreSystemBySql`_ for a usecase. |
| FILL_STORE_SYSTEM_BY_SQL_3 | | |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| FILL_STORE_SYSTEM_BY_SQL_ERROR_MSG_1 | FILL_STORE_SYSTEM_BY_SQL_ERROR_MSG_1=No | Only define an error message, if QFQ should stop running |
| FILL_STORE_SYSTEM_BY_SQL_ERROR_MSG_2 | current period found | in case of an SQL error or not exact one record. |
| FILL_STORE_SYSTEM_BY_SQL_ERROR_MSG_3 | | |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| FORM_LANGUAGE_A_ID | FORM_LANGUAGE_A__ID = 1 | In Typo3 configured pageLanguage id. The number after the 'L' parameter. | | FORM_LANGUAGE_A_ID | FORM_LANGUAGE_A__ID = 1 | In Typo3 configured pageLanguage id. The number after the 'L' parameter. |
| FORM_LANGUAGE_B_ID | | | | FORM_LANGUAGE_B_ID | | |
...@@ -383,7 +401,7 @@ config.qfq.ini ...@@ -383,7 +401,7 @@ config.qfq.ini
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| enterAsSubmit | enterAsSubmit = 1 | 0: off, 1: Pressing *enter* in a form means *save* and *close* | | enterAsSubmit | enterAsSubmit = 1 | 0: off, 1: Pressing *enter* in a form means *save* and *close* |
+-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+ +-----------------------------+-------------------------------------------------------+----------------------------------------------------------------------------+
| thumbnailDirSecure | thumbnailDirSecure = fileadmin/protected/qfqThumbnail | Important: secure this directory against direct access. | | thumbnailDirSecure | thumbnailDirSecure = fileadmin/protected/qfqThumbnail | Important: secure directory 'protected' (recursive) against direct access. |
| thumbnailDirPublic | thumbnailDirPublic = typo3temp/qfqThumbnail | Both thumbnail directories will be created if not existing. | | thumbnailDirPublic | thumbnailDirPublic = typo3temp/qfqThumbnail | Both thumbnail directories will be created if not existing. |
| cmdInkscape | cmdInkscape = inkscape | If inkscape is not available, specify an empty string. | | cmdInkscape | cmdInkscape = inkscape | If inkscape is not available, specify an empty string. |
| cmdConvert | cmdConvert = convert | GraphicsMagics 'convert' is recommended. | | cmdConvert | cmdConvert = convert | GraphicsMagics 'convert' is recommended. |
...@@ -523,7 +541,7 @@ Example: *typo3conf/config.qfq.ini* ...@@ -523,7 +541,7 @@ Example: *typo3conf/config.qfq.ini*
; Pressing the 'enter' key is equal to save and close ; Pressing the 'enter' key is equal to save and close
; enterAsSubmit = 1 ; enterAsSubmit = 1
; Attention: be sure that 'fileadmin/protected' is really locked down by a webserver directive. ; Attention: be sure that '<site path>/fileadmin/protected' is really locked down by a webserver directive.
; See https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html#secure-direct-fileaccess ; See https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html#secure-direct-fileaccess
; ;
; thumbnailDirSecure = fileadmin/protected/qfqThumbnail ; thumbnailDirSecure = fileadmin/protected/qfqThumbnail
...@@ -1305,7 +1323,7 @@ Secure direct fileaccess ...@@ -1305,7 +1323,7 @@ Secure direct fileaccess
------------------------ ------------------------
If the application uploads files, mostly it's not necessary and often a security issue, to offer a direct download of If the application uploads files, mostly it's not necessary and often a security issue, to offer a direct download of
the uploaded files. Best is to create a directory, e.g. `fileadmin/protected` and deny direct access via webbrowser to it. the uploaded files. Best is to create a directory, e.g. `<site path>/fileadmin/protected` and deny direct access via webbrowser to it.
E.g. for Apache set a htaccess rule: :: E.g. for Apache set a htaccess rule: ::
<Directory "/var/www/html/fileadmin/protected"> <Directory "/var/www/html/fileadmin/protected">
...@@ -1915,15 +1933,17 @@ General ...@@ -1915,15 +1933,17 @@ General
Record locking Record locking
-------------- --------------
Forms and 'record delete'-function support basic record locking. If a user opens a form and start to change content, a Forms and 'record delete'-function support basic record locking. A user opens a form: starting with the first change of content, a
record lock will be acquired in the background. If the lock is denied (another user already owns a lock on the record) an record lock will be acquired in the background. If the lock is denied (another user already owns a lock on the record) an
alert is shown. alert is shown.
By default the record lock mode is 'exclusive' and the default timeout is 15 minutes. Both can be configured per form. The By default the record lock mode is 'exclusive' and the default timeout is 15 minutes. Both can be configured per form.
initial default timeout can also be configured in `config.qfq.ini`_ (will be copied to the form during creating the form). The general timeout can also be configured in `config.qfq.ini`_ (will be copied to the form during creating the form).
The lock timeout counts from the first change, not from the last modification on the form.
If a timeout expires, the lock is deleted. During the next change in a form, the lock is acquired again. If a timeout expires, the lock becomes invalid. During the next change in a form, the lock is acquired again.
A lock is assgined to a record of a table. Multiple forms, with the same primary table, uses the same lock for a given record. A lock is assigned to a record of a table. Multiple forms, with the same primary table, uses the same lock for a given record.
If a `Form` acts on further records (e.g. via FE action), those records are not protected by this basic record locking. If a `Form` acts on further records (e.g. via FE action), those records are not protected by this basic record locking.
...@@ -2887,9 +2907,9 @@ extraButtonPassword ...@@ -2887,9 +2907,9 @@ extraButtonPassword
extraButtonInfo extraButtonInfo
;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;
* After Form load, the `info` button/icon is shown but the information message is hidden.
* The user has to click on the `info` button/icon to see an additional message. * The user has to click on the `info` button/icon to see an additional message.
* After Form load, the information message is hidden. * The value of this parameter is the text shown to the user.
* The value of this parameter is the text shown.
* Shows an `info` button/icon, depending of EXTRA_BUTTON_INFO_POSITION in `config.qfq.ini`_ * Shows an `info` button/icon, depending of EXTRA_BUTTON_INFO_POSITION in `config.qfq.ini`_
* `auto`, depending on `FormElement` type: * `auto`, depending on `FormElement` type:
...@@ -2899,8 +2919,8 @@ extraButtonInfo ...@@ -2899,8 +2919,8 @@ extraButtonInfo
* `below`: below the FormElement for all types. * `below`: below the FormElement for all types.
* With display `below`, a defined class in `extraButtonInfoClass` (FE, F, config.qfq.ini) will be applied. E.g. this * For `FormElement` with mode `below`, a `span` element with the given class in `extraButtonInfoClass` (FE, F, config.qfq.ini)
might be `pull-right` to align the grafic on the right side of the input element. will be applied. E.g. this might be `pull-right` to align the `info` button/icon on the right side below the input element.
.. _`input-checkbox`: .. _`input-checkbox`:
......
; QFQ configuration ; QFQ configuration
; ;
; Save this file as: <Documentroot>/typo3conf/config.qfq.ini ; Save this file as: <site path>/typo3conf/config.qfq.ini
; Configure own URL, where `wkhtmltopdf` fetches pages and produces PDFs ; Configure own URL, where `wkhtmltopdf` fetches pages and produces PDFs
BASE_URL_PRINT = http://url.my/ BASE_URL_PRINT = http://url.my/
...@@ -24,7 +24,7 @@ DB_1_NAME = <DB> ...@@ -24,7 +24,7 @@ DB_1_NAME = <DB>
; DB_2_PASSWORD = <DBPW> ; DB_2_PASSWORD = <DBPW>
; DB_2_NAME = <DB> ; DB_2_NAME = <DB>
; '../../sql.log' = <T3 Install directory>/typo3conf/sql.log ; '../../sql.log' = <site path>/typo3conf/sql.log
; SQL_LOG = ../../sql.log ; SQL_LOG = ../../sql.log
; all|modify|error|none ; all|modify|error|none
...@@ -105,7 +105,7 @@ DB_1_NAME = <DB> ...@@ -105,7 +105,7 @@ DB_1_NAME = <DB>
; RECORD_LOCK_TIMEOUT_SECONDS = 900 ; RECORD_LOCK_TIMEOUT_SECONDS = 900
; Local Documentation (doc fits to installed version): typo3conf/ext/qfq/Documentation/html/Manual.html ; Local Documentation (doc fits to installed version): <site path>/typo3conf/ext/qfq/Documentation/html/Manual.html
; DOCUMENTATION_QFQ = https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html ; DOCUMENTATION_QFQ = https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html
; FILL_STORE_SYSTEM_BY_SQL_1 = "SELECT id AS _periodId FROM Period WHERE start<=NOW() ORDER BY start DESC LIMIT 1" ; FILL_STORE_SYSTEM_BY_SQL_1 = "SELECT id AS _periodId FROM Period WHERE start<=NOW() ORDER BY start DESC LIMIT 1"
...@@ -127,7 +127,7 @@ DB_1_NAME = <DB> ...@@ -127,7 +127,7 @@ DB_1_NAME = <DB>
; Pressing the 'enter' key is equal to save and close ; Pressing the 'enter' key is equal to save and close
; enterAsSubmit = 1 ; enterAsSubmit = 1
; Attention: be sure that 'fileadmin/protected' is really locked down by a webserver directive. ; Attention: be sure that '<site path>/fileadmin/protected' is really locked down by a webserver directive.
; See https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html#secure-direct-fileaccess ; See https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html#secure-direct-fileaccess
; ;
; thumbnailDirSecure = fileadmin/protected/qfqThumbnail ; thumbnailDirSecure = fileadmin/protected/qfqThumbnail
......
# cat=config/config; type=string; label=URL QFQ Documentation:Default is 'https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html'. Might be changed to a local repo. Every QFQ installation contains a local copy: <site path>/typo3conf/ext/qfq/Documentation/html/Manual.html (corresponds always to the QFQ version).
documentation = https://docs.typo3.org/typo3cms/drafts/github/T3DocumentationStarter/Public-Info-053/Manual.html
# cat=config/config; type=string; label=Fill store 'SYSTEM' by SQL:Default is empty. SQL query fired during QFQ load. The result have to be exactly one row. That row will be merged to store 'SYSTEM'. Retrieve values via '{{column:Y}}'. Example 'SELECT id AS _periodId FROM Period WHERE start<=NOW() ORDER BY start DESC LIMIT 1'
fillStoreSystemBySql1 =
# cat=config/config; type=string; label=Error message for SQL1:Default is empty. Error message in case the SQL does not return exact one row. Important: if a message is given, QFQ will stop and return the message. Without a message: QFQ run's as there would be no 'fillStoreSystemStoreBySql1'.
fillStoreSystemBySqlErrorMsg1 =
# cat=config/config; type=string; label=Fill store 'SYSTEM' by SQL:Default is empty. SQL query fired during QFQ load. The result have to be exactly one row. That row will be merged to store 'SYSTEM'. Retrieve values via '{{column:Y}}'. Example 'SELECT id AS _periodId FROM Period WHERE start<=NOW() ORDER BY start DESC LIMIT 1'
fillStoreSystemBySql2 =
# cat=config/config; type=string; label=Error message for SQL2:Default is empty. Error message in case the SQL does not return exact one row. Important: if a message is given, QFQ will stop and return the message. Without a message: QFQ run's as there would be no 'fillStoreSystemStoreBySql2'.
fillStoreSystemBySqlErrorMsg2 =
# cat=config/config; type=string; label=Fill store 'SYSTEM' by SQL:Default is empty. SQL query fired during QFQ load. The result have to be exactly one row. That row will be merged to store 'SYSTEM'. Retrieve values via '{{column:Y}}'. Example 'SELECT id AS _periodId FROM Period WHERE start<=NOW() ORDER BY start DESC LIMIT 1'
fillStoreSystemBySql3 =
# cat=config/config; type=string; label=Error message for SQL3:Default is empty. Error message in case the SQL does not return exact one row. Important: if a message is given, QFQ will stop and return the message. Without a message: QFQ run's as there would be no 'fillStoreSystemStoreBySql3'.
fillStoreSystemBySqlErrorMsg3 =
# cat=config/config; type=string; label=Thumbnail directory 'secure':Default is 'fileadmin/protected/qfqThumbnail'. Important: secure the directory (recursive) against direct access. Will be used by a special columnname '_thumbnail'.
thumbnailDirSecure = fileadmin/protected/qfqThumbnail
# cat=config/config; type=string; label=Thumbnail directory 'public':Default is 'typo3temp/qfqThumbnail'. Will be used by a special columnname '_thumbnail'.
thumbnailDirPublic = typo3temp/qfqThumbnail
# cat=config/config; type=string; label=Command 'inkscape':Default is 'inkscape'. Will be used to convert SVG to images (png). An empty string disables `inkscape`. If it is not available, `convert` will be used instead.
cmdInkscape = inkscape
# cat=config/config; type=string; label=Command 'convert':Default is 'convert'. Will be used to convert images to thumbnails. GraphicsMagics 'convert' is recommended.
cmdConvert = convert
# cat=config/config; type=string; label=Command 'wkhtmltopdf':Default is '/opt/wkhtmltox/bin/wkhtmltopdf'. Command to convert a HTML page to a PDF.
cmdWkhtmltopdf = /opt/wkhtmltox/bin/wkhtmltopdf
# cat=config/config; type=string; label=Base URL of the current Typo3 installation:Default is empty. Will be used to convert local pages to PDF. For accessing protected pages, the current FE User session will be faked - therefore the exact URL is needed that cookies become valid.
baseUrl = https://your.base.url/including/sub/dir
# cat=config/email; type=string; label=Options for SendEMail:Default is empty. General options. Check: http://caspian.dotconf.net/menu/Software/SendEmail. E.g.: 'sendEMail=-o tls=yes'
sendEMail =
# cat=config/date; type=string; label=Date format:Default is 'yyyy-mm-dd'. Possible options: 'yyyy-mm-dd', 'dd.mm.yyyy'
dateFormat = yyyy-mm-dd
# cat=debug/sql; type=string; label=SQL log mode:Default is 'modify'. A logfile of QFQ fired SQL statements will be written. Possible modes are 'all' - every statement will be logged (this might a lot). 'modify' - log only statements who change data. 'error' - log only DB errors. 'none' - log never.
sqlLogMode = modify
# cat=debug/sql; type=string; label=SQL log file:Default is '../../sql.log'. A logfile of fired SQL statements. Possible modes are 'all' - every statement will be logged (this might a lot) or 'modify' - log only statements who change data.
sqlLogFile = ../../sql.log
# cat=debug/mail; type=string; label=Mail log file:Default is '../../mail.log'. A logfile of sent mail. Possible modes are 'all' - every statement will be logged (this might a lot) or 'modify' - log only statements who change data.
mailLogMail = ../../mail.log
# cat=debug/info; type=string; label=Show debug info:Default is 'auto'. Possible values: [yes|no|auto][,download]. For 'auto': If a BE User is logged in, a debug information will be shown on the FE.
showDebugInfo = auto
# cat=debug/mail; type=string; label=Redirect all mail to ...:Default is empty. If set, redirect all QFQ generated mails (Form, Report) to the specified email address.
redirectAllMailTo =
# cat=database/db; type=string; label=Update QFQ database structures & data:Default is 'auto'. After installing a new QFQ version it might be necessary to apply updates to QFQ database structures and data. 'auto' - apply DB updates only if there is a newer version. 'always' - apply DB updates always, including play formEditor.sql every time QFQ is called - *not* recommended - slow! 'never' - never apply DB Updates.
update = auto
# cat=database/db; type=string; label=Database index for QFQ data:Default is '1'. Retrieve the current setting via {{_dbNameData:Y}}
indexData = 1
# cat=database/db; type=string; label=Database index for QFQ system:Default is '1'. Retrieve the current setting via {{_dbNameQfq:Y}}
indexQfq = 1
# cat=database/db1; type=string; label=Global SQL command:Default is 'set names utf8'. Optional. Might set specific settings.
init = set names utf8
# cat=security/security; type=string; label=Escape type default:Default is 'm'. All variables `{{...}}` get this escape class by default if none is specified.
escapeTypeDefault = m
# cat=security/security; type=string; label=List of honeypot input elements:Default is 'email,username,password'. If empty: no check. All named strings will rendered as hidden INPUT elements. If a form submit contains values for those inputs, the POST is treated as an attack.
securityVarsHoneypot = email,username,password
# cat=security/security; type=string; label=Attack delay in seconds:Default is '5'. After a detected attack, the number of seconds to wait before the PHP process dies (and therefore the browser request deliver nothing).
securityAttackDelay = 5
# cat=security/security; type=string; label=Show an attack detected message:Default is 'true'. Show (return to browser) a message, that an attack has been detected. Should be 'false' for production sites.
securityShowMessage = true
# cat=security/security; type=string; label='GET'-Parameter max length:Default is '50'. GET vars longer than 'x' character triggers an `attack-detected`.
securityGetMaxLength = true
# cat=form/config; type=string; label=Dirty record lock timeout (seconds):Default is '900'. Time in seconds to lock a record, starting from the first modification. If lock expires, it is acquired again on the next modification.
recordLockTimeoutSeconds = 900
# cat=form/config; type=string; label=Enter as submit:Default is '1'. '0'=off, '1'=Pressing 'enter' on an input, means 'save form and close' (exception: 'textarea' and 'editor' elements).
enterAsSubmit = 1
# cat=form/config; type=string; label=Edit form page alias:Default is 'form'. T3 Pagealias to edit a form.
editFormPage = form
# cat=form/config; type=string; label=Form data pattern error message:Default is 'pattern error'. Customizable error message used in validator.js. 'pattern' violation.
formDataPatternError = pattern error
# cat=form/config; type=string; label=Form data required error message:Default is 'required error'. Customizable error message used in validator.js. 'required' violation.
formDataRequiredError = required error
# cat=form/config; type=string; label=Form data match error message:Default is 'match error'. Customizable error message used in validator.js. 'match' violation.
formDataMatchError = match error
# cat=form/config; type=string; label=Form data error message:Default is 'error'. Customizable error message used in validator.js. generic violation.
formDataError = error
# cat=form/layout; type=string; label=CSS class QFQ container:Default is empty. Empty, if the page content is already wrapped in a Bootstrap container. Else 'container'.
cssClassQfqContainer =
# cat=form/layout; type=string; label=CSS class QFQ form:Default is empty. If given wrap around QFQ-Form. E.g. 'qfq-color-base'.
cssClassQfqForm =
# cat=form/layout; type=string; label=CSS class of pills on the HTML form:Default is 'qfq-color-grey-1'. Wrap around title bar for pills: CSS Class, typically a background color.
cssClassQfqFormPill =
# cat=form/layout; type=string; label=CSS class of the body of the HTML form:Default is 'qfq-color-grey-2'. Wrap around FormElements: CSS Class, typically a background color.
cssClassQfqFormBody =
# cat=form/layout; type=string; label=Number of Bootstrap 'col-md-??' to wrap the 'whole form':Default is '12'. Bootstrap 12 column represents 100%.
formBsColumns = 12
# cat=form/layout; type=string; label=Number of Bootstrap 'col-md-??' to wrap the 'label' column:Default is '3'.
formBsLabelColumns = 3
# cat=form/layout; type=string; label=Number of Bootstrap 'col-md-??' to wrap the 'input' column:Default is '6'.
formBsInputColumns = 6
# cat=form/layout; type=string; label=Number of Bootstrap 'col-md-??' to wrap the 'note' column:Default is '3'.
formBsNoteColumns = 3
# cat=form/layout; type=string; label=ExtraButtonInfo symbol 'inline':Default is '<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>'. The image appears inside of the formElement. If an `<img src="...">` tag is given, the PathFilename is relative to the Typo3 installation.
extraButtonInfoInline = <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
# cat=form/layout; type=string; label=ExtraButtonInfo symbol 'below':Default is '<span class="glyphicon glyphicon-info-sign text-info" aria-hidden="true"></span>'. The Image appears below the formElement. If an `<img src="...">` tag is given, the PathFilename is relative to the Typo3 installation.
extraButtonInfoBelow = <span class="glyphicon glyphicon-info-sign text-info" aria-hidden="true"></span>
# cat=form/layout; type=string; label=ExtraButtonInfo position:Default is 'auto'. 'auto' - the image appears inline in formElement types `text`, `date`, `time` or `datetime` and below for all other. 'below' - the image appears always below the formelement.
extraButtonInfoPosition = auto
# cat=form/layout; type=string; label=ExtraButtonInfoClass:Default is empty. Applies only to FormElements with final 'extraButtonInfoPosition=below'. Typically used to right align the icon. E.g. 'pull-right'
extraButtonInfoClass =
# cat=formlanguage/layout; type=string; label=Language A id:Default is empty. ID (Typo3 parameter 'L') for language 'A'
formLanguageAId =
# cat=formlanguage/layout; type=string; label=Language A label:Default is empty. Label shown in *Form editor*, on the 'basic' tab.
formLanguageALabel =
# cat=formlanguage/layout; type=string; label=Language B id:Default is empty. ID (Typo3 parameter 'L') for language 'A'
formLanguageBId =
# cat=formlanguage/layout; type=string; label=Language B label:Default is empty. Label shown in *Form editor*, on the 'basic' tab.
formLanguageBLabel =
# cat=formlanguage/layout; type=string; label=Language C id:Default is empty. ID (Typo3 parameter 'L') for language 'A'
formLanguageCId =
# cat=formlanguage/layout; type=string; label=Language C label:Default is empty. Label shown in *Form editor*, on the 'basic' tab.
formLanguageCLabel =
# cat=formlanguage/layout; type=string; label=Language D id:Default is empty. ID (Typo3 parameter 'L') for language 'A'
formLanguageDId =
# cat=formlanguage/layout; type=string; label=Language D label:Default is empty. Label shown in *Form editor*, on the 'basic' tab.
formLanguageDLabel =
# cat=formbutton/layout; type=string; label=Save button 'text':Default empty - Text for the save button (top of the form).
saveButtonText =
# cat=formbutton/layout; type=string; label=Save button 'tooltip':Default 'Save'
saveButtonTooltip = Save
# cat=formbutton/layout; type=string; label=Save button 'CSS Class':Default 'btn btn-default navbar-btn'
saveButtonClass = btn btn-default navbar-btn
# cat=form/layout; type=string; label=Save button 'CSS class on change':Default 'alert-info btn-info'. If the data in a form has been changed, the save button gets the given class.
saveButtonClassOnChange = alert-info btn-info
# cat=formbutton/layout; type=string; label=Save button 'glyph icon':Default 'glyphicon-ok'. Glyph icon shown on the save button.
saveButtonGlyphIcon = glyphicon-ok
# cat=formbutton/layout; type=string; label=Close button 'text':Default empty - Text for the close button (top of the form).
closeButtonText =
# cat=formbutton/layout; type=string; label=Close button 'tooltip':Default 'Close'
closeButtonTooltip = Close
# cat=formbutton/layout; type=string; label=Close button 'CSS Class':Default 'btn btn-default navbar-btn'
closeButtonClass = btn btn-default navbar-btn
# cat=formbutton/layout; type=string; label=close button 'glyph icon':Default 'glyphicon-remove'. Glyph icon shown on the close button.
closeButtonGlyphIcon = glyphicon-remove
# cat=formbutton/layout; type=string; label=Delete button 'text':Default empty - Text for the delete button (top of the form).
deleteButtonText =
# cat=formbutton/layout; type=string; label=Delete button 'tooltip':Default 'Delete'
deleteButtonTooltip = Delete
# cat=formbutton/layout; type=string; label=Delete button 'CSS Class':Default 'btn btn-default navbar-btn'
deleteButtonClass = btn btn-default navbar-btn
# cat=formbutton/layout; type=string; label=Delete button 'glyph icon':Default 'glyphicon-trash'. Glyph icon shown on the delete button.
deleteButtonGlyphIcon = glyphicon-trash
# cat=formbutton/layout; type=string; label=New button 'text':Default empty - Text for the new button (top of the form).
newButtonText =
# cat=formbutton/layout; type=string; label=New button 'tooltip':Default 'New'
newButtonTooltip = New
# cat=formbutton/layout; type=string; label=New button 'CSS Class':Default 'btn btn-default navbar-btn'
newButtonClass = btn btn-default navbar-btn
# cat=formbutton/layout; type=string; label=New button 'glyph icon':Default 'glyphicon-plus'. Glyph icon shown on the new button.
newButtonGlyphIcon = glyphicon-plus
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment