Commit cb3f2918 authored by Carsten  Rose's avatar Carsten Rose
Browse files

Manual.rst: enhanced debugging topics

parent 3604c560
......@@ -656,10 +656,64 @@ QFQ Keywords (Bodytext)
| sqlLogMode | Overwrites config.qfq.ini: `SQL_LOG_MODE`_ . Only affects `Report`, not `Form`. |
+-------------------+---------------------------------------------------------------------------------+
Databases
---------
A Typo3 / QFQ Installation needs at least two databases. One for the Typo3 installation and one for QFQ.
QFQ itself can be separated in 'QFQ system' and 'QFQ data' databases, if necessary (than at least three databases are needed).
Furthermore a `Form` can operate on any additional database, specified per `Form`.parameter.dbIndex and configured via `config.qfq.ini`_.
* Option 'A' is the most simple and commonly used.
* Option 'B' separate the T3 and QFQ databases on two database hosts.
* Option 'C' is like 'B' but with a shared 'QFQ data'-database between three 'Typo3 / QFQ' instances.
* Further variants are possible.
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| | Domain | Website Host | T3 | QFQ system | QFQ data |
+===+================+==============+===============================+==============================+==================================+
| A | standalone.edu | 'w' | <dbHost>, <dbname>_t3, <dbnameSingle>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| B | appB1.edu | 'wApp' | <dbHostApp>, <dbnameB1>_t3 | <dbHostB1>, <dbnameApp>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| B | appB2.edu | 'wApp' | <dbHostApp>, <dbnameB2>_t3 | <dbHostB2>, <dbnameApp>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| C | appC1.edu | 'wAppC' | <dbHostAppC>, <dbnameC1>_t3 | <dbHostC>, <dbnameSysC1>_db | <dbHostData>_db, <dbNameData>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| C | appC2.edu | 'wAppC' | <dbHostAppC>, <dbnameC2>_t3 | <dbHostC>, <dbnameSysC2>_db | <dbHostData>_db, <dbNameData>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| C | appC3.edu | 'wAppC3' | <dbHostAppC3>, <dbnameC3>_t3 | <dbHostC3>, <dbnameSysC3>_db | <dbHostData>_db, <dbNameData>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
In `config.qfq.ini`_ mutliple database credentials can be prepared. Mandatory is at least one credential setup like
`DB_1_USER`, `DB_1_SERVER`, `DB_1_PASSWORD`, `DB_1_NAME`. The number '1' indicates the `dbIndex`. Increment the number
to specify further database credential setups.
Often the `DB_1_xxx` is identically to the used Typo3 database credentials.
If not explicit specified, 'QFQ system' and 'QFQ database' will use the same database with the same credentials (setup 'A').
To define separate 'QFQ data' and 'QFQ system', in `config.qfq.ini`_ define `DB_1_USER`, ... (e.g. 'QFQ data') and `DB_2_USER`,
... (e.g. 'QFQ system') and specify the assignment::
DB_INDEX_DATA = 1
DB_INDEX_QFQ = 2
To let a form operate (show, load and save) on a different database, use `Form.parameter.dbIndexData` (see `form-parameter`_).
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.
.. _debug:
Debug
^^^^^
=====
SQL Logging
-----------
File: `config.qfq.ini`_
......@@ -713,6 +767,11 @@ File: `config.qfq.ini`_
.. _REDIRECT_ALL_MAIL_TO:
Redirect all mail to (catch all)
--------------------------------
File: `config.qfq.ini`_
* *REDIRECT_ALL_MAIL_TO=john@doe.com*
* During the development, it might be helpful to configure a 'catch all' email address, which QFQ uses as the final receiver
......@@ -726,57 +785,6 @@ File: `config.qfq.ini`_
.. _variables:
Databases
---------
A Typo3 / QFQ Installation needs at least two databases. One for the Typo3 installation and one for QFQ.
QFQ itself can be separated in 'QFQ system' and 'QFQ data' databases, if necessary (than at least three databases are needed).
Furthermore a `Form` can operate on any additional database, specified per `Form`.parameter.dbIndex and configured via `config.qfq.ini`_.
* Option 'A' is the most simple and commonly used.
* Option 'B' separate the T3 and QFQ databases on two database hosts.
* Option 'C' is like 'B' but with a shared 'QFQ data'-database between three 'Typo3 / QFQ' instances.
* Further variants are possible.
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| | Domain | Website Host | T3 | QFQ system | QFQ data |
+===+================+==============+===============================+==============================+==================================+
| A | standalone.edu | 'w' | <dbHost>, <dbname>_t3, <dbnameSingle>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| B | appB1.edu | 'wApp' | <dbHostApp>, <dbnameB1>_t3 | <dbHostB1>, <dbnameApp>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| B | appB2.edu | 'wApp' | <dbHostApp>, <dbnameB2>_t3 | <dbHostB2>, <dbnameApp>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| C | appC1.edu | 'wAppC' | <dbHostAppC>, <dbnameC1>_t3 | <dbHostC>, <dbnameSysC1>_db | <dbHostData>_db, <dbNameData>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| C | appC2.edu | 'wAppC' | <dbHostAppC>, <dbnameC2>_t3 | <dbHostC>, <dbnameSysC2>_db | <dbHostData>_db, <dbNameData>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
| C | appC3.edu | 'wAppC3' | <dbHostAppC3>, <dbnameC3>_t3 | <dbHostC3>, <dbnameSysC3>_db | <dbHostData>_db, <dbNameData>_db |
+---+----------------+--------------+-------------------------------+------------------------------+----------------------------------+
In `config.qfq.ini`_ mutliple database credentials can be prepared. Mandatory is at least one credential setup like
`DB_1_USER`, `DB_1_SERVER`, `DB_1_PASSWORD`, `DB_1_NAME`. The number '1' indicates the `dbIndex`. Increment the number
to specify further database credential setups.
Often the `DB_1_xxx` is identically to the used Typo3 database credentials.
If not explicit specified, 'QFQ system' and 'QFQ database' will use the same database with the same credentials (setup 'A').
To define separate 'QFQ data' and 'QFQ system', in `config.qfq.ini`_ define `DB_1_USER`, ... (e.g. 'QFQ data') and `DB_2_USER`,
... (e.g. 'QFQ system') and specify the assignment::
DB_INDEX_DATA = 1
DB_INDEX_QFQ = 2
To let a form operate (show, load and save) on a different database, use `Form.parameter.dbIndexData` (see `form-parameter`_).
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.
Variable
========
......@@ -793,7 +801,7 @@ Some examples, including nesting::
#---------------------------------------------
{{r}}
{{index:FS}}
{{name:FS:alnumx:s}}
{{name:FS:alnumx:s:my default}}
# SQL
#---------------------------------------------
......@@ -5848,6 +5856,8 @@ Same as above, but written in the nested notation ::
* Columns starting with a '_' won't be printed but can be accessed as regular columns.
.. _help:
Help
====
......@@ -5861,6 +5871,34 @@ Tips:
* Always check the Javascript console of your browser, see `javascriptProblem`_.
* Always check the Webserver logfiles, see `webserverErrorLog`_.
QFQ specific
------------
Variable empty: {{...}}
^^^^^^^^^^^^^^^^^^^^^^^
Specify the required sanitize class. Remember: for STORE_FORM and STORE_CLIENT the default is `digit`. This means if
the variable content is a string, this violates the sanitize class and the replaced content will be an empty string!
Form: put the problematic variable or SQL statement in the 'title' or note 'field' of a `FormElement`. This should show
the content. For SQL statements insert a character before the SQL Keyword to avoid SQL triggering.
Logging
-------
General webserver error log
^^^^^^^^^^^^^^^^^^^^^^^^^^^
For apache: /var/log/apache2/error_log
Especially if you got a blank page (no rendering at all), this is typically an uncaught PHP error. Check the error message
and report the bug.
Call to undefined function qfq\\mb_internal_encoding()
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Check that all required php modules are installed. See `preparation`_.
Error Messages
--------------
......@@ -5885,22 +5923,4 @@ Open the 'Webdeveloper Tools' (FF: F12, Chrome/Opera: Right mouse click > Inspec
.. _`webserverErrorLog`:
Webserver error log
-------------------
For apache: /var/log/apache2/error_log
Call to undefined function qfq\\mb_internal_encoding()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Check that all required php modules are installed. See `preparation`_.
QFQ specific
------------
Variable empty: {{...}}
^^^^^^^^^^^^^^^^^^^^^^^
Specify the required sanitize class. Remember: for STORE_FORM and STORE_CLIENT the default is `digit`. This means if
the variable content is a string, this violates the sanitize class and the replaced content will be an empty string!
\ No newline at end of file
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