From aaa9dd2a98d052c5876d5702a72867bc25999948 Mon Sep 17 00:00:00 2001
From: Oliver Bartsch <bo@cedev.de>
Date: Mon, 15 Apr 2024 23:49:15 +0200
Subject: [PATCH] [DOCS] Clarify switch to `options.hideModules` user TSconfig
 option

While introducing the new module registration API,
the previously used page TSconfig options to hide
modules has been replaced by an extended user TSconfig
option. This change (page TSconfig -> user TSconfig)
is now clarified in the corresponding changelog.

Resolves: #103627
Releases: main, 12.4
Change-Id: Ic701cf0674c8ff1ed18273ad2629b2217947f7c9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/83852
Tested-by: Lina Wolf <112@linawolf.de>
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Lina Wolf <112@linawolf.de>
---
 ...orModuleHandlingBasedOnTBE_MODULES_EXT.rst | 24 ++++++++++++++-----
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst
index 9d53dc85513d..4beeed553f1c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst
@@ -26,10 +26,10 @@ Therefore, the :php:`$GLOBALS['TBE_MODULES_EXT']` has been removed, while the
 corresponding :php:`ExtensionManagementUtility::insertModuleFunction()` API
 method has no effect.
 
-The related TSconfig options :typoscript:`mod.web_info.menu.function`
+The related page TSconfig options :typoscript:`mod.web_info.menu.function`
 as well as :typoscript:`mod.web_ts.menu.function` have been removed in favor
-of the existing :typoscript:`hideModules` option and the module access logic,
-which due to the new registration, now also covers those modules.
+of the existing :typoscript:`hideModules` user TSconfig option and the module
+access logic, which due to the new registration, now also covers those modules.
 
 Additionally, the following hooks have been removed, because their use cases
 does no longer exist:
@@ -44,7 +44,7 @@ The global :php:`TBE_MODULES_EXT` array does no longer exist and the
 :php:`ExtensionManagementUtility::insertModuleFunction()` API method no
 longer has any effect.
 
-The TSconfig options :typoscript:`mod.web_info.menu.function`
+The page TSconfig options :typoscript:`mod.web_info.menu.function`
 and :typoscript:`mod.web_ts.menu.function` are no longer evaluated.
 
 Using one of mentioned, :php:`TypoScriptTemplateModuleController` related
@@ -57,7 +57,7 @@ All installations using the global :php:`TBE_MODULES_EXT` array or
 calling :php:`ExtensionManagementUtility::insertModuleFunction()` in
 custom extension code.
 
-All installations using one of the removed TSconfig options or one
+All installations using one of the removed page TSconfig options or one
 of the removed hooks.
 
 Migration
@@ -96,17 +96,29 @@ Will now be registered in :file:`Configuration/Backend/Modules.php`:
         ],
     ],
 
-To hide a "third-level" module in the doc header menu, use the
+To hide a "third-level" module in the doc header menu, use the user TSconfig
 :typoscript:`options.hideModules` option:
 
 ..  code-block:: typoscript
+    :caption: **Page** TSconfig
 
     # before
     mod.web_info.menu.function.TYPO3\CMS\Info\Controller\TranslationStatusController = 0
 
+
+..  code-block:: typoscript
+    :caption: **User** TSconfig
+
     # after
     options.hideModules := addToList(web_info_translations)
 
+.. note::
+
+    While the previously used TSconfig options `mod.*.menu.function` are bound
+    to a page is the new `options.hideModules` option based on user and user
+    group level. This allows greater influence and furthermore allows to hide
+    any module, even if the module is not connected to a page.
+
 Additionally, use the module access logic to restrict access to those modules.
 
 Remove any registration of the mentioned hooks. There is no direct migration,
-- 
GitLab