Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[!!!][TASK] Merge ext:recordlist into ext:backend #191

Closed
TYPO3IncTeam opened this issue Sep 28, 2022 · 0 comments
Closed

[!!!][TASK] Merge ext:recordlist into ext:backend #191

TYPO3IncTeam opened this issue Sep 28, 2022 · 0 comments

Comments

@TYPO3IncTeam
Copy link
Collaborator

ℹ️ View this commit on Github
👥 Authored by Christian Kuhn [email protected]
✔️ Merged by Christian Kuhn [email protected]

Commit message

[!!!][TASK] Merge ext:recordlist into ext:backend

Extension 'recordlist' is a must-have extension that
is part of 'minimal usable system' and always loaded:

Especially 'backend' has various cross dependencies
to 'recordlist', backend "search" using the list module
for detail display is one of the most obvious ones.

In general it's bad if the main 'backend' extension
has such direct dependency towards another more
specific extension: The core development slowly
strives to have the tuple 'core-backend-frontend'
as main set of crucial extenions, with eventually
making 'backend' and 'frontend' optional in some
happy future.

To solve the unfortunate dependency from 'backend'
to 'recordlist', 'recordlist' is now merged into
'backend', reducing the set of extensions required
for a 'minimal usable system' by one.

composer update --lock

Change-Id: Ie73ccb992b9ad29626478ff9acd6dc9a15b8aa9a
Resolves: #98443
Releases: main
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75876
Reviewed-by: Andreas Fernandez [email protected]
Reviewed-by: Georg Ringer [email protected]
Reviewed-by: Benni Mack [email protected]
Reviewed-by: Christian Kuhn [email protected]
Tested-by: core-ci [email protected]
Tested-by: Georg Ringer [email protected]
Tested-by: Andreas Fernandez [email protected]
Tested-by: Christian Kuhn [email protected]

➕ Added files

12.0/Breaking-98443-ExtensionRecordlistMergedIntoBackend.rst
.. include:: /Includes.rst.txt

.. _breaking-98443-1664275773:

===========================================================
Breaking: #98443 - Extension recordlist merged into backend
===========================================================

See :issue:`98443`

Description
===========

The TYPO3 core extension "recordlist" has been integrated into the core
extension "backend". Extension "recordlist" does not exist anymore, all
existing functionality like the "List module" is available within the "backend"
extension.


Impact
======

When upgrading to TYPO3 core v12, extension "backend" replaces extension "recordlist"
automatically.

The following classes have been renamed:

* :php:`\TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser` to :php:`\TYPO3\CMS\Backend\ElementBrowser\AbstractElementBrowser`
* :php:`\TYPO3\CMS\Recordlist\Browser\DatabaseBrowser` to :php:`\TYPO3\CMS\Backend\ElementBrowser\DatabaseBrowser`
* :php:`\TYPO3\CMS\Recordlist\Browser\ElementBrowserInterface` to :php:`\TYPO3\CMS\Backend\ElementBrowser\ElementBrowserInterface`
* :php:`\TYPO3\CMS\Recordlist\Browser\ElementBrowserRegistry` to :php:`\TYPO3\CMS\Backend\ElementBrowser\ElementBrowserRegistry`
* :php:`\TYPO3\CMS\Recordlist\Browser\FileBrowser` to :php:`\TYPO3\CMS\Backend\ElementBrowser\FileBrowser`
* :php:`\TYPO3\CMS\Recordlist\Browser\FolderBrowser` to :php:`\TYPO3\CMS\Backend\ElementBrowser\FolderBrowser`
* :php:`\TYPO3\CMS\Recordlist\Controller\AbstractLinkBrowserController` to :php:`\TYPO3\CMS\Backend\Controller\AbstractLinkBrowserController`
* :php:`\TYPO3\CMS\Recordlist\Controller\AccessDeniedException` to :php:`\TYPO3\CMS\Backend\Exception\AccessDeniedException`
* :php:`\TYPO3\CMS\Recordlist\Controller\ClearPageCacheController` to :php:`\TYPO3\CMS\Backend\Controller\ClearPageCacheController`
* :php:`\TYPO3\CMS\Recordlist\Controller\ElementBrowserController` to :php:`\TYPO3\CMS\Backend\Controller\ElementBrowserController`
* :php:`\TYPO3\CMS\Recordlist\Controller\RecordListController` to :php:`\TYPO3\CMS\Backend\Controller\RecordListController`
* :php:`\TYPO3\CMS\Recordlist\Controller\RecordDownloadController` to :php:`\TYPO3\CMS\Backend\Controller\RecordListDownloadController`
* :php:`\TYPO3\CMS\Recordlist\Event\RenderAdditionalContentToRecordListEvent` to :php:`\TYPO3\CMS\Backend\Controller\Event\RenderAdditionalContentToRecordListEvent`
* :php:`\TYPO3\CMS\Recordlist\Event\ModifyRecordListHeaderColumnsEvent` to :php:`\TYPO3\CMS\Backend\RecordList\Event\ModifyRecordListHeaderColumnsEvent`
* :php:`\TYPO3\CMS\Recordlist\Event\ModifyRecordListRecordActionsEvent` to :php:`\TYPO3\CMS\Backend\RecordList\Event\ModifyRecordListRecordActionsEvent`
* :php:`\TYPO3\CMS\Recordlist\Event\ModifyRecordListTableActionsEvent` to :php:`\TYPO3\CMS\Backend\RecordList\Event\ModifyRecordListTableActionsEvent`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\AbstractLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\AbstractLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\FileLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\FileLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\FolderLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\FolderLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\LinkHandlerInterface` to :php:`\TYPO3\CMS\Backend\LinkHandler\LinkHandlerInterface`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\MailLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\MailLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\PageLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\PageLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\RecordLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\RecordLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\TelephoneLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\TelephoneLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\LinkHandler\UrlLinkHandler` to :php:`\TYPO3\CMS\Backend\LinkHandler\UrlLinkHandler`
* :php:`\TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList` to :php:`\TYPO3\CMS\Backend\RecordList\DatabaseRecordList`
* :php:`\TYPO3\CMS\Recordlist\RecordList\DownloadRecordList` to :php:`\TYPO3\CMS\Backend\RecordList\DownloadRecordList`
* :php:`\TYPO3\CMS\Recordlist\Tree\View\LinkParameterProviderInterface` to :php:`\TYPO3\CMS\Backend\Tree\View\LinkParameterProviderInterface`
* :php:`\TYPO3\CMS\Recordlist\View\RecordSearchBoxComponent` to :php:`\TYPO3\CMS\Backend\View\RecordSearchBoxComponent`
* :php:`\TYPO3\CMS\Recordlist\View\FolderUtilityRenderer` to :php:`\TYPO3\CMS\Backend\View\FolderUtilityRenderer`


Affected installations
======================

Extension "recordlist" was a hard dependency of a working TYPO3 instance and always
installed. When upgrading to TYPO3 core v12, the TYPO3 Package Manager will simply
ignore the extension now.

Extension extending PHP classes or implementing interfaces
of "recordlist" will continue to work, all moved classes and interfaces have been
established as aliases. Extensions should update their dependencies in case they are
extending or implementing specific "recordlist" functionality, the extension scanner
will find possible usages.


Migration
=========

The "typo3/cms-recordlist" dependency can be safely removed as composer dependency:

.. code-block:: shell

    composer rem typo3/cms-recordlist

Extensions using classes of extension "recordlist" should use the new classes instead.
Extensions supporting both TYPO3 v11 and v12 can continue to use the old class names
since they have been established as aliases to the new class names. These aliases will
be removed with TYPO3 core v13.


.. index:: Backend, PHP-API, FullyScanned, ext:recordlist

➗ Modified files

12.0/Breaking-97188-RegisterElementBrowsersViaServiceConfiguration.rst
@@ -9,7 +9,7 @@ See :issue:`97188`
 Description
 ===========
 
-The `element browsers` in EXT:recordlist are now registered via service
+The `element browsers` in EXT:backend are now registered via service
 configuration, see the :doc:`feature changelog <Feature-97188-NewRegistrationForElementBrowsers>`.
 Therefore the registration via
 :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers']`
@@ -21,7 +21,7 @@ identifier has to be provided by the service directly using the
 :php:`ElementBrowserInterface`.
 
 In case a custom `element browser` extends
-:php:`\TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser`,
+:php:`\TYPO3\CMS\Backend\Browser\AbstractElementBrowser`,
 only the class property `$identifier` has to be set, e.g.
 :php:`protected string $identifier = 'my_browser';`.
 
@@ -63,4 +63,4 @@ Additionally, make sure to either implement
 :php:`public function getIdentifier(): string` or, in case your `element browser`
 extends :php:`AbstractElementBrowser`, to set the `$identifier` class property.
 
-.. index:: Backend, LocalConfiguration, PHP-API, FullyScanned, ext:recordlist
+.. index:: Backend, LocalConfiguration, PHP-API, FullyScanned, ext:backend
12.0/Breaking-97454-RemoveLinkBrowserHooks.rst
@@ -14,8 +14,8 @@ Description
 The hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['LinkBrowser']['hooks']`
 with its two functions :php:`modifyLinkHandlers()` and
 :php:`modifyAllowedItems()` has been removed in favor of two new PSR-14 events
-:php:`\TYPO3\CMS\Recordlist\Event\ModifyLinkHandlersEvent`
-and :php:`\TYPO3\CMS\Recordlist\Event\ModifyAllowedItemsEvent`.
+:php:`\TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent`
+and :php:`\TYPO3\CMS\Backend\Controller\Event\ModifyAllowedItemsEvent`.
 
 .. seealso::
 
12.0/Feature-97188-NewRegistrationForElementBrowsers.rst
@@ -9,7 +9,7 @@ See :issue:`97188`
 Description
 ===========
 
-The system extension `recordlist` provides different `element browsers`,
+The system extension `backend` provides different `element browsers`,
 such as the "File browser" or the "Database browser" to select files
 and records in e.g. FormEngine fields. Extension authors are able to
 register their own browsers. This was previously done using global
@@ -25,7 +25,7 @@ one can manually tag a custom `element browser` with the
 
 Due to the autoconfiguration, the identifier has to be provided by the
 class directly, using the now required :php:`getIdentifier()` method.
-When extending :php:`\TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser`
+When extending :php:`\TYPO3\CMS\Backend\Browser\AbstractElementBrowser`
 it's sufficient to set the `$identifier` class property.
 
 Impact
@@ -34,4 +34,4 @@ Impact
 `element browsers` are now automatically registered through the service
 configuration, based on the implemented interface.
 
-.. index:: Backend, LocalConfiguration, PHP-API, ext:recordlist
+.. index:: Backend, LocalConfiguration, PHP-API, ext:backend
12.0/Feature-97454-PSR14EventsForLinkBrowserLifecycle.rst
@@ -11,8 +11,8 @@ See :issue:`97454`
 Description
 ===========
 
-Two new PSR-14 events :php:`\TYPO3\CMS\Recordlist\Event\ModifyLinkHandlersEvent` and
-:php:`\TYPO3\CMS\Recordlist\Event\ModifyAllowedItemsEvent` have been introduced which
+Two new PSR-14 events :php:`\TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent` and
+:php:`\TYPO3\CMS\Backend\Controller\Event\ModifyAllowedItemsEvent` have been introduced which
 serve as a direct replacement for the now removed
 :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['LinkBrowser']['hooks']`
 :doc:`hooks <../12.0/Breaking-97454-RemoveLinkBrowserHooks>`.
@@ -49,7 +49,7 @@ The corresponding event listener class:
 
 .. code-block:: php
 
-    use TYPO3\CMS\Recordlist\Event\ModifyLinkHandlersEvent;
+    use TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent;
 
     final class MyEventListener
     {
12.0/Important-97159-MailLinkHandlerKeyInTSconfigRenamed.rst
@@ -18,4 +18,4 @@ as well as the value of the :php:`LinkService::TYPE_EMAIL` constant.
 
 Update any usage of this key in your extension code.
 
-.. index:: TSConfig, ext:recordlist
+.. index:: TSConfig, ext:backend
@brotkrueml brotkrueml self-assigned this Sep 28, 2022
brotkrueml added a commit to brotkrueml/TYPO3CMS-Reference-CoreApi that referenced this issue Sep 28, 2022
brotkrueml added a commit to brotkrueml/TYPO3CMS-Reference-Typoscript that referenced this issue Sep 29, 2022
brotkrueml added a commit to brotkrueml/TYPO3CMS-Reference-TSconfig that referenced this issue Sep 29, 2022
brotkrueml added a commit to brotkrueml/TYPO3CMS-Reference-TCA that referenced this issue Sep 29, 2022
brotkrueml added a commit to brotkrueml/TYPO3CMS-Tutorial-SitePackage that referenced this issue Sep 29, 2022
linawolf pushed a commit to TYPO3-Documentation/TYPO3CMS-Tutorial-SitePackage that referenced this issue Sep 30, 2022
linawolf pushed a commit to TYPO3-Documentation/TYPO3CMS-Reference-TCA that referenced this issue Sep 30, 2022
linawolf pushed a commit to TYPO3-Documentation/TYPO3CMS-Reference-TSconfig that referenced this issue Sep 30, 2022
tomwarwick pushed a commit to TYPO3-Documentation/TYPO3CMS-Reference-Typoscript that referenced this issue Sep 30, 2022
tomwarwick pushed a commit to TYPO3-Documentation/TYPO3CMS-Reference-CoreApi that referenced this issue Sep 30, 2022
* [TASK] #98443 - Extension recordlist merged into backend

Related: TYPO3-Documentation/Changelog-To-Doc#191

* Adjust link handlers

* Adjust testing

* Remove recordlist from composer.json
brotkrueml added a commit to TYPO3-Documentation/TYPO3CMS-Guide-Installation that referenced this issue Mar 26, 2024
brotkrueml added a commit to TYPO3-Documentation/TYPO3CMS-Guide-Installation that referenced this issue Mar 26, 2024
brotkrueml added a commit to TYPO3-Documentation/TYPO3CMS-Guide-Installation that referenced this issue Mar 26, 2024
brotkrueml added a commit to TYPO3-Documentation/TYPO3CMS-Guide-Installation that referenced this issue Mar 26, 2024
linawolf pushed a commit to TYPO3-Documentation/TYPO3CMS-Reference-Typoscript that referenced this issue Nov 19, 2024
linawolf pushed a commit to TYPO3-Documentation/TYPO3CMS-Reference-Typoscript that referenced this issue Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants