[TASK] Deprecate ExtensionManagementUtility::loadNewTcaColumnsConfigFiles 17/43917/5
authorNicole Cordes <typo3@cordes.co>
Thu, 8 Oct 2015 21:10:43 +0000 (23:10 +0200)
committerWouter Wolters <typo3@wouterwolters.nl>
Thu, 8 Oct 2015 21:41:06 +0000 (23:41 +0200)
To enforce developer to move TCA configuration to files in
<extension>/Configuration/TCA the function to include a dynamicConfigFile
in the 'ctrl' section of a table is deprecated now.

Resolves: #70514
Releases: master
Change-Id: I9a3d7db6858ab2305317ebb8b38f32426cdce649
Reviewed-on: http://review.typo3.org/43917
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-70514-DynamigConfigFile.rst [new file with mode: 0644]

index 47f8a45..6089f81 100644 (file)
@@ -1894,6 +1894,7 @@ tt_content.' . $key . $suffix . ' {
         * @return void
         * @throws \RuntimeException
         * @internal Internal use ONLY. It is called by cache files and can not be protected. Do not call yourself!
+        * @deprecated since TYPO3 CMS 7, will be removed in TYPO3 CMS 8. Table definition should be moved to <your_extension>/Configuration/TCA/<table_name>
         */
        static public function loadNewTcaColumnsConfigFiles() {
                global $TCA;
@@ -1902,6 +1903,7 @@ tt_content.' . $key . $suffix . ' {
                        if (!isset($TCA[$tableName]['columns'])) {
                                $columnsConfigFile = $TCA[$tableName]['ctrl']['dynamicConfigFile'];
                                if ($columnsConfigFile) {
+                                       GeneralUtility::logDeprecatedFunction();
                                        if (GeneralUtility::isAbsPath($columnsConfigFile)) {
                                                include($columnsConfigFile);
                                        } else {
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-70514-DynamigConfigFile.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-70514-DynamigConfigFile.rst
new file mode 100644 (file)
index 0000000..887724c
--- /dev/null
@@ -0,0 +1,28 @@
+=====================================================
+Deprecation: #70514 - dynamicConfigFile is deprecated
+=====================================================
+
+Description
+===========
+
+The ``TCA`` configuration ``dynamicConfigFile`` within the ``ctrl`` section of a table has been deprecated and
+must not be used any longer.
+
+
+Impact
+======
+
+Using ``dynamicConfigFile`` within the ``ctrl`` section of a table will result in a deprecation log entry.
+
+
+Migration
+=========
+
+The setting is typically used in ``ext_tables.php`` files of extensions. The table configuration (``TCA``) must be moved to an own
+file in ``Configuration/TCA/<table_name>.php``. The ``dynamicConfigFile`` setting isn't needed anymore since the whole ``TCA`` array
+definition is in this file.
+
+Furthermore, any other ``TCA`` manipulation of third party tables must be moved to ``Configuration/TCA/Overrides`` and no ``TCA``
+setting must remain in ``ext_tables.php``. This is highly encouraged since TYPO3 CMS 6.2 already for performance reasons. If
+this change is not applied to extensions, extension ``compatibility6`` must be loaded or further migration may not be applied
+to this portion of ``TCA`` leading to all sorts of possible issues.