TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-56746:
|
||||
|
||||
==========================================================================
|
||||
Breaking: #56746 - Add count methods and sort functionality to FAL drivers
|
||||
==========================================================================
|
||||
|
||||
See :issue:`56746`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
To improve the performance of the file list when showing (remote) storages with a lot of
|
||||
files and folders the sorting and ordering needs to be done by the driver. Also the pagination of
|
||||
the file list can be improved by moving the counting to the driver instead of fetching all files and
|
||||
folders objects to count them.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Installations with custom FAL drivers will break after update.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations using custom FAL drivers.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The custom FAL drivers need to be updated to be in line with the updated DriverInterface.
|
||||
|
||||
2 new functions need to be implemented:
|
||||
|
||||
- `countFoldersInFolder()`
|
||||
- `countFilesInFolder()`
|
||||
|
||||
2 functions need to be extended with the parameters $sort and $sortRev:
|
||||
|
||||
- `getFilesInFolder(..., $sort, $sortRev)`
|
||||
- `getFoldersInFolder(..., $sort, $sortRev)`
|
||||
|
||||
|
||||
.. index:: PHP-API, FAL
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63784:
|
||||
|
||||
====================================================================
|
||||
Breaking: #63784 - Visibility and type of DataHandler->exclude_array
|
||||
====================================================================
|
||||
|
||||
See :issue:`63784`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The internal but formerly public property DataHandler->exclude_array is replaced by
|
||||
the protected property DataHandler->excludedTablesAndFields, which contains the
|
||||
combination of excluded table and field as key instead. This improves performance
|
||||
especially for bulk editing since many in_array()-checks can be avoided.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions using the DataHandler (former TCEMain) and changing the (former public)
|
||||
exclude_array to change access to tables and fields cannot do so anymore. Users need
|
||||
to have their access-rights set properly instead.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations using extensions that read or write the undocumented array exclude_array.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove code accessing DataHandler->exclude_array and configure the BE-User properly.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64719:
|
||||
|
||||
====================================================================================================
|
||||
Breaking: #64719 - Multimedia and Media cObjects and Content Types are moved to new system extension
|
||||
====================================================================================================
|
||||
|
||||
See :issue:`64719`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Content Element Types "media" and "multimedia" have been extracted into one single place, which is an
|
||||
extension called "mediace". This extension is not installed by default but is shipped with the core.
|
||||
|
||||
The following Content Objects are not available anymore by default:
|
||||
|
||||
* MULTIMEDIA
|
||||
* MEDIA
|
||||
* SWFOBJECT
|
||||
* FLOWPLAYER
|
||||
* QTOBJECT
|
||||
|
||||
The Content Types "media" and "multimedia" are not available anymore by default.
|
||||
|
||||
The table column `tt_content.multimedia` is not available anymore by default.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any TypoScript using any of the cObjects directly or Content Elements with the CType "media" or "multimedia"
|
||||
will result in no output. Existing Content Elements of this type cannot be edited anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations still using any of the cObjects or having Content Elements of CType "media" or "multimedia".
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Install the system extension "mediace" to regain all functionality as it was before.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend, Database, Backend, ext:mediace
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-65432:
|
||||
|
||||
============================================================================
|
||||
Breaking: #65432 - Storage of module URI in global variable has been removed
|
||||
============================================================================
|
||||
|
||||
See :issue:`65432`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Previously the URI to a module which was dispatched through mod.php was stored
|
||||
in a global variable `$GLOBALS['MCONF']['_']`.
|
||||
|
||||
In terms of cleanup of global variable usage and module configuration cleanup and streamlining,
|
||||
this functionality has been removed without substitution.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any backend module code which accesses `$GLOBALS['MCONF']['_']` to get the module URI will not work any more.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations using extensions with backend modules which use `$GLOBALS['MCONF']['_']`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extension code needs to be changed in a way that the API `BackendUtility::getModuleUrl('module_name')` is used
|
||||
instead of accessing `$GLOBALS['MCONF']['_']`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,48 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-65727:
|
||||
|
||||
=================================================================
|
||||
Breaking: #65727 - Don't provide access to localPath of FAL files
|
||||
=================================================================
|
||||
|
||||
See :issue:`65727`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It was possible to retrieve the local path of a FAL file via TypoScript
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
a = TEXT
|
||||
a.value.data = file:current:localPath
|
||||
|
||||
The localPath property has been dropped for the following reasons:
|
||||
|
||||
* The implementation used allow write access to the file and hence created a local copy which created useless file garbage.
|
||||
|
||||
* Changing this to read-only access would cause the LocalDriver to return the true local path to the file, which would
|
||||
open the possibility to file manipulation via "side channel" of FAL. This would make the FAL data inconsistent.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any TypoScript using this file-property will stop working.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation with TypoScript using this file-property
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
There is no other possibility to retrieve this information. Use the FAL API.
|
||||
|
||||
|
||||
.. index:: FAL, TypoScript, Frontend
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-65778:
|
||||
|
||||
===================================================================================
|
||||
Breaking: #65778 - MediaWizard functionality is moved to system extension "mediace"
|
||||
===================================================================================
|
||||
|
||||
See :issue:`65778`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Media Wizard Provider for the "media" Content Element Type has been moved to the same system extension.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any extensions registering their own Media Wizards need to install the system extension "mediace" and define a dependency
|
||||
to this extension.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations using the "MEDIA" cObject or having Content Elements of CType "media" or "multimedia" with
|
||||
custom media wizard providers.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Make sure to install the system extension "mediace" and rename the function calls to use the new classes, see
|
||||
the file :file:`ext_localconf.php` of the extension "mediace" for example usage.
|
||||
|
||||
|
||||
.. index:: PHP-API, ext:mediace, Frontend, Backend
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-65922:
|
||||
|
||||
======================================================================
|
||||
Breaking: #65922 - Move unused tt_content TCA fields to compatibility6
|
||||
======================================================================
|
||||
|
||||
See :issue:`65922`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
There are some database fields defined in 'frontend' which are not used by `frontend` or `css_styled_content`. These
|
||||
fields have been moved to `compatibility6`.
|
||||
|
||||
- altText
|
||||
- imagecaption
|
||||
- imagecaption_position
|
||||
- image_link
|
||||
- longdescURL
|
||||
- titleText
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations with extensions installed depending on these fields. For instance installations still
|
||||
using `css_styled_content` static templates of the TYPO3 CMS 4.* versions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Add the moved TCA and SQL definitions to your own extension or install the compatibility extension `compatibility6`.
|
||||
The latter is not recommended and should be considered a short-term solution.
|
||||
|
||||
|
||||
.. index:: Database, Frontend
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-65939:
|
||||
|
||||
============================================
|
||||
Breaking: #65939 - Backend Login Refactoring
|
||||
============================================
|
||||
|
||||
See :issue:`65939`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
For the refactoring of the backend login we introduce Fluid as template engine and remove the old marker template.
|
||||
|
||||
It was necessary to remove the signal `LoginController::SIGNAL_RenderLoginForm` which will no longer be emitted.
|
||||
|
||||
Additionally the following methods of `LoginController` have been removed:
|
||||
|
||||
* `LoginController::makeLoginBoxImage`
|
||||
* `LoginController::wrapLoginForm`
|
||||
* `LoginController::makeLoginNews`
|
||||
* `LoginController::makeLoginForm`
|
||||
* `LoginController::makeLogoutForm`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The mentioned methods are no longer available and a fatal error will be triggered if used.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which make use of the `LoginController::SIGNAL_RenderLoginForm` signal or use the removed methods:
|
||||
|
||||
* `LoginController::makeLoginBoxImage`
|
||||
* `LoginController::wrapLoginForm`
|
||||
* `LoginController::makeLoginNews`
|
||||
* `LoginController::makeLoginForm`
|
||||
* `LoginController::makeLogoutForm`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the introduced Fluid view to adapt the login screen to your demands.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-65962:
|
||||
|
||||
======================================================================================
|
||||
Breaking: #65962 - Third-party library "websvg" and the according API has been removed
|
||||
======================================================================================
|
||||
|
||||
See :issue:`65962`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The third-party library "websvg" has been removed from the TYPO3 CMS Core. The according TypoScript options and
|
||||
the public methods within PageRenderer have been removed without substitution.
|
||||
|
||||
The following PHP methods within PageRenderer have been removed:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$pageRenderer->setSvgPath()
|
||||
$pageRenderer->getSvgPath()
|
||||
$pageRenderer->loadSvg()
|
||||
$pageRenderer->enableSvgDebug()
|
||||
$pageRenderer->svgForceFlash()
|
||||
|
||||
The following TypoScript options are removed:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page.javascriptLibs.SVG
|
||||
page.javascriptLibs.SVG.debug
|
||||
page.javascriptLibs.SVG.forceFlash
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any installation using one of the methods above in an extension will fail.
|
||||
|
||||
Any installation using `page.javascriptLibs.SVG = 1` will not include the websvg library anymore and might lead
|
||||
to SVGs not being displayed anymore in certain browsers. Using the SVG Content Object will lead to the same result.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations using the TypoScript options, the SVG Content Object or the pageRenderer methods directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Affected installations should include the "websvg" library directly from the library owner, and in their setups.
|
||||
|
||||
|
||||
.. index:: PHP-API, TypoScript, Frontend, Backend
|
||||
@@ -0,0 +1,44 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-66001:
|
||||
|
||||
=================================================================================
|
||||
Breaking: #66001 - Third-party libraries installed via composer are now in vendor
|
||||
=================================================================================
|
||||
|
||||
See :issue:`66001`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
All composer-installed libraries which the TYPO3 Core uses are now installed under `vendor` (composer default vendor directory)
|
||||
when running `composer install`. This way the packaging process for releasing TYPO3 CMS as tarball or zip
|
||||
can trigger a fully working installation without having to ship Packages/ for third-party libraries. Before composer
|
||||
installed all third-party libraries in the folder `Packages/Libraries`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any existing installation that is set up via composer based on the composer.json of the TYPO3.CMS.git repository
|
||||
will break if Unit Tests or Functional Tests via `bin/phpunit` will fail unless composer dependencies have been
|
||||
completely rebuilt.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations using a Packages/ directory within the typo3_src/ folder structure, most commonly by having checked out
|
||||
the TYPO3.CMS.git Repository and having run `composer install` after that. Any installations using the common
|
||||
TYPO3 distribution from composer.typo3.org are not affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Running `rm -rf vendor/ bin/ Packages/Libraries/ composer.lock; composer install` will make PHPunit
|
||||
work again.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-66034:
|
||||
|
||||
=======================================
|
||||
Breaking: #66034 - Drop Content Adapter
|
||||
=======================================
|
||||
|
||||
See :issue:`66034`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TYPO3 configuration option [FE][activateContentAdapter] and the associated code has been dropped from the TYPO3 core.
|
||||
This option was used to transform FAL fields back to old file fields.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any installation using TypoScript referring to old file columns as present *before* TYPO3 CMS 6.x will stop working as expected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change your TypoScript to use the new content object FILES to retrieve files.
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, Frontend, TypoScript
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-66286:
|
||||
|
||||
=========================================================================
|
||||
Breaking: #66286 - Page TSconfig options to hide Web Info modules renamed
|
||||
=========================================================================
|
||||
|
||||
See :issue:`66286`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
WEB > Info options in the function menu have new names in Page TSconfig properties to hide these modules
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Page TSconfig options in `mod.web_info.menu.function` use new class names.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installation which have options in the Info module disabled by using Page TSconfig `mod.web_info.menu.function`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The following properties under `mod.web_info.menu.function` have to be renamed:
|
||||
|
||||
* tx_cms_webinfo_page -> TYPO3\CMS\Frontend\Controller\PageInformationController
|
||||
* tx_cms_webinfo_lang -> TYPO3\CMS\Frontend\Controller\TranslationStatusController
|
||||
* tx_belog_webinfo -> TYPO3\CMS\Belog\Module\BackendLogModuleBootstrap
|
||||
* tx_infopagetsconfig_webinfo -> TYPO3\CMS\InfoPagetsconfig\Controller\InfoPageTyposcriptConfigController
|
||||
* tx_linkvalidator_ModFuncReport -> TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport
|
||||
* tx_indexedsearch_modfunc1 : removed, indexed_search has its own module
|
||||
* tx_indexedsearch_modfunc2 : removed, indexed_search has its own module
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend
|
||||
@@ -0,0 +1,44 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-66431:
|
||||
|
||||
===================================
|
||||
Breaking: #66431 - New Login Screen
|
||||
===================================
|
||||
|
||||
See :issue:`66431`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
To keep the focus on the most recent news, the news are reduced to a single view
|
||||
carousel where you can slide through the latest news.
|
||||
|
||||
A title for the news section is not needed anymore, in result
|
||||
$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNewsTitle'] is superfluous and has
|
||||
been removed completely without replacement.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The news section title has been dropped without replacement.
|
||||
There will be no alternative section title displayed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations that used $GLOBALS['TYPO3_CONF_VARS']['BE']['loginNewsTitle'] to
|
||||
set an alternative section title for the news.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If an entry for BE/loginNewsTitle exists in your local configuration it will be
|
||||
removed by the SilentConfigurationUpgradeService automatically.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, LocalConfiguration
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-47712:
|
||||
|
||||
===============================================
|
||||
Deprecation: #47712 - Deprecate old Locking API
|
||||
===============================================
|
||||
|
||||
See :issue:`47712`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The old class `\TYPO3\CMS\Core\Locking\Locker` has been marked as deprecated.
|
||||
|
||||
The configuration option `[SYS][lockingMode]` is now marked as deprecated and only affects the old Locker class, which is
|
||||
unused in the Core now.
|
||||
|
||||
Moreover two unused methods of `\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` have been marked as deprecated:
|
||||
|
||||
* acquirePageGenerationLock()
|
||||
* releasePageGenerationLock()
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the old class will trigger deprecation log messages.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new Locking Service API instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, LocalConfiguration
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-51360:
|
||||
|
||||
====================================================================================
|
||||
Deprecation: #51360 - Deprecate mod.tx_linkvalidator namespace in scheduler settings
|
||||
====================================================================================
|
||||
|
||||
See :issue:`51360`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Using the `mod.tx_linkvalidator` namespace in the linkvalidator scheduler task
|
||||
settings has been marked as deprecated. To make the setting consistent with TSconfig the namespace
|
||||
is changed to `mod.linkvalidator`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using `mod.tx_linkvalidator` in the scheduler task settings will throw an deprecation log entry.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances which use the linkvalidator scheduler task and use custom TSconfig in the task settings.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace `mod.tx_linkvalidator` with `mod.linkvalidator` in all affected scheduler tasks.
|
||||
|
||||
|
||||
.. index:: TSConfig, ext:linkvalidator, ext:scheduler
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64068:
|
||||
|
||||
============================================================
|
||||
Deprecation: #64068 - Deprecate thumbs.php and ThumbnailView
|
||||
============================================================
|
||||
|
||||
See :issue:`64068`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Prior to the File Abstraction Layer (FAL) there was :file:`typo3/thumbs.php` generating all preview images for the TYPO3
|
||||
Backend resources. This functionality is now marked for removal in TYPO3 CMS 8, as all functionality in the core already
|
||||
uses the File Abstraction Layer.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using `ThumbnailView`, `thumbs.php` or `BackendUtility::getThumbNail()` will throw a deprecation warning.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with custom extensions using one of the files / methods mentioned.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the File Abstraction Layer for any custom works. See `BackendUtility::thumbCode()` for inspiration.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64598:
|
||||
|
||||
==========================================================
|
||||
Deprecation: #64598 - Deprecate PagePositionMap::JSimgFunc
|
||||
==========================================================
|
||||
|
||||
See :issue:`64598`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following function has been marked as deprecated:
|
||||
|
||||
* `\TYPO3\CMS\Backend\Tree\View\PagePositionMap::JSimgFunc`
|
||||
|
||||
This method was used only in class PagePositionMap. The implemented "onmouseover" / "onmouseout"
|
||||
behaviour to switch between two images was dropped entirely for now. If this is needed, it should
|
||||
done a different way.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this function in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Every Extension that uses the deprecated function.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Write own JavaScript functions for your extension to handle onmouseover and onmouseout events to
|
||||
switch between two images.
|
||||
|
||||
|
||||
.. index:: PHP-API, JavaScript, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65111:
|
||||
|
||||
===================================
|
||||
Deprecation: #65111 - getDynTabMenu
|
||||
===================================
|
||||
|
||||
See :issue:`65111`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The DocumentTemplate method `getDynTabMenu()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The method has been refactored and renamed. The new method `getDynamicTabMenu()` should be used.
|
||||
The method `getDynTabMenu()` is now marked as deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which make use of `DocumentTemplate::getDynTabMenu()`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `ModuleTemplate::getDynamicTabMenu()` instead of `DocumentTemplate::getDynTabMenu()`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65283-1668719172:
|
||||
|
||||
=====================================================
|
||||
Deprecation: #65283 - Deprecate show item entry point
|
||||
=====================================================
|
||||
|
||||
See :issue:`65283`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry point has been marked as deprecated:
|
||||
|
||||
* typo3/show_item.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this entry point in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
`typo3/show_item.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('show_item')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65288:
|
||||
|
||||
========================================================
|
||||
Deprecation: #65288 - Deprecate "new record" entry point
|
||||
========================================================
|
||||
|
||||
See :issue:`65288`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry point has been marked as deprecated:
|
||||
|
||||
* typo3/db_new.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this entry point in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
`typo3/db_new.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('db_new')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65289:
|
||||
|
||||
===================================================
|
||||
Deprecation: #65289 - Deprecate browser entry point
|
||||
===================================================
|
||||
|
||||
See :issue:`65289`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry point has been marked as deprecated:
|
||||
|
||||
* typo3/browser.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this entry point in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
`typo3/browser.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('browser')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65290:
|
||||
|
||||
=================================================
|
||||
Deprecation: #65290 - Deprecate dummy entry point
|
||||
=================================================
|
||||
|
||||
See :issue:`65290`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry point has been marked as deprecated:
|
||||
|
||||
* typo3/dummy.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this entry point in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
`typo3/dummy.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('dummy')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65283:
|
||||
|
||||
==================================================
|
||||
Deprecation: #65283 - Deprecate logout entry point
|
||||
==================================================
|
||||
|
||||
See :issue:`65283`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry point has been marked as deprecated:
|
||||
|
||||
* typo3/logout.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this entry point in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
`typo3/logout.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('logout')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65293:
|
||||
|
||||
=================================================================
|
||||
Deprecation: #65293 - Deprecate file navigation frame entry point
|
||||
=================================================================
|
||||
|
||||
See :issue:`65293`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry point has been marked as deprecated:
|
||||
|
||||
* typo3/alt_file_navframe.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this entry point in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
`typo3/alt_file_navframe.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('file_navframe')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64134:
|
||||
|
||||
============================================
|
||||
Deprecation: #64134 - Deprecate $BE_USER->OS
|
||||
============================================
|
||||
|
||||
See :issue:`64134`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The public property in the global object `$BE_USER->OS` has been marked as deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances with extensions that make use of the public property directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the constant `TYPO3_OS` directly.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65360:
|
||||
|
||||
====================================================================================
|
||||
Deprecation: #65360 - Deprecate wrong class name used in PostProcessTree Signal call
|
||||
====================================================================================
|
||||
|
||||
See :issue:`65360`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In DatabaseTreeDataProvider there is a PostProcessTree signal called via SignalSlot dispatcher.
|
||||
The wrong class name `TYPO3\CMS\Core\Tree\TableConfiguration\TableConfiguration\DatabaseTreeDataProvider`
|
||||
was used prior to this change. This class name has now been marked as deprecated.
|
||||
The correct name is `TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Wrong class name was used for the PostProcessTree signal.
|
||||
The old one is now deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations which have signals connected to the old/wrong class name
|
||||
`TYPO3\CMS\Core\Tree\TableConfiguration\TableConfiguration\DatabaseTreeDataProvider`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
* Use `TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider::class`
|
||||
instead of `TYPO3\CMS\Core\Tree\TableConfiguration\TableConfiguration\DatabaseTreeDataProvider`
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65381:
|
||||
|
||||
==========================================================================
|
||||
Deprecation: #65381 - Deprecate DataHandler property "stripslashes_values"
|
||||
==========================================================================
|
||||
|
||||
See :issue:`65381`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The DataHandler property `stripslashes_values` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A deprecation message is logged for every time DataHandler processes data if this property
|
||||
is set to TRUE.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations or extensions relying on the DataHandler property `stripslashes_values`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Set the `stripslashes_values` property to FALSE and apply `stripslashes()` in the code that
|
||||
prepares the data if it was expected that DataHandler stripped the slashes from incoming
|
||||
data.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65422:
|
||||
|
||||
============================================================
|
||||
Deprecation: #65422 - Alias cObjects COBJ_ARRAY and CASEFUNC
|
||||
============================================================
|
||||
|
||||
See :issue:`65422`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The cObject aliases `COBJ_ARRAY` (alias for `COA`) and `CASEFUNC` (alias for `CASE`) have been moved to the compatibility6 extension.
|
||||
The use of these aliases have been marked for deprecation.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any usage of TypoScript using `COBJ_ARRAY` and `CASEFUNC` will not work anymore unless the compatibility6 extension is
|
||||
installed.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations with TypoScript in `COBJ_ARRAY` and `CASEFUNC`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `COA` instead of `COBJ_ARRAY` and `CASE` instead of `CASEFUNC` in all TypoScript code.
|
||||
Installing ext:compatibility6 can be used as a short-term solution, although this is discouraged.
|
||||
|
||||
|
||||
.. index:: PHP-API, TypoScript, Frontend
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65465:
|
||||
|
||||
==========================================================
|
||||
Deprecation: #65465 - Deprecate errorLog in ReferenceIndex
|
||||
==========================================================
|
||||
|
||||
See :issue:`65465`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method `\TYPO3\CMS\Core\Database\ReferenceIndex::error()` and the according property
|
||||
`\TYPO3\CMS\Core\Database\ReferenceIndex::errorLog` have been marked as deprecated. It was not used and always empty.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `ReferenceIndex::error()` will throw a deprecation message. This function should not be used from outside the
|
||||
core.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extensions that used this property to log errors have to use their own errorLog.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65913:
|
||||
|
||||
=======================================================
|
||||
Deprecation: #65913 - Deprecate $TSFE->checkFileInclude
|
||||
=======================================================
|
||||
|
||||
See :issue:`65913`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The public method in the global frontend controller `$TSFE->checkFileInclude()` has been marked as deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances with extensions that make use of the method directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the autoloader for classes or `$TSFE->tmpl->getFileName()` if needed.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65934:
|
||||
|
||||
====================================================================================
|
||||
Deprecation: #65934 - "Prefix Local Anchors" functionality moved to legacy extension
|
||||
====================================================================================
|
||||
|
||||
See :issue:`65934`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Prefixing local anchors is not considered best practice in web sites anymore as the same is achieved with
|
||||
absolute prefixes for links (see `config.absRefPrefix`). Therefore the according functionality has been moved to
|
||||
the legacy extension EXT:compatibility6.
|
||||
|
||||
The following TypoScript option has been marked for deprecation:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
config.prefixLocalAnchors
|
||||
|
||||
The following PHP methods have been marked for deprecation:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::prefixLocalAnchorsWithScript()
|
||||
TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::doLocalAnchorFix()
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The content output of the TYPO3 frontend is not prefixed with local anchors anymore unless EXT:compatibility6 is loaded.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation having the TypoScript option `config.prefixLocalAnchors` set will have different behaviour in the
|
||||
frontend rendering.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65938:
|
||||
|
||||
===============================================================
|
||||
Deprecation: #65938 - Discourage usage of "$TSFE->anchorPrefix"
|
||||
===============================================================
|
||||
|
||||
See :issue:`65938`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The property "anchorPrefix" within TypoScriptFrontendController is set to the relative path from the public site
|
||||
root when `config.baseURL` is set, and can be used to prefix local anchors with that prefix. The option has been
|
||||
marked as deprecated in favor of using `config.absRefPrefix` when this functionality is needed.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations or extensions relying on the TypoScriptFrontendController property "anchorPrefix" running
|
||||
with the TypoScript option `config.baseURL` enabled.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the PHP code below directly to fetch the information when needing baseURL and the anchorPrefix option.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
GeneralUtility::getIndpEnv('TYPO3_REQUEST_URL'), strlen(GeneralUtility::getIndpEnv('TYPO3_SITE_URL'))
|
||||
|
||||
Alternatively, use `config.absRefPrefix` to achieve the same result.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-65956:
|
||||
|
||||
========================================================================
|
||||
Deprecation: #65956 - $returnHTML parameter of DebugUtility::debugRows()
|
||||
========================================================================
|
||||
|
||||
See :issue:`65956`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The parameter `$returnHTML` of the method `\TYPO3\CMS\Core\Utility\DebugUtility::debugRows()` is not used anymore and
|
||||
has been marked for deprecation.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The parameter is not used anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All method calls using this parameter are affected.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the parameter in the method call.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-66065:
|
||||
|
||||
==================================================
|
||||
Deprecation: #66065 - Backend Logo View Deprecated
|
||||
==================================================
|
||||
|
||||
See :issue:`66065`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The logo view class responsible for the rendering of the TYPO3 Logo in the left corner of the backend is not in use
|
||||
anymore and marked for deprecation. The logic for exchanging the logo via TBE_STYLES is still available.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Installations extending `TYPO3\CMS\Backend\View\LogoView` as an XCLASS will not see
|
||||
any modified output anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations extending `TYPO3\CMS\Backend\View\LogoView` as an XCLASS.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
As the same logic is now done in the BackendController and the main Backend Fluid Template, the template can be
|
||||
modified to fit the installations' needs.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-66223:
|
||||
|
||||
==================================================
|
||||
Deprecation: #66223 - Backend parseTime deprecated
|
||||
==================================================
|
||||
|
||||
See :issue:`66223`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option to show the parse time of the rendered script on the bottom of the HTML page has been marked for deprecation
|
||||
and is not in use anymore.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Debug information is not shown anymore on a backend page if the member var `$parseTimeFlag` is enabled.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations with 3rd-party extensions manually activating this option by e.g. XCLASSing or hooking into the main
|
||||
document template class.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Do not set the member var to `TRUE`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-66431:
|
||||
|
||||
======================================
|
||||
Deprecation: #66431 - New Login Screen
|
||||
======================================
|
||||
|
||||
See :issue:`66431`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The login screen is now supporting background images and adjustable highlight
|
||||
colors out of the box. Settings for the login screen can now be accessed in
|
||||
the backend extension settings.
|
||||
|
||||
Since the needed settings for the login screen were moved to the backend extension
|
||||
configuration, `$GLOBALS['TBE_STYLES']['logo_login']` is only used as fallback.
|
||||
The option has been marked as deprecated and will be removed with TYPO3 CMS 8.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
`$GLOBALS['TBE_STYLES']['logo_login']` will add a deprecation log message and
|
||||
is still used as fallback to the new option but will be removed with TYPO3 CMS 8.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations that use `$GLOBALS['TBE_STYLES']['logo_login']` to set an alternative
|
||||
logo for the backend login.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the `$GLOBALS['TBE_STYLES']['logo_login']` from your setup and go to the
|
||||
extension manager to edit the configuration for the backend extension.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-20555:
|
||||
|
||||
=====================================================
|
||||
Feature: #20555 - Strip empty HTML tags in HtmlParser
|
||||
=====================================================
|
||||
|
||||
See :issue:`20555`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new functionality is introduced in the HtmlParser that allows the stripping of empty HTML tags.
|
||||
|
||||
It can be used in the Frontend by using the :ref:`HTMLparser <t3tsref:htmlparser>` TypoScript
|
||||
configuration of :ref:`stdWrap <t3tsref:stdwrap-htmlparser>`:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
stdWrap {
|
||||
|
||||
# If this is set all empty tags are stripped, unless a list of tags is provided below.
|
||||
HTMLparser.stripEmptyTags = 1
|
||||
|
||||
# This setting can be used to filter the tags that should be stripped if they are empty.
|
||||
HTMLparser.stripEmptyTags.tags = h2, h3
|
||||
}
|
||||
|
||||
It is also possible to use it in the
|
||||
:ref:`HTMLparser_rte or HTMLparser_db <t3coreapi:transformations-tsconfig-processing-htmlparser>`
|
||||
in Page TSconfig:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# For rtehtmlarea we need to use the entry parser because otherwise the p tags will
|
||||
# be converted to linebreaks during the RTE transformation.
|
||||
RTE.default.proc.entryHTMLparser_db {
|
||||
stripEmptyTags = 1
|
||||
stripEmptyTags.tags = p
|
||||
|
||||
# Since rtehtmlarea adds non breaking spaces in empty <p> tags we need to
|
||||
# tell the parser that should be treated as an empty string:
|
||||
stripEmptyTags.treatNonBreakingSpaceAsEmpty = 1
|
||||
}
|
||||
|
||||
.. tip::
|
||||
|
||||
Please note that the HTMLparser will strip all unknown tags by default. If you **only** want
|
||||
to strip empty tags, you need to set `keepNonMatchedTags` to TRUE or configure the allowed tags:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
stdWrap {
|
||||
HTMLparser.keepNonMatchedTags = 1
|
||||
HTMLparser.stripEmptyTags = 1
|
||||
HTMLparser.stripEmptyTags.tags = h2, h3
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If the configuration is not set, the HtmlParser behaves like before so there is no
|
||||
impact to existing systems (unless they already have used the stripEmptyTags setting
|
||||
for whatever reason).
|
||||
|
||||
|
||||
.. index:: PHP-API, RTE, TypoScript, TSConfig, Backend, Frontend
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-32651:
|
||||
|
||||
==============================================================
|
||||
Feature: #32651 - Add scheduler task to remove deleted records
|
||||
==============================================================
|
||||
|
||||
See :issue:`32651`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new scheduler task for removing deleted records has been added. The maximum age and
|
||||
the affected tables are configurable in the task's settings.
|
||||
|
||||
|
||||
.. index:: ext:scheduler, CLI, Backend
|
||||
@@ -0,0 +1,72 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-36743:
|
||||
|
||||
============================================================
|
||||
Feature: #36743 - Registry for adding text extractor classes
|
||||
============================================================
|
||||
|
||||
See :issue:`36743`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Text extraction from files is a complex task. Thus it would be un-wise to
|
||||
implement that over and over again if needed. By providing a registry, text
|
||||
extraction services can be provided to other extensions.
|
||||
|
||||
It is expected that there won't ever be a lot of implementations for text
|
||||
extractors.
|
||||
The core ships with an extractor for plain text files (.txt file extension).
|
||||
|
||||
When asking the registry to provide a text extractor for a file it will "ask"
|
||||
the registered text extractors whether they can read the file. The first text
|
||||
extractor returning TRUE will be returned and can then be used to actually
|
||||
read/extract text from the file.
|
||||
|
||||
Every registered text extractor class needs to implements the
|
||||
TextExtractorInterface with the following methods:
|
||||
|
||||
- canExtractText() gets a file reference and returns TRUE if the text extractor
|
||||
can extract text from that file. How this is determined is up to the text
|
||||
extractor, f.e. by using MIME type or file extension as indicators.
|
||||
- extractText() gets a file reference and is expected to return the file's text
|
||||
content as string.
|
||||
|
||||
It is possible to register your own text extractor classes in the
|
||||
ext_localconf.php of an extension.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
Text extractor registration
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$textExtractorRegistry = \TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance();
|
||||
$textExtractorRegistry->registerTextExtractor(
|
||||
\TYPO3\CMS\Core\Resource\TextExtraction\PlainTextExtractor::class
|
||||
);
|
||||
|
||||
|
||||
Usage
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$textExtractorRegistry = \TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance();
|
||||
$extractor = $textExtractorRegistry->getTextExtractor($file);
|
||||
if ($extractor !== NULL) {
|
||||
$content = $extractor->extractText($file);
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The registry on its own doesn't do anything. It provides a facility in the core
|
||||
that allows extensions to provide text extraction services to be used by other
|
||||
extensions.
|
||||
|
||||
|
||||
.. index:: PHP-API, FAL
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-47712:
|
||||
|
||||
=================================
|
||||
Feature: #47712 - New Locking API
|
||||
=================================
|
||||
|
||||
See :issue:`47712`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The new Locking API follows a new approach. Due to the problem of a very scattered support of locking methods
|
||||
in the various operating systems, the new API introduces a locking service, which provides access to the various
|
||||
locking methods. Some basic methods are shipped with the Core, but the available methods may be extended by
|
||||
extensions.
|
||||
|
||||
A locking method has to implement the `LockingStrategyInterface`. Each method has a set of capabilities, which
|
||||
may vary depending on the current system, and a priority.
|
||||
|
||||
If a function requires a lock, the locking service is asked for the best fitting mechanism matching the requested
|
||||
capabilities.
|
||||
e.g. Semaphore locking is only available on Linux systems.
|
||||
|
||||
Usage example
|
||||
=============
|
||||
|
||||
Acquire a simple exclusive lock:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$lockFactory = GeneralUtility::makeInstance(LockFactory::class);
|
||||
$locker = $lockFactory->createLocker('someId');
|
||||
$locker->acquire() || die('ups, lock couldn\'t be acquired. That should never happen.');
|
||||
...
|
||||
$locker->release();
|
||||
|
||||
|
||||
Some methods also support non-blocking locks:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$lockFactory = GeneralUtility::makeInstance(LockFactory::class);
|
||||
$locker = $lockFactory->createLocker(
|
||||
'someId',
|
||||
LockingStrategyInterface::LOCK_CAPABILITY_SHARED | LockingStrategyInterface::LOCK_CAPABILITY_NOBLOCK
|
||||
);
|
||||
try {
|
||||
$result = $locker->acquire(LockingStrategyInterface::LOCK_CAPABILITY_SHARED | LockingStrategyInterface::LOCK_CAPABILITY_NOBLOCK);
|
||||
catch (LockAcquireWouldBlockException $e) {
|
||||
// some process owns the lock, let's do something else meanwhile
|
||||
}
|
||||
if ($result) {
|
||||
$locker->release();
|
||||
}
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-50136:
|
||||
|
||||
=================================
|
||||
Feature: #50136 - Add SVG support
|
||||
=================================
|
||||
|
||||
See :issue:`50136`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Added rendering support for SVG images. When an SVG image is scaled there is no processed file created but only a
|
||||
sys_file_processedfile record with the calculated new dimensions.
|
||||
|
||||
When a mask of explicit cropping is set for an SVG image, the a processed file is created like for all other images.
|
||||
|
||||
An extra fallback is added to ImageInfo to determine SVG dimensions when IM/GM fails. The new fallback reads the
|
||||
contents of the SVG file as a normal XML file and tries to find width and height in the outer tag. When no
|
||||
width and height are found viewBox is checked and when present the 3th and 4th value are used as width and height.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
SVG is added as default supported image file extension to `$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']`.
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, FAL
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-50501:
|
||||
|
||||
===================================================================
|
||||
Feature: #50501 - Extension Manager: Disable automatic installation
|
||||
===================================================================
|
||||
|
||||
See :issue:`50501`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension manager currently downloads and installs an extension from TER directly. Some people want to do
|
||||
audits or modifications before installing an extension, therefore there is now an option to disable the automatic
|
||||
installation process and just download an extension.
|
||||
|
||||
The option is located in the settings of the extension manager itself (Extensions > Installed > Extension Manager).
|
||||
|
||||
|
||||
.. index:: ext:extensionmanager
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-59646:
|
||||
|
||||
================================================
|
||||
Feature: #59646 - Add TSFE property $requestedId
|
||||
================================================
|
||||
|
||||
See :issue:`59646`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new property within the main TypoScriptFrontendController for the frontend called $requestedId stores
|
||||
the information about the page ID which is set before the page ID processing and resolving.
|
||||
It is accessible via `$TSFE->getRequestedId()`. Also see `$TSFE->fetch_the_id()` method.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-58621:
|
||||
|
||||
======================================
|
||||
Feature: #58621 - FormatCaseViewHelper
|
||||
======================================
|
||||
|
||||
See :issue:`58621`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Add a format case view helper to change casing of strings.
|
||||
|
||||
Possible modes are:
|
||||
|
||||
* `upper` Transforms the input string to its uppercase representation
|
||||
* `lower` Transforms the input string to its lowercase representation
|
||||
* `capital` Transforms the input string to its first letter upper-cased
|
||||
* `uncapital` Transforms the input string to its first letter lower-cased
|
||||
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:format.case>Some Text with miXed case</f:format.case> renders "SOME TEXT WITH MIXED CASE"
|
||||
|
||||
<f:format.case mode="capital">someString</f:format.case> renders "SomeString"
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The new ViewHelper can be used in all new projects. There is no interference with any part of existing code.
|
||||
|
||||
|
||||
.. index:: Fluid
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-59646-1668719172:
|
||||
|
||||
================================================================================================
|
||||
Feature: #59646 - Add RTE configuration property buttons.link.[*type*].properties.target.default
|
||||
================================================================================================
|
||||
|
||||
See :issue:`59646`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
New RTE configuration property `buttons.link.[*type*].properties.target.default` may be used
|
||||
in Page TSconfig to configure a default target for links of a given type.
|
||||
|
||||
Possible link types are: page, file, url, mail, spec. More types may be provided by extensions.
|
||||
|
||||
|
||||
.. index:: TSConfig, RTE, Backend
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-59712:
|
||||
|
||||
===========================================================
|
||||
Feature: #59712 - Additional params for HTMLparser userFunc
|
||||
===========================================================
|
||||
|
||||
See :issue:`59712`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to supply additional parameters to a userFunc of the HTMLparser:
|
||||
|
||||
::
|
||||
|
||||
myobj = TEXT
|
||||
myobj.value = <a href="/" class="myclass">MyText</a>
|
||||
myobj.HTMLparser.tags.a.fixAttrib.class {
|
||||
userFunc = Tx\MyExt\Myclass->htmlUserFunc
|
||||
userFunc.myparam = test1
|
||||
}
|
||||
|
||||
By default only the value of the processed attribute is passed to the userFunc
|
||||
as the first parameter:
|
||||
|
||||
::
|
||||
|
||||
function htmlUserFunc($attributeValue, HtmlParser $htmlParser) {
|
||||
// $attributeValue is set to the current attribute value "myclass"
|
||||
}
|
||||
|
||||
When additional options are provided as described above, these options will be
|
||||
passed in the first function parameter as an array. The attribute value is passed
|
||||
in the array with the ``attributeValue`` array key.
|
||||
|
||||
::
|
||||
|
||||
function htmlUserFunc(array $params, HtmlParser $htmlParser) {
|
||||
// $params['attributeValue'] contains the current attribute value "myclass".
|
||||
// $params['myparam'] is set to "test" in the current example.
|
||||
}
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If additional parameters are provided to the HTMLparser userFunc setting the first parameter
|
||||
passed to the called function changes from a string with the attribute value to an array
|
||||
containing the attributeValue key and all additional settings.
|
||||
|
||||
This has an impact to all installations where additional parameters are used in the userFunc
|
||||
setting of the HTMLparser.
|
||||
|
||||
|
||||
.. index:: PHP-API, RTE, TypoScript, Frontend
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61463:
|
||||
|
||||
==============================================================
|
||||
Feature: #61463 - Allow processed folders in different storage
|
||||
==============================================================
|
||||
|
||||
See :issue:`61463`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The processing folder of a storage can now be a combined identifier.
|
||||
This makes it possible to have the processed files outside of the
|
||||
storage in case of a read-only storage for instance.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
For existing systems there is no impact. When the processing folder is changed
|
||||
to a folder in a different storage you need to make sure the folder exists
|
||||
and is writable.
|
||||
|
||||
|
||||
.. index:: FAL, Database, Backend
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-63040:
|
||||
|
||||
=====================================================================================
|
||||
Feature: #63040 - Add RTE configuration property buttons.abbreviation.removeFieldsets
|
||||
=====================================================================================
|
||||
|
||||
See :issue:`63040`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The new property `buttons.abbreviation.removeFieldsets` may be used in Page TSconfig
|
||||
to configure the abbreviation dialogue.
|
||||
|
||||
If set, the listed fieldsets of the Abbreviation dialogue are not shown.
|
||||
|
||||
Possible values in the list are: acronym, definedAcronym, abbreviation, definedAbbreviation
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The acronym tag is deprecated in HTML5. Installations that want to use the Abbreviation
|
||||
feature of the RTE, but do not wish to use the acronym setting tab of the Abbreviation
|
||||
dialogue, may set this property in the Page TSconfig of the RTE, specifying
|
||||
`buttons.abbreviation.removeFieldsets = acronym,definedAcronym`
|
||||
|
||||
|
||||
.. index:: TSConfig, RTE, Backend
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-63703:
|
||||
|
||||
====================================================================
|
||||
Feature: #63703 - Add option to stop a running task in the scheduler
|
||||
====================================================================
|
||||
|
||||
See :issue:`63703`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The scheduler CLI has received an option to stop a running task.
|
||||
The new option can be used with "-s".
|
||||
|
||||
|
||||
.. index:: CLI, ext:scheduler
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-64686:
|
||||
|
||||
================================================================
|
||||
Feature: #64686 - Add backend user groups to backend user module
|
||||
================================================================
|
||||
|
||||
See :issue:`64686`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The backend user groups can now be maintained in a sub-module of the
|
||||
"Backend users" backend module.
|
||||
|
||||
.. index:: Backend, ext:beuser
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-65584:
|
||||
|
||||
====================================
|
||||
Feature: #65584 - Add image cropping
|
||||
====================================
|
||||
|
||||
See :issue:`65584`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new functionality is introduced that allows the editor to define image cropping settings to a *sys_file_reference*.
|
||||
|
||||
The current support crop setting is a comma separated string defining: offsetX,offsetY,width,height
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The value set for a *sys_file_reference* will be passed through to the image rendering of TYPO3 by default.
|
||||
The new option of *sys_file_reference* is defined as exclude field in TCA so it needs to be enabled for editors.
|
||||
|
||||
|
||||
Disable cropping of image when used with *typoscript* rendering:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# Disable cropping for all images
|
||||
tt_content.image.20.1.file.crop =
|
||||
|
||||
Set custom cropping setting for when used with *typoscript* rendering:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# Overrule/set cropping for all images
|
||||
tt_content.image.20.1.file.crop = 50,50,100,100
|
||||
|
||||
|
||||
Disable cropping of image when used in *fluid*:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:image image="{imageObject}" crop="" />
|
||||
|
||||
Set custom cropping setting for image when used in *fluid*:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:image image="{imageObject}" crop="50,50,100,100" />
|
||||
|
||||
|
||||
.. index:: Fluid, Backend, Frontend
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-65585:
|
||||
|
||||
================================================
|
||||
Feature: #65585 - Add TCA type imageManipulation
|
||||
================================================
|
||||
|
||||
See :issue:`65585`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
TCA type `imageManipulation` brings an image manipulation wizard to the core.
|
||||
|
||||
This first version brings image cropping with the possibility to
|
||||
set a certain aspect ratio for the cropped area. The
|
||||
sys_file_reference.crop property is extended and can now also hold
|
||||
a json string to describe the image manipulation.
|
||||
|
||||
The `LocalCropScaleMaskHelper` that is used by the core
|
||||
to create adjusted images is also adjusted to handle the new format.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
There is an new TCA type column type `imageManipulation` it supports the following config:
|
||||
|
||||
- file_field: string, default `uid_local`
|
||||
- enableZoom: bool, default `FALSE`
|
||||
- allowedExtensions: string, default `$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']`
|
||||
- ratios: array, default
|
||||
|
||||
- '1.7777777777777777' => '16:9',
|
||||
- '1.3333333333333333' => '4:3',
|
||||
- '1' => '1:1',
|
||||
- 'NaN' => 'Free',
|
||||
|
||||
When `ratios` is set in TCA the defaults are neglected.
|
||||
|
||||
Property `sys_file_reference.crop` can now hold a string representing a json object. `LocalCropScaleMaskHelper` checks
|
||||
if the it can parse the string as json. If it can it assumes it holds the properties: `x`, `y`, `width` and `height`.
|
||||
|
||||
|
||||
.. index:: TCA, LocalConfiguration, Backend
|
||||
@@ -0,0 +1,106 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-65767:
|
||||
|
||||
=============================================
|
||||
Feature: #65767 - System Information Dropdown
|
||||
=============================================
|
||||
|
||||
See :issue:`65767`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new, extensible flyout menu item is introduced that contains information about
|
||||
the system TYPO3 is installed on.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
In a default installation. the new flyout item will be placed between the "help" and the "user"
|
||||
flyout items and is accessible by administrators only.
|
||||
|
||||
Items
|
||||
^^^^^
|
||||
|
||||
It is possible to add own system information items by creating a slot. The slot must be registered in
|
||||
an extension's ext_localconf.php
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);
|
||||
$signalSlotDispatcher->connect(
|
||||
\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class,
|
||||
'getSystemInformation',
|
||||
\Vendor\Extension\SystemInformation\Item::class,
|
||||
'getItem'
|
||||
);
|
||||
|
||||
This requires the class `Item` and its method `getItem()` in EXT:extension\Classes\SystemInformation\Item.php:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
class Item {
|
||||
public function getItem() {
|
||||
return array(array(
|
||||
'title' => 'The title shown on hover',
|
||||
'value' => 'Description shown in the list',
|
||||
'status' => SystemInformationHookInterface::STATUS_OK,
|
||||
'count' => 4,
|
||||
'icon' => \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('extensions-example-information-icon')
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Due to the SignalSlot internals, the data array must be encapsulated with another array! If there is no data to return, return `NULL`.
|
||||
|
||||
The icon `extensions-example-information-icon` must be registered in ext_localconf.php:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
\TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons(
|
||||
array(
|
||||
'information-icon' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Images/Icons/information-icon.png'
|
||||
),
|
||||
$_EXTKEY
|
||||
);
|
||||
|
||||
"extensions-" is a hardcoded prefix, combined with `$_EXTKEY` (e.g. "example") creates the prefix "extensions-example-" to
|
||||
be used with every icon being registered. Since the first parameter of `SpriteManager::addSingleIcons()` is an array, multiple icons
|
||||
can be registered at once.
|
||||
|
||||
|
||||
Messages
|
||||
^^^^^^^^
|
||||
|
||||
Messages are shown at the bottom og the dropdown. An extension can provide its own slot to fill the messages:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);
|
||||
$signalSlotDispatcher->connect(
|
||||
\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class,
|
||||
'loadMessages',
|
||||
\Vendor\Extension\SystemInformation\Message::class,
|
||||
'getMessage'
|
||||
);
|
||||
|
||||
This requires the class `Message` and its method `getMessage()` in EXT:extension\Classes\SystemInformation\Message.php:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
class Message {
|
||||
public function getMessage() {
|
||||
return array(array(
|
||||
'status' => SystemInformationHookInterface::STATUS_OK,
|
||||
'text' => 'Something went somewhere terribly wrong. Take a look at the reports module.'
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Due to the SignalSlot internals, the data array must be encapsulated with another array! If there is no data to return, return `NULL`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-65996:
|
||||
|
||||
===================================================================================
|
||||
Feature: #65996 - Show confirm message on closing an edit form with unsaved changes
|
||||
===================================================================================
|
||||
|
||||
See :issue:`65996`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new functionality is introduced that asks the editor to confirm closing an edit form with unsaved changes.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
When clicking the close icon of an edit form with unsaved changes, a confirmation modal will be shown.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66029:
|
||||
|
||||
=============================================================
|
||||
Feature: #66029 - Show remaining characters below text fields
|
||||
=============================================================
|
||||
|
||||
See :issue:`66029`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The amount of remaining characters is displayed below text fields.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
When focusing a form field, the amount of remaining characters gets
|
||||
rendered below the form field, if a TCA field definition has the "max"
|
||||
definition.
|
||||
|
||||
|
||||
.. index:: TCA, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66042:
|
||||
|
||||
======================================================
|
||||
Feature: #66042 - Web Libraries are included via bower
|
||||
======================================================
|
||||
|
||||
See :issue:`66042`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Web libraries like Bootstrap, jQuery or Font Awesome are now installed via bower package management,
|
||||
see http://bower.io/ for details on how bower is set up.
|
||||
|
||||
All third-party libraries needed to build final CSS or JS files that will be shipped with the core are
|
||||
excluded from the TYPO3 Core Git and installed via bower when building e.g. a new CSS file out of less.
|
||||
|
||||
For setting up a development environment working with web libraries bower (which can be installed via npm
|
||||
on a local machine) installs all needed dependencies defined in bower.json. The file .bowerrc describes
|
||||
where the files are put. To set up the third-party libraries and their dependencies, execute the following
|
||||
command.
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
bower install
|
||||
|
||||
For updating the code-base to a new version, the bower.json in the root directory can be adapted.
|
||||
Executing `bower update` will then update the third-party libraries.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting up a development environment when working with frontend libraries (e.g. LESS)
|
||||
requires npm and bower to be installed on the local machine.
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend
|
||||
@@ -0,0 +1,84 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66047:
|
||||
|
||||
=======================================================
|
||||
Feature: #66047 - Introduce JavaScript notification API
|
||||
=======================================================
|
||||
|
||||
See :issue:`66047`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Flashmessages API has been moved from `TYPO3.Flashmessages` to `top.TYPO3.Flashmessages` in TYPO3 CMS 7.0.
|
||||
|
||||
Now we introduce the new JavaScript Notification API and remove the refactoring of the FlashMessage API which was made for TYPO3 CMS 7.0.
|
||||
|
||||
The compatibility layer for TYPO3.FlashMessage has changed to use the new Notification API and will be removed with TYPO3 v9 as before.
|
||||
|
||||
The new Notification API works similar to old Flashmessages, you can use it from the Top-Frame, where is it loaded one time for the complete backend.
|
||||
|
||||
Please look at the examples section in this document for more details.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The affected 3rd party extensions must be modified to use `top.TYPO3.Notification` instead of `top.TYPO3.Flashmessages`.
|
||||
|
||||
Examples:
|
||||
|
||||
1) Old and new syntax in general
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// Old and deprecated:
|
||||
top.TYPO3.Flashmessages.display(TYPO3.Severity.notice)
|
||||
|
||||
// New and the only correct way:
|
||||
top.TYPO3.Notification.notice(title, message)
|
||||
|
||||
|
||||
2) Notice notification
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// duration is optional, default is 5 seconds
|
||||
top.TYPO3.Notification.notice(title, message, duration)
|
||||
|
||||
|
||||
3) Info notification
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// duration is optional, default is 5 seconds
|
||||
top.TYPO3.Notification.info(title, message, duration)
|
||||
|
||||
|
||||
4) Success notification
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// duration is optional, default is 5 seconds
|
||||
top.TYPO3.Notification.success(title, message, duration)
|
||||
|
||||
|
||||
5) Warning notification
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// duration is optional, default is 5 seconds
|
||||
top.TYPO3.Notification.warning(title, message, duration)
|
||||
|
||||
|
||||
6) Error notification
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
// duration is optional, default is 0 seconds which means sticky!
|
||||
top.TYPO3.Notification.error(title, message, duration)
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66077:
|
||||
|
||||
==============================================================
|
||||
Feature: #66077 - Introduce callouts to replace content alerts
|
||||
==============================================================
|
||||
|
||||
See :issue:`66077`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In several places alerts (flash messages) were used to display context information.
|
||||
We introduce content info boxes and replace all occurrences where flash messages were used.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
We introduced a new layout for context information and added a ViewHelper to render the markup.
|
||||
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
Simple info box with a title. Please note that the title will always be HTML encoded by the ViewHelper
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:be.infobox title="Message title">your box content</f:be.infobox>
|
||||
|
||||
All options of the ViewHelper. If you pass your message as ViewHelper argument, it will also be HTML encoded.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:be.infobox title="Message title" message="your box content" state="-2" iconName="check" disableIcon="TRUE" />
|
||||
|
||||
If you really need to output HTML in your message, use the closing variant. All children of the ViewHelper will be used as message.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:be.infobox title="Message title" state="-2" iconName="check" disableIcon="TRUE">
|
||||
<h1>{AlertMessage}</h1>
|
||||
</f:be.infobox>
|
||||
|
||||
|
||||
.. index:: Fluid, Backend
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66370:
|
||||
|
||||
========================================================
|
||||
Feature: #66370 - Add flexible Preview URL configuration
|
||||
========================================================
|
||||
|
||||
See :issue:`66370`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to configure the preview link generated for the save+view button in Backend.
|
||||
|
||||
This allows to have different preview URLs depending on the record type.
|
||||
|
||||
Common usecase is to have previews for blog or news records, but this feature now allows you to
|
||||
define a different preview page for content elements as well, which might be handy if those are stored
|
||||
in a sysfolder.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
New page TSconfig is introduced. The options are:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
TCEMAIN.preview {
|
||||
<table name> {
|
||||
previewPageId = 123
|
||||
useDefaultLanguageRecord = 0
|
||||
fieldToParameterMap {
|
||||
uid = tx_myext_pi1[showUid]
|
||||
}
|
||||
additionalGetParameters {
|
||||
tx_myext_pi1.special = HELLO # results in tx_myext_pi1[special]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
The `previewPageId` is the uid of the page to use for preview. If this setting is omitted the current page will be used.
|
||||
If the current page is not a normal page, the root page will be chosen.
|
||||
|
||||
The `useDefaultLanguageRecord` defaults to `1` and ensures that translated records will use the uid of the default record
|
||||
for the preview link. You may disable this, if your extension can deal with the uid of translated records.
|
||||
|
||||
The `fieldToParameterMap` is a mapping which allows you to select fields of the record to be included as GET-parameters in
|
||||
the preview link. The key specifies the field name and the value specifies the GET-parameter name.
|
||||
|
||||
Finally `additionalGetParameters` allow you to add arbitrary GET-parameters and even override others.
|
||||
|
||||
Predefined GET-parameters
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The Core automatically sets the `no_cache` and the `L` parameter. The language matches the language of the current record.
|
||||
You may override each parameter by using the `additionalGetParameters` configuration option.
|
||||
|
||||
|
||||
.. index:: TSConfig, Frontend, Backend
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-66445:
|
||||
|
||||
========================================================
|
||||
Feature: #66445 - Add file extension to mimeType mapping
|
||||
========================================================
|
||||
|
||||
See :issue:`66445`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
As a fix for wrong mimeType detection for SVG files without XML prologue we added a new setting to map known file extensions to mimeTypes.
|
||||
The new setting is `$GLOBALS['TYPO3_CONF_VARS']['SYS']['FileInfo']['fileExtensionToMimeType']` which contains an array:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
array(
|
||||
'svg' => 'image/svg+xml'
|
||||
)
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The automatic detection for mimeTypes works great, but in some special cases not.
|
||||
This new setting should only be used, if the automatic detection fails.
|
||||
|
||||
|
||||
.. index:: LocalConfiguration
|
||||
@@ -0,0 +1,42 @@
|
||||
:template: changelogOverview.html
|
||||
.. include:: /Includes.rst.txt
|
||||
.. _changelog-7-2:
|
||||
|
||||
7.2 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