[!!!][TASK] Rewrite install tool
Main features: * The god class "Installer" is gone and split into two major parts. A step controller handling major upgrade and install tasks, and a tool controller handling the known install tool actions. * The step controller is designed to be always called prior to the tool controller, if a step needs execution, it comes up, otherwise the tool controller will be executed. * The entry point typo3/install/index.php is gone and substituted by typo3/sysext/install/Start/Install.php. The file contains a lengthy comment to document the main request flow and used GET/POST parameters. * Most parts of the install tool do not bootstrap the whole system anymore, in general only the base bootstrap, dbal (if loaded), extbase and fluid ext_localconf.php are loaded. This makes sure the install tool can not fatal if some extensions ext_localconf is broken. The whole install tool runs without any caching, so a fatal in some cache file can not kill the install tool execution. * Installing TYPO3 CMS on a dbal enabled system is now handled in the step installer directly to make the according code easier to understand. * Rendering is done with a simplified fluid standalone view. * All install tool forms are CSRF protected. * A new and fully unit tested class structure is introduced, designed to take care of the basic file and folder structure of the instance. It is used during installation to create the needed structure and can be called in the install tool to compare and fix the current instance structure with the expected structure. In effect, the "dummy" package is obsolete. An instance can be created by just linking index.php, typo3_src/ and typo3/ within the document root, the installer takes care of creating everything else. * The installation procedure is released from the package handling. Packages will be handled by the extension manager after initial installation with another patch. Loose ends: * The whole package handling needs to be implemented in the extension manager. * Not all upgrade wizards work, this code area needs some love. * A 'core' auto updater could be implemented now. A GSoC project is currently running to realize this. * The SQL schema migration API is a mess and should be refactored. For now, another helper class is introduced to encapsulate some of the nasty details. * An auto configuration and configuration suggestion system is planned and needs to be done. It should suggest best configuration options in the install tool, and should auto configure the system during installation in the last install step. * If the backend or frontend fatals due to some extension that triggers a fatal in ext_localconf or ext_tables (for example due to a require() of a no longer existing file), a small helper action in the install tool could find those extensions and suggest to unload them. Change-Id: Ice3248caa903449ad6a83ea4f234c7bd125bdb66 Resolves: #49162 Releases: 6.2 Reviewed-on: https://review.typo3.org/21468 Reviewed-by: Anja Leichsenring Tested-by: Anja Leichsenring Tested-by: Alexander Opitz Reviewed-by: Stefan Froemken Tested-by: Stefan Froemken Reviewed-by: Christian Kuhn Tested-by: Christian Kuhn
Showing
- index.php 1 addition, 1 deletionindex.php
- typo3/init.php 1 addition, 1 deletiontypo3/init.php
- typo3/install/README.txt 0 additions, 5 deletionstypo3/install/README.txt
- typo3/install/_.htaccess 0 additions, 4 deletionstypo3/install/_.htaccess
- typo3/install/index.php 5 additions, 59 deletionstypo3/install/index.php
- typo3/sysext/core/Classes/Compatibility/CompatbilityClassLoaderPhpBelow50307.php 6 additions, 1 deletion...es/Compatibility/CompatbilityClassLoaderPhpBelow50307.php
- typo3/sysext/core/Classes/Configuration/ConfigurationManager.php 5 additions, 52 deletions...ysext/core/Classes/Configuration/ConfigurationManager.php
- typo3/sysext/core/Classes/Core/Bootstrap.php 51 additions, 18 deletionstypo3/sysext/core/Classes/Core/Bootstrap.php
- typo3/sysext/core/Classes/Core/SystemEnvironmentBuilder.php 0 additions, 6 deletionstypo3/sysext/core/Classes/Core/SystemEnvironmentBuilder.php
- typo3/sysext/core/Classes/Database/DatabaseConnection.php 1 addition, 1 deletiontypo3/sysext/core/Classes/Database/DatabaseConnection.php
- typo3/sysext/core/Classes/Database/SqlParser.php 1 addition, 5 deletionstypo3/sysext/core/Classes/Database/SqlParser.php
- typo3/sysext/core/Classes/FormProtection/InstallToolFormProtection.php 12 additions, 3 deletions...core/Classes/FormProtection/InstallToolFormProtection.php
- typo3/sysext/core/Classes/Utility/PhpOptionsUtility.php 2 additions, 0 deletionstypo3/sysext/core/Classes/Utility/PhpOptionsUtility.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 2 additions, 1 deletiontypo3/sysext/core/Configuration/DefaultConfiguration.php
- typo3/sysext/core/Configuration/FactoryConfiguration.php 10 additions, 0 deletionstypo3/sysext/core/Configuration/FactoryConfiguration.php
- typo3/sysext/core/Migrations/Code/LegacyClassesForIde.php 3 additions, 38 deletionstypo3/sysext/core/Migrations/Code/LegacyClassesForIde.php
- typo3/sysext/core/Resources/Private/Font/README.txt 2 additions, 144 deletionstypo3/sysext/core/Resources/Private/Font/README.txt
- typo3/sysext/core/Tests/Unit/Configuration/ConfigurationManagerTest.php 0 additions, 28 deletions...ore/Tests/Unit/Configuration/ConfigurationManagerTest.php
- typo3/sysext/core/Tests/Unit/FormProtection/InstallToolFormProtectionTest.php 2 additions, 1 deletion...sts/Unit/FormProtection/InstallToolFormProtectionTest.php
- typo3/sysext/dbal/Classes/Autoloader.php 0 additions, 109 deletionstypo3/sysext/dbal/Classes/Autoloader.php
Please register or sign in to comment