TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-24900:
|
||||
|
||||
======================================================================
|
||||
Breaking: #24900 - Remove $TYPO3_CONF_VARS[SYS][compat_version] option
|
||||
======================================================================
|
||||
|
||||
See :issue:`24900`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The option `$TYPO3_CONF_VARS[SYS][compat_version]`, which was modified on update in the Install Tool wizard,
|
||||
has been removed.
|
||||
|
||||
Any checks on `GeneralUtility::compat_version` are now made against the common constant `TYPO3_branch` instead of
|
||||
the former TYPO3_CONF_VARS option.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any usage of `$TYPO3_CONF_VARS[SYS][compat_version]` where the value is different than `TYPO3_branch` will result
|
||||
in unexpected behaviour.
|
||||
|
||||
TypoScript conditions which check for older compat_version will have different behaviour now.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation where `$TYPO3_CONF_VARS[SYS][compat_version]` was not set to the currently running version
|
||||
or where the value of compat_version was used to simulate behaviour of an older version.
|
||||
E.g. TypoScript conditions or `GeneralUtility::compat_version` in extensions.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove any direct usage of the option, and use the "compat_version" method within `GeneralUtility` as well as the
|
||||
TypoScript condition "compat_version" which gives more accurate results.
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, PHP-API, TypoScript
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-44879:
|
||||
|
||||
=======================================================================
|
||||
Breaking: #44879 - TypoScript inline styles from blockquote tag removed
|
||||
=======================================================================
|
||||
|
||||
See :issue:`44879`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
CSS Styled Content renders blockquote tags using :code:`lib.parseFunc_RTE` TypoScript.
|
||||
For TYPO3 CMS 7.1, the following TypoScript lines have been removed without substitution:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser = 1
|
||||
lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;"
|
||||
|
||||
The effect is that the following inline styles have been removed from blockquote tags without substitution:
|
||||
|
||||
.. code-block:: css
|
||||
|
||||
margin-bottom:0;
|
||||
margin-top:0;
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Styling of blockquote tags based on CSS Styled Content could differ after an upgrade to CMS 7.1.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All CMS 7.1 installations that were upgraded from 7.0 and below which use blockquote tags rendered by :code:`lib.parseFunc_RTE`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
It is recommended to fix the margins inside your website CSS. Alternatively, you can re-add the above TypoScript lines
|
||||
to your website TypoScript template (not recommended).
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend, ext:css_styled_content
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-57089:
|
||||
|
||||
=====================================================================================
|
||||
Breaking: #57089 - Behaviour of page shortcut to "Parent of selected or current page"
|
||||
=====================================================================================
|
||||
|
||||
See :issue:`57089`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In former versions of TYPO3 CMS the page shortcut type "Parent of selected or current page" had a misleading label
|
||||
as the selected page was never taken into account, it always chose the parent of the current page.
|
||||
|
||||
This has been changed and the selected page is now considered, so the parent of the selected page will be used as the target page.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Assuming the supplied upgrade wizard was run, the behaviour of existing shortcuts will not change.
|
||||
|
||||
If you fail to run the upgrade wizard, the target of a shortcut is changed to the parent of the
|
||||
selected page as the selected page is now respected.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using shortcut pages with shortcut type "Parent of selected or current page"
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Run the supplied upgrade wizard in the Install Tool if it shows up.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-61510:
|
||||
|
||||
================================================
|
||||
Breaking: #61510 - Improvement of indexed_search
|
||||
================================================
|
||||
|
||||
See :issue:`61510`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The extension indexed_search is improved in the backend and frontend.
|
||||
|
||||
Backend
|
||||
-------
|
||||
|
||||
Previously the functionality of indexed_search has been scattered to multiple modules.
|
||||
Information about indexed_search was available in a custom module in "Admin tools" and 2 sections in the "Info" module.
|
||||
|
||||
The complete code has been moved to a central place, which is now a custom module in the area "Web" and has been rewritten
|
||||
by using Extbase & Fluid. Translations and a modern UI have been added as well.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Changes in the Backend
|
||||
----------------------
|
||||
|
||||
The previous user configuration for indexed_search modules is not working anymore.
|
||||
Therefore editors won't see the module anymore after login.
|
||||
|
||||
Changes in the Frontend
|
||||
-----------------------
|
||||
|
||||
The TypoScript configuration changed. If indexed_search is installed, it is automatically activated:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
config.index_enable = 1
|
||||
config.index_externals = 1
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations using indexed_search
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Backend
|
||||
-------
|
||||
|
||||
Reconfigure the backend users and groups if users need to see the module of indexed_search.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, Frontend, TypoScript, ext:indexed_search
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62415:
|
||||
|
||||
===========================================================================
|
||||
Breaking: #62415 - Remove deprecated disable_autocreate field in workspaces
|
||||
===========================================================================
|
||||
|
||||
See :issue:`62415`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The field "disable_autocreate" from ext:workspaces has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If a 3rd party extension relies on the removed field an SQL error will be thrown.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An installation is affected if a 3rd party extension relies on the removed field in the database.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Remove any usage of the removed field in 3rd party extensions.
|
||||
|
||||
|
||||
.. index:: Database, Backend, ext:workspaces
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62886:
|
||||
|
||||
==================================================================
|
||||
Breaking: #62886 - Removed setting config.meaningfulTempFilePrefix
|
||||
==================================================================
|
||||
|
||||
See :issue:`62886`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The setting *config.meaningfulTempFilePrefix* which was still used for images built by GIFBUILDER that were saved in
|
||||
typo3temp/GB/ has been removed. With this option it was possible to configure a meaningful file prefix limiting
|
||||
the filename prefix to a certain character length.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All files will always have their original filename fully prepended when stored in the folder typo3temp/GB/.
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
All installations using GIFBUILDER to generate images. The files within typo3temp/GB/ will now be called
|
||||
with the full name of each original file before the hash and the file extension.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The setting should be removed from any TypoScript configuration because it has no impact anymore.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-62925:
|
||||
|
||||
======================================================
|
||||
Breaking: #62925 - ExtJS Ext.ux.DateTimePicker removed
|
||||
======================================================
|
||||
|
||||
See :issue:`62925`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The old ExtJS component Ext.ux.DateTimePicker has been removed and replaced with a
|
||||
bootstrap alternative. For technical reasons, the feature had to be removed.
|
||||
Thus the possibility to use "+3d" or "today" in input fields is no longer
|
||||
available.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions which rely on Ext.ux.DateTimePicker will break.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the new bootstrap DateTimePicker component which can be loaded with
|
||||
require.js. Example implementations can be found in EXT:belog, EXT:scheduler
|
||||
and the FormEngine component of the TYPO3 CMS core.
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63296:
|
||||
|
||||
==================================================
|
||||
Breaking: #63296 - Deprecated typo3/ files removed
|
||||
==================================================
|
||||
|
||||
See :issue:`63296`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following script entry points have been removed without substitution:
|
||||
|
||||
- typo3/file_edit.php
|
||||
- typo3/file_newfolder.php
|
||||
- typo3/file_rename.php
|
||||
- typo3/file_upload.php
|
||||
- typo3/show_rechis.php
|
||||
- typo3/listframe_loader.php
|
||||
|
||||
The corresponding ListFrameLoaderController class is now marked as deprecated.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any script pointing to one of these file resources will trigger a 404 server response.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
An extension needs to be adapted in the unlikely case that it uses a link to any of the files.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The functionality of these scripts (except listframe_loader.php which is not used at all any more) have been moved to "modules".
|
||||
Use BackendUtility::getModuleUrl() to link to them. The module name is identical to the file name without the ".php" suffix.
|
||||
|
||||
e.g. BackendUtility::getModuleUrl('file_edit');
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63310:
|
||||
|
||||
================================================
|
||||
Breaking: #63310 - Web=>Functions=>Wizards moved
|
||||
================================================
|
||||
|
||||
See :issue:`63310`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The two module functions "Create Pages" and "Sort Pages" located within the extensions "wizard_crpages" and
|
||||
"wizard_sortpages" were located under Web => Functions => Wizards. This structure is now simplified as the wizards
|
||||
are moved one level up in Web => Functions.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any options set via TSconfig for these wizards for the module menu have changed. The existing options don't work
|
||||
anymore.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using TSconfig like "web_func.menu.wiz" needs to be adapted.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The respective options "web_func.menu.wiz" have been moved to "web_func.menu.functions".
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend, ext:wizard_crpages, ext:wizard_sortpages
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63431:
|
||||
|
||||
=============================================
|
||||
Breaking: #63431 - Backend toolbar refactored
|
||||
=============================================
|
||||
|
||||
See :issue:`63431`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The upper right backend toolbar has been refactored with TYPO3 CMS 7.0. A new PHP interface
|
||||
and a new registration were introduced.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions that are not adapted to the new interface will not show up in the toolbar anymore, but
|
||||
will not throw a fatal PHP error.
|
||||
|
||||
Method BackendController::addToolbarItem() has been marked as deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
If a TYPO3 CMS instance uses extensions based on the old interface and registration, the
|
||||
according items will no longer show up in the toolbar.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Extensions must implement the new interface \TYPO3\CMS\Backend\Toolbar\ToolbarItemInterface
|
||||
and must be registered in $GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems'].
|
||||
|
||||
Warning: The new interface is not 100% finished, method `checkAccess()` will probably be
|
||||
substituted by two other methods in later versions of TYPO3 CMS.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63437:
|
||||
|
||||
==========================================================
|
||||
Breaking: #63437 - Class aliases moved to legacy extension
|
||||
==========================================================
|
||||
|
||||
See :issue:`63437`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
With the switch to namespaced classes in TYPO3 CMS 6.0, a class alias mechanism
|
||||
has been set up to support the old class names as aliases for a while. All those
|
||||
class aliases have been moved to the dedicated extension "compatibility6". This
|
||||
extension will be removed at some point during the development of TYPO3 CMS 7.
|
||||
|
||||
Removing the class aliases from the core results in a significant performance gain
|
||||
especially during first load with empty caches.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If extensions still rely on old non-namespaced class names, EXT:compatibility6 can
|
||||
be loaded to keep further backwards compatibility for now - with the side-effect of
|
||||
drained performance.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
|
||||
TYPO3 CMS 7 installations need EXT:compatibility6 loaded if old extensions are used that
|
||||
are still not adapted to the namespaced core classes.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
During an upgrade, the "Extension check" of the install tool may find old extensions that
|
||||
still rely on old class names and can unload those. The backend may work again to load
|
||||
EXT:compatibility6, or to unload further extensions that rely on old class names.
|
||||
|
||||
Another option is to manually set all extensions that rely on old class names to "inactive"
|
||||
in typo3conf/PackageStates.php, or to set EXT:compatibility6 to "active". If a manual change is
|
||||
done, typo3temp/Cache directory have to be flushed afterwards.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63464:
|
||||
|
||||
========================================================================
|
||||
Breaking: #63464 - Remove include_once inclusions inside ModuleFunctions
|
||||
========================================================================
|
||||
|
||||
See :issue:`63464`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The functionality to include PHP files within module functions (e.g. info module) via an `include_once` array
|
||||
has been removed. The API did not use the include_once array anymore and certain places were marked as deprecated
|
||||
since TYPO3 CMS 6.2. All module functions are using the common autoloading functionality via namespaced classes.
|
||||
|
||||
The following `include_once` arrays within the following modules have been removed:
|
||||
|
||||
* Web => Page
|
||||
* Web => Page - New Content Element Wizard
|
||||
* Web => Functions
|
||||
* Web => Info
|
||||
* Web => Template
|
||||
* Web => Recycler
|
||||
* User => Task Center
|
||||
* System => Scheduler
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any non-API usage of the `include_once` array in any custom module function will fail.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation with an extension using the property `$include_once` to load additional files via direct access instead
|
||||
of using the API via `ExtensionManagementUtility::insertModuleFunction()`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the autoloader to load any custom classes inside your code, or any hooks if available in the custom module functions
|
||||
to include any file.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63687-1668719172:
|
||||
|
||||
====================================================================
|
||||
Breaking: #63687 - Web=>Functions=>Wizards moved to legacy extension
|
||||
====================================================================
|
||||
|
||||
See :issue:`63687`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Within the "Web" => "Functions" module was a nested layer called "Wizards" where "Sort pages" and
|
||||
"Bulk-create new pages" resided until TYPO3 CMS 7.1. These are now moved directly underneath "Web" => "Functions",
|
||||
so the "Wizards" module function becomes obsolete, and with it the whole extension called "func_wizards" that provided
|
||||
this nested layer. The module function "Wizards" has been moved to the legacy extension EXT:compatibility6. The
|
||||
extension "func_wizards" has been completely removed from the core.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The existing "Functions" provided by the TYPO3 CMS Core are now directly dependant and hooked into "Web" => "Functions".
|
||||
Any extensions using "Web" => "Functions" => "Wizards" will not show up anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations need EXT:compatibility6 extension loaded if old extensions are still hooked into
|
||||
"Web" => "Functions" => "Wizards".
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Any extension hooking into "Web" => "Functions" => "Wizards" need to be adapted. In their ext_tables.php the
|
||||
`insertModuleFunction` call does not need to have a 5th parameter given. EXT:compatibility6 is then no longer
|
||||
needed.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63780:
|
||||
|
||||
======================================================================================
|
||||
Breaking: #63780 - Remove public properties words and word_strings from ReferenceIndex
|
||||
======================================================================================
|
||||
|
||||
See :issue:`63780`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Public properties `words` and `word_strings` have been removed from class `\TYPO3\CMS\Core\Database\ReferenceIndex`.
|
||||
`ReferenceIndex->words` was always an empty array and `ReferenceIndex->word_strings` contained strings from
|
||||
input- and text fields of every record that was given to this class instance.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
An extension relying on one of these public properties will fail.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
It is unlikely that any extension used the properties words or word_strings. An instance could be
|
||||
checked by searching for usages of class `ReferenceIndex`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The according logic needs to be re-implemented in an extension that used the content of these
|
||||
properties.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63818:
|
||||
|
||||
=========================================================
|
||||
Breaking: #63818 - Removed Static file edit functionality
|
||||
=========================================================
|
||||
|
||||
See :issue:`63818`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A special TCA configuration enabled RTE fields to write its content to sections within files. The configuration
|
||||
was done in `defaultExtras` array, `static_write` section and documented in
|
||||
TCA reference->AdditionalFeatures->SpecialConfigurationOptions.
|
||||
|
||||
This functionality has been removed without substitution.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Content of RTE fields can no longer be written to files.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
In the unlikely case that this feature was used by anyone its usage can be located by searching for `static_write`
|
||||
keyword in TCA configuration.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Move this logic elsewhere, eg. use hooks in DataHandler to write out DB content.
|
||||
|
||||
|
||||
.. index:: TCA, RTE, Backend
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64059:
|
||||
|
||||
=======================================================
|
||||
Breaking: #64059 - Rewritten Javascript Tree Components
|
||||
=======================================================
|
||||
|
||||
See :issue:`64059`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In the process of refactoring prototype/scripta.culo.us code and migrate these to an AMD module, the tree component and its
|
||||
drag&drop parts have been migrated to a RequireJS / jQuery module.
|
||||
|
||||
The page tree filter functionality of the prototype tree, which is not used in the TYPO3 core, was removed from the
|
||||
tree component.
|
||||
|
||||
The file :file:`typo3/js/tree.js` has been removed, the replacement code, based on jQuery is located under
|
||||
EXT:backend/Resources/Public/JavaScript/LegacyTree.js.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any usages in third party extensions that include :file:`js/tree.js` will fail, as the tree component has been removed.
|
||||
Any extension using the filter part of the tree.js component will not work.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation with its own backend module using the tree component from the core.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Rewrite any needed logic for filtering, and include the RequireJS module like in e.g.
|
||||
FileSystemNavigationFrameController.php, to use the tree component. If the old code is needed, the :file:`tree.js` file
|
||||
and prototype need to be included as part of the extension, not from the core.
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64070:
|
||||
|
||||
====================================================
|
||||
Breaking: #64070 - Removed global variable WEBMOUNTS
|
||||
====================================================
|
||||
|
||||
See :issue:`64070`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The global variable WEBMOUNTS has been removed, as the same data from the WEBMOUNTS can always be fetched via
|
||||
`$GLOBALS['BE_USER']->returnWebmounts()`.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The variable `$GLOBALS['WEBMOUNTS']` will no longer be filled.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using `$GLOBALS['WEBMOUNTS']` directly within an extension will produce a wrong result.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace all occurrences of `$GLOBALS['WEBMOUNTS']` with `$GLOBALS['BE_USER']->returnWebmounts()`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64102:
|
||||
|
||||
===========================================================
|
||||
Breaking: #64102 - Move t3-table and t3-button to bootstrap
|
||||
===========================================================
|
||||
|
||||
See :issue:`64102`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In transition to full bootstrap coverage and streamlining the backend, we are dropping the support for the CSS classes
|
||||
.t3-table and .t3-button. We are replacing them with the corresponding bootstrap CSS classes for tables and buttons.
|
||||
See http://getbootstrap.com/css/#tables and http://getbootstrap.com/css/#buttons for more details.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Custom implementations of tables and buttons in backend modules will lose the TYPO3 default styling.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Extensions that provide custom backend modules that are using the css classes `.t3-table` or `.t3-button`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For tables we recommend the usage of the CSS class combination `table table-striped table-hover` instead of `t3-table`.
|
||||
|
||||
For buttons we recommend the usage of the CSS class combination `btn btn-default` instead of `t3-button`.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64131:
|
||||
|
||||
====================================================
|
||||
Breaking: #64131 - Resizable Textarea option removed
|
||||
====================================================
|
||||
|
||||
See :issue:`64131`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The User Setting "Resizable Textarea" for FormEngine textarea fields has been removed.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The option and its feature are no longer available.
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64143:
|
||||
|
||||
======================================================
|
||||
Breaking: #64143 - Language / Country Flag files moved
|
||||
======================================================
|
||||
|
||||
See :issue:`64143`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The static GIF file collection representing flags within :file:`typo3/gfx/flags/` has been removed. All PNG flag images
|
||||
from EXT:t3skin are moved from :file:`typo3/sysext/t3skin/images/flags/` to
|
||||
:file:`typo3/sysext/core/Resources/Public/Icons/flags/`. The according stylesheets for the that :file:`flags-*` icon
|
||||
files have been moved to EXT:core as well.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any hard-coded reference on any of the files within :file:`typo3/gfx/flags/` and
|
||||
:file:`typo3/sysext/core/Resources/Public/Icons/flags/` will result in an error.
|
||||
|
||||
Changing the EXT:t3skin flags sprite now means changing the flags sprite of EXT:core.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using third-party extensions that access :file:`typo3/gfx/flags/` or
|
||||
:file:`typo3/sysext/t3skin/images/flags/` will fail.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64190:
|
||||
|
||||
=========================================================================
|
||||
Breaking: #64190 - FormEngine Checkbox Element limitation of cols setting
|
||||
=========================================================================
|
||||
|
||||
See :issue:`64190`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TCA configuration for checkbox cols has been changed. We reduced the
|
||||
number of accepted values to 1, 2, 3, 4 and 6 to provide a responsive experience.
|
||||
|
||||
For usecases like checkboxes for weekdays like mo, tu, we, th, fr, sa, su
|
||||
we introduced a new value `inline`.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
For values equals 5 or above 6 the rendering of 6 will be used.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations with TCA column configurations for checkboxes with values
|
||||
equals 5 or above 6.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Choose between one of the supported values or change the display to `inline`.
|
||||
|
||||
|
||||
.. index:: TCA, Backend
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64226:
|
||||
|
||||
============================================================================
|
||||
Breaking: #64226 - Option $TYPO3_CONF_VARS[BE][accessListRenderMode] removed
|
||||
============================================================================
|
||||
|
||||
See :issue:`64226`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The `$GLOBALS[TYPO3_CONF_VARS][BE][accessListRenderMode]` option, which acted as a shorthand function
|
||||
to set permission-related fields for modules and excludeFields, has been removed.
|
||||
|
||||
All corresponding fields in TCA tables be_users and be_groups are set to the already-default value `checkbox`
|
||||
given in the DefaultConfiguration.php file.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
All respective fields will show up as a checkbox selection within FormEngine (implying the value
|
||||
`renderMethod=checkbox`).
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Installations having this option set to something different than `checkbox` will result in a having the fields
|
||||
displayed as checkboxes.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Choose between the default value `checkbox` (no change required then) or set the following values inside the
|
||||
`Configuration/TCA/Overrides` files of your project specific extension to the option of your needs.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TCA']['be_users']['columns']['file_permissions']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_users']['columns']['userMods']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_groups']['columns']['file_permissions']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_groups']['columns']['pagetypes_select']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_groups']['columns']['tables_select']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_groups']['columns']['tables_modify']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_groups']['columns']['non_exclude_fields']['config']['renderMode'] = 'singlebox';
|
||||
$GLOBALS['TCA']['be_groups']['columns']['userMods']['config']['renderMode'] = 'singlebox';
|
||||
|
||||
|
||||
.. index:: LocalConfiguration, TCA, Backend
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64229:
|
||||
|
||||
==============================================================
|
||||
Breaking: #64229 - Trim submitted login-form-data before usage
|
||||
==============================================================
|
||||
|
||||
See :issue:`64229`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Data submitted through the login-forms (frontend and backend) will now be trimmed before the login is performed.
|
||||
So now all fields (like username or password) with leading/trailing whitespace will have those removed.
|
||||
Any whitespace inside fields will not be touched.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Users that have had whitespace at the beginning or end of their username or password will not be able to log in anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation relying on whitespace at the beginning or end of either a username or a password.
|
||||
Please note that the TYPO3 backend didn't allow whitespace for username in frontend or backend
|
||||
and only allowed whitespace for passwords of backend users until now.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Update usernames and/or passwords.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, Frontend
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64637:
|
||||
|
||||
================================================================================
|
||||
Breaking: #64637 - Compatibility CSS Styled Content TypoScript templates removed
|
||||
================================================================================
|
||||
|
||||
See :issue:`64637`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
CSS Styled Content ships compatibility TypoScript templates for being compatible with older versions. For TYPO3 CMS 7,
|
||||
all templates to render a compatibility frontend for the following versions have been removed without substitution.
|
||||
|
||||
* TYPO3 CMS 6.1
|
||||
* TYPO3 CMS 6.0
|
||||
* TYPO3 CMS 4.7
|
||||
* TYPO3 CMS 4.6
|
||||
* TYPO3 CMS 4.5
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
It is not possible to have the TYPO3 CMS 7 Frontend rendering based on CSS Styled Content to behave like a version
|
||||
prior to TYPO3 CMS 6.2.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations using the TypoScript templates to have the TYPO3 frontend powered via CSS Styled Content with
|
||||
a compatibility TypoScript will result in no Frontend output.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For installations still needing the old templates, an old version of the template (e.g. from TYPO3 CMS 6.2)
|
||||
need to be included separately. Any other installation still using the old TypoScript templates should migrate to
|
||||
the latest TypoScript templates of CSS Styled Content by choosing the correct version inside the Web=>Template
|
||||
module.
|
||||
|
||||
|
||||
.. index:: Frontend, TypoScript
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-63687:
|
||||
|
||||
====================================================================
|
||||
Breaking: #63687 - Outdated ContentObjects moved to legacy extension
|
||||
====================================================================
|
||||
|
||||
See :issue:`63687`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript Content Objects (cObjects) CLEARGIF, COLUMNS, CTABLE, OTABLE and HRULER have been moved into the legacy extension
|
||||
EXT:compatibility6.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any TypoScript using the cObjects above will result in an empty output in the TYPO3 Frontend.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations still using the cObjects need EXT:compatibility6 to be loaded if the rendering should
|
||||
be continued.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Any installation should migrate to alternatives such as FLUIDTEMPLATE to customize the output of the content.
|
||||
|
||||
|
||||
.. index:: Backend, Frontend, TypoScript
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64643:
|
||||
|
||||
========================================================================
|
||||
Breaking: #64643 - Remove functionality for enable_typo3temp_db_tracking
|
||||
========================================================================
|
||||
|
||||
See :issue:`64643`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The logic and the database table for tracking generated typo3temp/ images by GraphicalFunctions have been removed
|
||||
without substitution. The option to enable this functionality `$TYPO3_CONF_VARS[GFX][enable_typo3temp_db_tracking]`
|
||||
has been removed.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Images generated with GraphicalFunctions with the option above enabled will not be tracked in the database anymore.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation having the option `$TYPO3_CONF_VARS[GFX][enable_typo3temp_db_tracking]` enabled.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If the functionality or a similar functionality is needed for some edge-cases, an own implementation via a third-party
|
||||
extension is necessary.
|
||||
|
||||
|
||||
.. index:: LocalConfiguration
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64668:
|
||||
|
||||
=====================================================================
|
||||
Breaking: #64668 - Content Element mailform moved to legacy extension
|
||||
=====================================================================
|
||||
|
||||
See :issue:`64668`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The fallback "mailform" functionality, containing the `FORM` ContentObject, the submission logic for sending mailform
|
||||
and the content element (CType=mailform) has been moved to the legacy extension "compatibility6". This mailform
|
||||
was available when the "Form" extension, introduced in TYPO3 CMS 4.7, was not installed.
|
||||
|
||||
The following options have been marked for deprecation:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$TYPO3_CONF_VARS][FE][secureFormmail]
|
||||
$TYPO3_CONF_VARS][FE][strictFormmail]
|
||||
$TYPO3_CONF_VARS][FE][formmailMaxAttachmentSize]
|
||||
|
||||
The following methods within TypoScriptFrontendController have been removed:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
protected checkDataSubmission()
|
||||
protected sendFormmail()
|
||||
public extractRecipientCopy()
|
||||
public codeString()
|
||||
protected roundTripCryptString()
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Mailform elements are missing and not rendered in the frontend anymore unless EXT:compatibility6 is loaded.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using the fallback "mailform" Content Element, the FrontendDataSubmissionController or the FORM
|
||||
Content Object directly will break. Additionally, any third party extension using the TypoScriptFrontendController
|
||||
methods directly will stop working with a fatal error.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. For the long term the affected
|
||||
installations should migrate to a different, better suited solution for sending mails and building forms.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend, Frontend, LocalConfiguration, ext:form, TypoScript
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64671:
|
||||
|
||||
===========================================================================
|
||||
Breaking: #64671 - Outdated ContentObject IMGTEXT moved to legacy extension
|
||||
===========================================================================
|
||||
|
||||
See :issue:`64671`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript Content Object IMGTEXT has been moved to the legacy extension "compatibility6".
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any TypoScript using the cObject directly or via CSS Styled Content configured using `renderMethod=table` will result
|
||||
in an empty output in the TYPO3 Frontend.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 CMS 7 installations still using the cObject need EXT:compatibility6 to be loaded.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Any installation should migrate to alternatives such as CSS Styled Content without a table-based rendering for
|
||||
text w/ image elements to customize the output of content.
|
||||
|
||||
|
||||
.. index:: Backend, Frontend, TypoScript
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _breaking-64696:
|
||||
|
||||
=====================================================================
|
||||
Breaking: #64696 - Content Element "search" moved to legacy extension
|
||||
=====================================================================
|
||||
|
||||
See :issue:`64696`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TYPO3 default `search` functionality, which was based on the `FORM` and `SEARCHRESULTS` ContentObjects and the
|
||||
content element CType=search itself has been moved to the legacy extension EXT:compatibility6.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Content elements of the Type "Search" are gone and will no longer be rendered in the frontend
|
||||
unless EXT:compatibility6 is loaded. TypoScript using `SEARCHRESULTS` directly will return nothing.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation using the simple "search" content element or the `SEARCHRESULTS` ContentObject directly will break.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. For the long term
|
||||
the affected installations should be migrate to a better suited solution for searching.
|
||||
|
||||
|
||||
.. index:: Frontend, Backend, TypoScript
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-24387:
|
||||
|
||||
===================================================================
|
||||
Deprecation: #24387 - TypoScript option config.xhtmlDoctype=xhtml_2
|
||||
===================================================================
|
||||
|
||||
See :issue:`24387`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript option `config.xhtmlDoctype = xhtml_2` is marked for removal in CMS 8, due to the W3C decision to
|
||||
fully work on HTML5 instead of XHTML2. See http://www.w3.org/MarkUp/ and http://www.w3.org/News/2010.html#entry-8982
|
||||
for more details.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any TYPO3 installation with TypoScript that relies on `config.xhtmlDoctype = xhtml_2`.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use other doctypes like html5 to render the frontend of the TYPO3 site.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-25112:
|
||||
|
||||
==============================================================
|
||||
Deprecation: #25112 - Deprecate TypoScript property "andWhere"
|
||||
==============================================================
|
||||
|
||||
See :issue:`25112`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The select-property `andWhere` has been marked as deprecated.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
A deprecation message is logged for every usage of this property.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations or extensions using the select-property `andWhere`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the properties `where` and `markers` instead.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page.30 = CONTENT
|
||||
page.30 {
|
||||
table = tt_content
|
||||
select {
|
||||
pidInList = this
|
||||
orderBy = sorting
|
||||
where {
|
||||
dataWrap = sorting>{field:sorting}
|
||||
}
|
||||
}
|
||||
}
|
||||
page.60 = CONTENT
|
||||
page.60 {
|
||||
table = tt_content
|
||||
select {
|
||||
pidInList = 73
|
||||
where = header != ###whatever###
|
||||
orderBy = ###sortfield###
|
||||
markers {
|
||||
whatever.data = GP:first
|
||||
sortfield.value = sor
|
||||
sortfield.wrap = |ting
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-46523:
|
||||
|
||||
=======================================================
|
||||
Deprecation: #46523 - BackendUtility::implodeTSParams()
|
||||
=======================================================
|
||||
|
||||
See :issue:`46523`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The method `TYPO3\CMS\Backend\Utility\BackendUtility::implodeTSParams()` has been marked as deprecated and will be
|
||||
removed in TYPO3 CMS 8.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Any installation with third-party extensions using this method will throw a deprecation warning.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation with third-party extensions using the method.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-46770:
|
||||
|
||||
==============================================================================
|
||||
Deprecation: #46770 - Deprecate LocalImageProcessor::getTemporaryImageWithText
|
||||
==============================================================================
|
||||
|
||||
See :issue:`46770`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The public method `LocalImageProcessor::getTemporaryImageWithText()` has been marked as deprecated, it is directly
|
||||
replaced by `\TYPO3\CMS\Core\Imaging\GraphicalFunctions::getTemporaryImageWithText()`.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `LocalImageProcessor::getTemporaryImageWithText()` will trigger a deprecation log message.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 Installations with custom extensions using the API of the File Abstraction Layer for custom image processing.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace all calls to the method to the `LocalImageProcessor` with an instantiation of `GraphicalFunctions` and a call
|
||||
to `getTemporaryImageWithText()` on the `GraphicalFunctions` object.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-49247:
|
||||
|
||||
=================================================================================
|
||||
Deprecation: #49247 - Deprecate TypoScript functions "textStyle" and "tableStyle"
|
||||
=================================================================================
|
||||
|
||||
See :issue:`49247`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following stdWrap methods have been marked as deprecated:
|
||||
|
||||
* textStyle
|
||||
* tableStyle
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Usage of the mentioned stdWrap methods is deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations or extensions using the stdWrap methods `textStyle` and `tableStyle`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use CSS instead.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-60559:
|
||||
|
||||
=========================================
|
||||
Deprecation: #60559 - makeLoginBoxImage()
|
||||
=========================================
|
||||
|
||||
See :issue:`60559`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Method `TYPO3\CMS\Backend\Controller::makeLoginBoxImage()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Backend login images are no longer rendered. The method body is empty and does not return rendered HTML any longer.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
The method was unused with default backend login screen for a long time already, an installation is only affected if a
|
||||
3rd party extension was loaded that changed the default login screen and used `makeLoginBoxImage()` or the template marker
|
||||
`LOGINBOX_IMAGE`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Free an affected 3rd party extension from using this method or unload the extension.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-61605:
|
||||
|
||||
=============================================================================
|
||||
Deprecation: #61605 - Change naming of TypoScript property page.includeJSlibs
|
||||
=============================================================================
|
||||
|
||||
See :issue:`61605`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The existing TypoScript option `page.includeJSlibs` has been renamed
|
||||
to `page.includeJSLibs` to follow the lower camel case naming scheme.
|
||||
The existing property has been marked as deprecated.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The old property will be removed with CMS 8 and should be avoided if
|
||||
it has been used before.
|
||||
|
||||
Affected Installations
|
||||
======================
|
||||
|
||||
Any installation using the `page.includeJSlibs` option.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Search and replace all TypoScript code of the installation from
|
||||
`includeJSlibs` to `includeJSLibs`.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62329:
|
||||
|
||||
======================================================
|
||||
Deprecation: #62329 - Deprecate DocumentTable::table()
|
||||
======================================================
|
||||
|
||||
See :issue:`62329`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
`DocumentTable::table()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling `table()` of the `DocumentTable` class will trigger a deprecation log message.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances which use `DocumentTable::table()` for rendering tables.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use fluid for rendering instead.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62855:
|
||||
|
||||
==============================================================================
|
||||
Deprecation: #62855 - "XHTML cleaning" functionality moved to legacy extension
|
||||
==============================================================================
|
||||
|
||||
See :issue:`62855`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
XHTML cleaning is not necessary anymore, since modern technology bases completely on HTML5. Therefore the
|
||||
according functionality has been moved to the legacy extension EXT:compatibility6.
|
||||
|
||||
The following TypoScript option has been marked for deprecation:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
config.xhtml_cleaning
|
||||
|
||||
The following PHP method has been marked for deprecation:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::doXHTML_cleaning()
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The content output of the TYPO3 frontend is not cleaned anymore unless EXT:compatibility6 is loaded.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Any installation having the TypoScript option :typoscript:`config.xhtml_cleaning`
|
||||
set will have different behaviour in the
|
||||
frontend rendering.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-62864-1668719172:
|
||||
|
||||
===================================================================
|
||||
Deprecation: #62864 - DataHandler->include_filefunctions deprecated
|
||||
===================================================================
|
||||
|
||||
See :issue:`62864`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The public property `->include_filefunctions` has been marked as deprecated.
|
||||
It has not been formally defined and was only created dynamically in the code.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
In the history of the core this property has never been used (read). Extensions might have used it.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations running extensions that rely on reading this property. Currently no affected extensions are known.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If your extension needs to know whether the BasicFileUtility has been instantiated in DataHandler it
|
||||
could use `$datahandler->fileFunc instanceof \TYPO3\CMS\Core\Utility\File\BasicFileUtility`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-63522:
|
||||
|
||||
=================================================================
|
||||
Deprecation: #63522 - Deprecate the "device" TypoScript condition
|
||||
=================================================================
|
||||
|
||||
See :issue:`63522`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Client related TypoScript conditions the `device` type condition have been marked as deprecated.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using a condition like `[device = wap]` is considered outdated and should be solved differently.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances with TypoScript that rely on `[device = ...]`.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
* Most usual conditions for specific browsers can nowadays be turned into conditional CSS includes
|
||||
* Use libraries such as modernizr for browser support
|
||||
* If conditions for specific clients or devices are still needed, they
|
||||
should be done with a userFunc condition and a project like WURFL
|
||||
that keep the device information more recent than the current core
|
||||
code like matching AMIGA
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64059:
|
||||
|
||||
==========================================================
|
||||
Deprecation: #64059 - Non-ExtJS Page Tree Navigation Frame
|
||||
==========================================================
|
||||
|
||||
See :issue:`64059`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The non-ExtJS page tree navigation frame which was used in the core until TYPO3 CMS 4.5, is still available and can be
|
||||
included within a module, if the module is registering a navFrameScript in ext_tables.php:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
'navFrameScript' => 'alt_db_navframe.php'
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Usage of the PHP class, and the entry script typo3/alt_db_navframe.php has been marked as deprecated.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
All installations with extensions using modules with the non-ExtJS page tree navigation frame.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use the ExtJS navigationComponentID instead within the module registration.
|
||||
|
||||
|
||||
.. index:: PHP-API, JavaScript, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64109:
|
||||
|
||||
============================================================
|
||||
Deprecation: #64109 - Deprecate global hook softRefParser_GL
|
||||
============================================================
|
||||
|
||||
See :issue:`64109`
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser_GL']` has been marked as deprecated.
|
||||
It was a hook to add a general softRefParser which parsed every SoftReference regardless of its type.
|
||||
The `softRefParser_GL`-hook was undocumented and used neither in core nor in any known extension.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Creating a global softRefParser by adding a hook to
|
||||
`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser_GL']` will trigger a deprecation log message.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances with extensions using a `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser_GL']`-hook
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
A `softRefParser_GL` hook in an extension has to be replaced with multiple `softRefParser` hooks for each type the
|
||||
parser can handle.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64134-1668719172:
|
||||
|
||||
===========================================================================================================
|
||||
Deprecation: #64134 - Deprecate TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()
|
||||
===========================================================================================================
|
||||
|
||||
See :issue:`64134`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
`TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using `TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()` will trigger a deprecation log message.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances which use of `TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()`.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
No migration possible.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64147:
|
||||
|
||||
======================================================
|
||||
Deprecation: #64147 - TemplateService->ext_getKeyImage
|
||||
======================================================
|
||||
|
||||
See :issue:`64147`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
`ExtendedTemplateService::ext_getKeyImage()` has been marked as deprecated.
|
||||
`ConfigurationForm::ext_getKeyImage()` has been marked as deprecated.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the two methods will throw a deprecation message.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
TYPO3 installations with extensions that call the methods above directly.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
As in the methods directly, plain HTML based on Twitter bootstrap can be used.
|
||||
Example: `<span class="label label-danger">3</span>`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,56 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64361:
|
||||
|
||||
============================================
|
||||
Deprecation: #64361 - Composer Class Loading
|
||||
============================================
|
||||
|
||||
See :issue:`64361`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
TYPO3 CMS started integrating composer support and by that embracing PHP standards PSR-0 and PSR-4 for class
|
||||
loading that comes with composer.
|
||||
The old class loader is still present and registered and will handle loading extension classes
|
||||
that do not follow the above mentioned standards.
|
||||
|
||||
For the time being a pre-compiled composer class loader is shipped with the git repository,
|
||||
so that people using the TYPO3 sources directly from there can use it without requiring a `composer install`
|
||||
step.
|
||||
|
||||
It is possible however to do a `composer install` in the TYPO3 sources directory or a top level distribution directory
|
||||
to gain full control over class loading of your TYPO3 installation. This step is optional and currently requires
|
||||
thorough knowledge of composer and as such currently is only recommended for people familiar with this process.
|
||||
|
||||
Further technical details can be found in the `documentation`_.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Third party libraries added to a TYPO3 installation via composer can immediately be used without
|
||||
further manual intervention. The classes cache for most core classes will be gone. Resolving classes
|
||||
is slowly shifted from a run time task - executed and monitored in every request - to an installation task
|
||||
with composer.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Some installations could be affected which were previously installed via composer,
|
||||
but now not properly updated using composer. And outdated Packages/Libraries/autoload.php file
|
||||
present in the system will lead to fatal errors.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
If you previously installed TYPO3 via composer, make sure you perform a `composer update` command to reflect
|
||||
the current changes in your Packages folder.
|
||||
|
||||
|
||||
.. _`documentation`: https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Autoloading/Background.html
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,74 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64388:
|
||||
|
||||
===============================================================================
|
||||
Deprecation: #64388 - Direct ContentObject methods within ContentObjectRenderer
|
||||
===============================================================================
|
||||
|
||||
See :issue:`64388`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following wrapper methods for ContentObject rendering within ContentObjectRenderer
|
||||
have been marked for removal for TYPO3 CMS 8.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
FLOWPLAYER()
|
||||
TEXT()
|
||||
CLEARGIF()
|
||||
COBJ_ARRAY()
|
||||
USER()
|
||||
FILE()
|
||||
FILES()
|
||||
IMAGE()
|
||||
IMG_RESOURCE()
|
||||
IMGTEXT()
|
||||
CONTENT()
|
||||
RECORDS()
|
||||
HMENU()
|
||||
CTABLE()
|
||||
OTABLE()
|
||||
COLUMNS()
|
||||
HRULER()
|
||||
CASEFUNC()
|
||||
LOAD_REGISTER()
|
||||
FORM()
|
||||
SEARCHRESULT()
|
||||
TEMPLATE()
|
||||
FLUIDTEMPLATE()
|
||||
MULTIMEDIA()
|
||||
MEDIA()
|
||||
SWFOBJECT()
|
||||
QTOBJECT()
|
||||
SVG()
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the methods above directly in any third party extension will trigger a deprecation log message.
|
||||
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances which use custom calls to ContentObjects via the methods above.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Replace the direct method calls to `$contentObject->COBJECT()` with the common method.
|
||||
|
||||
Example for the SVG() ContentObject call:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$cObj->cObjGetSingle('SVG', $conf);
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64711:
|
||||
|
||||
==========================================================================
|
||||
Deprecation: #64711 - Various methods within CSS Styled Content Controller
|
||||
==========================================================================
|
||||
|
||||
See :issue:`64711`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following methods within the main CSS Styled Content Controller responsible for rendering
|
||||
custom HTML due to lack of TypoScript logic in the past have been marked for removal for TYPO3 CMS 8.
|
||||
They are not part of the default CSS Styled Content TypoScript code since TYPO3 CMS 6.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
CssStyledContentController->render_bullets()
|
||||
CssStyledContentController->render_uploads()
|
||||
CssStyledContentController->beautifyFileLink()
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using the methods in custom TypoScript code or CSS Styled Content methods will throw a deprecation message.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use default TypoScript from CSS Styled Content derived from the current version.
|
||||
|
||||
|
||||
.. index:: PHP-API, ext:css_styled_content
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-64922:
|
||||
|
||||
=============================================
|
||||
Deprecation: #64922 - Deprecated entry points
|
||||
=============================================
|
||||
|
||||
See :issue:`64922`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The following entry points have been marked as deprecated:
|
||||
|
||||
* typo3/tce_file.php
|
||||
* typo3/move_el.php
|
||||
* typo3/tce_db.php
|
||||
* typo3/login_frameset.php
|
||||
* typo3/sysext/cms/layout/db_new_content_el.php
|
||||
* typo3/sysext/cms/layout/db_layout.php
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Using one of the entry points in a backend module will throw a deprecation message.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name.
|
||||
|
||||
typo3/tce_file.php
|
||||
`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('tce_file')`
|
||||
|
||||
typo3/move_el.php
|
||||
`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('move_element')`
|
||||
|
||||
typo3/tce_db.php
|
||||
`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('tce_db')`
|
||||
|
||||
typo3/login_frameset.php
|
||||
`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('login_frameset')`
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-15619:
|
||||
|
||||
==============================================================
|
||||
Feature: #15619 - Access module: Allow selector as "unchanged"
|
||||
==============================================================
|
||||
|
||||
See :issue:`15619`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In order to only overwrite permissions in the access module and not the owner/group it is now possible
|
||||
to set the selector to " - leave unchanged - ".
|
||||
|
||||
|
||||
.. index:: Backend
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-16794:
|
||||
|
||||
===========================================================
|
||||
Feature: #16794 - Linking of Indexed Search result sections
|
||||
===========================================================
|
||||
|
||||
See :issue:`16794`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Per default the section headlines of indexed search results are links.
|
||||
It is possible to disable those links, thus having the sections
|
||||
displayed as simple text.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
plugin.tx_indexedsearch.linkSectionTitles = 0
|
||||
|
||||
Will result in not linked section headlines.
|
||||
The setting is per default set to 1 in order to preserve current behaviour.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend, ext:indexed_search
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-20767:
|
||||
|
||||
===============================================================
|
||||
Feature: #20767 - Allow nested array access on getData of field
|
||||
===============================================================
|
||||
|
||||
See :issue:`20767`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Right now the `getData` type in TS only allows to access nested arrays in types GPVar and TSFE.
|
||||
Now the same is allowed for `field` too.
|
||||
|
||||
If the field value is :code:`array('somekey' => array('level1' => array('level2' => 'somevalue')));`, you can get the
|
||||
`somevalue` by configuring the following TypoScript.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
10 = TEXT
|
||||
10.data = field:fieldname|level1|level2
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
You can now access nested keys via getData `field:`. Nested keys are not available with the default set of
|
||||
content objects, however just content objects and `USER` object may return such a field structure.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-22086:
|
||||
|
||||
=====================================================
|
||||
Feature: #22086 - Add .stdWrap to page.headTag option
|
||||
=====================================================
|
||||
|
||||
See :issue:`22086`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript setting page.headTag now has stdWrap functionality available.
|
||||
|
||||
The new option can be set like this:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page = PAGE
|
||||
page.headTag = <head>
|
||||
page.headTag.override = <head class="special">
|
||||
page.headTag.override.if {
|
||||
isInList.field = uid
|
||||
value = 24
|
||||
}
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-24906:
|
||||
|
||||
================================================================
|
||||
Feature: #24906 - Configuration for maximum chars in TextElement
|
||||
================================================================
|
||||
|
||||
See :issue:`24906`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
TCA type `text` now supports the HTML5 attribute `maxlength` to restrict
|
||||
text to a given maximum length. Line breaks are usually counted as two
|
||||
characters.
|
||||
|
||||
Not every browser supports this, see sites like
|
||||
`w3schools.com <http://www.w3schools.com/tags/att_textarea_maxlength.asp>`_
|
||||
for details.
|
||||
|
||||
The new option can be used like this:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
'teaser' => array(
|
||||
'label' => 'Teaser',
|
||||
'config' => array(
|
||||
'type' => 'text',
|
||||
'cols' => 60,
|
||||
'rows' => 2,
|
||||
'max' => '30',
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
.. index:: TCA, Backend
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-28382:
|
||||
|
||||
========================================================
|
||||
Feature: #28382 - Add async property to JavaScript files
|
||||
========================================================
|
||||
|
||||
See :issue:`28382`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Add a property `async="async"` to JavaScript files via TypoScript
|
||||
|
||||
`page.includeJSlibs.<array>.async = 1`
|
||||
|
||||
This patch affects the TypoScript PAGE properties
|
||||
|
||||
* includeJSLibs
|
||||
* includeJSFooterlibs
|
||||
* includeJS
|
||||
* includeJSFooter
|
||||
|
||||
Usage:
|
||||
------
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page {
|
||||
includeJS {
|
||||
jsFile = /Path/To/jsFile.js
|
||||
jsFile.async = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.. index:: TypoScript, JavaScript, Frontend
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-33491:
|
||||
|
||||
==========================================================
|
||||
Feature: #33491 - Add stdWrap functionality to <title> tag
|
||||
==========================================================
|
||||
|
||||
See :issue:`33491`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The <title> tag of a frontend page can already be controlled by various settings via TypoScript. However, the stdWrap
|
||||
part was not available yet, but is now compliant and available as an option `config.pageTitle`. This option will be
|
||||
executed after all other existing processing options like `config.titleTagFunction` and `config.pageTitleFirst`.
|
||||
|
||||
The new option can be used like this, e.g. in order to write everything in uppercase in the title tag:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page = PAGE
|
||||
page.config.pageTitle.case = upper
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-34944:
|
||||
|
||||
=====================================================================
|
||||
Feature: #34944 - PaginateViewHelper handles non-query-result objects
|
||||
=====================================================================
|
||||
|
||||
See :issue:`34944`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PaginateViewHelper accepts input collections of following types:
|
||||
|
||||
- :code:`QueryResultInterface`
|
||||
- :code:`ObjectStorage`
|
||||
- :code:`\ArrayAccess`
|
||||
- :code:`array`
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:widget.paginate objects="{blogs}" as="paginatedBlogs">
|
||||
<f:for each="{paginatedBlogs}" as="blog">
|
||||
<h4>{blog.title}</h4>
|
||||
</f:for>
|
||||
</f:widget.paginate>
|
||||
|
||||
|
||||
.. index:: Fluid
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-35891:
|
||||
|
||||
=======================================================================
|
||||
Feature: #35891 - FormEngine: Possibility to add icons via PageTSconfig
|
||||
=======================================================================
|
||||
|
||||
See :issue:`35891`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The possibility to add a new value/label pair for a select field in FormEngine is given via the pageTSconfig option
|
||||
"addItems". Now, it is also possible to give the items an icon. Either with the .icon subproperty or with the
|
||||
separate option "altIcons".
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
TCEFORM.pages.doktype.addItems {
|
||||
13 = My Label
|
||||
13.icon = EXT:t3skin/icons/gfx/i/pages.gif
|
||||
}
|
||||
TCEFORM.pages.doktype.altIcons {
|
||||
123 = EXT:myext/icon.gif
|
||||
}
|
||||
|
||||
If the path is not prefixed with "EXT:" it needs to be relative to the typo3/ directory.
|
||||
|
||||
|
||||
.. index:: TSConfig, TCA, Backend
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-46624:
|
||||
|
||||
==========================================================
|
||||
Feature: #46624 - HMENU item selection via additionalWhere
|
||||
==========================================================
|
||||
|
||||
See :issue:`46624`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript Content Object HMENU menu options have a new property called "additionalWhere" to
|
||||
allow for a more specific database query based on any page properties.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
lib.authormenu = HMENU
|
||||
lib.authormenu.1 = TMENU
|
||||
lib.authormenu.1.additionalWhere = AND author!=""
|
||||
...
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-47666:
|
||||
|
||||
=====================================================================
|
||||
Feature: #47666 - Attribute \"multiple\" for f:form.upload Viewhelper
|
||||
=====================================================================
|
||||
|
||||
See :issue:`47666`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The Viewhelper allows now an attribute \"multiple\", that will provide
|
||||
a possibility to upload several files at once.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:form.upload property="files" multiple="multiple" />
|
||||
|
||||
Will result in the according HTML tag providing the field content as array.
|
||||
|
||||
Be aware, that you need to prepare the incoming value for the property mapping yourself,
|
||||
by writing your own TypeConverter.
|
||||
|
||||
|
||||
.. index:: Fluid
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-49060:
|
||||
|
||||
============================================================
|
||||
Feature: #49060 - MySql Comments reflected in SchemaMigrator
|
||||
============================================================
|
||||
|
||||
See :issue:`49060`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Comments in the :file:`*.sql` files are stored the database table and shown
|
||||
by the Schema Migration Feature in Install Tool.
|
||||
|
||||
Existing comments are overridden with changes provided by other extensions.
|
||||
|
||||
|
||||
|
||||
.. index:: Database, Backend
|
||||
@@ -0,0 +1,48 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-50780:
|
||||
|
||||
=====================================================
|
||||
Feature: #50780 - Append element browser mount points
|
||||
=====================================================
|
||||
|
||||
See :issue:`50780`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new UserTSconfig option is introduced:
|
||||
|
||||
::
|
||||
|
||||
options.pageTree.altElementBrowserMountPoints.append
|
||||
|
||||
This option allows administrators to add additional mount points
|
||||
in the RTE and the Wizard element browser instead of replacing
|
||||
the configured database mount points of the user when using the
|
||||
existing UserTSconfig option:
|
||||
|
||||
::
|
||||
|
||||
options.pageTree.altElementBrowserMountPoints
|
||||
|
||||
Usage:
|
||||
|
||||
Set these options in User TSconfig:
|
||||
|
||||
::
|
||||
|
||||
options.pageTree.altElementBrowserMountPoints = 20,31
|
||||
options.pageTree.altElementBrowserMountPoints.append = 1
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Mount point overriding is centralized in the BackendUser object and
|
||||
used by element browsers of rtehtmlarea and recordlist for calculating
|
||||
the page tree mount points that are displayed to the user.
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-52131:
|
||||
|
||||
========================================================
|
||||
Feature: #52131 - Hook for end of PageRepository->init()
|
||||
========================================================
|
||||
|
||||
See :issue:`52131`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new hook at the very end of the `PageRepository->init()` has been introduced.
|
||||
This function allows manipulation of where clause in order to modify select queries that involve visibility of pages.
|
||||
|
||||
Register the hook as follows:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Frontend\Page\PageRepository::class]['init']
|
||||
|
||||
The hook class must implement the interface :code:`\TYPO3\CMS\Frontend\Page\PageRepositoryInitHookInterface`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-56236:
|
||||
|
||||
===========================================================================
|
||||
Feature: #56236 - Multiple HTTP headers of the same type in Frontend Output
|
||||
===========================================================================
|
||||
|
||||
See :issue:`56236`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to use `config.additionalHeaders` as a TypoScript array object to add multiple headers
|
||||
at the same time
|
||||
|
||||
Usage:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
config.additionalHeaders {
|
||||
10 {
|
||||
# the header string
|
||||
header = WWW-Authenticate: Negotiate
|
||||
|
||||
# replace previous headers with the same name
|
||||
# optional, default is "on"
|
||||
replace = 0
|
||||
|
||||
# optional, force the HTTP response code
|
||||
httpResponseCode = 401
|
||||
}
|
||||
# always set cache headers to private, overwriting the sophisticated TYPO3 option
|
||||
20.header = Cache-control: Private
|
||||
}
|
||||
|
||||
See also: https://php.net/header
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The previous option `config.additionalHeaders = X-Header: ABC|X-Header2: DEF` is deprecated in favor of the more
|
||||
flexible solution.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-56529:
|
||||
|
||||
====================================================================
|
||||
Feature: #56529 - Support \"has*\" Functions in extbase ObjectAccess
|
||||
====================================================================
|
||||
|
||||
See :issue:`56529`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
ObjectAccess supports \"is*\" and \"get*\" functions to return
|
||||
property values. Another convenience method is \"has*\", which
|
||||
can be used in the same way.
|
||||
|
||||
|
||||
.. index:: PHP-API, ext:extbase
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-46624-1668719172:
|
||||
|
||||
===============================================
|
||||
Feature: #46624 - Additional HMENU browse menus
|
||||
===============================================
|
||||
|
||||
See :issue:`46624`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript Content Object HMENU with a `special=browse` option does not exclude "not in menu" pages nor
|
||||
pages that have a "no search" checkbox set. The two new options allow for more fine-grained selection of the items
|
||||
within the menu.
|
||||
|
||||
The existing option "includeNotInMenu" was not available yet for the `HMENU` with `special=browse` enabled.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
lib.browsemenu = HMENU
|
||||
lib.browsemenu.special = browse
|
||||
lib.browsemenu.special.excludeNoSearchPages = 1
|
||||
lib.browsemenu.includeNotInMenu = 1
|
||||
...
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,29 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-50039-1668719172:
|
||||
|
||||
===========================================================
|
||||
Feature: #50039 - Configurable width of the Element Browser
|
||||
===========================================================
|
||||
|
||||
See :issue:`50039`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to set the width and height of the element browser on a per-user basis via UserTSConfig.
|
||||
|
||||
Usage:
|
||||
|
||||
::
|
||||
options.popupWindowSize = 400x900
|
||||
options.RTE.popupWindowSize = 200x200
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The Element Browser width and height can be set for better usability and user experience.
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-58033:
|
||||
|
||||
=================================================================================
|
||||
Feature: #58033 - Enable label override of checkbox and radio buttons by TSconfig
|
||||
=================================================================================
|
||||
|
||||
See :issue:`58033`
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
Use TSconfig to override labels of radio buttons and checkboxes used in FormEngine.
|
||||
|
||||
For single checkboxes the key `default` is used:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
TCEFORM.pages.hidden.altLabels.default = individual label
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
TCEFORM.pages.hidden.altLabels.default = LLL:path/to/languagefile.xlf:individualLabel
|
||||
|
||||
For fields with multiple checkboxes, the value or the corresponding numeration (0,1,2,3) of the checkbox is used:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
TCEFORM.pages.l18n_cfg.altLabels.0 = individual label for the first checkbox
|
||||
TCEFORM.pages.l18n_cfg.altLabels.1 = individual label for the second checkbox
|
||||
|
||||
The same functionality works on radio buttons, where the "key" is the value of the radio button.
|
||||
|
||||
As seen in the example, hard-coded strings or references to language files are allowed.
|
||||
|
||||
Impact
|
||||
------
|
||||
|
||||
The feature enables even more customization for FormEngine for any custom crafted backend instance.
|
||||
|
||||
|
||||
.. index:: TSConfig, Backend
|
||||
@@ -0,0 +1,49 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-58366:
|
||||
|
||||
===========================================================
|
||||
Feature: #58366 - Add "auto" Option for config.absRefPrefix
|
||||
===========================================================
|
||||
|
||||
See :issue:`58366`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The TypoScript setting `config.absRefPrefix` can be used to allow URL rewriting like giving a hard
|
||||
prefix for all relative paths. As an alternative to `config.baseURL` to be set to a specific domain
|
||||
absRefPrefix can autodetect the site root and use that instead of manually setting this option.
|
||||
|
||||
Frontend:
|
||||
|
||||
The new option can be set like this:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
config.absRefPrefix = auto
|
||||
|
||||
instead of hardcoded values for different environments or when moving installations in subfolders.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
[ApplicationContext = Production]
|
||||
config.absRefPrefix = /
|
||||
|
||||
[ApplicationContext = Testing]
|
||||
config.absRefPrefix = /my_site_root/
|
||||
|
||||
As the feature only works with path prefixes, and not with host name variables from the server,
|
||||
the new option is also safe for multi-domain environments to avoid duplicate caching mechanism.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
The new special option can be used to automatically set up installations and distributions like
|
||||
the Introduction Package where a site configuration is shipped with the system but might need
|
||||
to be adjusted.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-58929:
|
||||
|
||||
====================================================================
|
||||
Feature: #58929 - PageLayoutView: Add hook for tt_content_drawFooter
|
||||
====================================================================
|
||||
|
||||
See :issue:`58929`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A hook has been added to the PageLayoutView to manipulate the rendering of the footer of a content element.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-60019:
|
||||
|
||||
===============================================================================
|
||||
Feature: #60019 - New SplFileInfo implementation with new mimeTypeGuessers hook
|
||||
===============================================================================
|
||||
|
||||
See :issue:`60019`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new class `\TYPO3\CMS\Core\Type\File\FileInfo` which extends `SplFileInfo` is now
|
||||
available as an API for fetching meta information from files.
|
||||
|
||||
Besides the native .. _SplFileInfo API: https://php.net/manual/en/class.splfileinfo.php,
|
||||
it provides a new method `getMimeType()` to get the mime type of a file, e.g. text/html.
|
||||
It uses the native PHP function `finfo_file()` and `mime_content_type()` as a fallback.
|
||||
|
||||
Example: Get the MIME type of a file
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$fileIdentifier = '/tmp/foo.html';
|
||||
$fileInfo = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Type\File\FileInfo::class, $fileIdentifier);
|
||||
echo $fileInfo->getMimeType();
|
||||
// text/html
|
||||
|
||||
New Hook 'mimeTypeGuessers'
|
||||
===========================
|
||||
|
||||
Custom implementations to determine the MIME type can be added with a hook. Register the hook as follows:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Core\Type\File\FileInfo::class]['mimeTypeGuessers']
|
||||
|
||||
|
||||
.. index:: PHP-API, FAL
|
||||
@@ -0,0 +1,78 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61542:
|
||||
|
||||
===============================================================
|
||||
Feature: #61542 - Add two-letter ISO 639-1 keys to sys_language
|
||||
===============================================================
|
||||
|
||||
See :issue:`61542`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The handling of the languages is done by the sys_language database table, which is usually referenced via the common
|
||||
sys_language_uid. The commonly referenced ISO 639-1 two-letter-code is only in use when static_info_tables is installed,
|
||||
which brings all ISO 639-1 letter-codes in a separate table. The CMS Core uses a hard-coded dependency on the extension
|
||||
to retrieve the ISO codes where needed, however, already ships an empty and invisible field "static_lang_isocode" which is
|
||||
already supplied by the CMS Core.
|
||||
|
||||
As a first step to identify languages by their proper ISO 639-1 two-letter code a new DB field for sys_language called
|
||||
"language_isocode" is introduced, which is used in all places of the TYPO3 CMS Core.
|
||||
|
||||
Additionally the new TypoScript option `config.sys_language_isocode` can be used to set the existing
|
||||
`$TSFE->sys_language_isocode` variable via TypoScript. Previously this was done via static_info_tables.
|
||||
|
||||
The ISO code is also used for the language attribute of the HTML tag. Therefore the setting `config.htmlTag_langKey`
|
||||
is not needed anymore if it is the same as the ISO code.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Frontend:
|
||||
The value `$TSFE->sys_language_isocode` is now filled at any time. It can be set via TypoScript, or is automatically
|
||||
set if the `config.sys_language_uid` parameter is set > 0 from the language_isocode DB field.
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
# danish by default
|
||||
config.sys_language_uid = 0
|
||||
config.sys_language_isocode_default = da
|
||||
|
||||
[globalVar = GP:L = 1]
|
||||
# isocode is filled by the respective DB value from sys_language (uid 1)
|
||||
config.sys_language_uid = 1
|
||||
|
||||
# you can override this of course
|
||||
config.sys_language_isocode = fr
|
||||
[GLOBAL]
|
||||
|
||||
The new field can be used in any TypoScript variable like
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page.10 = TEXT
|
||||
page.10.data = TSFE:sys_language_isocode
|
||||
page.10.wrap = <div class="main" data-language="|">
|
||||
|
||||
Backend:
|
||||
|
||||
All ISO code usages based on sys_language in the Backend (FormEngine, Translation Tools) is now done via the new field
|
||||
but still uses static_info_tables as fallback if already in use.
|
||||
|
||||
Each sys_language record is now editable with the new DB field to select the respective ISO 639-1 code.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
The upgrade wizard makes sure that the new DB field is filled properly so no deprecation warnings are written
|
||||
if static_info_tables in conjunction with the DB field "static_lang_isocode" was used before. If this field is
|
||||
used in a 3rd party extension, the extension developers and site integrators need to make sure it is switched
|
||||
to the new DB field sys_language.language_isocode.
|
||||
|
||||
If a site uses multiple languages without static_info_tables each sys_language record should be modified to select
|
||||
the proper ISO 639-1 code for the languages.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61725:
|
||||
|
||||
=========================================================================
|
||||
Feature: #61725 - Hook for BackendUtility::countVersionsOfRecordsOnPage()
|
||||
=========================================================================
|
||||
|
||||
See :issue:`61725`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Hook to post-process `BackendUtility::countVersionsOfRecordsOnPage`
|
||||
result. `BackendUtility::countVersionsOfRecordsOnPage` is used to
|
||||
visualize workspace states in e.g. the page tree.
|
||||
|
||||
Register like this:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['countVersionsOfRecordsOnPage'][] = 'My\Package\HookClass->hookMethod';
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-62944:
|
||||
|
||||
=========================================================
|
||||
Feature: #62944 - UserFunc available as Display Condition
|
||||
=========================================================
|
||||
|
||||
See :issue:`62944`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Being able to use userFunc as `displayCondition` makes it possible to
|
||||
check on any imaginable condition or state. If any situation can not
|
||||
be evaluated with any of the existing checks the developer is free
|
||||
to add an own user function which provides a boolean result whether
|
||||
to show or hide the TCA field.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['columns']['bodytext']['displayCond'] = 'USER:Evoweb\\Example\\User\\ElementConditionMatcher->checkHeaderGiven:any:more:information';
|
||||
|
||||
Any parameters can be added (separated by colons) that are sent to the ConditionMatcher class.
|
||||
|
||||
|
||||
.. index:: PHP-API, TCA, Backend
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-62960:
|
||||
|
||||
==================================================
|
||||
Feature: #62960 - Signal for mailer initialization
|
||||
==================================================
|
||||
|
||||
See :issue:`62960`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This signal allows for additional processing upon initialization of a mailer object,
|
||||
e.g. registering a Swift mailer plugin.
|
||||
|
||||
Registering the signal:
|
||||
|
||||
::
|
||||
|
||||
$signalSlotDispatcher = \\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance(\\TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher::class);
|
||||
$signalSlotDispatcher->connect(
|
||||
\\TYPO3\\CMS\\Core\\Mail\\Mailer::class,
|
||||
'postInitializeMailer',
|
||||
\\Vendor\\Package\\Slots\\MailerSlot::class,
|
||||
'registerPlugin'
|
||||
);
|
||||
|
||||
..
|
||||
|
||||
The slot class:
|
||||
|
||||
::
|
||||
|
||||
<?php
|
||||
namespace Vendor\\Package\\Slots;
|
||||
|
||||
use TYPO3\\CMS\\Core\\Mail\\Mailer;
|
||||
|
||||
class MailerSlot {
|
||||
/**
|
||||
* @param Mailer $mailer
|
||||
* @return void
|
||||
*/
|
||||
public function registerPlugin(Mailer $mailer) {
|
||||
// Processing here
|
||||
}
|
||||
}
|
||||
|
||||
..
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Extensions may now perform arbitrary processing for every mail.
|
||||
|
||||
|
||||
.. index:: PHP-API
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-63207:
|
||||
|
||||
===============================================
|
||||
Feature: #63207 - Split buttons into two groups
|
||||
===============================================
|
||||
|
||||
See :issue:`63207`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The action buttons in Web>List for pages and content elements have been split into two groups to organize
|
||||
the actions as primary and secondary actions. Primary actions are common RUD actions:
|
||||
|
||||
- Show
|
||||
- Edit
|
||||
- Hide
|
||||
- Delete
|
||||
- Move up/down
|
||||
|
||||
Secondary actions keep any other action. If "Extended view" is disabled, the primary actions are now
|
||||
still displayed, the secondary action are collapsed but can be expanded by clicking the expand trigger.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Existing hooks will work like before. If an action is added to one of the two sections, the icon
|
||||
on rootlevel must be reset, please see Migration_.
|
||||
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
unset($cells['edit']);
|
||||
$cells['primary']['edit'] = '<a class="btn btn-default"><span class="t3-icon fa fa-trash"></span></a>';
|
||||
$cells['secondary']['edit'] = '<a class="btn btn-default"><span class="t3-icon fa fa-trash"></span></a>';`
|
||||
|
||||
Icons, that are not added into a section, will be sorted into the secondary group.
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-61489-1668719172:
|
||||
|
||||
====================================================================
|
||||
Feature: #61489 - Allow own TypoScript Conditions in Backend as well
|
||||
====================================================================
|
||||
|
||||
See :issue:`61489`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
It is now possible to add own TypoScript conditions via a separate API in the Backend. The API for the frontend
|
||||
was introduced with TYPO3 CMS 7.0.
|
||||
|
||||
An extension/package can now ship an implementation of a new abstract class AbstractCondition. Via the existing
|
||||
TypoScript Condition Syntax the class is called by the simple fully namespaced class name.
|
||||
The class' main function "matchCondition" can flexibly evaluate any parameters given after the class name.
|
||||
|
||||
Usage:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition]
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = 7]
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = 7, != 6]
|
||||
|
||||
[BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = {$mysite.myconstant}]
|
||||
|
||||
where the TypoScript Condition class deals with =/!= etc itself.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
If you've previously used the `userFunc` condition, you are encouraged to use this new API for your own TypoScript
|
||||
conditions.
|
||||
|
||||
|
||||
.. index:: TypoScript, Frontend, PHP-API
|
||||
@@ -0,0 +1,121 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-63729:
|
||||
|
||||
==================================================
|
||||
Feature: #63729 - API for Twitter Bootstrap modals
|
||||
==================================================
|
||||
|
||||
See :issue:`63729`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Actions that require a users' attention must be visualized by modal windows. TWBS provides those,
|
||||
but extension authors or core developers must take care of its creation and handling themselves.
|
||||
|
||||
This API provides a basis to create modal windows with severity representation. For a better UX,
|
||||
if actions (buttons) are attached to the modal, one button must be a positive action. This button
|
||||
should get a btnClass and set as active.
|
||||
|
||||
Modals should be used rarely and only for confirmations. For information the TYPO3.Flashmessage API should be used.
|
||||
For complex content, like forms or a lot of information, please use normal pages.
|
||||
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
The API provides only two public methods:
|
||||
|
||||
#. :code:`TYPO3.Modal.confirm(title, content, severity, buttons)`
|
||||
#. :code:`TYPO3.Modal.dismiss()`
|
||||
|
||||
Modal Settings
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
========= =============== ============ ======================================================================================================
|
||||
Name DataType Mandatory Description
|
||||
========= =============== ============ ======================================================================================================
|
||||
title string Yes The title displayed in the modal
|
||||
content string|jQuery Yes The content displayed in the modal
|
||||
severity int Represents the severity of a modal. Please see TYPO3.Severity. Default is :code:`TYPO3.Severity.info`.
|
||||
buttons object[] Actions rendered into the modal footer. If empty, the footer is not rendered. See table below.
|
||||
========= =============== ============ ======================================================================================================
|
||||
|
||||
Button Settings
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
========= =============== ============ ===============================================================
|
||||
Name DataType Mandatory Description
|
||||
========= =============== ============ ===============================================================
|
||||
text string Yes The text rendered into the button.
|
||||
trigger function Yes Callback that's triggered on button click.
|
||||
active bool Marks the button as active. If true, the button gets the focus.
|
||||
btnClass string The css class for the button
|
||||
========= =============== ============ ===============================================================
|
||||
|
||||
Data-Attributes
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
It is also possible to use data-attributes to trigger a modal.
|
||||
e.g. on an anchor element, which prevents the default behavior.
|
||||
|
||||
========================= ==================================================================
|
||||
Name Description
|
||||
========================= ==================================================================
|
||||
data-title the title text for the modal
|
||||
data-content the content text for the modal
|
||||
data-severity the severity for the modal, default is info (see TYPO3.Severity.*)
|
||||
data-href the target URL, default is the href attribute of the element
|
||||
data-button-close-text button text for the close/cancel button
|
||||
data-button-ok-text button text for the ok button
|
||||
========================= ==================================================================
|
||||
|
||||
:code:`class="t3js-modal-trigger"` marks the element as modal trigger
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
A basic modal without any specials can be created this way:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
TYPO3.Modal.confirm('The title of the modal', 'This the body of the modal');
|
||||
|
||||
A modal as warning with button:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
TYPO3.Modal.confirm('Warning', 'You may break the internet!', TYPO3.Severity.warning, [
|
||||
{
|
||||
text: 'Break it',
|
||||
active: true,
|
||||
trigger: function() {
|
||||
// break the net
|
||||
}
|
||||
}, {
|
||||
text: 'Abort!',
|
||||
trigger: function() {
|
||||
TYPO3.Modal.dismiss();
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
A modal as warning:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
TYPO3.Modal.confirm('Warning', 'You may break the internet!', TYPO3.Severity.warning);
|
||||
|
||||
A modal triggered on an anchor element:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<a href="delete.php" class="t3js-modal-trigger" data-title="Delete" data-content="Really delete?">delete</a>
|
||||
|
||||
|
||||
.. index:: PHP-API, JavaScript, Backend
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-63913:
|
||||
|
||||
=====================================================================
|
||||
Feature: #63913 - Allow ContainerViewHelper to load RequireJS modules
|
||||
=====================================================================
|
||||
|
||||
See :issue:`63913`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The ContainerViewHelper can load RequireJS modules via the `includeRequireJsModules` attribute. The scripts are passed
|
||||
as array.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<f:be.container pageTitle="Extension Module" loadJQuery="true"
|
||||
includeRequireJsModules="{
|
||||
0:'TYPO3/CMS/Extension/Module',
|
||||
1:'TYPO3/CMS/Extension/Module2',
|
||||
2:'TYPO3/CMS/Extension/Module3',
|
||||
3:'TYPO3/CMS/Extension/Module4'
|
||||
}">
|
||||
|
||||
|
||||
.. index:: Fluid, JavaScript, Backend
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-64031:
|
||||
|
||||
========================================
|
||||
Feature: #64031 - JavaScript Storage API
|
||||
========================================
|
||||
|
||||
See :issue:`64031`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
Accessing the Backend User configuration ($BE_USER->uc) can be handled in JavaScript with a common and simple
|
||||
key-value storage manner, allowing to store any data. Additionally, the use of HTML5s localStorage allows to
|
||||
store any data in the same way inside the browser. All localStorage data is prefixed with "t3-" in order to avoid
|
||||
collisions with other data from the same browserStorage.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
API Methods
|
||||
-----------
|
||||
|
||||
The API provides two objects available in the top frame attached to the global TYPO3 object:
|
||||
|
||||
1) `top.TYPO3.Storage.Client`
|
||||
2) `top.TYPO3.Storage.Persistent`
|
||||
|
||||
Each object has the following API methods
|
||||
|
||||
* `get(key)` To fetch the data behind the key.
|
||||
* `set(key, value)` To set/override a key with any arbitrary content.
|
||||
* `isset(key)` (bool) checks if the key is in use.
|
||||
* `clear()` to empty all data inside the storage.
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
To fetch data from the persistent user configuration, simple use the key known already:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
top.TYPO3.Storage.Persistent.get('startModule');
|
||||
|
||||
Storing / Updating data in the storage works like this, and can contain any data type.
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
top.TYPO3.Storage.Persistent.set('startModule', 'web_info');
|
||||
|
||||
The same is possible for browserStorage using top.TYPO3.Storage.Client.
|
||||
|
||||
|
||||
.. index:: JavaScript, Backend
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-64190:
|
||||
|
||||
==================================================================
|
||||
Feature: #64190 - Inline rendering for FormEngine Checkbox Element
|
||||
==================================================================
|
||||
|
||||
See :issue:`64190`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The checkbox setting `inline` for cols can be used to render the checkboxes
|
||||
directly next to each other to reduce the amount of used space.
|
||||
|
||||
Example Configuration:
|
||||
|
||||
::
|
||||
|
||||
'weekdays' => array(
|
||||
'label' => 'Weekdays',
|
||||
'config' => array(
|
||||
'type' => 'check',
|
||||
'items' => array(
|
||||
array('Mo', ''),
|
||||
array('Tu', ''),
|
||||
array('We', ''),
|
||||
array('Th', ''),
|
||||
array('Fr', ''),
|
||||
array('Sa', ''),
|
||||
array('Su', ''),
|
||||
),
|
||||
'cols' => 'inline',
|
||||
),
|
||||
),
|
||||
|
||||
..
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Checkboxes will be placed directly next to each other to reduce the amount of used space.
|
||||
|
||||
|
||||
.. index:: TCA, Backend
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-64257:
|
||||
|
||||
===================================================================
|
||||
Feature: #64257 - Support multiple UID in PageRepository::getMenu()
|
||||
===================================================================
|
||||
|
||||
See :issue:`64257`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
An array of `uid` values can be passed to
|
||||
`PageRepository::getMenu()`, providing the chance to build menus
|
||||
from several roots.
|
||||
|
||||
Example: Fetch children of pages #2 and #3:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$pageRepository = new \TYPO3\CMS\Frontend\Page\PageRepository();
|
||||
$pageRepository->init(false);
|
||||
$rows = $pageRepository->getMenu(array(2, 3));
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-64386:
|
||||
|
||||
====================================================
|
||||
Feature: #64386 - Public Content Object Registration
|
||||
====================================================
|
||||
|
||||
See :issue:`64386`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
A new global option is now available to register and/or extend/overwrite content objects like TEXT.
|
||||
A list of all available Content Objects that was previously registered within the main ContentObjectRenderer class
|
||||
is now moved to the global array `$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']` which allows for modifications
|
||||
via third-party extensions.
|
||||
|
||||
Example: Register a new Content Object EXAMPLE in a third-party extension
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['EXAMPLE'] = Acme\MyExtension\ContentObject\ExampleContentObject::class
|
||||
|
||||
The registered class must be a subclass of `TYPO3\CMS\Frontend\ContentObject\AbstractContentObject`.
|
||||
|
||||
For future autoloading mechanisms, it is encouraged to place the custom ContentObject class inside
|
||||
`EXT:myextension/Classes/ContentObject/`.
|
||||
|
||||
|
||||
.. index:: PHP-API, Frontend
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-64921:
|
||||
|
||||
=========================================================================
|
||||
Feature: #64921 - Needed changes for flexible configuration of submodules
|
||||
=========================================================================
|
||||
|
||||
See :issue:`64921`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The additional configuration for submodules can now be configured with an extra
|
||||
parameter in `ExtensionManagementUtility::addModule()` since https://forge.typo3.org/issues/62880.
|
||||
This makes it possible to remove the conf.php file by setting the configuration within `ExtensionManagementUtility::addModule()` in ext_tables.php.
|
||||
|
||||
When doing so you might have some issues with $this->MCONF not being set. This happens if your backend module extends
|
||||
from `\TYPO3\CMS\Backend\Module\BaseScriptClass`.
|
||||
|
||||
To fix this problem you need to add the module name in $this->MCONF.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
/**
|
||||
* The name of the module
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $moduleName = 'file_list';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->MCONF = array(
|
||||
'name' => $this->moduleName
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
.. index:: PHP-API, Backend
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _feature-63729-1668719172:
|
||||
|
||||
===================================
|
||||
Feature: #63729 - Introduce GruntJS
|
||||
===================================
|
||||
|
||||
See :issue:`63729`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
In order to unify build processes in the backend we introduce
|
||||
`GruntJS <http://gruntjs.com/>`_ as a central taskrunner. It will
|
||||
provide a global config that takes over the responsibility
|
||||
for all build processes in the future starting with the less
|
||||
files of the backend skin.
|
||||
|
||||
The build files are located in the *Build* folder located in the root directory.
|
||||
|
||||
For detailed information about setting up GruntJS please head to http://gruntjs.com/.
|
||||
|
||||
|
||||
Initial setup
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
npm install
|
||||
npm install -g grunt-cli
|
||||
|
||||
|
||||
Registered Tasks
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Compiling Less files:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
grunt less
|
||||
|
||||
|
||||
Watching Less files:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
grunt watch
|
||||
|
||||
|
||||
.. index:: JavaScript
|
||||
@@ -0,0 +1,42 @@
|
||||
:template: changelogOverview.html
|
||||
.. include:: /Includes.rst.txt
|
||||
.. _changelog-7-1:
|
||||
|
||||
7.1 Changes
|
||||
===========
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
Breaking Changes
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Breaking-*
|
||||
|
||||
Features
|
||||
^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Feature-*
|
||||
|
||||
Deprecation
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
Deprecation-*
|
||||
Reference in New Issue
Block a user