[TASK] Mark ExtJS related API calls as deprecated 95/51795/3
authorBenni Mack <benni@typo3.org>
Wed, 22 Feb 2017 09:28:44 +0000 (10:28 +0100)
committerWouter Wolters <typo3@wouterwolters.nl>
Tue, 28 Feb 2017 07:47:33 +0000 (08:47 +0100)
ExtensionManagementUtility::addExtJSModule
and ExtensionManagementUtility::registerExtDirectComponent
are marked as deprecated, however, as the latter is still
in use, it does not trigger a deprecation log message yet,
but it should be clear for Extension Developers to not depend
on that method anymore.

Resolves: #80048
Releases: master
Change-Id: If8a14d75c8117e9325d2fff0d5c696e967ec873b
Reviewed-on: https://review.typo3.org/51795
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-80048-MarkExtJSRelatedAPICallsAsDeprecated.rst [new file with mode: 0644]

index c362f1c..db407e8 100644 (file)
@@ -831,9 +831,11 @@ class ExtensionManagementUtility
      * @param string $position Passed to \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule, see reference there
      * @param array $moduleConfiguration Icon with array keys: access, icon, labels to configure the module
      * @throws \InvalidArgumentException
      * @param string $position Passed to \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule, see reference there
      * @param array $moduleConfiguration Icon with array keys: access, icon, labels to configure the module
      * @throws \InvalidArgumentException
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9, use addModule instead for a regular module, as ExtJS usage is discouraged,
      */
     public static function addExtJSModule($extensionName, $mainModuleName, $subModuleName = '', $position = '', array $moduleConfiguration = [])
     {
      */
     public static function addExtJSModule($extensionName, $mainModuleName, $subModuleName = '', $position = '', array $moduleConfiguration = [])
     {
+        GeneralUtility::logDeprecatedFunction();
         if (empty($extensionName)) {
             throw new \InvalidArgumentException('The extension name must not be empty', 1325938973);
         }
         if (empty($extensionName)) {
             throw new \InvalidArgumentException('The extension name must not be empty', 1325938973);
         }
@@ -969,6 +971,7 @@ class ExtensionManagementUtility
      * @param string $moduleName Optional: must be <mainmodule> or <mainmodule>_<submodule>
      * @param string $accessLevel Optional: can be 'admin' or 'user,group'
      * @return void
      * @param string $moduleName Optional: must be <mainmodule> or <mainmodule>_<submodule>
      * @param string $accessLevel Optional: can be 'admin' or 'user,group'
      * @return void
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9
      */
     public static function registerExtDirectComponent($endpointName, $callbackClass, $moduleName = null, $accessLevel = null)
     {
      */
     public static function registerExtDirectComponent($endpointName, $callbackClass, $moduleName = null, $accessLevel = null)
     {
@@ -1096,7 +1099,7 @@ class ExtensionManagementUtility
      * @param string $componentId
      * @param string $extensionKey
      * @throws \RuntimeException
      * @param string $componentId
      * @param string $extensionKey
      * @throws \RuntimeException
-     *@return void
+     * @return void
      */
     public static function addNavigationComponent($module, $componentId, $extensionKey = null)
     {
      */
     public static function addNavigationComponent($module, $componentId, $extensionKey = null)
     {
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-80048-MarkExtJSRelatedAPICallsAsDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-80048-MarkExtJSRelatedAPICallsAsDeprecated.rst
new file mode 100644 (file)
index 0000000..c915d31
--- /dev/null
@@ -0,0 +1,41 @@
+.. include:: ../../Includes.txt
+
+================================================================
+Deprecation: #80048 - Mark ExtJS related API calls as deprecated
+================================================================
+
+See :issue:`80048`
+
+Description
+===========
+
+The usage of ExtJS has been marked as deprecated. Therefore the following methods of :php:`ExtensionManagementUtility` have been marked as deprecated:
+
+- :php:`addExtJSModule`
+- :php:`registerExtDirectComponent`
+
+
+Impact
+======
+
+Calling any of the PHP methods will trigger a deprecation log entry.
+
+
+Affected Installations
+======================
+
+Any TYPO3 installation working with custom extensions that use any of these  methods.
+
+
+Migration
+=========
+
+All of the functionality is obsolete or outdated and should be handled differently from now on:
+
+1. Use :php:`ExtensionManagementUtility::addModule` instead of :php:`addExtJSModule`.
+
+2. Some ajax routes_ instead of ExtDirect.
+
+.. _routes: https://docs.typo3.org/typo3cms/InsideTypo3Reference/CoreArchitecture/Backend/Routing/Index.html
+
+.. index:: Backend, PHP-API