Feature #12584
Updated by Marc Egger about 3 years ago
h3. Functional Spec: * If in any Report or Form there is an occurrence of `id=alias` and the T3 version is higher than 9, then QFQ shows an exception with the following content: ** link to automatically replace all the occurrences with `id=number` ** link to reload and skip this check forever ** Detailed list of each occurrence together with the suggested replacement number * Once all occurrences where replaced once or the "skip check forever" link was clicked QFQ never shows this exception again. h3. Technical Spec: * the following columns are checked for occurrences of `id=alias` ** tt_content.bodytext ** Form.title ** Form.parameter ** Form.parameterLanguageA/B/C/D ** FormElement.label ** FormElement.note ** FormElement.value ** FormElement.sql1 ** FormElement.parameter ** FormElement.parameterLanguageA/B/C/D * patterns which will be replaced ** @href="?id={{pageAlias:T}}@ ** @href='?id={{pageAlias:T}}@ ** @href="?id=<alias>&@ ** @href='?id=<alias>&@ ** @href="?id=<alias>"@ ** @href='?id=<alias>'@ * The How to find page id with the given alias for patterns pattern containing @<alias>@ will be found the following way ** search <alias> alias in column @pages.slug@ *** when migrating from alias to slug underscore "_" was replaced by minus "-" by Typo3 automatically, "-", so search again with "_" replaced in <alias> alias ** if not found, search in column @pages.zzz_deleted_alias@ found fallback to pages.zzz_deleted_alias if that column exists ** if not found mark <alias> alias as not found in error message * Occurrences occurrences containing @{{pageAlias:T}}@ will be replaced by @{{pageId:T}}@ * *Question* : should all occurrences of @{{pageAlias:T}}@ be replaced by @{{pageId:T}}@ everywhere even when there is no "href"? everywhere? ** alternatively we could introduce a new variable @{{pagePath:T}}@. But I don't know how easy it will be to compute that path reliably and I would rather not ask Typo3 to do it... * If the migration was performed or skipped then the flag @skipAliasMigration@ is added to the comment of the Form table ** The current comment looks like this: @Version=21.5.0a&functionHash=dec0567ea030ed61fe7cee8dbba2a935&functionVersion=20.11.0@ * Variants to check if Typo3 version is higher than 9 ** The Typo3 version might be found in a Global variable? ** if not, the symlink in the root folder could be parsed: @typo3_src -> /var/www/typo3_src-8.7.32/@ ** or the hacky way it is done in the password hashing function by checking if a certain Typo3 class exists