TYPO3 v15 dev-main snapshot ()
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-73016:
|
||||
|
||||
==================================================================================
|
||||
Breaking: #73016 - Renaming of Clipboard->printContentFromTab to getContentFromTab
|
||||
==================================================================================
|
||||
|
||||
See :issue:`73016`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
During the fluidification of the clipboard, it became obvious that the method
|
||||
:php:`printContentFromTab()` doesn't describe the method correctly anymore. So it has been
|
||||
renamed to :php:`getContentFromTab()`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
This is a public method, so it could be that some unknown extension calls the old
|
||||
function. But as no TER extension or the core itself calls the method, no deprecation
|
||||
is needed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Every extension that calls :php:`Clipboard->printContentFromTab()`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Change the call from :php:`Clipboard->printContentFromTab()` to :php:`Clipboard->getContentFromTab()`.
|
||||
|
||||
.. index:: Backend, PHP-API
|
||||
@@ -0,0 +1,51 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78002:
|
||||
|
||||
=============================================================
|
||||
Breaking: #78002 - Enforce cHash argument for Extbase actions
|
||||
=============================================================
|
||||
|
||||
See :issue:`78002`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
URIs to Extbase actions now need a valid cHash per default. This is required for
|
||||
both cached and uncached actions. The behavior can be disabled for all actions
|
||||
using the feature switch `requireCHashArgumentForActionArguments`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All generated links to Extbase actions without having a valid cHash will fail.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All generated links to Extbase actions that explicitly disabled the cHash are
|
||||
affected - like :html:`<f:link.action action="..." noCacheHash="1"/>`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Either one of the following:
|
||||
|
||||
+ ensure to use a valid cHash, e.g. by removing the
|
||||
:html:`noCacheHash="1"` argument from link view-helpers
|
||||
+ disable the :typoscript:`requireCHashArgumentForActionArguments` feature, e.g. for EXT:indexed_search:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
plugin {
|
||||
tx_indexedsearch {
|
||||
features {
|
||||
requireCHashArgumentForActionArguments = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.. index:: Frontend, PHP-API, ext:extbase
|
||||
@@ -0,0 +1,51 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78191:
|
||||
|
||||
==============================================================
|
||||
Breaking: #78191 - Remove support for transForeignTable in TCA
|
||||
==============================================================
|
||||
|
||||
See :issue:`78191`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
TCA allowed the definition of separate tables to hold localized and translated records.
|
||||
The property names used for that were `transForeignTable` (basically pointed to
|
||||
table `pages_language_overlay`) and `transOrigPointerTable` (basically
|
||||
pointed back to table `pages`). The mentioned two pages tables are the only
|
||||
tables that make use of this feature in the TYPO3 core.
|
||||
|
||||
To overcome special handling and to combine `pages_language_overlay` with
|
||||
`pages` at a later step, the configured table names have been replaced with
|
||||
hardcoded table names.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Modifications concerning the following two TCA control properties won't have
|
||||
any effect anymore:
|
||||
|
||||
* :php:`$GLOBALS[TCA][<tableName>]['ctrl']['transForeignTable']`
|
||||
* :php:`$GLOBALS[TCA][<tableName>]['ctrl']['transOrigPointerTable']`
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All sites using localizations and translations for page hierarchies.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No special actions are required if just the core defaults are used. Special
|
||||
adjustments concerning the mentioned TCA properties should be verified and
|
||||
hard-coded for the time being.
|
||||
|
||||
* :php:`$GLOBALS[TCA]['pages']['ctrl']['transForeignTable']`, use value `pages_language_overlay` directly
|
||||
* :php:`$GLOBALS[TCA]['pages_language_overlay']['ctrl']['transOrigPointerTable']`, use value `pages` directly
|
||||
|
||||
.. index:: TCA, Backend
|
||||
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78383:
|
||||
|
||||
=======================================================================================================
|
||||
Breaking: #78383 - pages, tt_content, sys_file_metadata have been removed from defaultCategorizedTables
|
||||
=======================================================================================================
|
||||
|
||||
See :issue:`78383`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The tables `pages`, `tt_content` and `sys_file_metadata` have been removed from `defaultCategorizedTables`.
|
||||
For these tables the core API :php:`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable` would be
|
||||
executed to define a common position of the categories field.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
It is no longer possible to remove the category field for these tables by reset the configuration.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instance that reset the configuration value.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
None.
|
||||
|
||||
Use PageTSConfig to disable the field:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
TCEFORM.pages.categories.disabled = 1
|
||||
TCEFORM.tt_content.categories.disabled = 1
|
||||
TCEFORM.sys_file_metadata.categories.disabled = 1
|
||||
|
||||
.. index:: LocalConfiguration, TSConfig, PHP-API
|
||||
@@ -0,0 +1,57 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78384:
|
||||
|
||||
=========================================================
|
||||
Breaking: #78384 - Frontend ignores TCA in ext_tables.php
|
||||
=========================================================
|
||||
|
||||
See :issue:`78384`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Frontend requests no longer load :file:`ext_tables.php` in requests. The only exception is if a backend user is
|
||||
logged in to the backend at the same time to initialize the admin panel or frontend editing.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Since especially a not yet cached frontend call relies on initialized :php:`$GLOBALS['TCA']`, changes to `TCA` done
|
||||
within :file:`ext_tables.php` are now ignored and may fail.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions that still set, add or remove settings in :php:`$GLOBALS['TCA']` need to be adapted. The install tool
|
||||
provides test "TCA ext_tables check" to find such extensions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
In :file:`ext_tables.php` neither writing directly to :php:`$GLOBALS['TCA']` and `$TCA` is allowed, nor writing indirectly
|
||||
via `ExtensionManagementUtility` methods. An example list of calls and their new positions:
|
||||
|
||||
* :php:`$GLOBALS['TCA']['someTable'] = `: A full table `TCA` is added. This must be moved
|
||||
to :file:`Configuration/TCA/someTable.php`, see `ext:sys_note` as example.
|
||||
|
||||
* :php:`ExtensionManagementUtility::addStaticFile()`: A static file is registered
|
||||
in `sys_template`. Add this to :file:`Configuration/TCA/Overrides/sys_template.php`, see `ext:rtehtmlarea` as example.
|
||||
|
||||
* :php:`ExtensionManagementUtility::addTCAcolumns()`: Columns are added to a table. Add this
|
||||
to :file:`Configuration/TCA/Overrides/<table>.php`, see `ext:felogin` as example.
|
||||
|
||||
* :php:`ExtensionManagementUtility::addToAllTCAtypes()`: Fields are added to types. Add this
|
||||
to :file:`Configuration/TCA/Overrides/<table>.php`, see `ext:felogin` as example.
|
||||
|
||||
* :php:`ExtensionManagementUtility::addPiFlexFormValue()`: A new flex from in `tt_content` is registered. Add
|
||||
this to :file:`Configuration/TCA/Overrides/tt_content.php`, see `ext:felogin` as example.
|
||||
|
||||
* :php:`ExtensionUtility::registerPlugin()` and :php:`ExtensionManagementUtility::addPlugin`: A new type item
|
||||
is added to the `tt_content` table. Add this to :file:`Configuration/TCA/Overrides/tt_content.php`.
|
||||
|
||||
|
||||
.. index:: Frontend, TCA, PHP-API
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78417:
|
||||
|
||||
====================================================================
|
||||
Breaking: #78417 - Lowlevel DeletedRecordsCommand parameters changed
|
||||
====================================================================
|
||||
|
||||
See :issue:`78417`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The DeletedRecordsCommand is now using Symfony Console. The new command behaves like the old one, but allows using certain
|
||||
parameters and is located under the following path now:
|
||||
|
||||
`./typo3/sysext/core/bin/typo3 cleanup:deletedrecords`
|
||||
|
||||
The following options can be set
|
||||
`--dry-run` to only show the deleted records
|
||||
`-v` and `-vv` to show additional information
|
||||
`--pid=23` or `-p=23` to only find and delete records below page ID 23 (otherwise "0" is taken)
|
||||
`--depth=4` or `-d=4` to only delete recursively until a certain page tree level.
|
||||
|
||||
The PHP class `TYPO3\CMS\Lowlevel\DeletedRecordsCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `typo3/cli_dispatch lowlevel cleaner deleted` will not work anymore.
|
||||
|
||||
Calling the PHP class results in a fatal PHP error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using the old CLI command or the related PHP class.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new CLI command as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78439:
|
||||
|
||||
================================================================
|
||||
Breaking: #78439 - Lowlevel FlexForm Cleaning parameters changed
|
||||
================================================================
|
||||
|
||||
See :issue:`78439`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The CleanFlexFormsRecordsCommand is now using Symfony Console. The new command behaves like the old functionality,
|
||||
but uses certain different parameters. It can now be called with the following CLI command:
|
||||
|
||||
`./typo3/sysext/core/bin/typo3 cleanup:flexforms`
|
||||
|
||||
The following options can be set
|
||||
`--dry-run` to only show the deleted records
|
||||
`-v` and `-vv` to show additional information
|
||||
`--pid=23` or `-p=23` to only find and clean up records with FlexForm XMLs below page ID 23 (otherwise "0" is taken)
|
||||
`--depth=4` or `-d=4` to only clean recursively until a certain page tree level.
|
||||
|
||||
The PHP class `TYPO3\CMS\Lowlevel\CleanFlexformCommand` has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `typo3/cli_dispatch.phpsh lowlevel cleaner cleanflexform` will not work anymore.
|
||||
|
||||
Calling the PHP class results in a fatal PHP error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using the previously command callable via `cli_dispatch.phpsh` or the related PHP class.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new CLI command as shown above.
|
||||
|
||||
.. index:: CLI, FlexForm, ext:lowlevel
|
||||
@@ -0,0 +1,48 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78468:
|
||||
|
||||
=======================================================
|
||||
Breaking: #78468 - Remove ExtDirect from EXT:workspaces
|
||||
=======================================================
|
||||
|
||||
See :issue:`78468`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
To remove ExtJS the ExtDirect component has been removed too.
|
||||
A new class :php:`TYPO3\CMS\Workspaces\Controller\AjaxDispatcher` has been added to implement the ExtDirect router functionality.
|
||||
This class is callable by a new AJAX route with the name `workspace_dispatch`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The following classes have been moved:
|
||||
|
||||
* :file:`EXT:workspaces/Classes/ExtDirect/AbstractHandler.php`
|
||||
=> :file:`EXT:workspaces/Classes/Controller/Remote/AbstractHandler.php`
|
||||
|
||||
* :file:`EXT:workspaces/Classes/ExtDirect/ActionHandler.php`
|
||||
=> :file:`EXT:workspaces/Classes/Controller/Remote/ActionHandler.php`
|
||||
|
||||
* :file:`EXT:workspaces/Classes/ExtDirect/MassActionHandler.php`
|
||||
=> :file:`EXT:workspaces/Classes/Controller/Remote/MassActionHandler.php`
|
||||
|
||||
* :file:`EXT:workspaces/Classes/ExtDirect/ExtDirectServer.php`
|
||||
=> :file:`EXT:workspaces/Classes/Controller/Remote/RemoteServer.php`
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using the previously classes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new classes as mentioned above.
|
||||
|
||||
.. index:: Backend, JavaScript, ext:workspaces
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78520:
|
||||
|
||||
======================================================================
|
||||
Breaking: #78520 - Lowlevel Orphan Records Cleaning parameters changed
|
||||
======================================================================
|
||||
|
||||
See :issue:`78520`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The OrphanRecordsCommand is now using Symfony Console. The new command behaves like the old functionality,
|
||||
but uses certain different parameters. It can now be called with the following CLI command:
|
||||
|
||||
`./typo3/sysext/core/bin/typo3 cleanup:orphanrecords`
|
||||
|
||||
The following options can be set
|
||||
`--dry-run` to only show the orphaned records
|
||||
`-v` and `-vv` to show additional information
|
||||
|
||||
The PHP class `TYPO3\CMS\Lowlevel\OrphanRecordsCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `typo3/cli_dispatch.phpsh lowlevel cleaner orphan_records` will not work anymore.
|
||||
|
||||
Calling the PHP class results in a fatal PHP error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using the previously command callable via `cli_dispatch.phpsh` or the related PHP class.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new CLI command as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel
|
||||
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78521:
|
||||
|
||||
=========================================================
|
||||
Breaking: #78521 - Drop unused JavaScript from backend.js
|
||||
=========================================================
|
||||
|
||||
See :issue:`78521`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following JavaScript methods related to ExtJS have been removed from the Backend main frame
|
||||
as defined in the main :file:`backend.js` file.
|
||||
|
||||
* :js:`TYPO3._instances`
|
||||
* :js:`TYPO3.addInstance`
|
||||
* :js:`TYPO3.getInstance`
|
||||
* :js:`TYPO3.helpers.split`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any call to one of the above mentioned methods will result in a JavaScript error.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation that uses one of the methods mentioned above.
|
||||
|
||||
.. index:: Backend, JavaScript
|
||||
@@ -0,0 +1,29 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78522:
|
||||
|
||||
============================================================
|
||||
Breaking: #78522 - Removed backend user option debugInWindow
|
||||
============================================================
|
||||
|
||||
See :issue:`78522`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The backend user option `debugInWindow` was unused in the core and has been removed,
|
||||
as the option of opening the debug information in a window was migrated already.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The setting is not available anymore in JavaScript under :js:`TYPO3.configuration`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation that uses the removed backend user option `debugInWindow`.
|
||||
|
||||
.. index:: Backend, JavaScript
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78525:
|
||||
|
||||
======================================================================
|
||||
Breaking: #78525 - Removed unused configuration options for JavaScript
|
||||
======================================================================
|
||||
|
||||
See :issue:`78525`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Removed all options that are not used anymore from :js:`TYPO3.configuration` in JavaScript context.
|
||||
|
||||
* :js:`TYPO3.configuration.moduleMenuWidth`
|
||||
* :js:`TYPO3.configuration.topBarHeight`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Both settings are not available anymore in JavaScript under :js:`TYPO3.configuration`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation that uses one of the mentioned options.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No migration.
|
||||
|
||||
.. index:: Backend, JavaScript
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78549:
|
||||
|
||||
======================================================================
|
||||
Breaking: #78549 - Override New Page Creation Wizard via page TSconfig
|
||||
======================================================================
|
||||
|
||||
See :issue:`78549`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In the past it was possible to override the "New Page Creation Wizard" via custom scripts
|
||||
when using page TSconfig via :typoscript:`mod.web_list.newPageWiz.overrideWithExtension = myextension` to define an extension,
|
||||
which then needed a file placed under :file:`mod1/index.php`. The script was then called with certain parameters instead
|
||||
of the wizard.
|
||||
|
||||
The new way of handling entry-points and custom scripts is now built via modules and routes. The former option
|
||||
:typoscript:`mod.web_list.newPageWiz.overrideWithExtension` has been removed and a new option
|
||||
:typoscript:`mod.newPageWizard.override` has been introduced instead. Instead of setting the option to a certain extension key,
|
||||
a custom module or route has to be specified.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
mod.newPageWizard.override = my_custom_module
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the old TSconfig option :typoscript:`mod.web_list.newPageWiz.overrideWithExtension` has no effect anymore and
|
||||
will fallback to the regular new page creation wizard provided by the TYPO3 Core.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using this option with extensions providing custom New Page Wizards, e.g. EXT:templavoila.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The extension providing the script must be changed to register a route or module and set the TSconfig option to the route identifier,
|
||||
instead of a raw PHP script. Any usages in TSconfig need to be adapted to use the new TSconfig option.
|
||||
|
||||
.. index:: Backend, TSConfig
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78552:
|
||||
|
||||
===============================================================
|
||||
Breaking: #78552 - Lowlevel LostFilesCommand parameters changed
|
||||
===============================================================
|
||||
|
||||
See :issue:`78552`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing CLI command within EXT:lowlevel for detecting and removing files within uploads/ which are not referenced by TYPO3
|
||||
has been migrated to a Symfony Console command.
|
||||
|
||||
The command previously available via `./typo3/cli_dispatch.phpsh lowlevel_cleaner lost_files` is now available via
|
||||
`./typo3/sysext/core/bin/typo3 cleanup:lostfiles` and allows the following CLI options to be set:
|
||||
|
||||
`--update-refindex` - updates the reference index before scanning for lost files. If not set, the user is asked if the task should be run
|
||||
`--exclude=uploads/mypics/,uploads/psa` - a list of paths of files to exclude within uploads/
|
||||
`--dry-run` - do not delete the files but only list the files that are not connected to the TYPO3 system anymore
|
||||
|
||||
The PHP class of the old CLI command `TYPO3\CMS\Lowlevel\LostFilesCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the old CLI command `./typo3/cli_dispatch.phpsh lowlevel_cleaner lost_files` will result in an error message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instances using the lowlevel cleaner for finding and deleting lost files.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Update the CLI call on your servers to the new command line and available options as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78577:
|
||||
|
||||
==================================================================
|
||||
Breaking: #78577 - Lowlevel MissingFilesCommand parameters changed
|
||||
==================================================================
|
||||
|
||||
See :issue:`78577`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing CLI command within EXT:lowlevel for showing missing files that are referenced by TYPO3 records
|
||||
has been migrated to a Symfony Console command.
|
||||
|
||||
The command previously available via `./typo3/cli_dispatch.phpsh lowlevel_cleaner missing_files` is now available via
|
||||
`./typo3/sysext/core/bin/typo3 cleanup:missingfiles` and allows the following CLI options to be set:
|
||||
|
||||
`--update-refindex` - updates the reference index before scanning for missing files. If not set, the user is asked if the task should be run
|
||||
`--dry-run` - do not delete the references, files but only list the files that are missing but connected to the TYPO3 system
|
||||
|
||||
The PHP class of the old CLI command `TYPO3\CMS\Lowlevel\MissingFilesCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the old CLI command `./typo3/cli_dispatch.phpsh lowlevel_cleaner missing_files` will result in an error message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instances using the lowlevel cleaner for finding missing files in relations.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Update the CLI call on your servers to the new command line and available options as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel
|
||||
@@ -0,0 +1,38 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78581-1668719184:
|
||||
|
||||
==========================================================
|
||||
Breaking: #78581 - FlexFormTools public properties dropped
|
||||
==========================================================
|
||||
|
||||
See :issue:`78581`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Two public properties have been dropped from PHP class :php:`FlexFormTools`:
|
||||
|
||||
* :php:`FlexFormTools->traverseFlexFormXMLData_DS`
|
||||
* :php:`FlexFormTools->traverseFlexFormXMLData_Data`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Accessing those properties will throw a warning.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions that access these properties. These two properties were of little use from an extensions point of view,
|
||||
it is very unlikely this actually breaks an extension.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No migration possible.
|
||||
|
||||
.. index:: PHP-API, FlexForm, Backend
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78581:
|
||||
|
||||
================================================================
|
||||
Breaking: #78581 - FormEngine TcaFlexFetch data provider removed
|
||||
================================================================
|
||||
|
||||
See :issue:`78581`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The FormEngine data provider :php:`TcaFlexFetch` has been merged into data provider :php:`TcaFlexPrepare`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If own registered data providers are declared to "depends" or "before" :php:`TcaFlexFetch`, the
|
||||
:php:`DependencyResolver` will be unable to find it and throws an exception or sorts the own data
|
||||
provider to an ambiguous place.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
An installation is only affected in the relatively unlikely case that an own data provider declared a
|
||||
dependency to :php:`TcaFlexFetch`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Move the dependency over to :php:`TcaFlexPrepare`: The two data providers have been merged into one, it
|
||||
should be save for any data provider to hook in before or after :php:`TcaFlexPrepare` instead. There
|
||||
is a little additional flex form processing in :php:`TcaFlexPrepare`, so the flex structure might be a
|
||||
bit different. Have a look at methods :php:`removeTceFormsArrayKeyFromDataStructureElements()`
|
||||
and :php:`migrateFlexformTcaDataStructureElements()` for details.
|
||||
|
||||
.. index:: PHP-API, FlexForm, Backend
|
||||
@@ -0,0 +1,72 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78581-1668719172:
|
||||
|
||||
===========================================================
|
||||
Breaking: #78581 - Hook getFlexFormDSClass no longer called
|
||||
===========================================================
|
||||
|
||||
See :issue:`78581`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
With the deprecation of :php:`BackendUtility::getFlexFormDS()` the hook :php:`getFlexFormDSClass` is
|
||||
no longer called and there is no substitution available.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The hook is no longer called and flex form field manipulation by extensions does not happen anymore.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions that extension flex form data structure definitions and use the hook :php:`getFlexFormDSClass`
|
||||
for that purpose.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Method :php:`BackendUtility::getFlexFormDS()` has been split into the methods
|
||||
:php:`FlexFormTools->getDataStructureIdentifier()` and :php:`FlexFormTools->parseDataStructureByIdentifier()`.
|
||||
|
||||
Those two new methods now provide four hooks to allow manipulation of the flex form data structure
|
||||
location and parsing. The methods and hooks are documented well, read their description for a deeper
|
||||
insight on which combination is the correct one for a specific extension need.
|
||||
|
||||
The new hooks are very powerful and must be used with special care to be as future proof as possible.
|
||||
|
||||
Since the old hook is used by some widespread extensions, the core team prepared a transition for some
|
||||
of them beforehand:
|
||||
|
||||
* EXT:news: The extension used the old hook to only remove a couple of fields from the flex
|
||||
form definition. This has been moved over to a "FormEngine" data provider: news_
|
||||
|
||||
* EXT:flux: Flux implements a completely own way of locating and pointing to the flex form
|
||||
data structure that is needed in a specific context. The default core resolving does not work
|
||||
here. Flux now implements the hooks :php:`getDataStructureIdentifierPreProcess` and
|
||||
:php:`parseDataStructureByIdentifierPreProcess` to specify an own "identifier" syntax
|
||||
and to resolve that syntax to a data structure later: flux_
|
||||
|
||||
* EXT:gridelements: Similar to flux, gridelements has an own logic to choose which specific
|
||||
data structure should be used. However, the data structures are located in database row fields,
|
||||
so the "record" syntax of the core can be re-used to refer to those. gridelements uses the hook
|
||||
:php:`getDataStructureIdentifierPreProcess` together with a small implementation in
|
||||
:php:`parseDataStructureByIdentifierPreProcess` for a fallback scenario: gridelements_
|
||||
|
||||
* EXT:powermail: Powermail allows extending and changing existing flex form data structure
|
||||
definition depending on page TS. To do that, it now implements hook
|
||||
:php:`getDataStructureIdentifierPostProcess` to add the needed pid to the existing identifier,
|
||||
and then implements hook :php:`parseDataStructureByIdentifierPostProcess` to manipulate the
|
||||
resolved data structure: powermail_
|
||||
|
||||
.. _news: https://github.com/georgringer/news/pull/155
|
||||
.. _flux: https://github.com/FluidTYPO3/flux/pull/1203
|
||||
.. _gridelements: https://review.typo3.org/#/c/50513/
|
||||
.. _powermail: https://github.com/einpraegsam/powermail/pull/6
|
||||
|
||||
.. index:: PHP-API, FlexForm, Backend
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78623:
|
||||
|
||||
======================================================================
|
||||
Breaking: #78623 - Lowlevel MissingRelationsCommand parameters changed
|
||||
======================================================================
|
||||
|
||||
See :issue:`78623`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing CLI command within EXT:lowlevel for showing relations and soft-references to non-existing records,
|
||||
offline versions and records marked as deleted has been migrated to a Symfony Console command.
|
||||
|
||||
The command previously available via `./typo3/cli_dispatch.phpsh lowlevel_cleaner missing_relations` is now available
|
||||
via `./typo3/sysext/core/bin/typo3 cleanup:missingrelations` and allows the following CLI options to be set:
|
||||
|
||||
`--update-refindex` - updates the reference index before scanning for missing files. If not set, the user is asked if the task should be run
|
||||
`--dry-run` - do not delete the references but only list the references that are missing but connected to the TYPO3 system
|
||||
|
||||
The PHP class of the old CLI command `TYPO3\CMS\Lowlevel\MissingRelationsCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the old CLI command `./typo3/cli_dispatch.phpsh lowlevel_cleaner missing_relations` will result in an error message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instances using the lowlevel cleaner for finding relations pointing to deleted, offline versions or
|
||||
non-existing records.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Update the CLI call on your servers to the new command line and available options as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78627:
|
||||
|
||||
======================================================================
|
||||
Breaking: #78627 - Lowlevel MissingRelationsCommand parameters changed
|
||||
======================================================================
|
||||
|
||||
See :issue:`78627`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing CLI command within EXT:lowlevel for showing files within uploads/ that are used by records twice (non-FAL)
|
||||
has been migrated to a Symfony Console command.
|
||||
|
||||
The command previously available via `./typo3/cli_dispatch.phpsh lowlevel_cleaner double_files` is now available
|
||||
via `./typo3/sysext/core/bin/typo3 cleanup:multiplereferencedfiles` and allows the following CLI options to be set:
|
||||
|
||||
`--update-refindex` - updates the reference index before scanning for multiple-referenced files. If not set, the user is asked if the task should be run
|
||||
`--dry-run` - do not copy the files to single-reference them, but only list the references and files.
|
||||
|
||||
The PHP class of the old CLI command `TYPO3\CMS\Lowlevel\DoubleFilesCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the old CLI command `./typo3/cli_dispatch.phpsh lowlevel_cleaner double_files` will result in an error message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instances using the lowlevel cleaner for finding files with two records pointing to them.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Update the CLI call on your servers to the new command line and available options as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel
|
||||
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78759:
|
||||
|
||||
=======================================================
|
||||
Breaking: #78759 - Fluidification of EditFileController
|
||||
=======================================================
|
||||
|
||||
See :issue:`78759`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
While moving all HTML from PHP code to an own Fluid template the HTML string given to the hook after compiling the output is different now.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The HTML string given to the hook after compiling the output now contains the closing form tag :html:`</form>`.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations that append text to the HTML code in the hook after compiling the output.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The hook code has to be changed to insert additional code before the closing form tag.
|
||||
|
||||
.. index:: Backend, Fluid
|
||||
@@ -0,0 +1,45 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78855:
|
||||
|
||||
==========================================================
|
||||
Breaking: #78855 - Remove obsolete sys_action translations
|
||||
==========================================================
|
||||
|
||||
See :issue:`78855`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
These translations have been removed from :file:`EXT:sys_action/Resources/Private/Language/locallang.xlf`:
|
||||
|
||||
* action_BEu_hidden
|
||||
* action_BEu_username
|
||||
* action_BEu_password
|
||||
* action_BEu_realName
|
||||
* action_BEu_email
|
||||
* action_BEu_usergroups
|
||||
|
||||
These translations have been removed from :file:`EXT:sys_action/Resources/Private/Language/locallang_tca.xlf`:
|
||||
|
||||
* tx_sys_action
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Integrations / third party Extensions using these translation-keys within the mentioned files will output empty strings.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Installations that use the removed translations in third party code.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Create your own :file:`locallang.xlf` file and add the required translations.
|
||||
|
||||
.. index:: Backend, ext:sys_action
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-78895:
|
||||
|
||||
===============================================================
|
||||
Breaking: #78895 - Lowlevel RteImagesCommand parameters changed
|
||||
===============================================================
|
||||
|
||||
See :issue:`78895`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing CLI command within EXT:lowlevel for detecting and removing RTE files within uploads/ which are not referenced by TYPO3
|
||||
has been migrated to a Symfony Console command. The same command is also used to copy RTE images which are used multiple
|
||||
times on multiple references, to be only used once.
|
||||
|
||||
The command previously available via `./typo3/cli_dispatch.phpsh lowlevel_cleaner rte_images` is now available via
|
||||
`./typo3/sysext/core/bin/typo3 cleanup:rteimages` and allows the following CLI options to be set:
|
||||
|
||||
`--update-refindex` - updates the reference index before scanning for lost files. If not set, the user is asked if the task should be run
|
||||
`--dry-run` - do not copy / delete the files but only list the files that are not wrongly connected or not connected at all.
|
||||
|
||||
The PHP class of the old CLI command `TYPO3\CMS\Lowlevel\RteImagesCommand` has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the old CLI command `./typo3/cli_dispatch.phpsh lowlevel_cleaner rte_images` will result in an error message.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instances using the lowlevel cleaner for finding RTE image files.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Update the CLI call on your servers to the new command line and available options as shown above.
|
||||
|
||||
.. index:: CLI, ext:lowlevel, PHP-API
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-57385:
|
||||
|
||||
==========================================================================================
|
||||
Deprecation: #57385 - Deprecate parameter $caseSensitive of Extbase Query->like comparison
|
||||
==========================================================================================
|
||||
|
||||
See :issue:`57385`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The argument :php:`$caseSensitive` of the method :php:`Query->like` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the argument will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation using custom calls to :php:`Query->like` using the mentioned argument.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For MySQL change the collation of the queried field to be stored in a case sensitive fashion.
|
||||
This requires using a collation with a suffix of `_cs` for the field or table. Alternatively
|
||||
a binary column type can be used. Both solutions will ensure the field will be queried in a
|
||||
case sensitive fashion.
|
||||
|
||||
.. index:: Database, PHP-API, ext:extbase
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-77296:
|
||||
|
||||
========================================================================================
|
||||
Deprecation: #77296 - Deprecate public member parentMenuArr in AbstractMenuContentObject
|
||||
========================================================================================
|
||||
|
||||
See :issue:`77296`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The previously undefined member `parentMenuArr` has been added as public member and marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The parentMenuArr will be publicly accessible until it is changed to protected in TYPO3 v9.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Instances that have menus with sublevels and using this member in the itemArrayProcFunc.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the provided API function :php:`getParentMenuArr()` to get the parentMenuArr instead.
|
||||
This method always returns an array.
|
||||
|
||||
If you need the direct parent menuitem of the current sublevel use :php:`getParentMenuItem()` method.
|
||||
|
||||
.. index:: Frontend, PHP-API
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-77524:
|
||||
|
||||
=============================================================================
|
||||
Deprecation: #77524 - Deprecated method fileResource of ContentObjectRenderer
|
||||
=============================================================================
|
||||
|
||||
See :issue:`77524`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`ContentObjectRenderer::fileResource()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the mentioned method will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Instances that use the method.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Migrate your code to use :php:`file_get_contents`. Use a call to :php:`$GLOBALS['TSFE']->tmpl->getFileName($fileName)`
|
||||
for substituting strings like `EXT`.
|
||||
|
||||
.. index:: Frontend, PHP-API
|
||||
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-77732:
|
||||
|
||||
=================================================================
|
||||
Deprecation: #77732 - Deprecate methods of Extbase's ArrayUtility
|
||||
=================================================================
|
||||
|
||||
See :issue:`77732`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The class :php:`\TYPO3\CMS\Extbase\Utility\ArrayUtility` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling any of the methods within the static class will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation calling the methods of that PHP class.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
A migration is available for the following methods:
|
||||
|
||||
- :php:`integerExplode`: Use :php:`GeneralUtility::intExplode`
|
||||
- :php:`trimExplode`: Use :php:`GeneralUtility::trimExplode`
|
||||
- :php:`arrayMergeRecursiveOverrule`: Use :php:`\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule` or :php:`array_replace_recursive`
|
||||
- :php:`getValueByPath`: Use :php:`\TYPO3\CMS\Core\Utility\ArrayUtility::getValueByPath`
|
||||
- :php:`setValueByPath`: Use :php:`\TYPO3\CMS\Core\Utility\ArrayUtility::setValueByPath`
|
||||
- :php:`unsetValueByPath`: Use :php:`\TYPO3\CMS\Core\Utility\ArrayUtility::removeByPath`
|
||||
- :php:`sortArrayWithIntegerKeys`: Use :php:`\TYPO3\CMS\Core\Utility\ArrayUtility::sortArrayWithIntegerKeys`
|
||||
|
||||
.. index:: Backend, ext:extbase, PHP-API
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78134:
|
||||
|
||||
==================================================================
|
||||
Deprecation: #78134 - Deprecate TypoScript option config.noScaleUp
|
||||
==================================================================
|
||||
|
||||
See :issue:`78317`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript setting `config.noScaleUp` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this setting `config.noScaleUp` will trigger a deprecation log entry. It will work until it get's removed in TYPO3 v9.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Instances that use this TypoScript setting.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the provided global TYPO3 configuration :php:`$GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_allowUpscaling'];` to allow
|
||||
upscaling of images on a "per installation" basis.
|
||||
|
||||
.. index:: Frontend, TypoScript
|
||||
@@ -0,0 +1,55 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78217:
|
||||
|
||||
========================================
|
||||
Deprecation: #78217 - frameset and frame
|
||||
========================================
|
||||
|
||||
See :issue:`78217`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Frameset and frame are not supported in HTML5_ anymore.
|
||||
The browser support for framesets could be dropped in the future.
|
||||
|
||||
Creating a layout based on framesets has been marked deprecated:
|
||||
|
||||
* DocumentationFrame_
|
||||
* DocumentationFrameset_
|
||||
|
||||
The following TypoScript has been marked as deprecated:
|
||||
|
||||
* :typoscript:`config.frameReloadIfNotInFrameset`
|
||||
* :typoscript:`config.doctype = xhtml_frames`
|
||||
* :typoscript:`config.xhtmlDoctype= xhtml_frames`
|
||||
* :typoscript:`frameSet` and its options
|
||||
* :typoscript:`FRAME` and its options
|
||||
* :typoscript:`FRAMESET` and its options
|
||||
|
||||
Furthermore the class :php:`FramesetRenderer` has been marked as deprecated.
|
||||
|
||||
.. _HTML5: https://www.w3.org/TR/html5/obsolete.html#frames
|
||||
.. _DocumentationFrame: https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Frame/Index.html
|
||||
.. _DocumentationFrameset: https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Frameset/Index.html
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using framesets will trigger deprecation log entries.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations using framesets.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
None.
|
||||
|
||||
.. index:: Frontend, TypoScript
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78244:
|
||||
|
||||
=====================================================================
|
||||
Deprecation: #78244 - Deprecate TYPO3_DB and Prepared Statement class
|
||||
=====================================================================
|
||||
|
||||
See :issue:`78244`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The classes `TYPO3\CMS\Core\Database\DatabaseConnection` and `TYPO3\CMS\Core\Database\PreparedStatement` have been marked as deprecated.
|
||||
This classes have been succeeded by Doctrine DBAL in TYPO3 v8, and will be removed in TYPO3 v9.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling any methods of the classes above will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 instances with references to `$GLOBALS['TYPO3_DB']` or use instances of the mentioned classes above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the `ConnectionPool` and the `QueryBuilder` classes to achieve future-proof and proper database abstraction for future TYPO3 versions.
|
||||
|
||||
.. index:: Database, PHP-API, Frontend, Backend, CLI
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78279:
|
||||
|
||||
=========================================================================
|
||||
Deprecation: #78279 - Deprecate top.TYPO3.Backend.ContentContainer.iframe
|
||||
=========================================================================
|
||||
|
||||
See :issue:`78279`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The property :js:`top.TYPO3.Backend.ContentContainer.iframe` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using this property will stop working in TYPO3 v9.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations using :js:`top.TYPO3.Backend.ContentContainer.iframe`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use accessor method :js:`top.TYPO3.Backend.ContentContainer.get()` instead.
|
||||
|
||||
.. index:: Backend, JavaScript
|
||||
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78314:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #78314 - AbstractFunctionModule->getBackPath
|
||||
=========================================================
|
||||
|
||||
See :issue:`78314`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The protected method :php:`AbstractFunctionModule->getBackPath()` has been marked as deprecated, as it is not needed anymore.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the PHP method will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 extension with a PHP class extending the `AbstractFunctionModule` and calling the method above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
As the method always returns an empty string (since the `backPath` functionality is not needed anymore) the PHP call can be removed.
|
||||
|
||||
.. index:: Backend, PHP-API
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78524:
|
||||
|
||||
===============================================================
|
||||
Deprecation: #78524 - TCA option versioning_followPages removed
|
||||
===============================================================
|
||||
|
||||
See :issue:`78524`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option `$TCA[$table][ctrl][versioning_followPages]` which was used for branch versioning has been removed.
|
||||
|
||||
Additionally the option `$TCA[$table][ctrl][versioningWS]` is now cast to boolean.
|
||||
|
||||
The branch / page versioning functionality was removed in TYPO3 v7, but the leftover functionality code has been
|
||||
completely removed as well.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A deprecation message is thrown when scanning the TCA tree for these options not being properly set or removed.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with a TCA definition as mentioned above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the setting `$TCA[$table][ctrl][versioning_followPages]` from any TCA definition.
|
||||
|
||||
If a TCA table has workspaces enabled, set the option `$TCA[$table][ctrl][versioningWS]` to a boolean (true/false) directly.
|
||||
|
||||
.. index:: TCA, ext:workspaces, Backend
|
||||
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78581:
|
||||
|
||||
===============================================
|
||||
Deprecation: #78581 - Flex form related parsing
|
||||
===============================================
|
||||
|
||||
See :issue:`78581`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Three flex form data structure related parsing methods have been deprecated:
|
||||
|
||||
* :php:`BackendUtility::getFlexFormDS()`
|
||||
* :php:`GeneralUtility::resolveSheetDefInDS()`
|
||||
* :php:`GeneralUtility::resolveAllSheetsInDS()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling those PHP methods will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Extensions calling one of the above methods.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
:php:`BackendUtility::getFlexFormDS()` has been refactored to a combination of two methods
|
||||
:php:`FlexFormTools->getDataStructureIdentifier()` and :php:`FlexFormTools->parseDataStructureByIdentifier()`.
|
||||
The two methods are heavily documented and the combination works in many cases just as before. Read the method
|
||||
comments for a detailed description of their purpose.
|
||||
|
||||
Warning: The hook :php:`getFlexFormDSClass` within :php:`BackendUtility::getFlexFormDS()` is no longer called
|
||||
by the core. Please refer to the according "Breaking" document for details on this topic.
|
||||
|
||||
.. index:: PHP-API, FlexForm, Backend
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78628:
|
||||
|
||||
==============================================================
|
||||
Deprecation: #78628 - TCA tree pageTsConfig addItems icon path
|
||||
==============================================================
|
||||
|
||||
See :issue:`78628`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
When adding items to `TCA` `type="select"` fields with `pageTSConfig`, the syntax for icons has been changed:
|
||||
|
||||
Example to add an item with icon in pages to field category before:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# Add an item with text "staticFromPageTs" to field category in pages
|
||||
TCEFORM.pages.category.addItems.12345 = staticFromPageTs
|
||||
# Assign icon to the element
|
||||
TCEFORM.pages.category.addItems.12345.icon = EXT:any_extension/Resources/Public/Icons/Smiley.png
|
||||
|
||||
The path has been deprecated and now accepts icon identifiers from the icon registry only:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# Add an item with text "staticFromPageTs" to field category in pages
|
||||
TCEFORM.pages.category.addItems.12345 = staticFromPageTs
|
||||
# Assign icon to the element
|
||||
TCEFORM.pages.category.addItems.12345.icon = my-registered-icon
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using a file path syntax will trigger a deprecation log entry, but will work until TYPO3 v9.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Instances that use this PageTSConfig setting with a file path instead of an icon identifier.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Register the icon within the :php:`IconRegistry` and use an icon identifier instead of the file path.
|
||||
|
||||
.. index:: TSConfig, Backend, TCA
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78647:
|
||||
|
||||
=================================================================================================
|
||||
Deprecation: #78647 - Move language files from EXT:lang/locallang_* to Resources/Private/Language
|
||||
=================================================================================================
|
||||
|
||||
See :issue:`78647`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Moved language files from `EXT:lang/locallang_*` to `EXT:lang/Resources/Private/Language`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Language files from `EXT:lang` have been moved to different places into the core.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All 3rd party extensions that are using language labels from `EXT:lang`
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Move the following references to the new location of the language file:
|
||||
|
||||
* lang/locallang_alt_doc.xlf -> lang/Resources/Private/Language/locallang_alt_doc.xlf
|
||||
* lang/locallang_alt_intro.xlf -> lang/Resources/Private/Language/locallang_alt_intro.xlf
|
||||
* lang/locallang_browse_links.xlf -> lang/Resources/Private/Language/locallang_browse_links.xlf
|
||||
* lang/locallang_common.xlf -> lang/Resources/Private/Language/locallang_common.xlf
|
||||
* lang/locallang_core.xlf -> lang/Resources/Private/Language/locallang_core.xlf
|
||||
* lang/locallang_csh_be_groups.xlf -> lang/Resources/Private/Language/locallang_csh_be_groups.xlf
|
||||
* lang/locallang_csh_be_users.xlf -> lang/Resources/Private/Language/locallang_csh_be_users.xlf
|
||||
* lang/locallang_csh_corebe.xlf -> lang/Resources/Private/Language/locallang_csh_corebe.xlf
|
||||
* lang/locallang_csh_pages.xlf -> lang/Resources/Private/Language/locallang_csh_pages.xlf
|
||||
* lang/locallang_csh_sysfilem.xlf -> lang/Resources/Private/Language/locallang_csh_sysfilem.xlf
|
||||
* lang/locallang_csh_syslang.xlf -> lang/Resources/Private/Language/locallang_csh_syslang.xlf
|
||||
* lang/locallang_csh_sysnews.xlf -> lang/Resources/Private/Language/locallang_csh_sysnews.xlf
|
||||
* lang/locallang_csh_web_func.xlf -> func/Resources/Private/Language/locallang_csh_web_func.xlf
|
||||
* lang/locallang_csh_web_info.xlf -> lang/Resources/Private/Language/locallang_csh_web_info.xlf
|
||||
* lang/locallang_general.xlf -> lang/Resources/Private/Language/locallang_general.xlf
|
||||
* lang/locallang_login.xlf -> lang/Resources/Private/Language/locallang_login.xlf
|
||||
* lang/locallang_misc.xlf -> lang/Resources/Private/Language/locallang_misc.xlf
|
||||
* lang/locallang_mod_admintools.xlf -> lang/Resources/Private/Language/locallang_mod_admintools.xlf
|
||||
* lang/locallang_mod_file_list.xlf -> lang/Resources/Private/Language/locallang_mod_file_list.xlf
|
||||
* lang/locallang_mod_file.xlf -> lang/Resources/Private/Language/locallang_mod_file.xlf
|
||||
* lang/locallang_mod_help_about.xlf -> lang/Resources/Private/Language/locallang_mod_help_about.xlf
|
||||
* lang/locallang_mod_help_cshmanual.xlf -> lang/Resources/Private/Language/locallang_mod_help_cshmanual.xlf
|
||||
* lang/locallang_mod_help.xlf -> lang/Resources/Private/Language/locallang_mod_help.xlf
|
||||
* lang/locallang_mod_system.xlf -> lang/Resources/Private/Language/locallang_mod_system.xlf
|
||||
* lang/locallang_mod_usertools.xlf -> lang/Resources/Private/Language/locallang_mod_usertools.xlf
|
||||
* lang/locallang_mod_user_ws.xlf -> lang/Resources/Private/Language/locallang_mod_user_ws.xlf
|
||||
* lang/locallang_mod_web_func.xlf -> func/Resources/Private/Language/locallang_mod_web_func.xlf
|
||||
* lang/locallang_mod_web_info.xlf -> lang/Resources/Private/Language/locallang_mod_web_info.xlf
|
||||
* lang/locallang_mod_web_list.xlf -> lang/Resources/Private/Language/locallang_mod_web_list.xlf
|
||||
* lang/locallang_mod_web.xlf -> lang/Resources/Private/Language/locallang_mod_web.xlf
|
||||
* lang/locallang_show_rechis.xlf -> lang/Resources/Private/Language/locallang_show_rechis.xlf
|
||||
* lang/locallang_t3lib_fullsearch.xlf -> lang/Resources/Private/Language/locallang_t3lib_fullsearch.xlf
|
||||
* lang/locallang_tca.xlf -> lang/Resources/Private/Language/locallang_tca.xlf
|
||||
* lang/locallang_tcemain.xlf -> lang/Resources/Private/Language/locallang_tcemain.xlf
|
||||
* lang/locallang_tsfe.xlf -> lang/Resources/Private/Language/locallang_tsfe.xlf
|
||||
* lang/locallang_tsparser.xlf -> lang/Resources/Private/Language/locallang_tsparser.xlf
|
||||
* lang/locallang_view_help.xlf -> lang/Resources/Private/Language/locallang_view_help.xlf
|
||||
* lang/locallang_wizards.xlf -> lang/Resources/Private/Language/locallang_wizards.xlf
|
||||
|
||||
.. index:: ext:lang
|
||||
@@ -0,0 +1,29 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78668:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #78668 - TypoScript option config.mainScript
|
||||
=========================================================
|
||||
|
||||
See :issue:`78668`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript option `config.mainScript` allows to set the frontend entrypoint from "index.php" to something else, and is respected
|
||||
when links are built, but not when e.g. previewing a page from the backend. This option has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Setting this TypoScript option will trigger a deprecation log entry in the admin panel.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using this TypoScript option.
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,51 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78670:
|
||||
|
||||
=========================================================
|
||||
Deprecation: #78670 - Deprecated CharsetConverter methods
|
||||
=========================================================
|
||||
|
||||
See :issue:`78670`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The `symfony/polyfill-mbstring` package provides us with `mb_string` functionality in all installations.
|
||||
Therefore some methods of :php:`CharsetConverter` have been marked as deprecated, since the equivalent `mb_string` functions can be used directly:
|
||||
|
||||
- :php:`strlen()`: use :php:`mb_strlen()` directly
|
||||
- :php:`substr()`: use :php:`mb_substr()` directly
|
||||
- :php:`strtrunc()`: use :php:`mb_strcut()` directly
|
||||
- :php:`convCapitalize()`: use :php:`mb_convert_case()` directly
|
||||
- :php:`conv_case()`: use :php:`mb_strtolower()` or :php:`mb_strtoupper()` directly
|
||||
- :php:`utf8_substr()`: use :php:`mb_substr()` directly
|
||||
- :php:`utf8_strlen()`: use :php:`mb_strlen()` directly
|
||||
- :php:`utf8_strtrunc()`: use :php:`mb_strcut()` directly
|
||||
- :php:`utf8_strpos()`: use :php:`mb_strpos()` directly
|
||||
- :php:`utf8_strrpos()`: use :php:`mb_strrpos()` directly
|
||||
- :php:`utf8_byte2char_pos()`: no replacement
|
||||
- :php:`euc_strtrunc()`: use :php:`mb_strcut()` directly
|
||||
- :php:`euc_substr()`: use :php:`mb_substr()` directly
|
||||
- :php:`euc_strlen()`: use :php:`mb_strlen()` directly
|
||||
- :php:`euc_char2byte_pos()`: no replacement
|
||||
- :php:`$fourByteSets`: no replacement
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the deprecated :php:`CharsetConverter` methods will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using third party extensions leveraging the mentioned :php:`CharsetConverter` functionality.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the equivalent mb_string methods directly as denoted above.
|
||||
|
||||
.. index:: PHP-API
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78679:
|
||||
|
||||
==========================================================================
|
||||
Deprecation: #78679 - Crawler inclusion via require_once in Indexed Search
|
||||
==========================================================================
|
||||
|
||||
See :issue:`78679`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The system extension "Indexed Search" has support for `EXT:crawler`, by using the crawler library
|
||||
to index a page.
|
||||
|
||||
This functionality is done under the hood via the Indexer class, which does a manual PHP call on
|
||||
"require_once" - code which is not necessary anymore, since the TYPO3 Core class loader is in place. The public
|
||||
PHP method `TYPO3\CMS\IndexedSearch\Indexer->includeCrawlerClass()` is therefore marked as
|
||||
deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the method `TYPO3\CMS\IndexedSearch\Indexer->includeCrawlerClass()` will trigger a
|
||||
deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with a custom indexer written in PHP, and Indexed Search and Crawler
|
||||
installed, and the custom indexer using the method call above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove the function call, as TYPO3 includes the PHP class automatically.
|
||||
|
||||
.. index:: ext:indexed_search, PHP-API
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78733:
|
||||
|
||||
======================================================================
|
||||
Deprecation: #78733 - CallUserFunction "&" token for singleton objects
|
||||
======================================================================
|
||||
|
||||
See :issue:`78733`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method `GeneralUtility::callUserFunction()` allows to send the callee (the user-defined function)
|
||||
to be prepended with a "&" before the method name to add the instantiated object to a "singleton" pool
|
||||
during a single request. This functionality has been marked as deprecated as it can easily be solved by
|
||||
implementing a class as singleton.
|
||||
|
||||
This way, the object is always a singleton, even when it is called via `GeneralUtility::makeInstance()`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `callUserFunction()` with a "&" symbol will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation with a hook or user function which is registered with an ampersand "&" symbol.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The class of the user function / method can implement the `SingletonInterface` to achieve the same behaviour.
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,35 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-78872:
|
||||
|
||||
==================================================================================
|
||||
Deprecation: #78872 - Deprecate method LocalizationController::getRecordUidsToCopy
|
||||
==================================================================================
|
||||
|
||||
See :issue:`78872`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method :php:`\TYPO3\CMS\Backend\Controller\Page\LocalizationController::getRecordUidsToCopy()`
|
||||
is not used at any place in the TYPO3 core.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling the deprecated :php:`getRecordUidsToCopy()` method will trigger a deprecation log entry.
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using the mentioned method :php:`getRecordUidsToCopy()`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No migration available.
|
||||
|
||||
.. index:: Backend, PHP-API
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-29399:
|
||||
|
||||
=======================================================================================
|
||||
Feature: #29399 - OptionViewHelper and OptgroupViewHelper for use with SelectViewHelper
|
||||
=======================================================================================
|
||||
|
||||
See :issue:`29399`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Allows manually definition of all options and optgroups for
|
||||
the `f:form.select` parent field as tag contents of the
|
||||
select field. The added ViewHelpers are TagBasedViewHelpers
|
||||
which means they support all standard HTML attributes.
|
||||
|
||||
Note that while tag content rendering is now supported,
|
||||
it is **STILL** not possible to create :html:`<option>` tags
|
||||
manually - you **HAVE** to use the form fields!
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:form.select name="myproperty">
|
||||
<f:form.select.option value="1">Option one</f:form.select.option>
|
||||
<f:form.select.option value="2">Option two</f:form.select.option>
|
||||
<f:form.select.optgroup>
|
||||
<f:form.select.option value="3">Grouped option one</f:form.select.option>
|
||||
<f:form.select.option value="4">Grouped option twi</f:form.select.option>
|
||||
</f:form.select.optgroup>
|
||||
</f:form.select>
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
* Adds two new ViewHelpers
|
||||
* Changes `SelectViewHelper` to allow tag content (but not manual options created without using `f:form.select.*`)
|
||||
|
||||
.. index:: Fluid
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-52286:
|
||||
|
||||
====================================================================================
|
||||
Feature: #52286 - Add option to "system status updates" report-job to send all tests
|
||||
====================================================================================
|
||||
|
||||
See :issue:`52286`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Sometimes it is useful to also get every test in the "System Status Updates (reports)" via email.
|
||||
|
||||
A checkbox was added to the job configuration for the decision to get a mail only if the
|
||||
system has WARNING or ERROR events, or just get a mail for everything.
|
||||
If the checkbox is not set (default) it works like before, including WARNING and ERROR events only.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If the checkbox `Notification for all type of status, not only warning and error` is checked,
|
||||
then the `System Status Update (reports)` contains all type of notifications.
|
||||
|
||||
.. index:: Backend, ext:reports
|
||||
@@ -0,0 +1,25 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-58637:
|
||||
|
||||
=========================================================
|
||||
Feature: #58637 - Purge language packs in language module
|
||||
=========================================================
|
||||
|
||||
See :issue:`58637`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The language module in the backend offers the possibility to activate and deactivate language packs.
|
||||
If deactivating a language pack that previously had been loaded, the data stays in `<labels-path>/<locale>/`.
|
||||
A remove button has been added to the actions. With the remove action the language is disabled and the data is removed
|
||||
from the `<labels-path>/<locale>/` directory.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The language data can now be removed from the installation file system using the backend user interface.
|
||||
|
||||
.. index:: Backend
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-67909:
|
||||
|
||||
=========================================================================
|
||||
Feature: #67909 - Add hook to DataHandler - localize - translateToMessage
|
||||
=========================================================================
|
||||
|
||||
See :issue:`67909`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
By introducing a new hook to the `localize()` function (the `translateToMessage` part in particular) you are now able to
|
||||
use external translation services and speed-up translation of the content and even add a custom
|
||||
transliteration function that would handle various content transformations.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A new hook is available at:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processTranslateToClass']
|
||||
|
||||
Implement it for example as follows:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
class YourHookClass {
|
||||
public function processTranslateTo_copyAction(&$content, $lang, $dataHandler, $fieldName) {
|
||||
// Do something with content (translate, transliterate etc)
|
||||
}
|
||||
}
|
||||
|
||||
Note
|
||||
======
|
||||
|
||||
Since Version 8.7.16 hooks now get a fourth parameter for the currently processed fieldname.
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-73626:
|
||||
|
||||
============================================================================
|
||||
Feature: #73626 - numberOfResults should be configurable and report overflow
|
||||
============================================================================
|
||||
|
||||
See :issue:`73626`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Adds possibility to overwrite the maximum number of Indexed Search results with TypoScript
|
||||
which previously was limited to 100.
|
||||
|
||||
The TypoScript setting `plugin.tx_indexedsearch.settings.blind.numberOfResults` now became
|
||||
a list of values. If the number of results sent in the request does not match any value of
|
||||
this list, the first value will be used to protect against DoS attacks.
|
||||
|
||||
Values from `plugin.tx_indexedsearch.settings.blind.numberOfResults` are used as the
|
||||
options in the selectbox in advanced search mode. To keep backward compatibility the default
|
||||
values are 10, 25, 50 and 100.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The TypoScript setting `plugin.tx_indexedsearch.settings.blind.numberOfResults` can be now
|
||||
a list of available number of results. Because of that it is possible to overwrite the list
|
||||
of values displayed in the advanced search mode. The first value from the list will be used
|
||||
as default.
|
||||
|
||||
.. index:: ext:indexed_search, TypoScript, Frontend
|
||||
@@ -0,0 +1,25 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-76085:
|
||||
|
||||
============================================================
|
||||
Feature: #76085 - Add fluid debug information to admin panel
|
||||
============================================================
|
||||
|
||||
See :issue:`76085`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new setting in the admin panel (Preview > Show fluid debug output) enables showing fluid debug output.
|
||||
If the checkbox is enabled, the path to the template file of a partial and the name of a section will be shown in the
|
||||
frontend directly above the markup.
|
||||
With this feature an integrator can easily find the correct template and section.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Activating this option can break the output in frontend or may result in unexpected behavior.
|
||||
|
||||
.. index:: Frontend
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-77757:
|
||||
|
||||
======================================================================
|
||||
Feature: #77757 - Enable rechecking whether an UpdateWizard should run
|
||||
======================================================================
|
||||
|
||||
See :issue:`77757`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to reset the upgrade wizards marked as done. In Install Tool you
|
||||
will find a list of wizards that have been marked as done, additionally with a
|
||||
checkbox for each to reset their status. Then the wizard will test whether
|
||||
it needs to be executed again.
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,56 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-77910:
|
||||
|
||||
=========================================================
|
||||
Feature: #77910 - EXT:form - introduce new form framework
|
||||
=========================================================
|
||||
|
||||
See :issue:`77910`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A flexible framework for building forms has been integrated. It replaces the legacy 'form wizard' based on ExtJS and the
|
||||
depending frontend rendering system.
|
||||
|
||||
The new backend 'form editor' relies on vanilla JS and jQuery. Different JS patterns have been applied to ensure
|
||||
a modern architecture, high flexibility and extensibility.
|
||||
|
||||
A new backend module lists all existing forms and allows the creation of new ones. The 'mailform' content element
|
||||
has been reworked. It lists available forms and enables the backend editor to override certain settings, e.g. 'finisher'
|
||||
settings (formerly known as 'postProcessors').
|
||||
|
||||
Until now it was not possible to customize and extend the 'form editor'. To allow the registration of new
|
||||
finishers, validators and pre-defined form elements a lot of architectural changes would have been necessary. After a long
|
||||
conceptional phase the team decided to remove the former code base, backport the 'form' package of the Flow
|
||||
project and improve the given ideas and concepts. The result is a new form extension. A lot of code received
|
||||
major improvements and tons of additional features have been integrated.
|
||||
|
||||
The list of features is long and impressive. The documentation will explain the ideas, concept and architecture
|
||||
as well as the functionality in detail. The following list names some of them:
|
||||
|
||||
* YAML as configuration and description language including inheritances and overrides.
|
||||
* File-based configuration.
|
||||
* All JavaScript components of the form wizard (and the wizard itself) can be replaced or extended.
|
||||
* Own PHP renderers for form and/or form elements are possible.
|
||||
* Create entire forms via API.
|
||||
* Create conditions for form elements and validators programmatically.
|
||||
* Create 'prototypes' and use them as boilerplate.
|
||||
* Create new form elements and use them in the wizard.
|
||||
* Uploads are handled as FAL objects.
|
||||
* Ships with a bunch of built-in finishers, like email, redirect, save to database.
|
||||
* Create own finishers. Override those in the content element.
|
||||
* Create and apply own validators.
|
||||
* Multi language support.
|
||||
* Multi step support.
|
||||
* Multiple forms per page.
|
||||
* Built-in spam protection (honeypot).
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Happy little wizard.
|
||||
|
||||
.. index:: Frontend, PHP-API, JavaScript, ext:form, Backend
|
||||
@@ -0,0 +1,31 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78002:
|
||||
|
||||
============================================================
|
||||
Feature: #78002 - Enforce cHash argument for Extbase actions
|
||||
============================================================
|
||||
|
||||
See :issue:`78002`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
`TypoScriptFrontendController::reqCHash()` is now called for Extbase frontend
|
||||
plugin actions just like they are usually called for AbstractPlugin.
|
||||
This provides a more reliable page caching behavior by default and with zero
|
||||
configuration for extension authors.
|
||||
|
||||
With the feature switch `requireCHashArgumentForActionArguments` this behavior
|
||||
can be disabled, which could be useful, if all actions in a plugin are uncached
|
||||
or one wants to manually control the cHash behavior.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The enforcing of a cHash results in a 404, if plugin arguments are present but
|
||||
cHash is not, which would also happen if the plugin arguments were added to
|
||||
`cHashRequiredParameters` configuration.
|
||||
|
||||
.. index:: Frontend, PHP-API, ext:extbase
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78103:
|
||||
|
||||
=====================================================================
|
||||
Feature: #78103 - Add missing information status for addSystemMessage
|
||||
=====================================================================
|
||||
|
||||
See :issue:`78103`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Adds the possibility to pass and set status parameter `TYPO3\CMS\Backend\Toolbar\Enumeration\InformationStatus`
|
||||
through `addSystemInformation()` in `SystemInformationToolbarItem`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All system information added by `addSystemInformation()` will now pass `InformationStatus::STATUS_NOTICE`
|
||||
as default value.
|
||||
|
||||
.. index:: Backend, PHP-API
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78116:
|
||||
|
||||
=======================================================================================
|
||||
Feature: #78116 - Extbase support for Doctrine's native DBAL Statement and QueryBuilder
|
||||
=======================================================================================
|
||||
|
||||
See :issue:`78116`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
With the change to Doctrine DBAL Extbase's direct query functionality also supports `QueryBuilder` objects and instances of
|
||||
`\Doctrine\DBAL\Statement` as prepared statements instead of only `\TYPO3\CMS\Core\Database\PreparedStatement`.
|
||||
|
||||
The following example could happen inside any Extbase Repository using native Doctrine DBAL statements:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$connection = $this->objectManager->get(ConnectionPool::class)->getConnectionForTable('mytable');
|
||||
$statement = $this->objectManager->get(
|
||||
\Doctrine\DBAL\Statement::class
|
||||
'SELECT * FROM mytable WHERE uid=? OR title=?',
|
||||
$connection
|
||||
);
|
||||
|
||||
$query = $this->createQuery();
|
||||
$query->statement($statement, [$uid, $title]);
|
||||
|
||||
|
||||
The following example shows the usage with the QueryBuilder object:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$queryBuilder = $this->objectManager->get(ConnectionPool::class)->getQueryBuilderForTable('mytable');
|
||||
|
||||
... do the SQL query with the query builder.
|
||||
|
||||
$query = $this->createQuery();
|
||||
$query->statement($queryBuilder);
|
||||
|
||||
.. index:: Database, PHP-API, ext:extbase
|
||||
@@ -0,0 +1,23 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78384:
|
||||
|
||||
==============================================================
|
||||
Feature: #78384 - Check ext tables TCA changes in install tool
|
||||
==============================================================
|
||||
|
||||
See :issue:`78384`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The install tool has a new feature to check extensions for :file:`ext_tables.php` files that still change the global `TCA` array.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Changing the global `TCA` array in :file:`ext_tables.php` is not allowed and can lead to failing or incomplete frontend requests.
|
||||
The feature helps to find affected, loaded extensions.
|
||||
|
||||
.. index:: TCA, Backend
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78415:
|
||||
|
||||
=================================================================================
|
||||
Feature: #78415 - Global Fluid ViewHelper namespaces moved to TYPO3 configuration
|
||||
=================================================================================
|
||||
|
||||
See :issue:`78415`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
By storing Fluid's namespaces in `$GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['namespaces']` we can allow adding or
|
||||
extending the global namespaces from third party packages in for example :file:`ext_localconf.php` or by simply specifying
|
||||
the namespace arrays in :file:`LocalConfiguration.php`.
|
||||
|
||||
In terms of performance there is nearly zero impact but in terms of flexibility this should provide the ultimate way
|
||||
to manage global namespaces as configuration; something that currently is only possible by implementing custom
|
||||
ViewHelperResolvers.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
* Site administrators and third party ViewHelper packages will be able to manipulate the global
|
||||
namespace `f:` in configuration
|
||||
* Third party ViewHelper packages will be able to register new global namespaces
|
||||
* Template developers can use such global namespaces without first importing them and can use them
|
||||
in all Fluid templates regardless of context.
|
||||
|
||||
.. index:: Fluid, LocalConfiguration, PHP-API
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78523:
|
||||
|
||||
==============================================================================
|
||||
Feature: #78523 - Suggest wizard provides option to define ordering of results
|
||||
==============================================================================
|
||||
|
||||
See :issue:`78523`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to set the ordering of results delivered by the suggest wizard.
|
||||
|
||||
The new option is called php:`orderBy => 'somefield ASC'` and can hold the usual SQL order-by definition.
|
||||
|
||||
Example TCA configuration for `EXT:news` suggest wizard returning the related articles sorted by datetime:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'internal_type' => 'db',
|
||||
'allowed' => 'tx_news_domain_model_news',
|
||||
'foreign_table' => 'tx_news_domain_model_news',
|
||||
'MM_opposite_field' => 'related_from',
|
||||
'size' => 5,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 100,
|
||||
'MM' => 'tx_news_domain_model_news_related_mm',
|
||||
'wizards' => [
|
||||
'suggest' => [
|
||||
'type' => 'suggest',
|
||||
'default' => [
|
||||
'searchWholePhrase' => true,
|
||||
'addWhere' => ' AND tx_news_domain_model_news.uid != ###THIS_UID###',
|
||||
'orderBy => 'datetime DESC',
|
||||
]
|
||||
],
|
||||
],
|
||||
]
|
||||
|
||||
.. index:: Backend, TCA
|
||||
@@ -0,0 +1,26 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78575:
|
||||
|
||||
=================================================================
|
||||
Feature: #78575 - Enumeration constants don't provide their names
|
||||
=================================================================
|
||||
|
||||
See :issue:`78575`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Requesting the name of Enumeration constants has been introduced.
|
||||
|
||||
There are two methods you can use:
|
||||
:php:`MyEnumerationClass::getName($value);` will return the name exactly as it is. Usually this will be all uppercase and underscores.
|
||||
:php:`MyEnumerationClass::getHumanReadableName($value);` replaces underscores with spaces and turns all words into lowercase with the first letter uppercase.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
You can use the constant names as part of your application more easily.
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,50 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78672:
|
||||
|
||||
==========================================================
|
||||
Feature: #78672 - Introduce fluid data processor for menus
|
||||
==========================================================
|
||||
|
||||
See :issue:`78672`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This menu processor utilizes HMENU to generate a json encoded menu
|
||||
string that will be decoded again and assigned to FLUIDTEMPLATE as a
|
||||
variable. Additional DataProcessing is supported and will be applied
|
||||
to each record.
|
||||
|
||||
Options:
|
||||
`as` The variable to be used within the result
|
||||
`levels` Number of levels of the menu
|
||||
`expandAll` If false, submenus will only render if the parent page is active
|
||||
`includeSpacer` If true, the doctype "Spacer" will be included in the menu
|
||||
`titleField` Field that should be used for the title
|
||||
|
||||
See HMENU docs for more options.
|
||||
https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Hmenu/Index.html
|
||||
|
||||
Example TypoScript configuration:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
||||
10 {
|
||||
special = list
|
||||
special.value.field = pages
|
||||
levels = 7
|
||||
as = menu
|
||||
expandAll = 1
|
||||
includeSpacer = 1
|
||||
titleField = nav_title // title
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = media
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.. index:: Fluid, TypoScript, Frontend
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-78842:
|
||||
|
||||
=======================================================================
|
||||
Feature: #78842 - Let FLUIDTEMPLATE mimic an actual extbase web request
|
||||
=======================================================================
|
||||
|
||||
See :issue:`78842`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Adds the possibility to let the FLUIDTEMPLATE content element mimic an
|
||||
actual extbase web request.
|
||||
This makes it possible to access submitted data like in extbase with
|
||||
`->controllerContext->getRequest()->getArguments()`
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Data which was submitted through a `FLUIDTEMPLATE` content element are now
|
||||
available within
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$view->getRenderingContext()
|
||||
->getControllerContext()
|
||||
->getRequest()
|
||||
->getArguments()
|
||||
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation which use the `FLUIDTEMPLATE` content element which are
|
||||
initialized with the following settings:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
extbase.pluginName
|
||||
extbase.controllerExtensionName
|
||||
extbase.controllerName
|
||||
extbase.controllerActionName
|
||||
|
||||
.. index:: Frontend, TypoScript, PHP-API
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _important-17904-1668719172:
|
||||
|
||||
==============================================================================
|
||||
Important: #17904 - showAccessRestrictedPages does not work with special menus
|
||||
==============================================================================
|
||||
|
||||
See :issue:`17904`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
HMENU setting :typoscript:`showAccessRestrictedPages = NONE` now acts as documented in
|
||||
:confval:`TypoScript reference <t3tsref:menu-common-properties-showaccessrestrictedpages>`.
|
||||
|
||||
Before: using the option renders :html:`<a>Page title</a>` when page is inaccessible.
|
||||
|
||||
After: using the option renders :html:`<a href="index.php?id=123">Page title</a>`
|
||||
when page is not accessible.
|
||||
|
||||
.. index:: Frontend, TypoScript
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _important-72050:
|
||||
|
||||
============================================================================
|
||||
Important: #72050 - encapsLines does not render duplicate paragraphs anymore
|
||||
============================================================================
|
||||
|
||||
See :issue:`72050`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In the past the `_encapsLines` TypoScript function rendered two paragraphs for one
|
||||
empty trailing line-break in the content.
|
||||
|
||||
See :ref:`t3tsref:encapslines`
|
||||
|
||||
This behaviour is now fixed.
|
||||
|
||||
Your Frontend appearance might change if you had multiple empty trailing paragraphs
|
||||
in your RTE content. The last paragraph is no longer rendered twice in the Frontend.
|
||||
|
||||
.. index:: Frontend, RTE, TypoScript
|
||||
@@ -0,0 +1,20 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _important-75232:
|
||||
|
||||
===================================================
|
||||
Important: #75232 - Spread TypeConverter priorities
|
||||
===================================================
|
||||
|
||||
See :issue:`75232`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The priorities of the "TypeConverter" classes were quite packed. To be able to
|
||||
register own type converters between, before and after the core converters the
|
||||
priorities were spread from 0, 1 and 2 to 10 and 20.
|
||||
|
||||
If you register your own TypeConverter(s) make sure they are using the right priority.
|
||||
|
||||
.. index:: PHP-API
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _important-77702:
|
||||
|
||||
======================================================================================
|
||||
Important: #77702 - Custom render types for date and datetime fields must use ISO-8601
|
||||
======================================================================================
|
||||
|
||||
See :issue:`77702`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Historically, TYPO3 used its own special, localized formats for passing date and
|
||||
datetime values between server and client. To get rid of any possible problems with
|
||||
that, we now use ISO-8601, a standard format for date/time representations.
|
||||
|
||||
Due to that, you need to adapt your **custom FormEngine render types** if you use
|
||||
them for any date/datetime fields, even those stored as integers in the database
|
||||
(eval=date/datetime).
|
||||
|
||||
.. index:: Backend, Database, TCA
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _important-78383:
|
||||
|
||||
================================================================================
|
||||
Important: #78383 - TCA: Streamline field positions in tabs for recurring fields
|
||||
================================================================================
|
||||
|
||||
See :issue:`78383`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In TYPO3 there are some recurring field definitions shared by a lot of records.
|
||||
These fields are mostly defined in :php:`$GLOBALS['TCA']['<mytable>']['ctrl']`.
|
||||
Furthermore the generic categories are taken into account.
|
||||
|
||||
These fields are used by core records and third party extensions.
|
||||
|
||||
These fields should have a generic position in the edit form (`EditDocumentController` / `FormEngine`) to allow the
|
||||
editor or integrator to have a valid guess where to look for a common option. Furthermore the fields should be placed
|
||||
in the given order in the certain tab.
|
||||
|
||||
There should be no records not using tabs to group fields.
|
||||
|
||||
See the documentation for the definition of the recurring fields:
|
||||
|
||||
* ctrl_
|
||||
* categories_
|
||||
|
||||
.. _ctrl: https://docs.typo3.org/typo3cms/TCAReference/Reference/Ctrl/Index.html
|
||||
.. _categories: https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Categories/Index.html
|
||||
|
||||
|
||||
**Legend**
|
||||
|
||||
For the fields name in "Generic fields" the actual value of
|
||||
:php:`$GLOBALS['TCA']['<mytable>']['ctrl']['<generic field>']` should be set in
|
||||
:php:`$GLOBALS['TCA']['<mytable>']['types'][<mytype>]['showitem']`.
|
||||
|
||||
|
||||
General (first tab)
|
||||
-------------------
|
||||
|
||||
Label:
|
||||
`LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general`
|
||||
Generic fields:
|
||||
* `type` (if there is a field that is not set as type in ctrl, but has a similar meaning, set it to the first
|
||||
position)
|
||||
* `label`
|
||||
* `label_alt` (if the fields are directly related to the label; especially if `label_alt_force` is set `true`)
|
||||
Additional fields:
|
||||
Fields that reflect the main focus of an editor or integrator working with the record.
|
||||
|
||||
Following tabs
|
||||
--------------
|
||||
|
||||
The following tabs should be defined by the specific record. They should have speaking names. Avoid unspecific
|
||||
labelling (for example options, settings, extended, miscellaneous) as those labels do not guide the editor.
|
||||
|
||||
Language
|
||||
--------
|
||||
|
||||
Label:
|
||||
`LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language`
|
||||
Generic fields:
|
||||
* `languageField`
|
||||
* `transOrigPointerField`
|
||||
Additional fields:
|
||||
Other fields that affects the language or translation handling.
|
||||
|
||||
Access
|
||||
------
|
||||
Label:
|
||||
`LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access`
|
||||
Generic fields:
|
||||
* `enablecolumns`
|
||||
* `disabled`
|
||||
* `starttime` (Use a palette for starttime and endtime)
|
||||
* `endtime`
|
||||
* `fe_group`
|
||||
* `fe_admin_lock`
|
||||
* `editlock`
|
||||
Additional fields:
|
||||
Other fields that affects the access handling in FE or BE.
|
||||
|
||||
Categories
|
||||
----------
|
||||
|
||||
Label:
|
||||
`LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories`
|
||||
Generic fields:
|
||||
Field that is defined by :php:`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable`
|
||||
It is not recommended to use the configuration option `defaultCategorizedTables` to make a table categorizable as
|
||||
the tab position might not be consistent.
|
||||
Additional fields:
|
||||
Other fields that are category related (e.g. select main category)
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
Label:
|
||||
`LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes`
|
||||
Generic fields:
|
||||
`descriptionColumn`
|
||||
Additional fields:
|
||||
Other fields for internal remarks of editors or integrators.
|
||||
These fields should not affect the website frontend.
|
||||
|
||||
Extended
|
||||
--------
|
||||
|
||||
Label:
|
||||
`LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended`
|
||||
Generic fields:
|
||||
No.
|
||||
Additional fields:
|
||||
No.
|
||||
There should be no additional field in this tab as the labelling is too generic to provide a good UX.
|
||||
It should be only added to prevent that accidentally added fields from third party extensions are placed in last
|
||||
tab.
|
||||
|
||||
.. index:: TCA, Backend, LocalConfiguration
|
||||
@@ -0,0 +1,52 @@
|
||||
:template: changelogOverview.html
|
||||
.. include:: /Includes.rst.txt
|
||||
.. _changelog-8-5:
|
||||
|
||||
8.5 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-*
|
||||
|
||||
Important
|
||||
^^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Important-*
|
||||
Reference in New Issue
Block a user