Task #49162
Rewrite install tool
Status: | Resolved | Start date: | 2011-10-30 | ||
---|---|---|---|---|---|
Priority: | Should have | Due date: | |||
Assigned To: | - | % Done: | 93% |
||
Category: | Install Tool | Spent time: | - | ||
Target version: | 6.2.0 | ||||
TYPO3 Version: | 6.2 | Complexity: | nightmare | ||
PHP Version: | 5.4 | Sprint Focus: |
Subtasks
Related issues
Associated revisions
[!!!][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.
- 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
[TASK] Remove duplicate vera.ttf from ext:core
vera.ttf is a font only used in the install tool, it was duplicated
to ext:install with the rewrite patch, but forgotten to be removed
from ext:core along the way. The file is removed from ext:core now
to finish the process.
Change-Id: Ibeb8a459655d51b0d5fd5269060c0a36b47b85fc
Resolves: #49261
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21512
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Install tool: Code optimization in update wizard action
An if with only a 'throw Exception' call in it breaks code execution
and acts as a guard clause. The code below does not need to be in
an else case.
Change-Id: Ib24ed4bee06763fb46145b815a0b6f3fdf7bafa6
Resolves: #49263
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21515
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Use userInput instead of own broken method
The user data from form post submit is broken after install tool
rewrite. Instead of using own method to gather data changed to
the userInput variable that is set by the calling action.
Resolves: #49260
Related: #49162
Related: #49258
Releases: 6.2
Change-Id: I2ce0b5e4bfcb0ef013039297a9186f0f59413b31
Reviewed-on: https://review.typo3.org/21511
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Install tool: Warning in upgrade wizard
The 'silent' cache framework table upgrade throws a warning that
explode() expects a string but an array is given in
SqlSchemaMigration getStatementArray(). The upgrade wizard uses
a wrong API call, since this method is already called within
getExpectedDatabaseSchema() of the helper class.
Change-Id: I6cdde020265e730faa07a25ebda41917672ccea7
Resolves: #49265
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21516
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Install tool: Check xdebug.max_nesting_level
If PHP xdebug extension is loaded, TYPO3 CMS can fail with the
xdebug.max_nesting_level default value of 100. This is easily
triggered by fluid, and since we have fluid in the install tool
we need a check that gives an administrator a nice warning if the
nesting level is not set high enough for our demands.
Change-Id: I4812e7f47b04219d380d7454d51b2e6b74436b6d
Resolves: #49298
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21549
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Install tool: Remove obsolete keys from LocalConfiguration
Some configuration settings are obsolete, but they have never been
actively removed from LocalConfiguration. The patch introduces a
list of obsolete configuration options (like SYS/extCache) to the
install tool step controller and silently removes those settings
from LocalConfiguration to keep it clean. This also obsoletes
some deprecation code within core bootstrap.
Change-Id: Id422801f5bbedc0f444a0d905bdbb7d736fd82e8
Resolves: #49299
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21553
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Reports module link to Install Tool section is incorrect
Change the module name in the link and add a new label to
mention the new section name Important Actions.
Change-Id: I75b0698efd759d5a2f679ecceba059f8a8975876
Resolves: #49352
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21613
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] Reports Module links to the standalone install tool
Link to the backend module instead of the standalone version.
Change-Id: Icf32b91c1fe6edb2b3fa313c865441a1edc3a731
Resolves: #49353
Related: #49162
Releases: 6.2
Reviewed-on: https://review.typo3.org/21616
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
[TASK] Install steps: Load saltedpasswords and rsaauth
Change factory configuration to include settings for saltedpasswords
and rsaauth so they are loaded by default if installation is
completed. PhpPass is used as default salt algorithm since this
is a better than salted md5 and has no additional system
depencies.
Resolves: #49694
Related: #49162
Releases: 6.2
Change-Id: Ib01628dc2cb80082e8dbd3a5f6c1f24cc5aae589
Reviewed-on: https://review.typo3.org/21924
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[TASK] Database analyzer: Enable add tables and add fields
Enable the check boxes for 'add tables' and 'add fields' in the
database analyzer by default. Adding is not risky and can be
suggested automatically.
Resolves: #49705
Related: #49162
Releases: 6.2
Change-Id: Ib3069a135f4baedc2bebf59ed5c42a72937fb897
Reviewed-on: https://review.typo3.org/21943
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] Folder structure honors file and folderCreateMask
The folder structure class construct takes care of permissions
of files and folders. The patch adds support for config values
fileCreateMask and folderCreateMask.
Resolves: #49715
Related: #49162
Releases: 6.2
Change-Id: I9f41ba7f038992ef77cf212229fca524e346431f
Reviewed-on: https://review.typo3.org/21971
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Support mysql socket connection
With the switch to mysqli in 6.1, the connection to mysql server via
socket broke.
- If hostname is "localhost", a socket is used and the socket file
can be given optionally if it is different from the default. - If hostname is not "localhost" but an IP address, a port can be
given that may be different from the default mysql 3306.
The patch now reflects this in the database connect step and adds a
parameter for the optional socket location. The patch will be adapted
for 6.1 to include only the additional optional socket parameter.
Resolves: #48117
Related: #49162
Releases: 6.2, 6.1
Change-Id: I968a72dbaf90b3f319c03e697137630534d325c1
Reviewed-on: https://review.typo3.org/20933
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Cleanup permission settings in factory configuration
DefaultConfiguration now contains sane values for fileCreateMask
and folderCreateMask, so the values from FactoryConfiguration
can be removed.
Resolves: #49732
Related: #49162
Releases: 6.2
Change-Id: I7225648cebad697850fd2a728c021ad4ffe80b88
Reviewed-on: https://review.typo3.org/22012
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] System information looks ugly
Install tool -> important actions -> system information does
not break correctly on the definition list. Adapt css a bit.
Resolves: #49748
Related: #49162
Releases: 6.2
Change-Id: Ia2f1c5e4152c238e9c53fb383588fd12d72df1d8
Reviewed-on: https://review.typo3.org/22053
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
History
#1 Updated by Gerrit Code Review about 2 years ago
- Status changed from New to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#2 Updated by Gerrit Code Review about 2 years ago
Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#3 Updated by Gerrit Code Review about 2 years ago
Patch set 3 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#4 Updated by Gerrit Code Review about 2 years ago
Patch set 4 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#5 Updated by Gerrit Code Review about 2 years ago
Patch set 5 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#6 Updated by Gerrit Code Review about 2 years ago
Patch set 6 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#7 Updated by Gerrit Code Review about 2 years ago
Patch set 7 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#8 Updated by Gerrit Code Review about 2 years ago
Patch set 8 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#9 Updated by Gerrit Code Review about 2 years ago
Patch set 9 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#10 Updated by Gerrit Code Review about 2 years ago
Patch set 10 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#11 Updated by Gerrit Code Review about 2 years ago
Patch set 11 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#12 Updated by Gerrit Code Review about 2 years ago
Patch set 12 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#13 Updated by Gerrit Code Review about 2 years ago
Patch set 13 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#14 Updated by Gerrit Code Review about 2 years ago
Patch set 14 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#15 Updated by Gerrit Code Review about 2 years ago
Patch set 15 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/21468
#16 Updated by Christian Kuhn about 2 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 2e3c9d5e25e5beadafebca949de3e05eeb6f120a.