[!!!][TASK] Remove deprecated code from TableController
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / 9.5 / Deprecation-86210-ProtectedInfoExtension.rst
1 .. include:: ../../Includes.txt
2
3 ==============================================
4 Deprecation: #86210 - Protected info extension
5 ==============================================
6
7 See :issue:`86210`
8
9 Description
10 ===========
11
12 To allow refactoring of the Web -> Info module in TYPO3 v10, the involved controller classes
13 have been disentangled and better encapsulated:
14
15 * Class :php:`TYPO3\CMS\Info\Controller\InfoModuleController`
16 does not extend :php:`TYPO3\CMS\Backend\Module\BaseScriptClass` anymore
17 * Class :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport`
18 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
19 * Class :php:`TYPO3\CMS\Info\Controller\PageInformationController`
20 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
21 * Class :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController`
22 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
23 * Class :php:`TYPO3\CMS\Info\Controller\TranslationStatusController`
24 does not extend :php:`TYPO3\CMS\Backend\Module\AbstractFunctionModule` anymore
25
26 Setting an instance of class :php:`InfoModuleController` as global object :php:`$GLOBALS['SOBE']`
27 has been marked as deprecated and will be removed in TYPO3 v10.
28
29 The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
30
31 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->perms_clause`
32 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modTSconfig`
33 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_setDefaultList`
34 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_dontValidateList`
35 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->modMenu_type`
36 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extClassConf`
37 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->extObj`
38 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->content`
39 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->pObj`
40 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->id`
41 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->CMD`
42 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->doc`
43 * :php:`TYPO3\CMS\Info\Controller\InfoModuleController->MCONF`
44 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->pObj`
45 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->doc`
46 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->function_key`
47 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extClassConf`
48 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->localLangFile`
49 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObj`
50 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->pObj`
51 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->function_key`
52 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->extClassConf`
53 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->localLangFile`
54 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObj`
55 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->pObj`
56 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->function_key`
57 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extClassConf`
58 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->localLangFile`
59 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObj`
60 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->pObj`
61 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->function_key`
62 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extClassConf`
63 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->localLangFile`
64 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObj`
65
66 The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:
67
68 * :php:`TYPO3CMSInfoControllerInfoModuleController->main()`
69 * :php:`TYPO3CMSInfoControllerInfoModuleController->init()`
70 * :php:`TYPO3CMSInfoControllerInfoModuleController->getModuleTemplate()`
71 * :php:`TYPO3CMSInfoControllerInfoModuleController->menuConfig()`
72 * :php:`TYPO3CMSInfoControllerInfoModuleController->handleExternalFunctionValue()`
73 * :php:`TYPO3CMSInfoControllerInfoModuleController->mergeExternalItems()`
74 * :php:`TYPO3CMSInfoControllerInfoModuleController->getExternalItemConfig()`
75 * :php:`TYPO3CMSInfoControllerInfoModuleController->extObjContent()`
76 * :php:`TYPO3CMSInfoControllerInfoModuleController->getExtObjContent()`
77 * :php:`TYPO3CMSInfoControllerInfoModuleController->checkExtObj()`
78 * :php:`TYPO3CMSInfoControllerInfoModuleController->extObjHeader()`
79 * :php:`TYPO3CMSInfoControllerInfoModuleController->checkSubExtObj()`
80 * :php:`TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport->extObjContent()`
81 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->modMenu()`
82 * :php:`TYPO3\CMS\Info\Controller\PageInformationController->extObjContent()`
83 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->modMenu()`
84 * :php:`TYPO3\CMS\Info\Controller\InfoPageTyposcriptConfigController->extObjContent()`
85 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getContentElementCount()`
86 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->getLangStatus()`
87 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->renderL10nTable()`
88 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->modMenu()`
89 * :php:`TYPO3\CMS\Info\Controller\TranslationStatusController->extObjContent()`
90
91
92 Impact
93 ======
94
95 If an extension accesses one of the above protected properties or calls one of the above protected methods,
96 a :php:`E_USER_DEPRECATED` error will be triggered.
97
98
99 Affected Installations
100 ======================
101
102 Various extensions extend the Web -> Info module. Those typically call
103 :php:`ExtensionManagementUtility::insertModuleFunction('web_info', ...)` in :file:`ext_tables.php` or
104 :file:`ext_localconf.php`. Those instances may need adaptions.
105
106
107 Migration
108 =========
109
110 If extending the `info` module with an own extension, the extension should be adapted to not call
111 the above methods or properties any longer. Most usages can be easily adapted, for instance
112 to retrieve the current page id, use :php:`GeneralUtility::_GP('id')` instead of :php:`$this->pObj->id`.
113
114 .. index:: Backend, PHP-API, NotScanned, ext:info