Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

TYPO3.CMS/Releases/7.4/Deprecation

From TYPO3Wiki
Jump to: navigation, search

Contents

Deprecation: #50349 - Reduce SQL queries of page tree in workspaces

Description

The performance of the calculation of versions of a record has been improved. Therefore the method \TYPO3\CMS\Backend\Utility::countVersionsOfRecordsOnPage() has been marked as deprecated and is being replaced with \TYPO3\CMS\Workspaces\Service\WorkspaceService::hasPageRecordVersions().

Impact

All calls to the PHP method will throw a deprecation warning.

Affected Installations

Instances which make use of \TYPO3\CMS\Backend\Utility::countVersionsOfRecordsOnPage()

Migration

Use \TYPO3\CMS\Workspaces\Service\WorkspaceService::hasPageRecordVersions() instead.

Deprecation: #63603 - ExtendedFileUtility::$dontCheckForUnique is deprecated

Description

The ExtendedFileUtility $dontCheckForUnique flag has been marked as deprecated and replaced by $fileUtility->setExistingFileConflictMode() with the possible options cancel, replace and changeName.

Impact

Extensions still using ExtendedFileUtility::$dontCheckForUnique will throw a deprecation warning.

Affected Installations

All installations with extensions that use ExtendedFileUtility::$dontCheckForUnique.

Migration

Change the $fileUtility->dontCheckForUnique = TRUE to $fileUtility->setExistingFileConflictMode('replace').

Deprecation: #63603 - FileController and FileListController overwriteExistingFiles changed to string value

Description

The GET/POST param to tell the FileController and FileListController whether to override a file or not switched from a bool value to a string with the possibilities cancel, replace and changeName.

Impact

Extensions still using overwriteExistingFiles = 1 will throw a deprecation warning.

Affected Installations

All installations with extensions that use the BE upload functionality and supply the file override option.

Migration

Change the <input name="overwriteExistingFiles" value="1"> to <input name="overwriteExistingFiles" value="replace">.

Deprecation: #63974 - Deprecate CSS compressor callback method

Description

The callback method compressCssPregCallback() as defined in EXT:core/Classes/Resource/ResourceCompressor.php has been marked as deprecated due to the overhauled regular expressions.

Impact

Usage of the mentioned method is discouraged and will break as of CMS 8.

Affected installations

All installations or extensions using the compressCssPregCallback() callback method.

Migration

No migration possible for the callback method.

Deprecation: #65790 - Remove pages.storage_pid and logic

Description

The DB field "pages.storage_pid" and its TCA definition have been moved to the compatibility6 extension as the field and its functionality is discouraged.

Additionally the method getStorageSiterootPids() within the PHP class TypoScriptFrontendController has been marked as deprecated. The method is currently only used if the Frontend Login plugin is used without setting a specific folder where the fe_users records are stored in.

Impact

Any usage of this field in any TypoScript, page or the usage of the method mentioned above in any third-party extension will only work if the compatibility6 extension is installed.

The Frontend Login functionality will throw a deprecation warning if the TypoScript option plugin.tx_felogin.storagePid (via TypoScript directly or the flexform configuration within the plugin) is not set.

Affected installations

All installations making use of storage_pid within the pages database table as well as installations using the Frontend Login plugin without having the storagePid option set.

Deprecation: #66904 - $disable Option in PageRepository->getExtURL()

Description

The second parameter $disable within PageRepository->getExtURL() has been marked as deprecated.

Affected Installations

Any installation using the method in a third-party extension above with using the second parameter set to true will throw a deprecation warning.

Migration

Check if redirects are enabled before the actual call to PageRepository->getExtURL() in a third-party extension.

Deprecation: #67288 - Deprecate DbalDatabaseConnection::MetaType() method

Description

The following public function has been marked as deprecated as the bugfix requires a signature change:

  • Dbal\DatabaseConnection->MetaType()

Impact

Using this function will throw a deprecation warning. Due to missing information the field type cache will be bypassed and the DBMS will be queried for the necessary information on each call.

Migration

Switch to getMetadata() and the field name for which you need the ADOdb MetaType information.

Deprecation: #67471 - Deprecate init.php

Description

In order to move all unneeded files from typo3/, the often used init.php has been deprecated in favor of using the bootstrap initialization code directly in the TYPO3 Backend.

Impact

All entry points from third-party extensions using init.php will now throw a deprecation warning.

Affected Installations

All instances having extensions that include init.php when not using the mod.php for modules or ajax calls.

Migration

Use the following code instead of the init.php inclusion if you still need custom entry points:

define('TYPO3_MODE', 'BE');

require __DIR__ . '/sysext/core/Classes/Core/Bootstrap.php';
\TYPO3\CMS\Core\Core\Bootstrap::getInstance()->run('typo3/');

If using a module, use the mod.php to register your own module.

Deprecation: #67506 - Deprecate IconUtility::getIcon

Description

The method IconUtility::getIcon() which was used for generating overlaid icons for records has been marked as deprecated.

Impact

All calls to the PHP method will throw a deprecation warning.

Affected Installations

Instances with third-party extensions modifying the TYPO3 Backend with a custom module or hook and calling IconUtility::getIcon().

Migration

Use IconUtility::getSpriteIconForRecord() instead.

Deprecation: #67670 - Deprecate custom singleton logic in GeneralUtility::getUserObj

Description

The functionality of instantiating classes only once by calling GeneralUtility::getUserObj($className) multiple times while having a $className that is prepended with a ampersand ("&") has been marked as deprecated.

An example of the deprecated behaviour in the ext_localconf.php of an extension:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['indexed_search']['pi1_hooks']['getResultRows_SQLpointer'] = '&amp;Acme\\MyExtension\\Hooks\\MysqlFulltextIndexHook';

Impact

Any calls to GeneralUtility::getUserObj() with a prefixed ampersand will throw a deprecation message.

Affected Installations

TYPO3 Instances with extensions that use getUserObj() themselves and/or use hooks built with getUserObj() and use references.

Migration

Check if the classes that hook into certain parts of your custom extensions really need to be referenced / instantiated once. If so, implement the SingletonInterface of the TYPO3 Core, so the underlying function GeneralUtility::makeInstance() will register the SingletonInterface only once.

The modified example from above now looks like this:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['indexed_search']['pi1_hooks']['getResultRows_SQLpointer'] = \Acme\MyExtension\Hooks\MysqlFulltextIndexHook::class;

While the class itself implements the SingletonInterface of the TYPO3 Core to only be instantiated once during a single request:

&lt;?php
namespace \Acme\MyExtension\Hooks;

class MysqlFulltextIndexHook implements \TYPO3\CMS\Core\Core\SingletonInterface {
    ...
}

Deprecation: #67737 - TCA: Drop additional palette

Description

The showitem string of TCA types allowed to define an "additional palette" as third semicolon separated name of a field. Such a palette was then rendered after the main field. This handling has been dropped and existing "additional palettes" were migrated to a "normal" palette definition directly after the field.

Before:

'types' => array(
    'aType' => array(
        'showitem' => 'aField;aLabel;anAdditionalPaletteName',
    ),
),

The behavior before was: If the field aField is rendered, then the palette anAdditionalPaletteName is rendered, too. This functionality has been dropped, the migrated field now looks like this:

'types' => array(
    'aType' => array(
        'showitem' => 'aField;aLabel, --palette--;;anAdditionalPaletteName',
    ),
),

A casual field name in showitem now only has a label override as additional information, like aField;aLabel, while a palette is referenced as --palette--;aLabel;paletteName.

Impact

All extensions that use "additional palette" syntax are migrated to the new syntax, but will throw a deprecation message.

The "additional palette" handling was sometimes misused as "poor-mans-access-control": If access to the main field was not allowed, the palette fields were not rendered either. This changed, the main field and the palette are decoupled, it may happen that additional fields are now rendered for users that should not have access to it. Adapting the exclude config definition of the palette fields and user or group access records is necessary in those cases.

Affected Installations

Extensions that use the "additional palette" handling.

Migration

An automatic migration is in place and logged to typo3conf/deprecation_*. The migration code will be dropped with TYPO3 CMS 8, a manual fix of the according showitem field is required, the deprecation log gives detailed information on how the definition should look like.

Deprecation: #67769 - Deprecate QueryGenerator::formatQ()

Description

The method QueryGenerator::formatQ() which was used to format a query string, has been marked as deprecated.

Impact

All calls to the PHP method will throw a deprecation warning.

Affected Installations

Instances which make use of QueryGenerator::formatQ().

Migration

No migration, use htmlspecialchars as alternative.

Deprecation: #67790 - Deprecate QueryGenerator::JSbottom()

Description

The method QueryGenerator::JSbottom() which was used to append JavaScript code has been marked as deprecated.

Impact

All calls to the PHP method will throw a deprecation warning.

Affected Installations

Instances which make use of QueryGenerator::JSbottom().

Migration

No migration, use requireJS modules and register the module through pageRenderer.

Deprecation: #67932 - Deprecated old rsaauth encryption API

Description

The rsaauth API has been rebuilt to be more generic. Therefore the Ajax Handler BackendLogin::getRsaPublicKey() has been marked as deprecated and the eID script FrontendLoginRsaPublicKey has been removed.

Affected Installations

Any installation using one of the entry points above in a third-party extension.

Migration

There is no reason to use the entry points on your own anymore. Please update your scripts to use the new rsaauth API. For backend requests you should use the provided ajax handler RsaEncryption::getRsaPublicKey(). For frontend request you should use the provided eID script RsaPublicKeyGenerationController.

Deprecation: #67991 - Removed ext:cms

Description

Extension cms has been removed. Most functionality has been moved to extension frontend with version 6.0 already. The rest of the files have now been moved to other extensions, extension cms does not exist anymore.

Impact

Language files from EXT:cms are moved to different places into the core. LLL:EXT:cms/... references are rewritten dynamically to the new file locations, but this fallback layer is subject to be removed with CMS 8.

Third party extensions that define a dependency to extension cms will get their dependency rewritten to core on the fly during extension installation as a compatibility layer.

Affected Installations

All 3rd party extensions using language labels from extension cms or defining a dependency to extension cms in ext_emconf.php.

Migration

Update the dependency constraint in ext_emconf.php of the affected extension. A typical substitution is a dependency to extension frontend.

Move the following references to the new location of the language file:

  • typo3/sysext/cms/web_info/locallang.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_webinfo.xlf
  • typo3/sysext/cms/locallang_ttc.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_ttc.xlf
  • typo3/sysext/cms/locallang_tca.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf
  • typo3/sysext/cms/layout/locallang_db_new_content_el.xlf -> typo3/sysext/backend/Resources/Private/Language/locallang_db_new_content_el.xlf
  • typo3/sysext/cms/layout/locallang.xlf -> typo3/sysext/backend/Resources/Private/Language/locallang_layout.xlf
  • typo3/sysext/cms/layout/locallang_mod.xlf -> typo3/sysext/backend/Resources/Private/Language/locallang_mod.xlf
  • typo3/sysext/cms/locallang_csh_webinfo.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_csh_webinfo.xlf
  • typo3/sysext/cms/locallang_csh_weblayout.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_csh_weblayout.xlf

Deprecation: #68074 - Deprecate getPageRenderer() methods

Description

The following public functions have been marked as deprecated as the instance they return is a singleton:

  • TYPO3\CMS\Backend\Controller\BackendController::getPageRenderer()
  • TYPO3\CMS\Backend\Template\DocumentTemplate::getPageRenderer()
  • TYPO3\CMS\Backend\Template\FrontendDocumentTemplate::getPageRenderer()
  • TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageRenderer()

Impact

Using one of these functions will throw a deprecation message.

Migration

As the PageRenderer implements a SingletonInterface you can get your own (shared) instance with \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class) and work with that one.

Deprecation: #68098 - Deprecate GeneralUtility methods

Description

The following methods within GeneralUtility have been marked as deprecated and will be removed in TYPO3 CMS v8.

GeneralUtility::modifyHTMLColor()
GeneralUtility::modifyHTMLColorAll()
GeneralUtility::isBrokenEmailEnvironment()
GeneralUtility::normalizeMailAddress()
GeneralUtility::formatForTextarea()
GeneralUtility::getThisUrl()
GeneralUtility::cleanOutputBuffers()

The functionality formatForTextarea() was used in the older days to actually support IE4 and Netscape 3 properly and can now safely be exchanged by htmlspecialchars().

Impact

All extensions using these methods directly will throw a deprecation message.

Affected Installations

Installations with extensions that use the methods above handling.

Migration

Use corresponding functionality from getIndpEnv() instead of getThisUrl().

For the other methods, you can re-implement the functionality yourself in your extension where needed.

Deprecation: #68122 - Deprecate GeneralUtility::readLLfile

Description

Method GeneralUtility::realLLfile() was just a wrapper around LocalizationFactory and has been marked as deprecated.

Impact

Extensions using realLLfile() to parse localization files should switch to an instance of LocalizationFactory.

Affected Installations

Extensions using GeneralUtility::readLLfile()

Migration

A typical call now should look like:

/** @var $languageFactory \TYPO3\CMS\Core\Localization\LocalizationFactory */
$languageFactory = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Localization\LocalizationFactory::class);
$languageFactory->getParsedData($fileToParse, $language, $renderCharset, $errorMode);

Deprecation: #68141 - typo3/ajax.php

Description

The ajax.php entry-point has been marked as deprecated. All AJAX requests in the Backend using the Ajax API are not affected as they automatically use index.php.

Impact

All extensions directly linking to typo3/ajax.php will throw a deprecation warning.

Affected Installations

Installations with custom extensions that call typo3/ajax.php without using proper API calls from BackendUtility.

Migration

Use BackendUtility::getAjaxUrl().

Deprecation: #68183 - typo3/mod.php

Description

The mod.php entry-point has been marked as deprecated. All Backend Module requests in the Backend using the Module Url API are not affected as they automatically use index.php.

Impact

All extensions directly linking to typo3/mod.php will throw a deprecation warning.

Affected Installations

Installations with custom extensions that call typo3/mod.php without using proper API calls from BackendUtility.

Migration

Use BackendUtility::getModuleUrl().