[TASK] Install tool: JS driven routing
The install tool suffered from three main issues since 6.2 rewrite: * The "step" installer was re-used for recovery and installation * The routing logic was server based and threw lots of redirects which lead to redirect loops * The Controller/Action class structure was weird and hard to understand The patch solves this with a rather huge rewrite: * There are two request handlers: One for the Installer, one for the install tool. * A simple list of controllers. One InstallerController for the step installer, the others for the main module points of the install tool and a Login and a Layout controller. * Single action code is moved into controllers. * Both tool and installer first load only a <head> section that contain JS references. All other calls are ajax based and the routing is done JS side. * Installer and install tool no longer share controller code or templates, the installer can potentially be fully extracted from ext:install in another step. * Installer.js is the "walk through installation" module of the installer. * Router.js is the routing module for the install tool, all tool ajax requests get specific urls from this module and hand over errors to the Router. * Error handling is handled on JS side: If for instance the login session expires and user clicks elsewhere, a 403 response is returned which is handled by JS to route to login. This is also the place where a recovery can hook in later. * The silent configuration updater is executed again which was removed during one of the previous master patches. * The template structure is much easier. * Various card content which has been calculated when loading the card layout is moved to the ajax code for single card content. That increases the performance of the main module points and makes them pretty snappy. Change-Id: Ib40f40acba17bb47142c0da1bcfb389ab9b4b3a1 Resolves: #82504 Releases: master Reviewed-on: https://review.typo3.org/54128 Tested-by:Stefan Neufeind <typo3.neufeind@speedpartner.de> Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Mona Muzaffar <mona.muzaffar@gmx.de> Tested-by:
Mona Muzaffar <mona.muzaffar@gmx.de> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org>
Showing
- typo3/sysext/core/Classes/Configuration/ConfigurationManager.php 4 additions, 0 deletions...ysext/core/Classes/Configuration/ConfigurationManager.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 0 additions, 2 deletionstypo3/sysext/core/Configuration/DefaultConfiguration.php
- typo3/sysext/core/Configuration/DefaultConfigurationDescription.yaml 0 additions, 6 deletions...t/core/Configuration/DefaultConfigurationDescription.yaml
- typo3/sysext/core/Configuration/FactoryConfiguration.php 0 additions, 2 deletionstypo3/sysext/core/Configuration/FactoryConfiguration.php
- typo3/sysext/install/Classes/Controller/AbstractController.php 30 additions, 116 deletions.../sysext/install/Classes/Controller/AbstractController.php
- typo3/sysext/install/Classes/Controller/Action/AbstractAction.php 0 additions, 205 deletions...sext/install/Classes/Controller/Action/AbstractAction.php
- typo3/sysext/install/Classes/Controller/Action/ActionInterface.php 0 additions, 76 deletions...ext/install/Classes/Controller/Action/ActionInterface.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/AbstractAjaxAction.php 0 additions, 64 deletions...all/Classes/Controller/Action/Ajax/AbstractAjaxAction.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/ChangeInstallToolPassword.php 0 additions, 66 deletions...sses/Controller/Action/Ajax/ChangeInstallToolPassword.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/ClearAllCache.php 0 additions, 51 deletions.../install/Classes/Controller/Action/Ajax/ClearAllCache.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/ClearTablesClear.php 0 additions, 53 deletions...stall/Classes/Controller/Action/Ajax/ClearTablesClear.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/ClearTablesStats.php 0 additions, 39 deletions...stall/Classes/Controller/Action/Ajax/ClearTablesStats.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/ClearTypo3tempFiles.php 0 additions, 60 deletions...ll/Classes/Controller/Action/Ajax/ClearTypo3tempFiles.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateAbstract.php 0 additions, 95 deletions...all/Classes/Controller/Action/Ajax/CoreUpdateAbstract.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateActivate.php 0 additions, 36 deletions...all/Classes/Controller/Action/Ajax/CoreUpdateActivate.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateCheckPreConditions.php 0 additions, 36 deletions...s/Controller/Action/Ajax/CoreUpdateCheckPreConditions.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateDownload.php 0 additions, 36 deletions...all/Classes/Controller/Action/Ajax/CoreUpdateDownload.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php 0 additions, 100 deletions...es/Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateMove.php 0 additions, 36 deletions...install/Classes/Controller/Action/Ajax/CoreUpdateMove.php
- typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateUnpack.php 0 additions, 36 deletions...stall/Classes/Controller/Action/Ajax/CoreUpdateUnpack.php
Please register or sign in to comment