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.