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

Breaking: #97135 - web-info - Removed support for module handling based on TBE_M… #463

Merged
merged 4 commits into from
Apr 21, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Documentation/PageTsconfig/Mod.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,9 @@ Properties
:maxdepth: 1
:glob:

Mod/*
Mod/Shared
Mod/WebInfo
Mod/WebLayout
Mod/WebList
Mod/WebView
Mod/Wizards
49 changes: 19 additions & 30 deletions Documentation/PageTsconfig/Mod/WebInfo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,41 +74,30 @@ Example: Override the field definitions in the info module
menu.function
=============

.. confval:: menu.function
:name: mod-web-info-menu-function
:type: array

Disable elements of the "Function selector" in the document header of the module. The keys for single
items can be found by browsing *System > Configuration > $GLOBALS['TBE_MODULES_EXT']*.
.. versionchanged:: 12.0
The TSconfig option :tsconfig:`mod.web_info.menu.function` has been removed
linawolf marked this conversation as resolved.
Show resolved Hide resolved
with TYPO3 v12.0. Use **user** TSconfig option
:ref:`options.hideModules <useroptions-hideModules>` instead.

.. figure:: /Images/ManualScreenshots/Info/FunctionMenuInfoModule.png
:alt: The function menu of the Info module
.. _pageblindingfunctionmenuoptions-webinfo-migration:

The function menu of the Info module
Migration from menu.function to options.hideModules
---------------------------------------------------

.. warning::
Migrate former usage of :tsconfig:`mod.web_info.menu.function` in **page** TSconfig
to option :ref:`options.hideModules <useroptions-hideModules>`.

Blinding the function menu items is not hardcore access control! All it
does is hide the possibility of accessing that module functionality
from the interface. It might be possible for users to hack their way
around it and access the functionality anyways. You should use the
option of blinding elements mostly to remove otherwise distracting options.

.. _pageblindingfunctionmenuoptions-webinfo-example:
.. code-block:: typoscript
:caption: **Page** Tsconfig, for example EXT:my_extension/Configuration/page.tsconfig
linawolf marked this conversation as resolved.
Show resolved Hide resolved

Example: Remove some options from the functions menu
----------------------------------------------------
# before
mod.web_info.menu.function.TYPO3\CMS\Info\Controller\TranslationStatusController = 0

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
:caption: **User** Tsconfig, for example EXT:my_extension/Configuration/user.tsconfig
linawolf marked this conversation as resolved.
Show resolved Hide resolved

mod.web_info.menu.function {
# Disable item "Log"
TYPO3\CMS\Belog\Module\BackendLogModuleBootstrap = 0
# Disable item "Pagetree Overview"
TYPO3\CMS\Info\Controller\PageInformationController = 0
# Disable item "Localization Overview"
TYPO3\CMS\Info\Controller\TranslationStatusController = 0
# Disable item "Linkvalidator"
TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport = 0
}
# after
options.hideModules := addToList(web_info_translations)

See also :ref:`setting-user-tsconfig`. You can find the names of all
TypoScript modules in :t3src:`typo3/sysext/info/Configuration/Backend/Modules.php`.
linawolf marked this conversation as resolved.
Show resolved Hide resolved
62 changes: 33 additions & 29 deletions Documentation/PageTsconfig/Mod/WebTs.rst
Original file line number Diff line number Diff line change
@@ -1,48 +1,52 @@
.. include:: /Includes.rst.txt
:orphan:
.. include:: /Includes.rst.txt

======
web_ts
======

Configuration options of the "Web > Template" module.
.. versionchanged:: 12.0
The :guilabel:`Web > Template` module has been replaced by the
:guilabel:`Web > TypoScript` module. The only option in this namespace
has been removed.

.. contents::
:local:
.. contents::
:local:

.. index::
web_info.menu.function
Module menu; Template
.. _pageblindingfunctionmenuoptions-webts:
.. index::
web_info.menu.function
Module menu; Template
.. _pageblindingfunctionmenuoptions-webts:

menu.function
=============

:aspect:`Datatype`
array
.. versionchanged:: 12.0
The TSconfig option :tsconfig:`mod.web_ts.menu.function` has been removed
with TYPO3 v12.0. Use **user** TSconfig option
:ref:`options.hideModules <useroptions-hideModules>` instead.

:aspect:`Description`
Disable elements of the "Function selector" in the document header of the module. The keys for single
items can be found by browsing *System > Configuration > $GLOBALS['TBE_MODULES_EXT']*.
.. _pageblindingfunctionmenuoptions-webts-migration:

.. figure:: /Images/ManualScreenshots/Template/FunctionMenuTemplateModule.png
:alt: The function menu of the Template module
Migration from menu.function to options.hideModules
---------------------------------------------------

The function menu of the Template module
Migrate former usage of :tsconfig:`mod.web_ts.menu.function` in **page** TSconfig
to option :ref:`options.hideModules <useroptions-hideModules>`.

.. warning::
.. code-block:: typoscript
:caption: **Page** Tsconfig, for example EXT:my_extension/Configuration/page.tsconfig
linawolf marked this conversation as resolved.
Show resolved Hide resolved

Blinding Function Menu items is not hardcore access control! All it
does is hide the possibility of accessing that module functionality
from the interface. It might be possible for users to hack their way
around it and access the functionality anyways. You should use the
option of blinding elements mostly to remove otherwise distracting options.
# before
mod.web_ts.menu.function {
TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController = 0
}

:aspect:`Example`
.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
.. code-block:: typoscript
:caption: **User** Tsconfig, for example EXT:my_extension/Configuration/user.tsconfig
linawolf marked this conversation as resolved.
Show resolved Hide resolved

# Disable the item "Template Analyzer"
mod.web_ts.menu.function {
TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerModuleFunctionController = 0
}
# after
options.hideModules := addToList(web_typoscript_analyzer)

See also :ref:`setting-user-tsconfig`. You can find the names of all
TypoScript modules in :t3src:`typo3/sysext/tstemplate/Configuration/Backend/Modules.php`.
linawolf marked this conversation as resolved.
Show resolved Hide resolved
25 changes: 12 additions & 13 deletions Documentation/UsingSetting/UserTSconfig.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,27 +200,26 @@ When a page TSconfig property is set in **user** TSconfig that way, regardless
of whether it is in the TSconfig field of a
group or a user, it **overrides** the value of the according **page** TSconfig property.

To illustrate this feature let's say the action
:guilabel:`Web > Info > Localization Overview` has been disabled via Page
TSconfig:
To illustrate this feature let's say new pages and copied pages are not hidden
by default:

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig

mod.web_info.menu.function {
TYPO3\CMS\Info\Controller\TranslationStatusController = 0
}
TCAdefaults.pages.hidden = 0
TCEMAIN.table.pages.disableHideAtCopy = 1

If we activate this configuration in the TSconfig of a certain backend user, that
user would still be able to select this menu item because the value of his user TSconfig
overrides the same value set in the page TSconfig, just prefixed with
:typoscript:`page.`:
If we activate the following configuration in the TSconfig of a certain backend
linawolf marked this conversation as resolved.
Show resolved Hide resolved
user group, new and copied pages will be hidden for that group. The TSconfig to
linawolf marked this conversation as resolved.
Show resolved Hide resolved
be used is the same, but prefixed with :tsconfig:`page.`

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/user.tsconfig
:caption: EXT:site_package/Configuration/TSconfig/editors.tsconfig
linawolf marked this conversation as resolved.
Show resolved Hide resolved

page.mod.web_info.menu.function {
TYPO3\CMS\Info\Controller\TranslationStatusController = 1
// Override the settings from the page TSconfig for the editors usergroup
page {
TCAdefaults.pages.hidden = 1
TCEMAIN.table.pages.disableHideAtCopy = 0
}

.. attention::
Expand Down