Files

91 lines
2.8 KiB
ReStructuredText

.. include:: /Includes.rst.txt
.. _breaking-67811:
==========================
Breaking: #67811 - Rte API
==========================
See :issue:`67811`
Description
===========
The RTE implementation was based on the main classes `\TYPO3\CMS\Backend\Rte\AbstractRte`,
`\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase` and `\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi`. These
three main API were removed or changed method signatures and internal method calls.
The functionality to render RTE standalone and out of a context of `FormEngine` was dropped.
Impact
======
Main API changes
----------------
* Method `TYPO3\CMS\Backend\Utility\BackendUtility::RTEgetObj()` is deprecated and no longer used.
`FormEngine` now creates a `RichTextElement` with `NodeFactory` and `makeInstance()`, the
created object is not a singleton but a prototype.
* With the deprecation of `RTEgetObj` method `transformContent` from `AbstractRte` has been inlined to
`DataHandler`.
* Method `isAvailable` from `AbstractRte` has been dropped. Every valid browser and browser version
for TYPO3 CMS 7 can render the default richtext editor. Custom checks may be implement via
`NodeResolverInterface` in `FormEngine`.
* Property `RTE_errors` in `TYPO3\CMS\Core\Authentication\BackendUserAuthentication` has been dropped along
with the `RTEgetObj()` deprecation.
RTE registration
----------------
* Different richtext implementations can no longer register in `$GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_reg']`.
Instead, registration must be done in `FormEngine` via `NodeFactory` API, the method `drawRTE` has been dropped.
* Transformations are not available via `AbstractRte` anymore, hooks within `RteHtmlParser` can
be used for custom transformations.
PHP classes
-----------
* `\TYPO3\CMS\Backend\Rte\AbstractRte` has been dropped.
* `\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase` has been dropped and its functionality was moved to
`\TYPO3\CMS\Rtehtmlarea\Form\Element\RichtextElement`. All methods and properties except
the main entry method `render()` used by `FormEngine` are protected.
* `\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi` has been refactored. Method `main()` receives
a configuration array instead of an instance of the parent object. Some methods were dropped
and are no longer called.
RTE Plugin Configuration
------------------------
* Parameter `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['anExtensionKey']['plugins']['aPluginName']['addIconsToSkin']`
was dropped, plugin property `relativePathToSkin` is no longer evaluated.
* A couple of helper methods were added to `RteHtmlAreaApi`
* This API may get further changes in the future.
Affected Installations
======================
Extensions that extend one of the above mentioned extensions or API.
Migration
=========
Adapt the code using these methods.
.. index:: PHP-API, RTE, Backend