[FEATURE] Refactor TCA handling 52/18452/5
authorChristian Kuhn <lolli@schwarzbu.ch>
Thu, 14 Feb 2013 12:50:45 +0000 (13:50 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 28 Feb 2013 09:03:42 +0000 (10:03 +0100)
commit60117b50a7ad22ba2be2c2b1c1b282bc3649fd02
treeaffa057d6e528f9fd1408f89f5cf7bdb2f77632f
parent53fd8b27ab0382f2e46316c5b608f99092d44f5f
[FEATURE] Refactor TCA handling

This patch refactors TCA handling especially in the frontend to
a new codebase, making it more easy to work with, removing
developer headaches, without significant performance impact:

* In FE, full TCA is always loaded and cached after first call
to a core cache disk. ext_tables are not executed on every call.
* In BE, intermediate TCA is cached, rendering the dynamicConfigFile
setting useless. The destinction between 'ctrl' and 'columns' is
gone.
* TCA files should now be located at
ext:extensionname/Configuration/TCA/tablename.php' and should return
an array with the TCA for the table specified by the filename. On
first access, those files are read and cached. 'ctrl' sections from
ext_tables.php can be removed completly.
* TSFE->includeTCA(), TSFE->getCompressedTCarray() and
GeneralUtility:loadTca() are obsolete and deprecated.
* Extensions not using the new TCA load scheme have a compatibility
layer in ext_tables.php to resolve 'dynamicConfigFile' directly after
a specific extensions ext_tables.php file was loaded, so the next one
can already manipulate it with ExtensionManagementUtility methods.
* t3lib/stddb is gone, all files are merged to core.

Resolves: #45767
Releases: 6.1
Change-Id: I50ebe00c80b9b58ded0586637c85e0f495a63dad
Reviewed-on: https://review.typo3.org/18452
Tested-by: Soren Malling
Tested-by: Mattias Nilsson
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Felix Kopp
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
125 files changed:
t3lib/class.t3lib_userauthgroup.php
t3lib/stddb/DefaultConfiguration.php [deleted file]
t3lib/stddb/tables.php [deleted file]
t3lib/stddb/tables.sql [deleted file]
t3lib/stddb/tbl_be.php [deleted file]
t3lib/stddb/tbl_pages.php [deleted file]
t3lib/stddb/tca_sys_category.php [deleted file]
t3lib/stddb/tca_sys_file.php [deleted file]
t3lib/stddb/tca_sys_file_collection.php [deleted file]
t3lib/stddb/tca_sys_file_reference.php [deleted file]
t3lib/stddb/tca_sys_file_storage.php [deleted file]
typo3/init.php
typo3/show_item.php
typo3/sysext/backend/Classes/Configuration/TranslationConfigurationProvider.php
typo3/sysext/backend/Classes/Controller/ContentElement/ElementInformationController.php
typo3/sysext/backend/Classes/Controller/ContentElement/NewContentElementController.php
typo3/sysext/backend/Classes/Controller/PageLayoutController.php
typo3/sysext/backend/Classes/Controller/Wizard/EditController.php
typo3/sysext/backend/Classes/Form/DataPreprocessor.php
typo3/sysext/backend/Classes/Form/Element/InlineElement.php
typo3/sysext/backend/Classes/Form/Element/SuggestElement.php
typo3/sysext/backend/Classes/Form/FormEngine.php
typo3/sysext/backend/Classes/History/RecordHistory.php
typo3/sysext/backend/Classes/RecordList/ElementBrowserRecordList.php
typo3/sysext/backend/Classes/Search/LiveSearch/LiveSearch.php
typo3/sysext/backend/Classes/Tree/View/AbstractTreeView.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/backend/Classes/Utility/IconUtility.php
typo3/sysext/backend/Classes/View/PageLayoutView.php
typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
typo3/sysext/cms/Configuration/TCA/backend_layout.php [new file with mode: 0644]
typo3/sysext/cms/Configuration/TCA/fe_groups.php [new file with mode: 0644]
typo3/sysext/cms/Configuration/TCA/fe_users.php [new file with mode: 0644]
typo3/sysext/cms/Configuration/TCA/pages_language_overlay.php [new file with mode: 0644]
typo3/sysext/cms/Configuration/TCA/sys_domain.php [new file with mode: 0644]
typo3/sysext/cms/Configuration/TCA/sys_template.php [new file with mode: 0644]
typo3/sysext/cms/Configuration/TCA/tt_content.php [new file with mode: 0644]
typo3/sysext/cms/ext_tables.php
typo3/sysext/cms/tbl_cms.php [deleted file]
typo3/sysext/cms/tbl_tt_content.php [deleted file]
typo3/sysext/cms/tslib/index_ts.php
typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
typo3/sysext/core/Classes/Category/Collection/CategoryCollection.php
typo3/sysext/core/Classes/Collection/AbstractRecordCollection.php
typo3/sysext/core/Classes/Configuration/ConfigurationManager.php
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/Database/QueryGenerator.php
typo3/sysext/core/Classes/Database/QueryView.php
typo3/sysext/core/Classes/Database/ReferenceIndex.php
typo3/sysext/core/Classes/Database/RelationHandler.php
typo3/sysext/core/Classes/FrontendEditing/FrontendEditingController.php
typo3/sysext/core/Classes/Integrity/DatabaseIntegrityCheck.php
typo3/sysext/core/Classes/Resource/Driver/DriverRegistry.php
typo3/sysext/core/Classes/Tree/TableConfiguration/TreeDataProviderFactory.php
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Classes/Utility/GeneralUtility.php
typo3/sysext/core/Classes/Utility/RootlineUtility.php
typo3/sysext/core/Configuration/DefaultConfiguration.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/be_groups.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/be_users.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/pages.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_category.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_collection.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_file.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_file_collection.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_file_reference.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_file_storage.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_filemounts.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_history.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_language.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_log.php [new file with mode: 0644]
typo3/sysext/core/Configuration/TCA/sys_news.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Core/BootstrapTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Core/ClassLoaderTest.php
typo3/sysext/core/Tests/Unit/Utility/ExtensionMangementUtilityTest.php
typo3/sysext/core/Tests/Unit/Utility/Fixtures/RuntimeException.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
typo3/sysext/core/ext_tables.php [new file with mode: 0644]
typo3/sysext/core/ext_tables.sql [new file with mode: 0644]
typo3/sysext/cshmanual/Classes/Controller/HelpModuleController.php
typo3/sysext/css_styled_content/Classes/Controller/CssStyledContentController.php
typo3/sysext/css_styled_content/ext_tables.php
typo3/sysext/extensionmanager/Configuration/TCA/Extension.php [deleted file]
typo3/sysext/extensionmanager/Configuration/TCA/Repository.php [deleted file]
typo3/sysext/extensionmanager/Configuration/TCA/tx_extensionmanager_domain_model_extension.php [new file with mode: 0644]
typo3/sysext/extensionmanager/Configuration/TCA/tx_extensionmanager_domain_model_repository.php [new file with mode: 0644]
typo3/sysext/extensionmanager/ext_tables.php
typo3/sysext/felogin/ext_tables.php
typo3/sysext/form/ext_tables.php
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
typo3/sysext/frontend/Classes/Page/PageRepository.php
typo3/sysext/frontend/Classes/Utility/EidUtility.php
typo3/sysext/frontend/Classes/View/AdminPanelView.php
typo3/sysext/impexp/Classes/ImportExport.php
typo3/sysext/indexed_search/Configuration/TCA/index_config.php [new file with mode: 0644]
typo3/sysext/indexed_search/ext_tables.php
typo3/sysext/indexed_search/tca.php [deleted file]
typo3/sysext/install/Classes/Installer.php
typo3/sysext/install/Classes/Updates/InitUpdateWizard.php
typo3/sysext/lang/locallang_csh_em.xlf
typo3/sysext/lowlevel/Classes/CleanFlexformCommand.php
typo3/sysext/lowlevel/Classes/View/ConfigurationView.php
typo3/sysext/openid/ext_tables.php
typo3/sysext/recordlist/Classes/RecordList/AbstractDatabaseRecordList.php
typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php
typo3/sysext/rsaauth/Configuration/TCA/tx_rsaauth_keys.php [new file with mode: 0644]
typo3/sysext/rsaauth/ext_tables.php [deleted file]
typo3/sysext/rtehtmlarea/Configuration/TCA/tx_rtehtmlarea_acronym.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/ext_tables.php
typo3/sysext/rtehtmlarea/hooks/softref/ext_tables.php
typo3/sysext/rtehtmlarea/tca.php [deleted file]
typo3/sysext/saltedpasswords/ext_tables.php
typo3/sysext/statictemplates/ext_tables.php
typo3/sysext/statictemplates/media/scripts/fe_adminLib.inc
typo3/sysext/sys_action/Configuration/TCA/sys_action.php [new file with mode: 0755]
typo3/sysext/sys_action/ext_tables.php
typo3/sysext/sys_action/tca.php [deleted file]
typo3/sysext/sys_note/Configuration/TCA/SysNote.php [deleted file]
typo3/sysext/sys_note/Configuration/TCA/sys_note.php [new file with mode: 0644]
typo3/sysext/sys_note/ext_tables.php
typo3/sysext/t3editor/ext_tables.php
typo3/sysext/t3skin/ext_tables.php
typo3/sysext/tstemplate_info/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php