TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-19737:
|
||||
|
||||
==================================================
|
||||
Breaking: #19737 - Prefer root templates for pages
|
||||
==================================================
|
||||
|
||||
See :issue:`19737`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Core now gives templates having set the root-flag precedence over normal extension templates.
|
||||
This ignores the fact that normally the first template of the current page is chosen, following their sorting.
|
||||
|
||||
This improves user experience as the user expects the root template to be the one with highest priority.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Pages where multiple templates are present not having a root-template as the topmost template
|
||||
in the list will encounter different results when templates are evaluated.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations with pages where multiple templates are present not having a/the root-template as the topmost template.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Ensure the templates have correct flags set.
|
||||
|
||||
|
||||
.. index:: TypoScript, Backend, Frontend
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-33805:
|
||||
|
||||
====================================
|
||||
Breaking: #33805 - ClickMenu Rewrite
|
||||
====================================
|
||||
|
||||
See :issue:`33805`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The ClickMenu has seen some major changes under the hood. This implies some refactoring within JavaScript where existing
|
||||
functionality is replaced by an AMD Module based on jQuery. The following JS methods are now replaced by respective
|
||||
methods:
|
||||
|
||||
- showClickmenu_raw()
|
||||
- Clickmenu.show()
|
||||
- Clickmenu.populateData()
|
||||
|
||||
The new functionality is available via a global JavaScript object called TYPO3.ClickMenu which has equal
|
||||
functions.
|
||||
|
||||
Additionally the ClickMenu is now used via AJAX completely, all non-AJAX calls are not supported anymore.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All third-party extensions using alt_clickmenu.php directly in the backend, or using the above JavaScript calls directly.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using extensions having Backend modules using JavaScript functions for the ClickMenu inline
|
||||
and installations using extensions using alt_clickmenu.php directly.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Any use of "Clickmenu.show()" etc should be avoided and channelled through the according DocumentTemplate methods.
|
||||
|
||||
- BackendUtility::wrapClickMenuOnIcon()
|
||||
- DocumentTemplate->getContextMenuCode()
|
||||
|
||||
If a backend module without a DocumentTemplate (with e.g. Extbase/Fluid) is used, this is done with a separate class
|
||||
and related data attribute:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<a href="#" class="t3-js-clickmenutrigger" data-table="be_users" data-uid="{record.uid}" data-listframe="1">
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,48 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-42543:
|
||||
|
||||
=============================================
|
||||
Breaking: #42543 - Default TypoScript Removed
|
||||
=============================================
|
||||
|
||||
See :issue:`42543`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The default TypoScript :code:`styles.insertContent` was removed without substitution.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Frontend output may change.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if its TypoScript operates with :code:`styles.insertContent`. This is pretty unlikely since the styles segment was hidden in the TypoScript Object Browser.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Either remove usage of :code:`styles.insertContent` or add a snippet at an early point in TypoScript for backwards compatibility.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
styles.insertContent = CONTENT
|
||||
styles.insertContent {
|
||||
table = tt_content
|
||||
select {
|
||||
orderBy = sorting
|
||||
where = colPos=0
|
||||
languageField = sys_language_uid
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-53542:
|
||||
|
||||
=============================================================
|
||||
Breaking: #53542 - Removal of deprecated code in sysext fluid
|
||||
=============================================================
|
||||
|
||||
See :issue:`53542`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
ContainerViewHelper
|
||||
-------------------
|
||||
|
||||
The following options have been removed from the ViewHelper:
|
||||
|
||||
* `enableJumpToUrl`
|
||||
* `addCssFile`, use `includeCssFiles` instead
|
||||
* `addJsFile`, use `includeJsFiles` instead
|
||||
|
||||
|
||||
AbstractBackendViewHelper
|
||||
-------------------------
|
||||
|
||||
The usage of `$GLOBALS['SOBE']` is removed for retrieving the DocumentTemplate instance.
|
||||
Use `->getDocInstance()` instead.
|
||||
|
||||
|
||||
TemplateView
|
||||
------------
|
||||
|
||||
The following methods have been removed:
|
||||
|
||||
* `getTemplateRootPath()` is removed, use `getTemplateRootPaths()` instead
|
||||
* `getPartialRootPath()` is removed, use `setPartialRootPaths()` instead
|
||||
* `getLayoutRootPath()` is removed, use `getLayoutRootPaths()` instead
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A call to any of the aforementioned methods by third party code will result in a fatal PHP error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation which contains third party code still using these deprecated methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the calls with the suggestions outlined above.
|
||||
|
||||
|
||||
.. index:: PHP-API, Fluid
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-53658:
|
||||
|
||||
===================================================
|
||||
Breaking: #53658 - option alternateBgColors removed
|
||||
===================================================
|
||||
|
||||
See :issue:`53658`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PageTSConfig option :code:`mod.web_list.alternateBgColors` is removed without substitution.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that extend the DatabaseRecordList and are using the property :code:`alternateBgColors`
|
||||
|
||||
The option in the TableListViewHelper has been deprecated and will be removed in TYPO3 CMS 8.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed property.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the call to the removed property.
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-54409:
|
||||
|
||||
==================================================================
|
||||
Breaking: #54409 - RTE "acronym" button was renamed "abbreviation"
|
||||
==================================================================
|
||||
|
||||
See :issue:`54409`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The "acronym" tag being deprecated, the RTE "acronym" button was renamed "abbreviation".
|
||||
Accordingly, the RTE Acronym plugin was renamed Abbreviation.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The "abbreviation" button may not appear in the RTE toolbar, if configured as "acronym" in Page TSconfig, TCA special
|
||||
configuration options and/or User TSconfig. Possible undefined PHP class errors.
|
||||
Possible Javascript or file not found errors.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An installation is affected if the "acronym" button was configured in Page TSconfig and/or User TSconfig.
|
||||
An installation is affected if a 3rd party extension refers to the "acronym" button in TCA special configuration options.
|
||||
An installation is affected if a 3rd party extension refers to class TYPO3\CMS\Rtehtmlarea\Extension\Acronym
|
||||
An installation is affected if a 3rd party extension loads the JavaScript file of the Acronym plugin: EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
There is no immediate impact on the RTE configuration in Page TSconfig and TCA special configuration options until
|
||||
the automatic conversion of existing references to "acronym" is removed in TYPO3 CMS 8.0.
|
||||
Intallations may run the upgrade wizard of the Install tool to migrate the contents of Page TSconfig, replacing "acronym" by "abbreviation".
|
||||
Note that this string replacement will apply to all contents of PageTSconfig.
|
||||
The migration of PageTSconfig may also be done manually.
|
||||
|
||||
User TSconfig must be modified to refer to "abbreviation" instead of "acronym".
|
||||
|
||||
Any affected 3rd party extension must be modified to refer to the "abbreviation" button rather than "acronym" in TCA special configuration options.
|
||||
Any affected 3rd party extension must be modified to refer to class TYPO3\CMS\Rtehtmlarea\Extension\Abbreviation rather than TYPO3\CMS\Rtehtmlarea\Extension\Acronym
|
||||
Any affected 3rd party extension must be modified to load EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Abbreviation.js rather than EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js
|
||||
|
||||
|
||||
.. index:: TSConfig, RTE, PHP-API, Backend
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-57382:
|
||||
|
||||
===============================================
|
||||
Breaking: #57382 - Remove old flash message API
|
||||
===============================================
|
||||
|
||||
See :issue:`57382`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The old flash message API is removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions relying on the old (static) flash message queue API will not work anymore.
|
||||
Extbase removes the protected old flashMessageContainer.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation that uses an extension relying on the old API.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change the API calls to not be of static kind anymore.
|
||||
Extbase extensions have to use `getFlashMessageQueue()` of the controllerContext
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-57396:
|
||||
|
||||
=================================================================
|
||||
Breaking: #57396 - Deprecated Extbase Property Mapper was removed
|
||||
=================================================================
|
||||
|
||||
See :issue:`57396`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new Property Mapper that mapped request arguments to controller action arguments
|
||||
was introduced in Extbase 1.4 and the old one was deprecated at the same time.
|
||||
Along with the mapping, the validation API has also been changed.
|
||||
The rewritten property mapper is turned on by default since TYPO3 6.2
|
||||
|
||||
Now the old mapping and validation API is completely removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extbase extensions that relied on the internal behaviour of the deprecated property mapper
|
||||
or make use of the old validation API will stop working or may not work as expected any more.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Extbase extensions that turned off the introduced feature switch with the TypoScript setting
|
||||
:code:`features.rewrittenPropertyMapper = 0` because they relied on internal behavior of the old property mapper
|
||||
will stop working.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Manual migration of extension code might be required, especially when own validators using the old
|
||||
validation API were used.
|
||||
|
||||
|
||||
.. index:: TypoScript, PHP-API, ext:extbase
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-59659:
|
||||
|
||||
===============================================================
|
||||
Breaking: #59659 - Removal of deprecated code in sysext backend
|
||||
===============================================================
|
||||
|
||||
See :issue:`59659`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Flexforms
|
||||
---------
|
||||
|
||||
Flexform xml that still contains the old "<tx_templavoila><title>" code has to be adapted.
|
||||
The "<tx_templavoila>" elements needs to be removed.
|
||||
|
||||
Wizard registration
|
||||
-------------------
|
||||
|
||||
Wizard registration in TCA must not contain the "script=some/path/script.php" definition anymore.
|
||||
The new API for registering wizards is to set "module[name]=module_name".
|
||||
|
||||
Removed PHP methods
|
||||
-------------------
|
||||
|
||||
* `AbstractRecordList::writeBottom()` is removed without replacement. The functionality is not needed anymore.
|
||||
* `SpriteGenerator::setOmmitSpriteNameInIconName()` is removed in favor of `setOmitSpriteNameInIconName()`
|
||||
* `DocumentTemplate::isCMlayers()` is removed without replacement. The functionality is obsolete.
|
||||
* `DocumentTemplate::getFileheader()` is removed. Use `getResourceHeader()` instead.
|
||||
* `BackendUtility::displayWarningMessages()` is removed without replacement. The functionality was moved to ext:aboutmodules.
|
||||
* `IconUtility::getIconImage()` is removed without replacement. Use sprite icon API instead.
|
||||
* `PageLayoutView::getSelectedBackendLayoutUid()` is removed. Use `BackendLayoutView::getSelectedCombinedIdentifier()` instead.
|
||||
* `ClickMenu::menuItemsForClickMenu()` is removed without replacement. The functionality is obsolete.
|
||||
|
||||
Removed JS functions
|
||||
--------------------
|
||||
|
||||
* `showClickmenu_noajax()` is removed. Use `Clickmenu.ajax = false; showClickmenu_raw();` instead.
|
||||
* `setLayerObj()` is replaced with `Clickmenu.populateData()`.
|
||||
* `hideEmpty()` is replaced with `Clickmenu.hideAll()`.
|
||||
* `hideSpecific()` is replaced with `Clickmenu.hide()`. E.g. `Clickmenu.hide('contentMenu1');`
|
||||
* `showHideSelectorBoxes()` is replaced with `toggleSelectorBoxes()`.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A call to any of the aforementioned methods by third party code will result in
|
||||
a fatal PHP error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation which contains third party code still using these deprecated methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the calls with the suggestions outlined above.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-59966:
|
||||
|
||||
=================================================================
|
||||
Breaking: #59966 - Extension Configuration cache-flushing changed
|
||||
=================================================================
|
||||
|
||||
See :issue:`59966`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
On saving the configuration of an extension, the system cache group has been flushed.
|
||||
This is inefficient as this includes also the classes cache, but most changes will
|
||||
never need this cache to be cleared.
|
||||
We optimize this for the common case and stop flushing caches after configuration changes completely.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions which relied on cache-clearing after configuration changes may require a manual cache flush.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation that uses extensions relying on automatic cache flush after extension configuration changes.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extensions requiring a cache flush after configuration changes need to implement a slot
|
||||
for the `afterExtensionConfigurationWrite` signal which allows individual cache flush actions.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, ext:extensionmanager
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60063:
|
||||
|
||||
=========================================
|
||||
Breaking: #60063 - Felogin Plugin Removed
|
||||
=========================================
|
||||
|
||||
See :issue:`60063`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
File EXT:felogin/pi1/class.tx_felogin_pi1.php was removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
- A require in PHP of this file throws a fatal error.
|
||||
|
||||
- An :code:`includeLibs` TypoScript setting to this file raises a warning.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension requires EXT:felogin/pi1/class.tx_felogin_pi1.php or if an includeLibs TypoScript setting to this file is set.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the require line in PHP and includeLibs line in TypoScript, they are obsolete.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend, ext:felogin
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60135:
|
||||
|
||||
============================================================
|
||||
Breaking: #60135 - Recursive stdWrap is now only called once
|
||||
============================================================
|
||||
|
||||
See :issue:`60135`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
If recursive stdWrap configuration was used, the stdWrap method was called twice, although the content
|
||||
was only rendered once. This performance overhead is now removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If a recursive stdWrap configuration is used, which sets or acts on a global state like registers,
|
||||
the resulting rendering can now be different because the global state is now modified only once.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if there is TypoScript code like:
|
||||
|
||||
::
|
||||
|
||||
page.1 = TEXT
|
||||
page.1 {
|
||||
value = Counter:
|
||||
append = TEXT
|
||||
append.data = register:Counter
|
||||
stdWrap.append = LOAD_REGISTER
|
||||
stdWrap.append {
|
||||
Counter.cObject = TEXT
|
||||
Counter.cObject.data = register:Counter
|
||||
Counter.cObject.wrap = |+1
|
||||
Counter.prioriCalc = 1
|
||||
}
|
||||
}
|
||||
|
||||
..
|
||||
|
||||
This now correctly outputs `Counter:1` instead of `Counter:2`
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The usage of recursive stdWrap TypoScript configuration needs to be checked and probably adapted to fit the fixed behavior.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60152:
|
||||
|
||||
=================================================================
|
||||
Breaking: #60152 - GeneralUtility::formatSize is now locale aware
|
||||
=================================================================
|
||||
|
||||
See :issue:`60152`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The :code:`GeneralUtility::formatSize()` method now adheres to the currently set locale and
|
||||
selects the correct decimal separator symbol.
|
||||
This also applies to the TypoScript option :code:`stdWrap.bytes`, which uses the method internally,
|
||||
as well as the Filelist content element type.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All output generated for locales, where the decimal separator is not a dot, will change to use
|
||||
the correct symbol. e.g. comma for German.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation that uses the :code:`formatSize()` method in one of the ways mentioned.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If you think you get the wrong decimal separator, ensure the locale is configured correctly
|
||||
and the locale really exists on the server.
|
||||
|
||||
TypoScript option: :code:`config.locale`
|
||||
Commandline: `locale -a`
|
||||
|
||||
|
||||
.. index:: PHP-API, TypoScript
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60559-1668719184:
|
||||
|
||||
================================================
|
||||
Breaking: #60559 - Dropped Backend Login Options
|
||||
================================================
|
||||
|
||||
See :issue:`60559`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Handling of :code:`$GLOBALS['TBE_STYLES']['loginBoxImage_rotationFolder']` and :code:`$GLOBALS['TBE_STYLES']['loginBoxImage_author']` was dropped.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting those options has no effect anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
These options had no effect with standard core internal login screen based on t3skin for a long time already. Instances are
|
||||
only affected if a 3rd party extension is loaded that changes the backend login screen and operates with these settings.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove these options and their usage from the affected 3rd party extension or unload the extension.
|
||||
|
||||
|
||||
.. index:: Backend, ext:t3skin
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60559-1668719172:
|
||||
|
||||
=============================================================
|
||||
Breaking: #60559 - T3skin Backend Login Javascript File Moved
|
||||
=============================================================
|
||||
|
||||
See :issue:`60559`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Javascript files of the backend login form moved from EXT:t3skin to EXT:backend.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Javascript or file not found errors.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An installation is affected if a 3rd party extension includes EXT:t3skin/Resources/Public/JavaScript/login.js
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Include EXT:backend/Resources/Public/JavaScript/login.js instead or refactor the affected extension to free it
|
||||
from the dependency to this core internal file.
|
||||
|
||||
|
||||
.. index:: JavaScript, ext:t3skin, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60559:
|
||||
|
||||
===========================================================
|
||||
Breaking: #60559 - T3skin Backend Login Template File Moved
|
||||
===========================================================
|
||||
|
||||
See :issue:`60559`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The HTML template file for the backend login screen was moved from EXT:t3skin to EXT:backend.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Broken login screen.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses file EXT:t3skin/Resources/Private/Templates/login.html
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use file EXT:backend/Resources/Private/Templates/login.html instead or refactor the affected extension to free it
|
||||
from the dependency to this core internal file.
|
||||
|
||||
|
||||
.. index:: Backend, ext:t3skin
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60561:
|
||||
|
||||
=======================================================
|
||||
Breaking: #60561 - Default TypoScript Constants Removed
|
||||
=======================================================
|
||||
|
||||
See :issue:`60561`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
These default TypoScript constants were dropped:
|
||||
|
||||
- :code:`{$_clear}`
|
||||
- :code:`{$_blackBorderWrap}`
|
||||
- :code:`{$_tableWrap}`
|
||||
- :code:`{$_tableWrap_DEBUG}`
|
||||
- :code:`{$_stdFrameParams}`
|
||||
- :code:`{$_stdFramesetParams}`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Frontend output may change.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if own TypoScript uses the above mentioned TypoScript constants.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Either remove usage of the above constants or add a snippet at an early point in TypoScript for backwards compatibility.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
_clear = <img src="clear.gif" width="1" height="1" alt="" />
|
||||
_blackBorderWrap = <table border="0" bgcolor="black" cellspacing="0" cellpadding="1"><tr><td> | </td></tr></table>
|
||||
_tableWrap = <table border="0" cellspacing="0" cellpadding="0"> | </table>
|
||||
_tableWrap_DEBUG = <table border="1" cellspacing="0" cellpadding="0"> | </table>
|
||||
_stdFrameParams = frameborder="no" marginheight="0" marginwidth="0" noresize="noresize"
|
||||
_stdFramesetParams = 'border="0" framespacing="0" frameborder="no"
|
||||
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60582:
|
||||
|
||||
=================================================
|
||||
Breaking: #60582 - Rsaauth Javascript Files Moved
|
||||
=================================================
|
||||
|
||||
See :issue:`60582`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Javascript files from EXT:rsaauth were moved from resources/ to Resources/Public/JavaScript.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Javascript or file not found errors.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An installation is affected if a 3rd party extension includes Javascript files from rsaauth.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change affected extension to include Javascript files from resources/ to Resources/Public/JavaScript/.
|
||||
|
||||
|
||||
.. index:: JavaScript, ext:rsaauth
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60609:
|
||||
|
||||
=======================================================
|
||||
Breaking: #60609 - Configuration Manager Signal Changed
|
||||
=======================================================
|
||||
|
||||
See :issue:`60609`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension for which the configuration was written was added to the signal emitted
|
||||
in the ConfigurationManager of the ExtensionManager as first parameter as the whole signal was
|
||||
unusable without this information.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The arguments for a method listening to this signal have changed.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if there is code using the signal "afterExtensionConfigurationWrite".
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Rewrite the listening function to use the extension key as first parameter.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, ext:extensionmanager
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60630-1668719172:
|
||||
|
||||
==================================================
|
||||
Breaking: #60630 - Scheduler Javascript File Moved
|
||||
==================================================
|
||||
|
||||
See :issue:`60630`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Javascript files of the scheduler module moved from EXT:scheduler/res/tx_scheduler_be.js to
|
||||
EXT:scheduler/Resources/Public/JavaScript/Scheduler.js
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Javascript or file not found errors.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An installation is affected if a 3rd party extension includes EXT:scheduler/res/tx_scheduler_be.js
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Include EXT:scheduler/Resources/Public/JavaScript/Scheduler.js instead or refactor the affected extension to free it
|
||||
from the dependency to this scheduler internal file.
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend, ext:scheduler
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60630:
|
||||
|
||||
=================================================
|
||||
Breaking: #60630 - Scheduler Language Files Moved
|
||||
=================================================
|
||||
|
||||
See :issue:`60630`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The language files of the scheduler extension are moved to EXT:scheduler/Resources/Private/Language/
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Labels are not translated when being fetched from old file location.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses a language file from EXT:scheduler
|
||||
or if localization overrides of these files are registered. Those overridden labels may not
|
||||
work anymore.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use new path to language file instead or create/copy the labels to an own language file and
|
||||
adapt existing overrides to the new file locations.
|
||||
|
||||
|
||||
.. index:: Backend, ext:scheduler
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-60630-1668719184:
|
||||
|
||||
=======================================================
|
||||
Breaking: #60630 - Scheduler Module Template File Moved
|
||||
=======================================================
|
||||
|
||||
See :issue:`60630`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The HTML template file for the scheduler module was moved from EXT:scheduler/mod1/mod_template.html
|
||||
to EXT:scheduler/Resources/Private/Templates/Module.html.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Broken module screen.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses file EXT:scheduler/mod1/mod_template.html
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use file EXT:scheduler/Resources/Private/Templates/Module.html instead or refactor the affected extension to free it
|
||||
from the dependency to this scheduler internal file.
|
||||
|
||||
|
||||
.. index:: ext:scheduler, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61459:
|
||||
|
||||
==========================================================
|
||||
Breaking: #61459 - Removal of tslib directory and constant
|
||||
==========================================================
|
||||
|
||||
See :issue:`61459`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The tslib/ directory and the constant PATH_tslib were removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use PATH_tslib constant, and reference typo3/sysext/cms/tslib/index_ts.php directly won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses :file:`index_ts.php` directly, or if the main
|
||||
:file:`index.php` is not replaced with the TYPO3 Update (used on certain install types). The index.php file must be
|
||||
replaced with the current version from the TYPO3 CMS Core.
|
||||
|
||||
Besides scripts are affected that access the time tracking (:code:`$TT`) or typoscript frontend controller (:code:`$TSFE`)
|
||||
objects instead of using :code:`$GLOBALS['TT']` respectively :code:`$GLOBALS['TSFE']`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the constant PATH_tslib from the 3rd party extension, use a current version of index.php and use :code:`$GLOBALS['TT']`
|
||||
and :code:`$GLOBALS['TSFE']` where necessary.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61471:
|
||||
|
||||
=====================================================
|
||||
Breaking: #61471 - EXT:t3skin CSS files moved to less
|
||||
=====================================================
|
||||
|
||||
See :issue:`61471`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
All CSS files in EXT:t3skin are moved to less files and handled by less CSS pre processor
|
||||
and merged to a single CSS file.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Single CSS files can not be included anymore. This may result in broken layouts.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if an extension loads single CSS files from EXT:t3skin. Backend modules of
|
||||
extensions usually get CSS core stuff loaded by default, which will not be a problem. An extension is
|
||||
only affected if single CSS files are explicitly referenced. This should be a rare case.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Most simple solution is to copy over the "old" CSS file from an older instance. Directly including those
|
||||
files from t3skin is discouraged. A better solution is to refactor the extension to use the full t3skin
|
||||
CSS file and to overlay it with required changes in an own file.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, ext:t3skin
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61781:
|
||||
|
||||
====================================================================
|
||||
Breaking: #61781 - include_once array in ClickMenuController removed
|
||||
====================================================================
|
||||
|
||||
See :issue:`61781`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The include_once array of the ClickMenuController, which is filled with paths from the
|
||||
:code:`$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses']['path']` setting, has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extension classes relying on the :code:`$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses']['path']` registration for autoloading will not be loaded anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed class loading registration method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
All classes are autoloaded automatically by TYPO3 CMS Core.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61782:
|
||||
|
||||
==============================================================
|
||||
Breaking: #61782 - deprecated DocumentTemplate classes removed
|
||||
==============================================================
|
||||
|
||||
See :issue:`61782`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following deprecated classes have been removed:
|
||||
|
||||
:code:`\TYPO3\CMS\Backend\Template\MediumDocumentTemplate`
|
||||
:code:`\TYPO3\CMS\Backend\Template\SmallDocumentTemplate`
|
||||
:code:`\TYPO3\CMS\Backend\Template\StandardDocumentTemplate`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use one of the removed classes for their backend module won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses one of the removed classes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :code:`\TYPO3\CMS\Backend\Template\DocumentTemplate` instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61783:
|
||||
|
||||
=================================================
|
||||
Breaking: #61783 - Removed deprecated mailing API
|
||||
=================================================
|
||||
|
||||
See :issue:`61783`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The deprecated methods to send email are removed.
|
||||
This includes the :code:`MailUtility::mail()` method, the mail delivery substitution API and the :code:`plainMailEncoded()` methods.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any call to :code:`MailUtility::mail()` or :code:`GeneralUtility::plainMailEncoded()` will result in a fatal error.
|
||||
The option :code:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery']`
|
||||
does not have any effect.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using an extension still using the deprecated API will fail.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the :code:`\TYPO3\CMS\Core\Mail\Mailer` API for sending email.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61785-1668719172:
|
||||
|
||||
================================================================================================
|
||||
Breaking: #61785 - getCompressedTCarray and includeTCA from TypoScriptFrontendController removed
|
||||
================================================================================================
|
||||
|
||||
See :issue:`61785`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Methods :code:`getCompressedTCarray()` and :code:`includeTCA()` from :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController`
|
||||
have been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getCompressedTCarray()`
|
||||
or :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::includeTCA()` will trigger a fatal error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses one of the removed functions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Full TCA is always loaded during bootstrap in FE, the methods are obsolete.
|
||||
If an eid script calls this method to load TCA, use :code:`\TYPO3\CMS\Frontend\Utility\EidUtility::initTCA()` instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61785:
|
||||
|
||||
=============================================================
|
||||
Breaking: #61785 - loadTCA function in GeneralUtility removed
|
||||
=============================================================
|
||||
|
||||
See :issue:`61785`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Method :code:`loadTCA()` from :code:`\TYPO3\CMS\Core\Utility\GeneralUtility` is removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use :code:`\TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA()` will trigger a fatal error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension still calls :code:`loadTCA`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The method is obsolete, full TCA is always loaded in all context except eID.
|
||||
It is safe to remove the method call.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61786:
|
||||
|
||||
===================================================================
|
||||
Breaking: #61786 - remove deprecated TypeHandlingService in extbase
|
||||
===================================================================
|
||||
|
||||
See :issue:`61786`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypeHandlingService class is removed from the extbase extension.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use :code:`\TYPO3\CMS\Extbase\Service\TypeHandlingService` won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed class :code:`\TYPO3\CMS\Extbase\Service\TypeHandlingService`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace all calls to :code:`\TYPO3\CMS\Extbase\Service\TypeHandlingService` functions to their new static functions
|
||||
in :code:`\TYPO3\CMS\Extbase\Utility\TypeHandlingUtility`
|
||||
|
||||
|
||||
.. index:: PHP-API, ext:extbase
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61802:
|
||||
|
||||
==================================================================
|
||||
Breaking: #61802 - deprecated isLocalconfWritable function removed
|
||||
==================================================================
|
||||
|
||||
See :issue:`61802`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The function :code:`isLocalconfWritable()` :code:`from \TYPO3\CMS\Core\Utility\ExtensionManagementUtility` has been removed.
|
||||
The bootstrap now just checks for the existence of the file and redirects to the install tool if it doesn't exist.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use the function :code:`isLocalconfWritable()` won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed function.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the call to this function. The bootstrap takes care to check the existence of the file.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61820:
|
||||
|
||||
=================================================================
|
||||
Breaking: #61820 - deprecated PhpOptionsUtility functions removed
|
||||
=================================================================
|
||||
|
||||
See :issue:`61820`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The :code:`\TYPO3\CMS\Core\Utility\PhpOptionsUtility` functions isSafeModeEnabled and isMagicQuotesGpcEnabled are removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use one of the removed functions won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses one of the removed functions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the call to :code:`\TYPO3\CMS\Core\Utility\PhpOptionsUtility::isSafeModeEnabled()`
|
||||
or :code:`\TYPO3\CMS\Core\Utility\PhpOptionsUtility::isMagicQuotesGpcEnabled()` functions.
|
||||
The Install Tool takes care of the removed checks now.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61821:
|
||||
|
||||
==================================================================
|
||||
Breaking: #61821 - classFile option in makeInstanceService removed
|
||||
==================================================================
|
||||
|
||||
See :issue:`61821`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option "classFile" in :code:`\TYPO3\CMS\Core\Utility\GeneralUtility\makeInstanceService()` is removed.
|
||||
This should now be done by the respective ext_autoload.php of each extension.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extension classes relying on the "classFile" registration for autoloading will not be loaded anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed class loading registration method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the ext_autoload.php file to autoload the class.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61822:
|
||||
|
||||
================================================================
|
||||
Breaking: #61822 - deprecated function getUniqueFields() removed
|
||||
================================================================
|
||||
|
||||
See :issue:`61822`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The function :code:`getUniqueFields()` from :code:`\TYPO3\CMS\Core\DataHandling\DataHandler` has been removed.
|
||||
The function is available in :code:`\TYPO3\CMS\Version\Hook\DataHandlerHook`.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use the function :code:`getUniqueFields()` won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed function.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace all calls to :code:`\TYPO3\CMS\Core\DataHandling\DataHandler::getUniqueFields()`
|
||||
with calls to :code:`\TYPO3\CMS\Version\Hook\DataHandlerHook::getUniqueFields()`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, ext:workspaces
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61823:
|
||||
|
||||
==================================================
|
||||
Breaking: #61823 - Remove magic setter for $fromTC
|
||||
==================================================
|
||||
|
||||
See :issue:`61823`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The magic setter for :code:`$fromTC` in \TYPO3\CMS\Core\Database\RelationHandler is removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Directly setting the protected property :code:`$fromTC` will trigger a PHP warning.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using an extension that sets :code:`$fromTC` property directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :code:`\TYPO3\CMS\Core\Database\RelationHandler::setFetchAllFields()` instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61859:
|
||||
|
||||
=================================================================
|
||||
Breaking: #61859 - deprecated file type FILETYPE_SOFTWARE removed
|
||||
=================================================================
|
||||
|
||||
See :issue:`61859`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The constant :code:`\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_SOFTWARE` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the removed constant will result in a fatal error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using an extension that uses the constant :code:`\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_SOFTWARE`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :code:`\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_APPLICATION` instead, which matches the Iana standard.
|
||||
|
||||
|
||||
.. index:: PHP-API, FAL
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61860:
|
||||
|
||||
===========================================================
|
||||
Breaking: #61860 - deprecated function int_from_ver removed
|
||||
===========================================================
|
||||
|
||||
See :issue:`61860`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Function :code:`int_from_ver()` from :code:`\TYPO3\CMS\Core\Utility\GeneralUtility` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use the function :code:`int_from_ver()` won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed function.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the usage of the removed function with :code:`\TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger()`
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61863:
|
||||
|
||||
===============================================================
|
||||
Breaking: #61863 - deprecated connectDB from EidUtility removed
|
||||
===============================================================
|
||||
|
||||
See :issue:`61863`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Method :code:`connectDB()` from :code:`\TYPO3\CMS\Frontend\Utility\EidUtility` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use the function :code:`connectDB()` will trigger a fatal
|
||||
PHP error when an eID script is called.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed function.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The function can be removed safely. The database will connect itself if needed.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,98 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61890:
|
||||
|
||||
==============================================================
|
||||
Breaking: #61890 - TBE Styling removed from FormEngine and TCA
|
||||
==============================================================
|
||||
|
||||
See :issue:`61890`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The styling functionality of FormEngine was based on a mixture of loose variables within :code:`$GLOBALS['TBE_STYLES']`
|
||||
overridden by hardcoded values in various Backend PHP classes. This setup, additionally mixed with CSS classes
|
||||
that followed a very complicated syntax to render certain fields differently, has been removed in order to allow
|
||||
Backend styling for FormEngine completely based on CSS/LESS.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the following CSS classes within FormEngine don't have any effect anymore:
|
||||
|
||||
* class-main
|
||||
* class-main1
|
||||
* class-main2
|
||||
* class-main3
|
||||
* class-main4
|
||||
* class-main5
|
||||
* class-main11
|
||||
* class-main12
|
||||
* class-main13
|
||||
* class-main14
|
||||
* class-main15
|
||||
* class-main21
|
||||
* class-main22
|
||||
* class-main23
|
||||
* class-main24
|
||||
* class-main25
|
||||
* class-main31
|
||||
* class-main32
|
||||
* class-main33
|
||||
* class-main34
|
||||
* class-main35
|
||||
* class-main41
|
||||
* class-main42
|
||||
* class-main43
|
||||
* class-main44
|
||||
* class-main45
|
||||
* class-main51
|
||||
* class-main52
|
||||
* class-main53
|
||||
* class-main54
|
||||
* class-main55
|
||||
* wrapperTable
|
||||
* wrapperTable1
|
||||
* wrapperTable2
|
||||
* wrapperTable3
|
||||
* wrapperTable4
|
||||
* wrapperTable5
|
||||
* formField
|
||||
* formField1
|
||||
* formField2
|
||||
* formField3
|
||||
* formField4
|
||||
* formField5
|
||||
|
||||
Additionally, the following keys of $TBE_STYLES have no effect anymore:
|
||||
|
||||
* $TBE_STYLES['colorschemes']
|
||||
* $TBE_STYLES['styleschemes']
|
||||
* $TBE_STYLES['borderschemes']
|
||||
|
||||
They can safely removed from any third party extension.
|
||||
|
||||
The 5th parameter defining custom styleschemes in any field defined in $TCA[mytable][types][mytype][showitem] or
|
||||
$TCA[mytable][palettes][mypalette][showitem] has no effect anymore and can be removed from any third party extension
|
||||
(e.g. myfield;mylabel;usedpalette;extraDefinition;stylescheme).
|
||||
|
||||
Any styling is now done solely via LESS.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the CSS classes for styling or dynamic HTML via JavaScript.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the available CSS classes for custom styling and modifying FormEngine. Clean up any custom TCA definitions with a
|
||||
stylescheme in 3rd party extensions, where the fifth parameter of a field definition in
|
||||
$TCA[mytable][types][mytype][showitem] or $TCA[mytable][palettes][mypalette][showitem] is used.
|
||||
|
||||
|
||||
.. index:: PHP-API, TCA, Backend
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61959:
|
||||
|
||||
======================================================
|
||||
Breaking: #61959 - Move flash message output to alerts
|
||||
======================================================
|
||||
|
||||
See :issue:`61959`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Flash messages are now styled by using the native CSS classes of Twitter Bootstrap. The changed classes are:
|
||||
|
||||
* "typo3-message message-notice" => "alert alert-notice"
|
||||
* "typo3-message message-information" => "alert alert-info"
|
||||
* "typo3-message message-ok" => "alert alert-success"
|
||||
* "typo3-message message-warning" => "alert alert-warning"
|
||||
* "typo3-message message-error" => "alert alert-danger"
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions which use the old classes like "typo3-message message-information" rely on deprecated CSS classes
|
||||
which might lead to non styled output.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation that uses the HTML of flash messages without calling the API.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change the used CSS classes to the new ones.
|
||||
|
||||
|
||||
.. index:: Backend, Frontend
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62038:
|
||||
|
||||
============================================================
|
||||
Breaking: #62038 - Deprecated DocumentTemplate functionality
|
||||
============================================================
|
||||
|
||||
See :issue:`62038`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Backend/DocumentTemplate class contains various options that have no effect in the core anymore:
|
||||
|
||||
:code:`$doc->JScodeLibArray`
|
||||
:code:`$doc->docType` (as rendering is always as HTML5 by default)
|
||||
:code:`$doc->inDocStyles` (use inDocStylesArray)
|
||||
:code:`$doc->inDocStyles_TBEstyle` (now used as inDocStylesArray[tbeStyle]
|
||||
:code:`$doc->charset` (always utf-8)
|
||||
|
||||
The methods :code:`$doc->formatTime()` and :code:`$doc->menuTable()` have also
|
||||
been deprecated as they are not used anymore.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use the properties of DocumentTemplate will not see any changes in the output
|
||||
of the code anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the unused variables.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The variables can be removed safely, any modifications is possible via hooks in DocumentTemplate.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62039:
|
||||
|
||||
=================================================
|
||||
Breaking: #62039 - Removed TBE_STYLES[mainColors]
|
||||
=================================================
|
||||
|
||||
See :issue:`62039`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The values within :code:`$TBE_STYLES[mainColors]` are redundant and can be completely defined via CSS nowadays. The
|
||||
corresponding PHP leftovers are removed from the core and have no effect anymore.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting the variables within :code:`$TBE_STYLES[mainColors]` and using the :code:`$doc->bgColor*` and :code:`$doc->hoverColor` properties
|
||||
of DocumentTemplate have no effect anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using an extension that is overriding skin info via :code:`$TBE_STYLES[mainColors]`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use CSS directly to modify the appearance of the Backend.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,83 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62291-1668719172:
|
||||
|
||||
============================================================
|
||||
Breaking: #62291 - RTE Deprecated JavaScript methods removed
|
||||
============================================================
|
||||
|
||||
See :issue:`62291`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following RTE JavaScript methods, deprecated since TYPO3 4.7, have been removed:
|
||||
|
||||
HTMLArea.Editor.forceRedraw: use HTMLArea.Framework.doLayout instead
|
||||
|
||||
HTMLArea.Editor.convertNode: use HTMLArea.DOM.convertNode instead
|
||||
HTMLArea.Editor.getBlockAncestors: use HTMLArea.DOM.getBlockAncestors instead
|
||||
HTMLArea.getInnerText: use HTMLArea.DOM.getInnerText instead
|
||||
HTMLArea.hasAllowedAttributes: use HTMLArea.DOM.hasAllowedAttributes instead
|
||||
HTMLArea.isBlockElement: use HTMLArea.DOM.isBlockElement instead
|
||||
HTMLArea.needsClosingTag: use HTMLArea.DOM.needsClosingTag instead
|
||||
HTMLArea.Editor.rangeIntersectsNode: use HTMLArea.DOM.rangeIntersectsNode instead
|
||||
HTMLArea.removeFromParent: use HTMLArea.DOM.removeFromParent instead
|
||||
|
||||
HTMLArea.Editor.cleanAppleStyleSpans: use HTMLArea.DOM.Node.cleanAppleStyleSpans instead
|
||||
HTMLArea.Editor.removeMarkup: use HTMLArea.DOM.Node.removeMarkup instead
|
||||
HTMLArea.Editor.wrapWithInlineElement: use HTMLArea.DOM.Node.wrapWithInlineElement instead
|
||||
|
||||
HTMLArea.Editor.addRangeToSelection: use HTMLArea.DOM.Selection.addRange instead
|
||||
HTMLArea.Editor._createRange: use HTMLArea.DOM.Selection.createRange instead
|
||||
HTMLArea.Editor.emptySelection: use HTMLArea.DOM.Selection.empty instead
|
||||
HTMLArea.Editor.endPointsInSameBlock: use HTMLArea.DOM.Selection.endPointsInSameBlock instead
|
||||
HTMLArea.Editor.execCommand: use HTMLArea.DOM.Selection.execCommand instead
|
||||
HTMLArea.Editor._getSelection: use HTMLArea.DOM.Selection.get instead
|
||||
HTMLArea.Editor.getAllAncestors: use HTMLArea.DOM.Selection.getAllAncestors instead
|
||||
HTMLArea.Editor.getSelectedElement: use HTMLArea.DOM.Selection.getElement instead
|
||||
HTMLArea.Editor.getEndBlocks: use HTMLArea.DOM.Selection.getEndBlocks instead
|
||||
HTMLArea.Editor._getFirstAncestor: use HTMLArea.DOM.Selection.getFirstAncestorOfType instead
|
||||
HTMLArea.Editor.getFullySelectedNode: use HTMLArea.DOM.Selection.getFullySelectedNode instead
|
||||
HTMLArea.Editor.getSelectedHTML: use HTMLArea.DOM.Selection.getHtml instead
|
||||
HTMLArea.Editor.getSelectedHTMLContents: use HTMLArea.DOM.Selection.getHtml instead
|
||||
HTMLArea.Editor.getParentElement: use HTMLArea.DOM.Selection.getParentElement instead
|
||||
HTMLArea.Editor.getSelectionRanges: use HTMLArea.DOM.Selection.getRanges instead
|
||||
HTMLArea.Editor.getSelectionType: use HTMLArea.DOM.Selection.getType instead
|
||||
HTMLArea.Editor.insertHTML: use HTMLArea.DOM.Selection.insertHtml instead
|
||||
HTMLArea.Editor.insertNodeAtSelection: use HTMLArea.DOM.Selection.insertNode instead
|
||||
HTMLArea.Editor._selectionEmpty: use HTMLArea.DOM.Selection.isEmpty instead
|
||||
HTMLArea.Editor.hasSelectedText: use !HTMLArea.DOM.Selection.isEmpty instead
|
||||
HTMLArea.Editor.selectNode: use HTMLArea.DOM.Selection.selectNode instead
|
||||
HTMLArea.Editor.selectNodeContents: use HTMLArea.DOM.Selection.selectNodeContents instead
|
||||
HTMLArea.Editor.selectRange: use HTMLArea.DOM.Selection.selectRange instead
|
||||
HTMLArea.Editor.setSelectionRanges: use HTMLArea.DOM.Selection.setRanges instead
|
||||
HTMLArea.Editor.surroundHTML: use HTMLArea.DOM.Selection.surroundHtml instead
|
||||
|
||||
HTMLArea.Editor.getBookmark: use HTMLArea.DOM.BookMark.get instead
|
||||
HTMLArea.Editor.getBookmarkNode: use HTMLArea.DOM.BookMark.getEndPoint instead
|
||||
HTMLArea.Editor.moveToBookmark: use HTMLArea.DOM.BookMark.moveTo instead
|
||||
|
||||
HTMLArea.htmlDecode: use HTMLArea.util.htmlDecode instead
|
||||
HTMLArea.htmlEncode: use HTMLArea.util.htmlEncode instead
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
3rd party extensions adding plugins to the RTE and using the removed methods will fail.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension of the RTE refers to the removed methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The affected 3rd party extensions must be modified to use the replacement methods.
|
||||
|
||||
|
||||
.. index:: JavaScript, RTE, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62339:
|
||||
|
||||
====================================================================
|
||||
Breaking: #62339 - Move EXT:perm into EXT:beuser and remove EXT:perm
|
||||
====================================================================
|
||||
|
||||
See :issue:`62339`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension EXT:perm is removed from core, the perms module is moved into EXT:beuser.
|
||||
The BE module moved from "Web Access" to "System Access"
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that use EXT:perm or maybe depends on it will cause problems
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses parts the removed extension.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The logic is moved into EXT:beuser. No special migration is necessary.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, ext:beuser
|
||||
@@ -0,0 +1,118 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62416:
|
||||
|
||||
============================================================
|
||||
Breaking: #62416 - Removal of deprecated code in sysext core
|
||||
============================================================
|
||||
|
||||
See :issue:`62416`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
DataHandler
|
||||
-----------
|
||||
|
||||
:code:`DataHandler::clear_cache()` has been removed. Use :code:`->clear_cacheCmd()` instead. Alternatively you can
|
||||
call :code:`->registerPageCacheClearing()` from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes.
|
||||
|
||||
:code:`DataHandler::internal_clearPageCache()` has been removed, please use the cache manager directly.
|
||||
|
||||
The hook ['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables'] has been removed, use the caching framework with database backend instead.
|
||||
|
||||
|
||||
DatabaseConnection
|
||||
------------------
|
||||
|
||||
All connection parameters (host, username, password, db) for methods sql_connect(), sql_select_db() and connectDB() have been removed.
|
||||
|
||||
|
||||
PackageManager
|
||||
--------------
|
||||
|
||||
The globally defined REQUIRED_EXTENSIONS constant has been removed.
|
||||
|
||||
|
||||
ExtensionManagementUtility
|
||||
--------------------------
|
||||
|
||||
Parameter classPath of insertModuleFunction() is now unused. Leverage autoloading instead.
|
||||
|
||||
|
||||
Removed PHP classes
|
||||
-------------------
|
||||
|
||||
* TYPO3\CMS\Core\Resource\Service\IndexerService has been removed without replacement. Indexing is done internally.
|
||||
* TYPO3\CMS\Core\Compatibility\GlobalObjectDeprecationDecorator has been removed without replacement.
|
||||
Do not use $GLOBALS[\'typo3CacheManager\'] and $GLOBALS[\'typo3CacheFactory\'] anymore, use GeneralUtility::makeInstance() instead.
|
||||
|
||||
|
||||
Removed PHP class members
|
||||
-------------------------
|
||||
|
||||
* AbstractUserAuthentication::$cookieId has been removed. Use isCookieSet() instead.
|
||||
|
||||
|
||||
Removed PHP methods
|
||||
-------------------
|
||||
|
||||
* GeneralUtility::array_merge_recursive_overrule() has been removed. Use ArrayUtility::mergeRecursiveWithOverrule() instead.
|
||||
WARNING: The new method changed its signature and does not return the first parameter anymore.
|
||||
* GeneralUtility::htmlspecialchars_decode() has been removed in favor of the native PHP htmlspecialchars_decode() function.
|
||||
* CategoryRegistry::get() has been removed. Use isRegistered() instead.
|
||||
* CategoryRegistry::applyTca() has been removed. The functionality is obsolete.
|
||||
* DataHandler::clear_cache() has been removed. Use ->clear_cacheCmd instead. Alternatively you can
|
||||
call ->registerPageCacheClearing() from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes.
|
||||
* DataHandler::internal_clearPageCache() has been removed, use the cache manager directly.
|
||||
* FileRepository::findByUid() has been removed without replacement.
|
||||
* FileRepository::addToIndex() has been removed without replacement. Indexing is done transparently.
|
||||
* FileRepository::getFileIndexRecordsForFolder() has been removed. Use FileIndexRepository::findByFolder() instead.
|
||||
* FileRepository::getFileIndexRecord() has been removed. Use FileIndexRepository::findOneByFileObject() instead.
|
||||
* FileRepository::findBySha1Hash() has been removed. Use FileIndexRepository::findByContentHash() instead.
|
||||
* FileRepository::update() has been removed. Use FileIndexRepository::update() instead.
|
||||
* ResourceStorage::getFolderByIdentifier() is replaced by getFolder().
|
||||
* ResourceStorage::getFileByIdentifier() is replaced by getFileInfoByIdentifier().
|
||||
* ResourceStorage::getFileList() is replaced by getFilesInFolder().
|
||||
* ResourceStorage::getFolderList() has been removed. Use getFoldersInFolder() instead.
|
||||
* ResourceStorage::fetchFolderListFromDriver() has been removed. Use getFoldersInFolder() instead.
|
||||
* BasicFileUtility::getTotalFileInfo() has been removed. Use ResourceStorage instead via $GLOBALS['BE_USER']->getFileStorages()
|
||||
* BasicFileUtility::checkFileNameLen() has been removed. Use ResourceStorage instead via $GLOBALS['BE_USER']->getFileStorages()
|
||||
* BasicFileUtility::isPathValid() has been removed in favor of GeneralUtility::validPathStr().
|
||||
* BasicFileUtility::blindPath() has been removed without replacement.
|
||||
* BasicFileUtility::findTempFolder() has been removed without replacement.
|
||||
* BasicFileUtility::rmDoubleSlash() has been removed without replacement.
|
||||
* BasicFileUtility::cleanDirectoryName() has been removed. Use PathUtility::getCanonicalPath() instead.
|
||||
* ExtendedFileUtility::init_actionPerms() is replaced with setActionPermissions().
|
||||
* ExtendedFileUtility::printLogErrorMessages() is replaced with pushErrorMessagesToFlashMessageQueue().
|
||||
* ExtendedFileUtility::findRecycler() has been removed. Use ResourceStorage instead.
|
||||
* RteHtmlParser::rteImageStorageDir() and SelectImage::getRTEImageStorageDir() are removed.
|
||||
Use $fileFactory->getFolderObjectFromCombinedIdentifier($GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_imageStorageDir']); instead.
|
||||
* Locales::getTerLocales() has been removed without replacement.
|
||||
* Locales::getTerLocaleDependencies() has been removed without replacement.
|
||||
* ExtensionManagementUtility::getRequiredExtensionListArray() has been removed without replacement.
|
||||
* ExtensionManagementUtility::writeNewExtensionList() has been removed without replacement.
|
||||
* PhpOptionsUtility::isSqlSafeModeEnabled() has been removed without replacement.
|
||||
* ClassLoader::getAliasForClassName() is replaced with getAliasesForClassName().
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A call to any of the aforementioned methods by third party code will result in a fatal PHP error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation which contains third party code still using these deprecated methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the calls with the suggestions outlined above.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62595:
|
||||
|
||||
===========================================
|
||||
Breaking: #62595 - Remove SU change-to mode
|
||||
===========================================
|
||||
|
||||
See :issue:`62595`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The permanent user switch has been removed from backend user list for a better UX.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The parameter "emulate" in the view helper "SwitchUser" is dropped. Using the
|
||||
argument causes an error "Argument "emulate" was not registered".
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using an extension that uses the view helper "SwitchUser" with
|
||||
"emulate" argument.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Drop the "emulate" argument in the view helper call.
|
||||
|
||||
|
||||
.. index:: Fluid, Backend
|
||||
@@ -0,0 +1,99 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62670:
|
||||
|
||||
=================================================================
|
||||
Breaking: #62670 - Removal of deprecated code in multiple sysexts
|
||||
=================================================================
|
||||
|
||||
See :issue:`62670`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
DBAL DatabaseConnection
|
||||
-----------------------
|
||||
|
||||
All connection parameters (host, username, password, db) for methods :code:`sql_connect()` and :code:`sql_select_db()` are removed.
|
||||
|
||||
|
||||
CSS Styled Content
|
||||
------------------
|
||||
|
||||
The old frontend plugin file `pi1/class.tx_cssstyledcontent_pi1.php` is removed.
|
||||
Refer to `Classes/Controller/CssStyledContentController.php` instead.
|
||||
|
||||
|
||||
Install Tool
|
||||
------------
|
||||
|
||||
The check for PHP's magic_quotes_gpc settings is removed, as the feature is disabled since PHP 5.4.
|
||||
|
||||
|
||||
Removed files
|
||||
-------------
|
||||
|
||||
* lang/lang.php is removed. You don't need to include this file anymore, just use :code:`\TYPO3\CMS\Lang\LanguageService` directly.
|
||||
* :file:`rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamiccss.css` is removed. The file was not used.
|
||||
|
||||
|
||||
Removed PHP classes
|
||||
-------------------
|
||||
|
||||
* TYPO3\CMS\Scheduler\Task\FileIndexingTask is removed without replacement.
|
||||
|
||||
|
||||
Removed PHP class members
|
||||
-------------------------
|
||||
|
||||
* TypoScriptFrontendController::$absRefPrefix_force is removed without replacement.
|
||||
|
||||
|
||||
Removed PHP methods
|
||||
-------------------
|
||||
|
||||
* LanguageService::JScharCode is removed, use GeneralUtility::quoteJSvalue instead.
|
||||
* ContentObjectRenderer::joinTSarrays is removed without replacement.
|
||||
* TypoScriptFrontendController::tidyHTML is removed without replacement. You may use the tidy extension from TER.
|
||||
* ElementBrowser::isWebFolder is removed without replacement.
|
||||
* ElementBrowser::checkFolder is removed without replacement.
|
||||
* AbstractDatabaseRecordList::getTreeObject is removed without replacement.
|
||||
* FileList::dirData is removed without replacement.
|
||||
* FilesContentObject::stdWrapValue is removed, use ContentObjectRenderer::stdWrapValue instead.
|
||||
* ImportExportController::userTempFolder is removed, use getDefaultImportExportFolder instead.
|
||||
* ImportExportController::userSaveFolder is removed, use getDefaultImportExportFolder instead.
|
||||
* CrawlerHook::loadIndexerClass is removed without replacement.
|
||||
* DatabaseIntegrityView::func_filesearch is removed without replacement.
|
||||
* DatabaseIntegrityView::findFile is removed without replacement.
|
||||
* RteHtmlAreaBase::buildStyleSheet is removed without replacement.
|
||||
* RteHtmlAreaBase::loremIpsumInsert is removed without replacement.
|
||||
* StagesService::checkCustomStagingForWS is removed without replacement.
|
||||
|
||||
|
||||
Removed JS functions
|
||||
--------------------
|
||||
|
||||
* tx_rsaauth_encrypt is removed without replacement.
|
||||
* tx_rsaauth_feencrypt is removed without replacement.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A call to any of the aforementioned methods by third party code will result in a fatal PHP error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation which contains third party code still using these deprecated methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the calls with the suggestions outlined above.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, Frontend, RTE, JavaScript
|
||||
@@ -0,0 +1,71 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62673:
|
||||
|
||||
=====================================================
|
||||
Breaking: #62673 - Deprecated extbase code is removed
|
||||
=====================================================
|
||||
|
||||
See :issue:`62673`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Generic\Qom\Statement
|
||||
---------------------
|
||||
|
||||
You may no longer use bound variables without using a prepared statement.
|
||||
|
||||
ActionController
|
||||
----------------
|
||||
|
||||
Support for old view configuration options templateRootPath, layoutRootPath and partialRootPath is dropped.
|
||||
Use the new options with fallback mechanism.
|
||||
|
||||
|
||||
Removed PHP classes
|
||||
-------------------
|
||||
|
||||
* QueryObjectModelConstantsInterface
|
||||
* QueryObjectModelFactoryInterface
|
||||
|
||||
|
||||
Removed PHP class members
|
||||
-------------------------
|
||||
|
||||
* ActionController::$viewObjectNamePattern is removed without replacement
|
||||
* Repository::$backend is removed, use persistence manager instead
|
||||
|
||||
|
||||
Removed PHP methods
|
||||
-------------------
|
||||
|
||||
* ObjectManager::create() is removed, use ObjectManager::get() instead
|
||||
* ObjectManagerInterface::create() is removed
|
||||
* Persistence\Generic\Backend::replaceObject() is removed without replacement
|
||||
* QuerySettingsInterface::setReturnRawQueryResult() is removed without replacement
|
||||
* QuerySettingsInterface::getReturnRawQueryResult() is removed, use the parameter on $query->execute() directly
|
||||
* Typo3QuerySettings::setSysLanguageUid() is removed, use setLanguageUid() instead
|
||||
* Typo3QuerySettings::getSysLanguageUid() is removed, use getLanguageUid() instead
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A call to any of the aforementioned methods by third party code will result in a fatal PHP error.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation which contains third party code still using these deprecated methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the calls with the suggestions outlined above.
|
||||
|
||||
|
||||
.. index:: PHP-API, ext:extbase
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62291:
|
||||
|
||||
=============================================
|
||||
Breaking: #62291 - RTE wizard classes renamed
|
||||
=============================================
|
||||
|
||||
See :issue:`62291`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following two RTE classes were renamed:
|
||||
|
||||
TYPO3\CMS\Rtehtmlarea\ContentParser renamed to TYPO3\CMS\Rtehtmlarea\Controller\ParseHtmlController
|
||||
TYPO3\CMS\Rtehtmlarea\User renamed to TYPO3\CMS\Rtehtmlarea\Controller\UserElementsController
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
3rd party extensions referring to an old class name will fail.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension refers to a renamed class by its old name.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The affected 3rd party extensions must be modified to use the new names of these classes.
|
||||
|
||||
|
||||
.. index:: PHP-API, RTE, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62733:
|
||||
|
||||
=============================================
|
||||
Breaking: #62733 - RTE Javascript Files Moved
|
||||
=============================================
|
||||
|
||||
See :issue:`62733`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Javascript files of the rtehtmlarea extension were moved from EXT:rtehtmlarea/htmlarea/ to
|
||||
EXT:rtehtmlarea/Resources/Public/JavaScript/
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Javascript or file not found errors.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An installation is affected if a 3rd party extension loads any JavaScript file from EXT:rtehtmlarea/htmlarea/
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Any affected 3rd party extension must be modified to load any JavaScript file from EXT:rtehtmlarea/Resources/Public/JavaScript/ instead.
|
||||
|
||||
|
||||
.. index:: JavaScript, RTE, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62793:
|
||||
|
||||
===========================================================
|
||||
Breaking: #62793 - TypoScript config.notification_* removed
|
||||
===========================================================
|
||||
|
||||
See :issue:`62793`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following TypoScript options were removed:
|
||||
|
||||
:code:`config.notification_email_charset`
|
||||
:code:`config.notification_email_encoding`
|
||||
:code:`config.notification_email_urlmode`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using those options have no effect anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances that set these options in FE TypoScript.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Those options can be safely removed. They were used with old mail handling and
|
||||
are substituted with a different engine that rendered those useless.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62804:
|
||||
|
||||
=====================================================================================
|
||||
Breaking: #62804 - RTE JavaScript method HTMLArea.Editor::getNodeByPosition was moved
|
||||
=====================================================================================
|
||||
|
||||
See :issue:`62804`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
RTE JavaScript method :code:`getNodeByPosition()` was moved from HTMLArea.Editor to HTMLArea.DOM.Node where it belongs.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
3rd party extensions referring to :code:`HTMLArea.Editor::getNodeByPosition()` will fail.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension refers to the method :code:`HTMLArea.Editor::getNodeByPosition()`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The affected 3rd party extensions must be modified to use method :code:`HTMLArea.DOM.Node::getNodeByPosition()`
|
||||
instead.
|
||||
|
||||
|
||||
.. index:: RTE, JavaScript, Backend
|
||||
@@ -0,0 +1,48 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62819:
|
||||
|
||||
==================================================
|
||||
Breaking: #62819 - Remove php Localization Support
|
||||
==================================================
|
||||
|
||||
See :issue:`62819`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The support for php files in localization, e.g. locallang.php files was deprecated with TYPO3 CMS 4.6. All translations
|
||||
are done with XLF in the core, XML files are still supported.
|
||||
|
||||
The parsing of PHP localization files is now disabled by default, the parsing class is now deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions using locallang.php files for translation will not show labels anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations with third-party extensions using locallang.php translation files.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Third-party extensions should migrate their translation files to the XLIFF format (XLF file extension). The extension
|
||||
development extension (Extension Key "extdeveval") can be used to transform locallang.php files to according XLF files.
|
||||
|
||||
Until this is done, it is possible to enable this option again by adding the following lines to
|
||||
typo3conf/AdditionalConfiguration.php:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format']['priority'] = 'xlf,xml,php';
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format']['parser']['php'] = 'TYPO3\\CMS\\Core\\Localization\\Parser\\LocallangArrayParser';
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, Frontend, LocalConfiguration
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62833:
|
||||
|
||||
======================================================
|
||||
Breaking: #62833 - Removed dividers2tabs functionality
|
||||
======================================================
|
||||
|
||||
See :issue:`62833`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The "dividers2tabs" option in the ctrl section of TCA allows to show tabs in FormEngine while editing records,
|
||||
instead of showing all fields in one long column. This behaviour is the default since some TYPO3 versions.
|
||||
|
||||
This option has no effect anymore, as "dividers2tabs" is removed for TYPO3 CMS Core. The option can also be
|
||||
safely removed from any extension that adds TCA data.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A third-party extension that overrides the dividers2tabs option for an existing table or that adds a TCA table
|
||||
with this option disabled will have a record editing with tabs from now on.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations with 3rd-party extensions with TCA tables that have "dividers2tabs" disabled.
|
||||
|
||||
|
||||
.. index:: TCA, Backend
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62859:
|
||||
|
||||
=========================================================
|
||||
Breaking: #62859 - Removal of doc:link.action view helper
|
||||
=========================================================
|
||||
|
||||
See :issue:`62859`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The view helper :code:`\TYPO3\CMS\Documentation\ViewHelpers\Link\Action` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that rely on existence of :code:`\TYPO3\CMS\Documentation\ViewHelpers\Link\Action` won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed view helper.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Either use f:be.buttons.icon or any of f:uri.* view helpers.
|
||||
|
||||
|
||||
.. index:: Fluid, Backend, ext:documentation
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62888:
|
||||
|
||||
===============================================
|
||||
Breaking: #62888 - Remove config.uniqueLinkVars
|
||||
===============================================
|
||||
|
||||
See :issue:`62888`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The setting :code:`config.uniqueLinkVars` has been removed as the behaviour is
|
||||
now always used.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the setting :code:`config.uniqueLinkVars` from the TypoScript.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62914:
|
||||
|
||||
==========================================================
|
||||
Breaking: #62914 - Early check for PHP 5.5 in Install Tool
|
||||
==========================================================
|
||||
|
||||
See :issue:`62914`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
PHP 5.5 or above is a requirement for TYPO3 CMS7. As code is using specific PHP 5.5 features, an
|
||||
early check is required in Install Tool.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Install Tool will throw an exception if PHP 5.5 or above is not detected.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation without at least PHP 5.5.0.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Upgrade to PHP 5.5 or above.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62987:
|
||||
|
||||
======================================
|
||||
Breaking: #62987 - Remove CSH Glossary
|
||||
======================================
|
||||
|
||||
See :issue:`62987`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Early TYPO3 versions featured a glossary functionality, served by an extension, with built in switches in the core.
|
||||
Those switches are now removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The functionality is no longer available.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using the CSH Glossary functionality.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63056:
|
||||
|
||||
=================================================
|
||||
Breaking: #63056 - Remove Template Selection Hack
|
||||
=================================================
|
||||
|
||||
See :issue:`63056`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
There has been an ancient hack for the former "freesite" extension, which enabled selection
|
||||
of the template via GET variable.
|
||||
This technique is outdated and has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any extension using this hack will not be able to select the template this way anymore.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations with third party extensions using the hack.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No migration path intended.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63069:
|
||||
|
||||
======================================================================================
|
||||
Breaking: #63069 - Removed compatibility layer for submodules of func and info modules
|
||||
======================================================================================
|
||||
|
||||
See :issue:`63069`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The web_info and web_func modules use the module dispatcher now and do not have
|
||||
their own index scripts.
|
||||
Therefore any submodule for those modules need to adjust links accordingly.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any third party code creating links to either web_info or web_func module using the old entry scripts,
|
||||
will not work anymore.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :code:`BackendUtility::getModuleUrl()` instead to get the correct target for your links.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,33 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63110:
|
||||
|
||||
============================================
|
||||
Breaking: #63110 - alt_doc_nodoc.php removed
|
||||
============================================
|
||||
|
||||
See :issue:`63110`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Script entry point typo3/alt_doc_nodoc.php and NoDocumentsOpenController class are removed without substitution.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A script pointing to this file resource will trigger a 404 server response and a script instantiating the class will cause a fatal error.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An extension needs to be adapted in the unlikely case that it uses this code.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Redirecting to typo3/dummy.php instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-75942:
|
||||
|
||||
====================================================
|
||||
Breaking: #75942 - BigDocumentTemplate class removed
|
||||
====================================================
|
||||
|
||||
See :issue:`75942`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following class has been removed:
|
||||
|
||||
:code:`\TYPO3\CMS\Backend\Template\BigDocumentTemplate`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that still use the removed class for their backend module won't work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension uses the removed class.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :code:`\TYPO3\CMS\Backend\Template\DocumentTemplate` instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-60574:
|
||||
|
||||
===============================================
|
||||
Deprecation: #60574 - Client Related Conditions
|
||||
===============================================
|
||||
|
||||
See :issue:`60574`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Conditions that depend on client details are unlovely for a number
|
||||
of reasons:
|
||||
|
||||
* Per condition or permutation of conditions that matches, the frontend
|
||||
creates a different cache entry. This can lead to a very high number
|
||||
of cache entries per page
|
||||
* Conditions based on browser or clients on server side are bad practice.
|
||||
* The device information in the core is outdated (for example it is possible to match "AMIGA")
|
||||
* Setups like reverse proxies give additional headaches with these types of conditions
|
||||
* All client related condition types are deprecated with this patch.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Usage of client related TypoScript conditions will result in a deprecation log message. Client related conditions
|
||||
are browser, version, system and useragent.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations using TypoScript conditions for browser, version, system or useragent.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
* Most usual conditions for specific browsers can nowadays be turned into conditional CSS includes
|
||||
* Use libraries such as modernizr for browser support
|
||||
* If conditions for specific clients or devices are still needed, they
|
||||
should be done with a userFunc condition and a project like WURFL
|
||||
that keep the device information more recent than the current core
|
||||
code like matching AMIGA
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-61513:
|
||||
|
||||
============================================================================
|
||||
Deprecation: #61513 - Use native htmlspecialchars in ExtendedTemplateService
|
||||
============================================================================
|
||||
|
||||
See :issue:`61513`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In previous versions the ExtendedTemplateService used a conditional wrapper method to apply htmlspecialchars()
|
||||
for rendering TypoScript search labels, keys and comments in the backend. This option was never used, so
|
||||
htmlspecialchars() was always activated rendering the option and method redundant and not necessary.
|
||||
Calls to the method are removed. The ExtendedTemplateServer method and property are now marked as deprecated
|
||||
for removal with CMS 8.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Custom extensions using the flag ExtendedTemplateService->ext_noSpecialCharsOnLabels or a custom implementation
|
||||
of ExtendedTemplateService might get different results when using this switch within the class.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations using ExtendedTemplateService in their own extensions.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62363:
|
||||
|
||||
=====================================================
|
||||
Deprecation: #62363 - TSFE->JSeventFuncCalls disabled
|
||||
=====================================================
|
||||
|
||||
See :issue:`62363`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
TYPO3 CMS provides a way to register direct JS calls to be added to the body tag of the frontend output
|
||||
to allow several functions to register for e.g. "onload". Nowadays this is done via JS frameworks directly,
|
||||
or via JS variables.
|
||||
|
||||
The functionality has been marked as deprecated.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The core does not use this functionality anymore. Installations with menus using "GMENU_LAYERS",
|
||||
which has been removed from the core a while ago, but still use it via third-party extensions,
|
||||
might not work anymore as expected.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which use the :code:`$TSFE->JSeventFuncCalls` option, e.g. like GMENU_LAYERS.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Every call of a 3rd party extension to the mentioned method must be changed to use their own
|
||||
JS function registration.
|
||||
|
||||
|
||||
.. index:: JavaScript, TypoScript, Frontend
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62794:
|
||||
|
||||
====================================================
|
||||
Deprecation: #62794 - Mail methods in GeneralUtility
|
||||
====================================================
|
||||
|
||||
See :issue:`62794`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following methods of the class \TYPO3\CMS\Core\Utility\GeneralUtility have been marked as deprecated:
|
||||
|
||||
- quoted_printable()
|
||||
- encodeHeader()
|
||||
- substUrlsInPlainText()
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The methods were used together with the old mail API and are now obsolete. Deprecation warnings will be triggered if used.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations that still use those methods will trigger deprecations warnings.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Code that still uses these methods should be refactored to the mail API using
|
||||
TYPO3\CMS\Core\Mail\Mailer class.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62795:
|
||||
|
||||
===================================================
|
||||
Deprecation: #62795 - DocumentTemplate->endPageJS()
|
||||
===================================================
|
||||
|
||||
See :issue:`62795`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Method :code:`TYPO3\CMS\Backend\Template\DocumentTemplate::endPageJS()` and the according property :code:`endJS` have been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
None, as it isn't in use anymore since TYPO3 CMS 4.5 and was responsible for notifying the browser that the session
|
||||
is still active.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations misusing top.busy until now for their own good will break.
|
||||
|
||||
|
||||
.. index:: PHP-API, JavaScript, Backend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62800:
|
||||
|
||||
==========================================================
|
||||
Deprecation: #62800 - Workspaces ToolbarItem via ExtDirect
|
||||
==========================================================
|
||||
|
||||
See :issue:`62800`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PHP functionality for switching a workspace was done with the ExtDirect call :code:`TYPO3.Ajax.ExtDirect.ToolbarMenu`
|
||||
until now. This has been replaced by a simple AJAX JSON call, based on jQuery and the refactored ToolbarItem Menu for
|
||||
the workspaces module.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The core does not use this functionality anymore, and also removed the ExtDirect registration for this class.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which directly used the ExtDirect :code:`TYPO3.Ajax.ExtDirect.ToolbarMenu` to fetch the data.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new AjaxHandler :code:`Workspaces::setWorkspace()` directly instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, JavaScript, Backend, ext:workspaces
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62854:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #62854 - Abstractplugin->pi_list_searchBox()
|
||||
=========================================================
|
||||
|
||||
See :issue:`62854`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Method :code:`pi_list_searchBox()` of AbstractPlugin (aka pibase) was used with very old
|
||||
search solutions and is hopelessly outdated. It is now discouraged to be used
|
||||
and will be removed with next major version.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions still using :code:`pi_list_searchBox()` will throw a deprecation warning.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any extension still using this method needs to be adapted.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62864:
|
||||
|
||||
=============================================================
|
||||
Deprecation: #62864 - BackendUtility->helpTextIcon deprecated
|
||||
=============================================================
|
||||
|
||||
See :issue:`62864`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The function :code:`helpTextIcon()` in BackendUtility has been marked as deprecated.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The core does not use this functionality anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which use the function :code:`helpTextIcon()`.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use :code:`BackendUtility::cshItem()` instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62893:
|
||||
|
||||
==================================================================================
|
||||
Deprecation: #62893 - Flashmessage JavaScript object TYPO3.Flashmessages was moved
|
||||
==================================================================================
|
||||
|
||||
See :issue:`62893`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Flashmessages JavaScript object has been moved from `TYPO3.Flashmessages` to `top.TYPO3.Flashmessages`.
|
||||
The severity constant values has been changed to correspond to the same values (-2,-1,0,1,2) of the constants as in PHP.
|
||||
The constants `TYPO3.Severity.information` have been marked as deprecated.
|
||||
3rd party extensions referring to `TYPO3.Severity.information` will work until CMS 9.
|
||||
A compatibility file was introduced to map `TYPO3.Flashmessages` to `top.TYPO3.Flashmessages`, will also work until CMS 9.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If a 3rd party extension calls the mentioned methods directly, a deprecation log will be written to the browser console.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
A TYPO3 instance is affected if a 3rd party extension refers to the method `TYPO3.Flashmessages.display()` or uses `TYPO3.Severity.information` constants.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The affected 3rd party extensions must be modified to use `top.TYPO3.Flashmessages` instead of `TYPO3.Flashmessages`.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// Old and deprecated:
|
||||
TYPO3.Flashmessages.display(TYPO3.Severity.notice)
|
||||
|
||||
// New and the only correct way:
|
||||
top.TYPO3.Flashmessages.display(top.TYPO3.Severity.notice)
|
||||
|
||||
The `TYPO3.Severity` object has been moved to `top.TYPO3.Severity`. Use `top.TYPO3.Severity.*` instead.
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62988:
|
||||
|
||||
========================================================================
|
||||
Deprecation: #62988 - Deprecate unused/non-unified DocumentTemplate code
|
||||
========================================================================
|
||||
|
||||
See :issue:`62988`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Several functions within DocumentTemplate are not encouraged to be used anymore.
|
||||
|
||||
The hard-coded background image setting via :code:`$TBE_STYLES['background']` is removed and its usage is deprecated.
|
||||
|
||||
Additionally, the font-wrapping methods *rfw()* and *dfw()* are deprecated.
|
||||
The according CSS was removed from the core.
|
||||
|
||||
The method *collapseableSection()*, which was used solely by the reports module for ages in a buggy
|
||||
way, is also deprecated in favor of Bootstrap collapseables and localstorage.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The core does not use this functionality anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which use the setting :code:`$GLOBALS['TBE_STYLES']['background']` or any of the functions:
|
||||
|
||||
* dfw()
|
||||
* rfw()
|
||||
* collapseableSection()
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
* Use CSS directly instead of :code:`$GLOBALS['TBE_STYLES']['background']`
|
||||
* Use the CSS class *text-muted* instead of the method :code:`dfw()`
|
||||
* Use the CSS class *text-danger* instead of the method :code:`rfw()`
|
||||
* Use HTML bootstrap classes, localStorage etc. instead of :code:`collapseableSection()`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-47919:
|
||||
|
||||
=========================================================================================================
|
||||
Feature: #47919 - Possibility to configure an exception handler when rendering TypoScript content objects
|
||||
=========================================================================================================
|
||||
|
||||
See :issue:`47919`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Exceptions which occur during rendering of content objects (typically plugins) will now be caught
|
||||
by default in production context and an error message is shown as rendered output.
|
||||
If this is done, the page will remain available while the section of the page that produces an error (throws an exception)
|
||||
will show a configurable error message. By default this error message contains a random code which references
|
||||
the exception which is also logged by the logging framework for developer reference.
|
||||
|
||||
Usage:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# Use 1 for the default exception handler (enabled by default in production context)
|
||||
config.contentObjectExceptionHandler = 1
|
||||
|
||||
# Use a class name for individual exception handlers
|
||||
config.contentObjectExceptionHandler = TYPO3\CMS\Frontend\ContentObject\Exception\ProductionExceptionHandler
|
||||
|
||||
# Customize the error message. A randomly generated code is replaced within the message if needed.
|
||||
config.contentObjectExceptionHandler.errorMessage = Oops an error occurred. Code: %s
|
||||
|
||||
# Configure exception codes which will not be handled, but bubble up again (useful for temporary fatal errors)
|
||||
tt_content.login.20.exceptionHandler.ignoreCodes.10 = 1414512813
|
||||
|
||||
# Disable the exception handling for an individual plugin/ content object
|
||||
tt_content.login.20.exceptionHandler = 0
|
||||
|
||||
# ignoreCodes and errorMessage can be both configured globally …
|
||||
config.contentObjectExceptionHandler.errorMessage = Oops an error occurred. Code: %s
|
||||
config.contentObjectExceptionHandler.ignoreCodes.10 = 1414512813
|
||||
|
||||
# … or locally for individual content objects
|
||||
tt_content.login.20.exceptionHandler.errorMessage = Oops an error occurred. Code: %s
|
||||
tt_content.login.20.exceptionHandler.ignoreCodes.10 = 1414512813
|
||||
|
||||
..
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Instead of breaking the whole page when an exception occurs, an error message is shown for the part of the page that is broken.
|
||||
Be aware that unlike before, it is now possible that a page with error message gets cached.
|
||||
To get rid of the error message not only the actual error needs to be fixed, but the cache must be cleared for this page.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-50039:
|
||||
|
||||
========================================================
|
||||
Feature: #50039 - Multiple CSS Files in Rich Text Editor
|
||||
========================================================
|
||||
|
||||
See :issue:`50039`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to import more than one CSS file for the Rich Text Editor.
|
||||
|
||||
New syntax is:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
RTE.default.contentCSS {
|
||||
file1 = fileadmin/myStylesheet1.css
|
||||
file2 = fileadmin/myStylesheet2.css
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The old syntax may still be used. If no CSS files are set, the RTE default CSS
|
||||
file is used as before.
|
||||
|
||||
|
||||
.. index:: TSConfig, RTE, Backend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-51905:
|
||||
|
||||
==========================================================================
|
||||
Feature: #51905 - Add dependencies between classes in the Rich Text Editor
|
||||
==========================================================================
|
||||
|
||||
See :issue:`51905`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to configure a class as requiring other classes.
|
||||
|
||||
The syntax of this new property is
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
RTE.classes.[ *classname* ] {
|
||||
.requires = list of class names; list of classes that are required by the class;
|
||||
if this property, in combination with others, produces a circular relationship, it is ignored;
|
||||
when a class is added on an element, the classes it requires are also added, possibly recursively;
|
||||
when a class is removed from an element, any non-selectable class that is not required by any of the classes
|
||||
remaining on the element is also removed.
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
There is no impact on previous configurations.
|
||||
|
||||
|
||||
.. index:: TSConfig, RTE, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-54518:
|
||||
|
||||
===================================================
|
||||
Feature: #54518 - Provide TSconfig to link checkers
|
||||
===================================================
|
||||
|
||||
See :issue:`54518`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The active TSconfig of the linkvalidator is stored in the LinkAnalyzer and made
|
||||
publicly available to the link checkers.
|
||||
|
||||
The TSconfig is read either from the currently active TSconfig in the Backend
|
||||
when the linkvalidator is used in the info module or from the configuration
|
||||
provided in the linkvalidator scheduler task.
|
||||
|
||||
This allows passing configuration to the different link checkers.
|
||||
|
||||
|
||||
Usage:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# The configuration in mod.linkvalidator can be read by the link checkers.
|
||||
mod.linkvalidator.mychecker.myvar = 1
|
||||
|
||||
..
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The method signature of `\TYPO3\CMS\Linkvalidator::LinkAnalyzer::init()` is changed. A new parameter has been added
|
||||
for submitting the current TSconfig. This can break third party code that extends this method.
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend, ext:linkvalidator
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-54519:
|
||||
|
||||
==============================================================
|
||||
Feature: #54519 - Report links to disabled linkhandler records
|
||||
==============================================================
|
||||
|
||||
See :issue:`54519`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new configuration option has been introduced for the linkhandler link checker
|
||||
in the linkvalidator extension:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
mod.linkvalidator.linkhandler.reportHiddenRecords = 1
|
||||
|
||||
..
|
||||
|
||||
When enabled links will be considered invalid when they point to disabled records.
|
||||
By default only links to deleted records are reported.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The `\TYPO3\CMS\Linkvalidator\Linktype::checkLink()` method has been restructured
|
||||
and will now determine if the linked record is deleted or hidden and report
|
||||
a error depending on the `reportHiddenRecords` configuration.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, ext:linkvalidator
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-58122:
|
||||
|
||||
=======================================================================
|
||||
Feature: #58122 - Configure class as non-selectable in Rich Text Editor
|
||||
=======================================================================
|
||||
|
||||
See :issue:`58122`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to configure a class as non-selectable in the style selectors of the Rich Text Editor.
|
||||
|
||||
The syntax of this new property is
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
RTE.classes.[ *classname* ] {
|
||||
.selectable = boolean; if set to 0, the class is not selectable in the style selectors; if the property is omitted or set to 1, the class is selectable in the style selectors
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
There is no impact on previous configurations.
|
||||
|
||||
|
||||
.. index:: RTE, TSConfig, Backend
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-59396:
|
||||
|
||||
====================================
|
||||
Feature: #59396 - TypolinkViewHelper
|
||||
====================================
|
||||
|
||||
See :issue:`59396`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Adding Link and Uri ViewHelper that cope with the contents of any field that was filled with a link wizard in
|
||||
TYPO3 CMS Backend.
|
||||
Those fields contain various parts split by a space and being escaped to provide input for the
|
||||
typoLink function.
|
||||
In order to use those fields natively in Fluid without the need of TypoScript in between, this ViewHelper
|
||||
was introduced.
|
||||
It takes the field content as a whole and can additionally take some parameters directly from Fluid.
|
||||
|
||||
The full parameter usage in Fluid might look like this, where {link} is the field content:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<f:link.typolink parameter="{link}" target="_blank" class="ico-class" title="some title" additionalParams="b=u" additionalAttributes="{type:'button'}">
|
||||
|
||||
<f:uri.typolink parameter="{link}" additionalParameters="b=u">
|
||||
|
||||
|
||||
Only *parameter* is required, all other parameters are optional.
|
||||
While passing additional parameters to the ViewHelper, following rules apply:
|
||||
|
||||
- target is overridden, the value from Fluid applies
|
||||
- class is merged from the values passed from the database and those of *class*
|
||||
- title is overridden, the value from Fluid applies
|
||||
- additionalParams is merged from the values passed from the database and those of *additionalParams*
|
||||
- additionalAttributes is (as usual) added to the resulting tag as *type="button"*
|
||||
|
||||
{link} contains *19 _blank - "testtitle with whitespace" &X=y*.
|
||||
In case of the Uri.Typolink Viewhelper, only the first and the fourth parameter of the field content are taken into account,
|
||||
the tag related properties are discarded.
|
||||
For the given examples, the output is:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<a href="index.php?id=19&X=y&b=u" title="some title" target="_blank" class="ico-class" type="button">
|
||||
index.php?id=19&X=y&b=u
|
||||
</a>
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The new ViewHelper can be used in all new projects. There is no interference with any part of existing code.
|
||||
|
||||
|
||||
.. index:: Fluid
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-59830:
|
||||
|
||||
============================================================
|
||||
Feature: #59830 - Introduce read-only column for file mounts
|
||||
============================================================
|
||||
|
||||
See :issue:`59830`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
File mount records now have a new flag "read only". This flag replaces the virtual flag introduced earlier,
|
||||
so it can be defined natively in the record.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The impact is low as the old behavior still exists. A storage was never marked as read-only before. There is
|
||||
an option to set this through UserTs, but now it is also possible to set it on the storage record directly.
|
||||
|
||||
|
||||
.. index:: FAL, Backend
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-60064:
|
||||
|
||||
===========================================================
|
||||
Feature: #60064 - Logging Framework Introspection Processor
|
||||
===========================================================
|
||||
|
||||
See :issue:`60064`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The introspection processor of the logging framework has been extended to log the full PHP backtrace and not only the last
|
||||
element of a backtrace.
|
||||
|
||||
Two options were added to enable this feature:
|
||||
|
||||
- :code:`appendFullBackTrace`, boolean, not mandatory` Add full backtrace to the log
|
||||
|
||||
- :code:`shiftBackTraceLevel`, integer, default 0, not mandatory` Removes the given number of entries from the top of the backtrace stack.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The introspection processor behaves as before as long as the feature is not explicitly configured.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-60123:
|
||||
|
||||
========================================================
|
||||
Feature: #60123 - Unit base test case removes test files
|
||||
========================================================
|
||||
|
||||
See :issue:`60123`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Some unit tests need to create test files or directories to check the system
|
||||
under test. Those files should be removed again.
|
||||
A test can now register absolute file paths in :code:`$this->testFilesToDelete`, and
|
||||
the generic :code:`tearDown()` method will then remove them. Only files, links and directories
|
||||
within typo3temp/ are allowed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
This allows tests to clean up the environment without leaving obsolete test files behind.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-60567:
|
||||
|
||||
==========================================================
|
||||
Feature: #60567 - Show Styles Segment in TS Object Browser
|
||||
==========================================================
|
||||
|
||||
See :issue:`60567`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript Object Browser now shows the setup segment :code:`styles.`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The segment is cached in the Frontend and not unset anymore, page cache entries increase slightly in size.
|
||||
|
||||
|
||||
.. index:: TypoScript, Backend
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-60822:
|
||||
|
||||
=================================================================
|
||||
Feature: #60822 - Class annotations in extbase reflection service
|
||||
=================================================================
|
||||
|
||||
See :issue:`60822`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extbase reflection service can now return tags/annotations added to a class.
|
||||
|
||||
Suppose the given class:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
/**
|
||||
* @SomeClassAnnotation A value
|
||||
*/
|
||||
class Foo {
|
||||
}
|
||||
|
||||
|
||||
Those annotation can be fetched with the reflection service:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$service = new \TYPO3\CMS\Extbase\Reflection\ReflectionService();
|
||||
$classValues = $service->getClassTagsValues('Foo');
|
||||
$classValue = $service->getClassTagValue('Foo', 'SomeClassAnnotation');
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Getting class tags by ReflectionService is now possible.
|
||||
|
||||
|
||||
.. index:: PHP-API, ext:extbase
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66185:
|
||||
|
||||
===================================================
|
||||
Feature: #66185 - Allow Svg Files as Extension icon
|
||||
===================================================
|
||||
|
||||
See :issue:`66185`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Extension authors can ship Extensions with an ext_icon file with the suffixes .png, .svg and .gif.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extension icons might be rendered better when provided as vector graphics and not as bitmaps.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61289:
|
||||
|
||||
==============================================================
|
||||
Feature: #61289 - Signal for IconUtility html tag manipulation
|
||||
==============================================================
|
||||
|
||||
See :issue:`61289`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This signal allows to manipulate the rendered html code for a sprite icon by an extension.
|
||||
|
||||
Currently all sprite icons are rendered as
|
||||
:code: <span class=""> </span>`.
|
||||
|
||||
Extensions can now adjust the html tag, add or remove attributes and define own content in between the html tags.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The rendered html code is no longer a span with fixed classes, but can be modified by an extension.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61351:
|
||||
|
||||
=========================================================
|
||||
Feature: #61351 - Add data attribute to Fluid ViewHelpers
|
||||
=========================================================
|
||||
|
||||
See :issue:`61351`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Since HTML5 Elements can contain a generic data attribute,
|
||||
Fluid provides for those elements the possibility to add
|
||||
key-value pairs as array, which will be rendered as
|
||||
`data-$key="$value"`.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:form.textfield data="{foo: 'bar', baz: 'foos'}" />
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Generic data attributes do not need to be passed by the
|
||||
`additionalAttributes` array anymore making the viewhelper
|
||||
more straightforward to use.
|
||||
|
||||
|
||||
.. index:: Fluid
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61361:
|
||||
|
||||
===================================================================================
|
||||
Feature: #61361 - Template Path Fallback for Fluid StandaloneView and FLUIDTEMPLATE
|
||||
===================================================================================
|
||||
|
||||
See :issue:`61361`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
StandaloneView
|
||||
--------------
|
||||
|
||||
Earlier in the development of Fluid, a template fallback was introduced
|
||||
in the TemplateView, providing the possibility to pass a set of possible
|
||||
file locations to the View Configuration, where Templates, Layouts and Partials
|
||||
can be found.
|
||||
|
||||
The same functionality is now available in the StandaloneView. It is possible to
|
||||
let the system look up the fitting paths for Partials and Layouts. It is
|
||||
in the nature of the StandaloneView to get a specific template file set, so
|
||||
for Templates there is no lookup requirement.
|
||||
|
||||
As a developer or integrator, you can configure your View as follows:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$view = $this->objectManager->get(\TYPO3\CMS\Fluid\View\StandaloneView::class);
|
||||
$view->setFormat('html');
|
||||
$view->setTemplatePathAndFileName(ExtensionManagementUtility::extPath('myExt') . 'Resources/Private/Templates/Email.html');
|
||||
$view->setLayoutRootPaths(array(
|
||||
'default' => ExtensionManagementUtility::extPath('myExt') . 'Resources/Private/Layouts',
|
||||
'specific' => ExtensionManagementUtility::extPath('myTemplateExt') . 'Resources/Private/Layouts/MyExt',
|
||||
));
|
||||
$view->setPartialRootPaths(array(
|
||||
'default' => ExtensionManagementUtility::extPath('myExt') . 'Resources/Private/Partials',
|
||||
'specific' => ExtensionManagementUtility::extPath('myTemplateExt') . 'Resources/Private/Layouts/MyExt',
|
||||
'evenMoreSpecific' => 'fileAdmin/templates/myExt/Partials',
|
||||
));
|
||||
|
||||
|
||||
With this, the View will first look up the requested layout file in the path with the key
|
||||
:code:`specific`, and in case there is no such file, it will fall back to :code:`default`. For the partials the
|
||||
sequence would be :code:`evenMoreSpecific`, then :code:`specific`, then fall back to :code:`default`.
|
||||
|
||||
You are free in the naming
|
||||
of the keys. The paths are searched from bottom to top.
|
||||
In case you choose for numeric array keys, the array is ordered first, then reversed for the lookup, so
|
||||
the highest index is accessed first.
|
||||
|
||||
FLUIDTEMPLATE
|
||||
-------------
|
||||
|
||||
Additionally the TypoScript Content Object FLUIDTEMPLATE, which is based on StandaloneView, also supports this
|
||||
kind of fallback mechanism.
|
||||
Two new TypoScript options are added for this purpose:
|
||||
|
||||
- partialRootPaths
|
||||
- layoutRootPaths
|
||||
|
||||
Example usage:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page.10 = FLUIDTEMPLATE
|
||||
page.10.file = EXT:sitedesign/Resources/Private/Templates/Main.html
|
||||
page.10.partialRootPaths {
|
||||
10 = EXT:sitedesign/Resources/Private/Partials
|
||||
20 = EXT:sitemodification/Resources/Private/Partials
|
||||
}
|
||||
|
||||
|
||||
In case you're using the old options (partialRootPath, layoutRootPath) together with the new options, the content of
|
||||
the old options will be placed at the first position (index zero) in the fallback list.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
In order to change the skin of an extension output, provided by the Fluid StandaloneView, you are no longer required to
|
||||
copy the whole Resources folder into fileadmin or to some specific location, but you can pick only the files you want
|
||||
to change. Those need to be organized in folders, which are then configured for the view. The system will fall through
|
||||
all the provided locations, taking the first fitting file it finds.
|
||||
|
||||
|
||||
.. index:: PHP-API, TypoScript, Fluid
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61489:
|
||||
|
||||
================================================================
|
||||
Feature: #61489 - Allow own TypoScript Condition implementations
|
||||
================================================================
|
||||
|
||||
See :issue:`61489`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to add own TypoScript conditions via a
|
||||
separate API.
|
||||
|
||||
An extension / package can now ship an implementation of a new
|
||||
abstract class AbstractCondition. Via the existing TypoScript
|
||||
Condition Syntax the class is called by the simple full namespaced
|
||||
class name.
|
||||
The class's main function "matchCondition" can flexibly evaluate
|
||||
any parameters given after the class name.
|
||||
|
||||
Usage:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition]
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition = 7]
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition = 7, != 6]
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition = {$mysite.myconstant}]
|
||||
|
||||
where the TypoScript Condition class deals with =/!= etc itself.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If you've previously used the "userFunc" condition, you are encouraged
|
||||
to use this new API for your own TypoScript conditions.
|
||||
|
||||
|
||||
.. index:: PHP-API, TypoScript, Frontend
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61529:
|
||||
|
||||
===========================================================
|
||||
Feature: #61529 - Add multiple parameter to f:form.checkbox
|
||||
===========================================================
|
||||
|
||||
See :issue:`61529`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Introduce parameter "multiple" for f:form.checkbox ViewHelper.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:form action="create" method="POST" name="pizza" object="{pizza}">
|
||||
<f:form.checkbox property="covering" multiple="1" value="salami" /><br />
|
||||
<f:form.checkbox property="covering" multiple="1" value="ham" /><br />
|
||||
<f:form.checkbox property="covering" multiple="1" value="cheese" /><br />
|
||||
<f:form.submit value="Send" />
|
||||
</f:form>
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If you add the parameter "multiple" to your checkboxes, it automatically
|
||||
appends [] to the name of your checkbox.
|
||||
|
||||
|
||||
.. index:: Fluid
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61577:
|
||||
|
||||
===========================================================
|
||||
Feature: #61577 - Backend markup for checkboxes with labels
|
||||
===========================================================
|
||||
|
||||
See :issue:`61577`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A typical checkbox with label form element should now be rendered as:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<div class="checkbox">
|
||||
<label for="someId">
|
||||
<input type="checkbox" id="someId" />
|
||||
Label text
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If this HTML markup is applied, CSS styles by the TYPO3 core will take care of optimized view
|
||||
and custom CSS has become obsolete.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61668:
|
||||
|
||||
========================================================================
|
||||
Feature: #61668 - Video and audio playback in backend record information
|
||||
========================================================================
|
||||
|
||||
See :issue:`61668`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The record information popup ("i" symbol) can play certain html5 video and audio
|
||||
types. This is especially useful in the "file list" module.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Better usability of media files.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,54 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61800:
|
||||
|
||||
============================================================
|
||||
Feature: #61800 - Registry for adding file rendering classes
|
||||
============================================================
|
||||
|
||||
See :issue:`61800`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
To be able to render all kinds of media files a file rendering registry is needed where you can register
|
||||
a "renderer" class that can generate the needed HTML output.
|
||||
|
||||
Every renderer has a priority between 1 and 100, 100 is more important than 1.
|
||||
When the rendererRegistry is asked for a renderer that fits a given file all registered renderer classes are "asked",
|
||||
in order of priority, if they are able to render the file. The first renderer class that can render the file an
|
||||
instance is returned by the rendererRegistry.
|
||||
|
||||
Every registered renderer class needs to implement the FileRendererInterface. This makes sure the class has a
|
||||
getPriority(), canRender() and render() method.
|
||||
|
||||
- getPriority() returns integer between 1 and 100
|
||||
- canRender() gets a file(Reference) object as parameter and returns TRUE if the class is able to render the file
|
||||
It checks on mime-type but also storage type etc. can be performed to determine if creating the correct output
|
||||
is possible
|
||||
- render() also gets the file(Reference) object as parameter together with width, height and an optional options array
|
||||
the return value is the HTML output
|
||||
|
||||
A AudioTagRenderer and VideoTagRenderer have already been added.
|
||||
|
||||
It is possible to register your own renderer classes in the ext_localconf.php of an extension.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$rendererRegistry = \TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getInstance();
|
||||
$rendererRegistry->registerRendererClass(
|
||||
'MyCompany\\MySpecialMediaFile\\Rendering\\MySpecialMediaFileRenderer'
|
||||
);
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The registry on its own doesn't do anything. Some followup patches are needed to use this registry
|
||||
to find the correct renderer class for rendering videos and other media files in BE preview and FE.
|
||||
|
||||
|
||||
.. index:: PHP-API, FAL, Backend
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-62147:
|
||||
|
||||
===============================================
|
||||
Feature: #62147 - New eval option in TCA: email
|
||||
===============================================
|
||||
|
||||
See :issue:`62147`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new option has been added to the eval field: email. This will
|
||||
check if the entered value is a valid e-mail address server-side.
|
||||
If not, a flash error message will be shown.
|
||||
|
||||
Usage:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
'email' => array(
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:wd_products/Resources/Private/Language/locallang_db.xlf:tx_wdproducts_domain_model_contactperson.email',
|
||||
'config' => array(
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'email,trim'
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Users don't have to write their own validation classes for e-mail validation.
|
||||
|
||||
|
||||
.. index:: TCA, Backend
|
||||
@@ -0,0 +1,42 @@
|
||||
:template: changelogOverview.html
|
||||
.. include:: /Includes.rst.txt
|
||||
.. _changelog-7-0:
|
||||
|
||||
7.0 Changes
|
||||
===========
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Breaking Changes
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Breaking-*
|
||||
|
||||
Features
|
||||
^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Feature-*
|
||||
|
||||
Deprecation
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Deprecation-*
|
||||
Reference in New Issue
Block a user