[!!!][TASK] New local configuration handling
authorHelge Funk <helge.funk@e-netconsulting.com>
Mon, 2 Jul 2012 16:25:32 +0000 (18:25 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Fri, 20 Jul 2012 07:24:12 +0000 (09:24 +0200)
commit7f1fa4f9f193341419ead2a0931e57a73d0eeb50
treea996263b851bab09a635e72c3db8994878e5b401
parente85ff7b6c6cf373223beb0879e9ea2e4cb3f221b
[!!!][TASK] New local configuration handling

This patch removes the file typo3conf/localconf.php and introduces
a new file called typo3conf/LocalConfiguration.php instead. The file
returns the local overrides of the TYPO3_CONF_VARS default array,
which is merged with the default array during bootstrap.

An upgrade wizard transfers the settings from localconf to the new
file. As an effect, the LocalConfiguration file is now fully under
core control. There must be no additional custom code in it. If an
instance needs such code, it can be added to a second file called
typo3conf/AdditionalConfiguration.php, which is executed as is
during bootstrap after LocalConfiguration was read.

This enables us to store the local configuration as an array,
exports the file with a clear schema.

Furthermore, the list of loaded extensions (extList) is now stored
as an array (extListArray). The old comma separated extList string is
still kept for now, but core usage is adapted to use extListArray. The
old extList string is still written and maintained, but is only kept
for extensions for backwards compatibility.

Important notes:
- Frontend, backend, cli and install tool must still come up, even
  if the upgrade wizard was not run, yet.
- The variables '$typo3_db_*' that where in localconf.php are now
  merged with the TYPO3_CONF_VARS. The upgrade wizard should find
  and transfer them.
- The settings in install tool -> Basic Configuration are currently
  broken. This would have made the patch even bigger, and must be
  fixed with an additional patch.
- It is advised to run the update wizard as soon as possible after
  this patch is merged, it will be the first wizard in the line.
- Some follow ups for dbal and probably workspaces are still needed.
- Currently the 1-2-3 install wizards are broken. The dummy and
  other packages need some love to adapt to the new handling.

If some of the above problems are not solved until 6.0
stabilizes, this patch needs to be reverted again.

Change-Id: I3bf6a176117f501946123b921b6d2f1932627270
Resolves: #38562
Release: 6.0
Reviewed-on: http://review.typo3.org/12519
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
32 files changed:
NEWS.txt
t3lib/class.t3lib_autoloader.php
t3lib/class.t3lib_configuration.php [new file with mode: 0644]
t3lib/class.t3lib_extmgm.php
t3lib/core_autoload.php
t3lib/stddb/DefaultConfiguration.php [new file with mode: 0644]
t3lib/stddb/DefaultSettings.php [deleted file]
t3lib/utility/class.t3lib_utility_array.php
tests/Unit/t3lib/class.t3lib_ConfigurationTest.php [new file with mode: 0644]
tests/Unit/t3lib/class.t3lib_autoloaderTest.php
tests/Unit/t3lib/class.t3lib_extmgmTest.php
tests/Unit/t3lib/utility/class.t3lib_utility_arrayTest.php
tests/Unit/typo3/Classes/Bootstrap/BaseSetupTest.php
typo3/classes/Bootstrap.php
typo3/classes/Bootstrap/BaseSetup.php
typo3/cli_dispatch.phpsh
typo3/init.php
typo3/install/index.php
typo3/sysext/cms/tslib/index_ts.php
typo3/sysext/em/classes/extensions/class.tx_em_extensions_list.php
typo3/sysext/em/classes/index.php
typo3/sysext/em/classes/install/class.tx_em_install.php
typo3/sysext/install/Classes/Updates/Base.php
typo3/sysext/install/Resources/Private/Templates/SetupGeneral.html
typo3/sysext/install/ext_localconf.php
typo3/sysext/install/mod/class.tx_install.php
typo3/sysext/install/updates/class.tx_coreupdates_charsetdefaults.php
typo3/sysext/install/updates/class.tx_coreupdates_compatversion.php
typo3/sysext/install/updates/class.tx_coreupdates_localconfiguration.php [new file with mode: 0644]
typo3/sysext/install/updates/class.tx_coreupdates_statictemplates.php
typo3/sysext/install/updates/class.tx_coreupdates_t3skin.php
typo3/sysext/saltedpasswords/classes/class.tx_saltedpasswords_autoloader.php