Troubleshooting¶
Things go wrong and you don't know why? Maybe this troubleshooting guide knows!
Table of Contents
White screen (TYPO3 v12+)¶
CSP is blocking the Mask module JavaScript (VueJs). To fix this, deactivate the
security.backend.enforceContentSecurityPolicy
feature toggle.
See GitHub issue <https://github.com/Gernott/mask/issues/545>__
.
Error in backend after upgrading Mask¶
In some version upgrades Mask changes things, where a simple cache clearing is
not enough. First of all try clearing the cache in Maintenance > Flush Cache.
If you can't access the module, delete the folder typo3temp
or var/cache
.
Also try to deactivate and reactivate the extension if
you have upgraded to v7.
Database Analyzer: Invalid default value¶
If you run the database analyzer and it complains about a column having an invalid default value then you should check a few things.
SQL_MODE¶
First check your SQL_MODE
by running SHOW VARIABLES LIKE 'SQL_MODE';
.
There are some candidates that cause trouble when having a too strict
environment in a MySQL server.
These are for example text
types, which might disallow default values per
se or date
types which might disallow 0000-00-00
values as default.
In order to fix this, remove the restrictions that cause this to happen. For
dates it is NO_ZERO_DATE
for example. Or just sweep them altogether by
running SET GLOBAL SQL_MODE = '';
.
Update tables¶
Else it just might be you are changing a fields definition when it's already
filled with values. In this case either completely delete the column and run
the database analyzer anew or update the old default values with the new one.
For example UPDATE tt_content SET tx_mask_field = 0 WHERE tx_mask_field IS NULL
.
On save error: Row size too large (MariaDB)¶
Explanation¶
There is a limit on how much can fit into a single InnoDB database row. Read here for more technical insight.
As Mask uses the table tt_content
, it must be ensured, that the table does not grow indefinitely.
Solutions¶
First, check if you are using the DYNAMIC row format. If not, alter your tables to use this format, in order to store more data on overflow pages.
ALTER TABLE tt_content ROW_FORMAT=DYNAMIC;
Else, here are some tips to save table row size:
Reuse existing TYPO3 core and Mask fields as much as possible.
Try to minimize the usage of new string, link and select fields. They all use
varchar(255)
.You can manually manipulate your json definitions and change the sql
varchar
fields totext
, as suggested here.If applicable, use inline fields, as they create a new table.
Otherwise consider creating an own extension with custom tables if your Mask elements are getting too complex.
Read this mariadb troubleshooting guide for in depth explanation and more tips.