Deprecation: #86207 - Protected tstemplate extension

See forge#86207

Description

To allow refactoring of the Web -> Template module in TYPO3 v10, the involved controller classes have been disentangled and better encapsulated:

  • Class TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController does not extend TYPO3\CMS\Backend\Module\BaseScriptClass anymore

  • Class TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController does not extend TYPO3\CMS\Backend\Module\AbstractFunctionModule anymore

  • Class TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController does not extend TYPO3\CMS\Backend\Module\AbstractFunctionModule anymore

  • Class TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController does not extend TYPO3\CMS\Backend\Module\AbstractFunctionModule anymore

  • Class TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController does not extend TYPO3\CMS\Backend\Module\AbstractFunctionModule anymore

Setting an instance of class TypoScriptTemplateModuleController as global object $GLOBALS['SOBE'] has been marked as deprecated and will be removed in TYPO3 v10.

The following class properties have been set from public to protected and will not be accessible in TYPO3 v10 anymore:

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->textExtensions

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->pageinfo

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->id

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->modTSconfig

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->content

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->extObj

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->access

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->perms_clause

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->extClassConf

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->edit

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->modMenu_type

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->MCONF

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->CMD

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController->sObj

  • TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->pObj

  • TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->function_key

  • TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->extClassConf

  • TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController->localLangFile

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->pObj

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->function_key

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->extClassConf

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateConstantEditorModuleFunctionController->localLangFile

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->pObj

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->function_key

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->extClassConf

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->localLangFile

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateInformationModuleFunctionController->tce_processed

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->pObj

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->function_key

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->extClassConf

  • TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController->localLangFile

The following class methods have been set from public to protected and will not be accessible in TYPO3 v10 anymore:

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->getExternalItemConfig()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->init()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->clearCache()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->main()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->setInPageArray()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->menuConfig()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->mergeExternalItems()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->handleExternalFunctionValue()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->checkExtObj()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->extObjContent()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->getExtObjContent()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->checkSubExtObj()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateModuleController->extObjHeader()

  • TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllerinitialize_editor()

  • TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllermodMenu()

  • TYPO3CMSTstemplateControllerTemplateAnalyzerModuleFunctionControllerhandleExternalFunctionValue()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateConstantEditorModuleFunctionControllerinitialize_editor()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateConstantEditorModuleFunctionControllerhandleExternalFunctionValue()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllerinitialize_editor()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllertableRowData()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateInformationModuleFunctionControllerhandleExternalFunctionValue()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllerinitialize_editor()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllermodMenu()

  • TYPO3CMSTstemplateControllerTypoScriptTemplateObjectBrowserModuleFunctionControllerhandleExternalFunctionValue()

Impact

If an extension accesses one of the above protected properties or calls one of the above protected methods, a E_USER_DEPRECATED error will be triggered.

Affected Installations

There are not many extensions that extend the tstemplate extension with own modules, it is relatively unlikely that instances are affected by this.

Migration

If extending the tstemplate module with an own extension, the extension should be adapted to not call the above methods or properties any longer. Most usages can be easily adapted, for instance to retrieve the current page id, use GeneralUtility::_GP('id') instead of $this->pObj->id.