Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
typo3
qfq
Commits
0848fa61
Commit
0848fa61
authored
Sep 13, 2018
by
Ephraim Seidenberg
Browse files
several typos throughout the documentation corrected
parent
585328aa
Pipeline
#885
passed with stage
in 1 minute and 42 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
extension/Documentation/Manual.rst
View file @
0848fa61
...
...
@@ -163,7 +163,7 @@ Thumbnail
Thumbnails will be rendered via GraphicsMagick (http://www.graphicsmagick.org/) 'convert' and 'inkscape' (https://inkscape.org).
'inkscape' is only used for '.svg' files.
The Typo3 gra
f
ic eco-system is not used at all by QFQ.
The Typo3 gra
ph
ic eco-system is not used at all by QFQ.
Usage: `column-thumbnail`_.
...
...
@@ -582,7 +582,7 @@ The specified DB User needs privileges to the database of at least: SELECT / INS
To apply automatically QFQ-'DB UPDATE' the following rights are mandatory too: CREATE / ALTER
To get access to the Typo3 installation, 'dbuser' should also have acces to the Typo3 Database with at least SELECT / INSERT / UPDATE / DELETE.
To get access to the Typo3 installation, 'dbuser' should also have acces
s
to the Typo3 Database with at least SELECT / INSERT / UPDATE / DELETE.
...
...
@@ -840,7 +840,7 @@ Different QFQ versions, shared database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When using different QFQ versions and a shared 'QFQ data'-database, there is some risk of conflicting
'QFQ system' tables. Best is to always use the same QFQ version on all instances
o
t use a Multi Database setup.
'QFQ system' tables. Best is to always use the same QFQ version on all instances t
o
use a Multi Database setup.
.. _debug:
...
...
@@ -1240,7 +1240,7 @@ Honeypot
Every QFQ Form contains 'honeypot'-HTML input elements (HTML: hidden & readonly). Which of them to use is configured in
`configuration`_ (default: 'username', 'password' and 'email'). On every start of QFQ (form, report, save, ...),
these variables are tested if they are non-empty. In such a case a probably malicous bot has send the request and the
these variables are tested if they are non-empty. In such a case a probably malic
i
ous bot has send the request and the
request will not be processed.
If any of the default configured variable names are needed (which will never be the case for QFQ), an explicit variable name
...
...
@@ -1377,7 +1377,7 @@ Store: *FORM* - F
* Represents the values in the form, typically before saving them.
* Used for:
* *FormElements* wh
o
will be rerendered, after a parent *FormElement* has been changed by the user.
* *FormElements* wh
ich
will be rerendered, after a parent *FormElement* has been changed by the user.
* *FormElement* actions, before saving the form.
* Values will be sanitized by the class configured in corresponding the *FormElement*. By default, the sanitize class is `alnumx`.
...
...
@@ -1409,7 +1409,7 @@ Store: *SIP* - S
+-------------------------+-----------------------------------------------------------+
| table | current table name |
+-------------------------+-----------------------------------------------------------+
| urlparam | all non Typo3 paramter in one string |
| urlparam | all non Typo3 param
e
ter in one string |
+-------------------------+-----------------------------------------------------------+
| <user defined> | additional user defined link parameter |
+-------------------------+-----------------------------------------------------------+
...
...
@@ -1473,7 +1473,7 @@ Store: *CLIENT* - C
+-------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
| REMOTE_ADDR | Client IP address |
+-------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
| '$_SERVER[*]' | All other variables access
a
ble by *$_SERVER[]*. Only the often used have a pre-defined sanitize class. |
| '$_SERVER[*]' | All other variables access
i
ble by *$_SERVER[]*. Only the often used have a pre-defined sanitize class. |
+-------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
| form | Unique name of current form |
+-------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
...
...
@@ -1621,17 +1621,17 @@ To decide which Parameter should be placed on *Form.parameter* and which on *For
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| ldapAttributes | cn, email | List of attributes to save in STORE_LDAP | x | x | FSL |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| ldapSearch | (mail=john.doe@example.com) | Regular LDAP search express
s
ion | x | x | FSL |
| ldapSearch | (mail=john.doe@example.com) | Regular LDAP search expression | x | x | FSL |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| ldapTimeLimit | 3 (default) | Maximum time to wait for an answer of the LDAP Server | x | x | TA, FSL |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| ldapUseBindCredentials | ldapUseBindCredentials=1 | Use LDAP_1_* cre
n
dentials from config-qfq-php_ for ldap_bind()| x | x | TA, FSL |
| ldapUseBindCredentials | ldapUseBindCredentials=1 | Use LDAP_1_* credentials from config-qfq-php_ for ldap_bind()| x | x | TA, FSL |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| typeAheadLdap | - | Enable LDAP as 'Typeahead' data source | | x | TA |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| typeAheadLdapSearch | `(|(cn=*?*)(mail=*?*))` | Regular LDAP search express
s
ion, returns upto typeAheadLimit | x | x | TA |
| typeAheadLdapSearch | `(|(cn=*?*)(mail=*?*))` | Regular LDAP search expression, returns upto typeAheadLimit | x | x | TA |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| typeAheadLdapSearchPrefetch | `(mail=?)` | Regular LDAP search express
s
ion, typically return one record | x | x | TA |
| typeAheadLdapSearchPrefetch | `(mail=?)` | Regular LDAP search expression, typically return one record | x | x | TA |
+-----------------------------+----------------------------------+---------------------------------------------------------------+------+-------------+----------+
| typeAheadLdapSearchPerToken | - | Split search value in token and OR-combine every search with | x | x | TA |
| | | the individual tokens | | | |
...
...
@@ -1684,8 +1684,8 @@ To examine all possible values of an LDAP server, use the commandline tool `ldap
ldapsearch -x -h directory.example.com -L -b ou=Addressbook,dc=example,dc=com "(mail=john.doe@example.com)"
All occurences of a '?' in *ldapSearch* will be replaced by the user data typed in via the text-*FormElement*.
The typed data will be escaped to ful
l
fill LDAP search limitations.
All occur
r
ences of a '?' in *ldapSearch* will be replaced by the user data typed in via the text-*FormElement*.
The typed data will be escaped to fulfill LDAP search limitations.
Regular *Form* variables might be used on all parameter and will be evaluated during form load (!) - *not* at the time when
the user types something.
...
...
@@ -1707,7 +1707,7 @@ To identify the exact *id*, an additional search filter is necessary: `typeAhead
Prefetch
^^^^^^^^
After 'form load' with an existing record, the user epects to see the previous saved data. In case there is an *id* to
After 'form load' with an existing record, the user e
x
pects to see the previous saved data. In case there is an *id* to
*value* translation, the *value* does not exist in the database, instead it has to be fetched again dynamically.
A precise LDAP or SQL query has to be defined to force this:
...
...
@@ -1724,7 +1724,7 @@ PerToken
Sometimes a LDAP server only provides attributes like 'sn' and 'givenName', but not 'displayName' or another practial
combination of multiple attributes - than it is difficult to search for 'firstname' *and* (=human AND) 'lastname'.
E.g. 'John Doe', results to search like `(|(sn=*John Doe*)(givenName=*John Doe*))` which will be probably always be empty.
Instead, the user input has to be split
ted
in token and the search string has to repeated for every token.
Instead, the user input has to be split in token and the search string has to repeated for every token.
* *Form.parameter* or *FormElement.parameter*:
...
...
@@ -1769,7 +1769,7 @@ Important: LDAP access might slow down the *Form* processing on load, update or
to be multiplied by the number of accesses. E.g. a broken LDAP connection and 3 *FormElements* with *FSL*
results to 9 seconds delay on save. Also be prepared not to receive the expected data.
* *FormElement.parameter.fillStoreLdap* - activate the mode *Fill S* - no value is needed, the existence is suff
u
cient.
* *FormElement.parameter.fillStoreLdap* - activate the mode *Fill S* - no value is needed, the existence is suff
i
cient.
* *Form.parameter* or *FormElement.parameter*:
* *ldapServer* = `directory.example.com`
...
...
@@ -1802,7 +1802,7 @@ General
* Fields of the primary table acts like a *simple* form, all other fields have to be specified with *action/afterSave* records.
* *Multi* form: the form acts simultanously on more than one record. All records use the same *FormElements*.
* *Multi* form: the form acts simultan
e
ously on more than one record. All records use the same *FormElements*.
* The *FormElements* are defined as a regular *simple* / or *advanced* form, plus a SQL Query, which selects and
iterates over all records. Those records will be loaded at the same time.
...
...
@@ -1862,7 +1862,7 @@ If a `Form` acts on further records (e.g. via FE action), those records are not
If a user tries to delete a record and another user already owns a lock on that record, the delete action is denied.
If there are different locking modes in mul
i
tiple forms, the most restricting mode applies for the current lock.
If there are different locking modes in multiple forms, the most restricting mode applies for the current lock.
Exclusive
^^^^^^^^^
...
...
@@ -1972,7 +1972,7 @@ Depending on `r`, the following access permission will be taken:
* is *always* the preferred way. With 'sip' it's not necessary to differ between logged in or not, cause the SIP
only exist and is only valid, if it's created via QFQ/report earlier. This means 'creating' the SIP implies
'access granted'. The grant will be revoked when the QFQ session is destroyed - this happens when a user loggs out or
the webbrowser is closed.
the web
browser is closed.
* `logged_in` / `logged_out`: for forms which might be displayed without a SIP, but maybe on a protected or even
unprotected page. *The option is probably not often used.*
...
...
@@ -1983,7 +1983,7 @@ Depending on `r`, the following access permission will be taken:
the form.
* `permitEdit=always`: Public accessible forms will allow users to update existing data. This
is dangerous, cause the URL param
a
ter (recordId) 'r' might be changed by the user (URL manipulating) and therefore
is dangerous, cause the URL param
e
ter (recordId) 'r' might be changed by the user (URL manipulating) and therefore
the user might see and/or change data from other users. *The option is probably not often used.*
* `never`: such a form is not allowed to be loaded.
...
...
@@ -2241,7 +2241,7 @@ classPill
* Typical use: adjust the background color of the `pill title` area.
* Predefined background colors: `qfq-color-white`, `qfq-color-grey-1` (dark), `qfq-color-grey-2` (light),
`qfq-color-blue-1` (dark), `qfq-color-blue-2`. (light)
* `classPill` is only visible on forms with container elem
a
nts of type 'Pill'.
* `classPill` is only visible on forms with container elem
e
nts of type 'Pill'.
classBody
'''''''''
...
...
@@ -2422,7 +2422,7 @@ Column: primary record
''''''''''''''''''''''
If the columns `<name>%d` are real columns on the primary table, saving and delete (=empty string) are done automatically.
E.g. if there are upto five elements `grade1, ..., grade5` and the user inputs only the first three, the remaining will be set
E.g. if there are up
to five elements `grade1, ..., grade5` and the user inputs only the first three, the remaining will be set
to an empty string.
Column: non primary record
...
...
@@ -2506,7 +2506,7 @@ Fields:
+---------------------+-----------------------------+-----------------------------------------------------------------------------------------------------+
|tabindex | string |HTML tabindex attribute _`field-tabindex` |
+---------------------+-----------------------------+-----------------------------------------------------------------------------------------------------+
|Size | string |Visible length of input element. Might be om
m
ited, depending on the cho
o
sen form layout. |
|Size | string |Visible length of input element. Might be omi
t
ted, depending on the chosen form layout. |
| | |Format: <width>,<height> (in characters) _`field-size` |
+---------------------+-----------------------------+-----------------------------------------------------------------------------------------------------+
|BS Label Columns | string | Number of bootstrap grid columns for label. By default empty, value inherits from the form. |
...
...
@@ -3438,7 +3438,7 @@ Only column(name)s which contains `pathFileName` as part of their name, are chec
If there are other records, which references the same file, such files are not deleted.
It's a very basic check: just the current column of the current table is compared. In general it's not a good idea to
have mu
t
liple references to a single file. Therefore this check is just a fallback.
have mul
t
iple references to a single file. Therefore this check is just a fallback.
.. _Upload simple mode:
...
...
@@ -3653,7 +3653,7 @@ Situation 1: master.xId=slave.id (1:1)
* {{slaveId}} == 0 ? 'sqlInsert' will be fired.
* {{slaveId}} != 0 ? 'sqlUpdate' will be fired.
* In case of fir
e
ing 'sqlInsert', the 'slave.id' of the new created record are copied to master.xId (the database will
* In case of firing 'sqlInsert', the 'slave.id' of the new created record are copied to master.xId (the database will
be updated automatically).
* If the automatic update of the master record is not suitable, the action element should have no name or a name
...
...
@@ -3758,7 +3758,7 @@ See also `copy-form`_.
* Pay attention to '!'.
* For every row, a new record is created in `recordDestinationTable`.
* Column 'id' is not copied.
* The `recordSourceTable` together with column
e
`id` will identify the source record.
* The `recordSourceTable` together with column `id` will identify the source record.
* Columns not specified, will be copied 1:1 from source to destination.
* Columns specified, will overwrite the source value.
...
...
@@ -3838,21 +3838,21 @@ Example
Assuming the Typo3 page has the
* default language, L=0
*
e
nglish, L=1
*
s
pa
i
n, L=2
*
E
nglish, L=1
*
S
pan
ish
, L=2
Configuration in configuration_: ::
formLanguageAId = 1
formLanguageALabel =
e
nglish
formLanguageALabel =
E
nglish
formLanguageBId = 2
formLanguageBLabel =
s
pa
i
n
formLanguageBLabel =
S
pan
ish
The default language is not covered in configuration_.
The *Form editor* now shows on the pill 'Basic' (Form
u
nd FormEditor) for both languages each an additional parameter
input field. Any input field in the *Form editor* can be redeclared in the correspondig language parameter field. Any
The *Form editor* now shows on the pill 'Basic' (Form
a
nd FormEditor) for both languages each an additional parameter
input field. Any input field in the *Form editor* can be redeclared in the correspondi
n
g language parameter field. Any
missing definition means 'take the default'. E.g.:
* Form: 'person'
...
...
@@ -4008,7 +4008,7 @@ the following (switch off all non named):
Copy Form
---------
Records (=master) and child records can be duplicated (=copied) by a regular `Form`, extended by `FormElemens` of type 'paste'.
Records (=master) and child records can be duplicated (=copied) by a regular `Form`, extended by `FormElemen
t
s` of type 'paste'.
A 'copy form' works either in:
* 'copy and paste now' mode: the 'select' and 'paste' `Form` is merged in one form, only one master record is possible,
...
...
@@ -4092,7 +4092,7 @@ form with the following parameter
Table self referencing records
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Records might contain references to other rec
r
ods in the same table. E.g. native FormElements might assigned to a fieldSet,
Records might contain references to other reco
r
ds in the same table. E.g. native FormElements might assigned to a fieldSet,
templateGroup or pill, a fieldSet might assigned to other fieldsets or pills and so on. When duplicating a `Form` and the
corresponding `FormElements` all internal references needs to be updated as well.
...
...
@@ -4147,7 +4147,7 @@ Support for record locking is given with mode:
* Including a timeout (default 15 mins dirtyRecordTimeoutSeconds in configuration_) for maximum lock time.
* *advisory*: user is only warned, but allowed to overwrite.
* *none*: no bookeeping about locks.
* *none*: no book
k
eeping about locks.
For 'new' records (r=0) there is no locking at all.
...
...
@@ -4369,7 +4369,7 @@ Relation: `Person.id = Address.personId`
Icons Template Group
^^^^^^^^^^^^^^^^^^^^
This example will display gra
f
ics instead of text 'add' and 'remove'. Also there is a distance between the templateGroups.
This example will display gra
ph
ics instead of text 'add' and 'remove'. Also there is a distance between the templateGroups.
* FormElement.parameter::
...
...
@@ -4389,7 +4389,7 @@ Chart
* in the specific tt_content record (shown below in the example) or
* system wide via Typo3 Template record.
* By splitting HTML and JavaScript code over several lines, take care not accidently to create a 'nesting'-end token.
* By splitting HTML and JavaScript code over several lines, take care not accident
al
ly to create a 'nesting'-end token.
Check the line after `10.tail =`. It's '}' alone on one line. This is a valid 'nesting'-end token!. There are two options
to circumvent this:
...
...
@@ -6122,7 +6122,7 @@ Parameter and (element) sources
get generic filenames inside the archive.
* If not specified, the **default** 'Mode' depends on the number of specified element sources (=file or web page):
* If only one `file` is specifed, the default is `file`.
* If only one `file` is specif
i
ed, the default is `file`.
* If there is a) a page defined or b) multiple elements, the default is `pdf`.
* *element sources* - for `M:pdf` or `M:zip`, all of the following three element sources might be specified multiple times.
...
...
@@ -6363,7 +6363,7 @@ Setup
[global]
* Use the regular QFQ Report syntax to create some output.
* The newline character is
t
CHAR(10).
* The newline character is CHAR(10).
* One option per line.
* Empty will be skipped.
* Lines starting with '#' will be skipped (comments)
...
...
@@ -6380,11 +6380,11 @@ Setup
+-------------+----------------+---------------------------------------------------------------------------------------------------+
| 'newline' | newline | Start a new row. The column will be the one of the last 'position' statement. |
+-------------+----------------+---------------------------------------------------------------------------------------------------+
| 'str', 's' | s=hello world | Set the given string on the given position. The current position will be shifte
t
one to the right |
| 'str', 's' | s=hello world | Set the given string on the given position. The current position will be shifte
d
one to the right |
+-------------+----------------+---------------------------------------------------------------------------------------------------+
| 'f' | f==SUM(A5:C6) | Set a form
ular
on the given position. The current position will be shifte
t
one to the right |
| 'f' | f==SUM(A5:C6) | Set a form on the given position. The current position will be shifte
d
one to the right
|
+-------------+----------------+---------------------------------------------------------------------------------------------------+
| 'n' | n=123 | Set number on the given position. The current position will be shifte
t
one to the right |
| 'n' | n=123 | Set number on the given position. The current position will be shifte
d
one to the right |
+-------------+----------------+---------------------------------------------------------------------------------------------------+
Create a output like this: ::
...
...
@@ -6729,7 +6729,7 @@ Two columns
::
# Add the formatting information as a col
o
um
# Add the formatting information as a colum
n
10.sql = SELECT p.firstName, " " , p.lastName, "<br>" FROM exp_person AS p
..
...
...
@@ -6987,7 +6987,7 @@ do some manipulation on the database or any other task.
A job with `nextRun`=0 or `inProgress`!=0 won't never be started.
Due to checking `inProgress`, jobs will never run in parallel, even if a job needs more than 1 minute (interval
l
system
Due to checking `inProgress`, jobs will never run in parallel, even if a job needs more than 1 minute (interval system
cron).
Job: repeating
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment