[TASK] Deprecate ConfigurationForm 62/54362/5
authorChristian Kuhn <lolli@schwarzbu.ch>
Tue, 10 Oct 2017 17:38:01 +0000 (19:38 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 12 Oct 2017 08:16:55 +0000 (10:16 +0200)
commit906684cbe3acbb4a0f3c892a77be56be2d97d4b3
tree2410d4656dd6317372ee4e7b166c9a8a4905b932
parent6e528679382140e10311a846245146ed9e98f066
[TASK] Deprecate ConfigurationForm

The call tree of the extension manager "configuration form"
ext_conf_template.txt parser is a mess:
The ext:extensionmanager ConfigurationUtility calls ext:core
ConfigurationForm which is a class that extends ExtendedTemplateService
which extends TemplateService. The "TypoScript" a-like parsing then uses
class TypoScriptParser. This compiles to a huge list of dependencies.

The patch compiles this mess down to a series of methods within
ConfigurationUtility directly, effectively adding needed parts
of TypoScriptParser and ConfigurationForm as protected methods.
The class ends up with way less direct and indirect dependencies.

The various detail parsing methods are still messy and hard to follow,
but rewriting the parser heart does not really make sense since the
ext_conf_template.txt format will bite the dust sooner or later anyway
and having all in one place is already much better than before.
So putting some days of energy into rewriting these specific parts
of the TypoScript parsing did not seem to be worth it, even if it in
the end could probably solved with 1/4 of code.

Class ConfigurationForm is deprecated but could also be removed
as breaking patch later if anyone wants to refactor the remaining
ExtendedTemplateService and TemplateService classes in v9.

Note this patch is an intermediate step before the ConfigurationUtility
class form ext:em is moved into the install tool.

Change-Id: I62d9fafb6444d954e17c980358e6367a83b033b8
Resolves: #82725
Releases: master
Reviewed-on: https://review.typo3.org/54362
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Mona Muzaffar <mona.muzaffar@gmx.de>
Tested-by: Mona Muzaffar <mona.muzaffar@gmx.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Classes/TypoScript/ConfigurationForm.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-82725-DeprecateConfigurationForm.rst [new file with mode: 0644]
typo3/sysext/extensionmanager/Classes/Utility/ConfigurationUtility.php
typo3/sysext/extensionmanager/Tests/Unit/Utility/ConfigurationUtilityTest.php
typo3/sysext/extensionmanager/Tests/Unit/Utility/Fixtures/ext_conf_template.txt [new file with mode: 0644]
typo3/sysext/install/Configuration/ExtensionScanner/Php/ClassNameMatcher.php
typo3/sysext/reports/Classes/Report/Status/SecurityStatus.php
typo3/sysext/saltedpasswords/Classes/Utility/ExtensionManagerConfigurationUtility.php