Skip to content
Snippets Groups Projects
Commit 5905c0af authored by Anja Leichsenring's avatar Anja Leichsenring Committed by Benni Mack
Browse files

[TASK] Review changelog files for release 9.5.14

Resolves: #90391
Releases: master, 9.5
Change-Id: I8c69e206c175d3a230157a4ad3593365e05f2690
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63268


Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: default avatarDaniel Goerz <daniel.goerz@posteo.de>
Tested-by: default avatarBjörn Jacob <bjoern.jacob@tritum.de>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarDaniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: default avatarBjörn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
parent 4e134826
Branches
Tags
No related merge requests found
Showing with 42 additions and 22 deletions
...@@ -35,6 +35,4 @@ You need to "overwrite" the option to set `PDO::ATTR_EMULATE_PREPARES` ...@@ -35,6 +35,4 @@ You need to "overwrite" the option to set `PDO::ATTR_EMULATE_PREPARES`
], ],
], ],
.. Please keep in mind to update the rst file in 9.5.x.
.. index:: Database, ext:core .. index:: Database, ext:core
...@@ -170,7 +170,7 @@ The following functions are available in **any** context: ...@@ -170,7 +170,7 @@ The following functions are available in **any** context:
| traverse | Array and String | This function has two parameters: | | traverse | Array and String | This function has two parameters: |
| | | - first parameter is the array to traverse | | | | - first parameter is the array to traverse |
| | | - second parameter is the path to traverse | | | | - second parameter is the path to traverse |
| | | Syntax: <array-key>[/<array-key>]* | | | | Syntax: <array-key>[/<array-key>]* |
| | | Example: `[traverse(request.getQueryParams(), 'tx_news_pi/news') > 0]` | | | | Example: `[traverse(request.getQueryParams(), 'tx_news_pi/news') > 0]` |
+------------------------+-----------------------+-------------------------------------------------------------------------+ +------------------------+-----------------------+-------------------------------------------------------------------------+
| ip | String | Value or Constraint, Wildcard or RegExp possible | | ip | String | Value or Constraint, Wildcard or RegExp possible |
......
...@@ -12,23 +12,42 @@ Description ...@@ -12,23 +12,42 @@ Description
MountPoints allow TYPO3 editors to mount a page (and its subpages) from a different area of the site in the current page tree. MountPoints allow TYPO3 editors to mount a page (and its subpages) from a different area of the site in the current page tree.
The definitions are as follows: The definitions are as follows:
- MountPoint Page: A page with doktype=7 - a page pointing to a different page ("web mount") that should act as replacement for this page and possible descendants. - MountPoint Page: A page with doktype=7 - a page pointing to a different page ("web mount")
that should act as replacement for this page and possible descendants.
- Mounted Page a.k.a. "Mount Target": A regular page containing content and subpages. - Mounted Page a.k.a. "Mount Target": A regular page containing content and subpages.
The idea behind it is to manage content only once and "link" / "mount" to a tree to be used multiple times - while keeping the website visitor under the impression to actually navigate just a regular subpage. There are concerns regarding SEO for having duplicate content, but TYPO3 can be used for more than just simple websites, as Mount Points are an important tool for heavy multi-site installations or Intranet/Extranet installations. The idea behind it is to manage content only once and "link" / "mount" to a tree to be used
multiple times - while keeping the website visitor under the impression to actually
navigate just a regular subpage. There are concerns regarding SEO for having duplicate content,
but TYPO3 can be used for more than just simple websites, as Mount Points are an important tool
for heavy multi-site installations or Intranet/Extranet installations.
A MountPoint Page has the option to either display the content of the MountPoint Page itself, or the content of the target page, when visiting this page. A MountPoint Page has the option to either display the content of the MountPoint Page itself,
or the content of the target page, when visiting this page.
Linking to a subpage will result in adding "MP" GET Parameters, and altering the root line (tree structure) of visiting the website, as the "MP" is containing the context. The MP parameter found throughout TYPO3 Core contains the ID of the Mounted Page and the ID of the MountPoint Page - e.g. "13-23" whereas 13 would be the Mounted Page and 23 the MountPoint Page (doktype=7). Linking to a subpage will result in adding "MP" GET Parameters, and altering the root line (tree structure)
of visiting the website, as the "MP" is containing the context. The MP parameter found throughout TYPO3 Core
contains the ID of the Mounted Page and the ID of the MountPoint Page - e.g. "13-23" whereas 13 would be
the Mounted Page and 23 the MountPoint Page (doktype=7).
Recursive mount points are added to the "MP" parameter with ",", like "13-23,84-26". Recursive mount points are defined as follows: A Mounted Page could have a subpage which in turn have a subpage which is again a MountPoint Page again. Recursive mount points are added to the "MP" parameter with ",", like "13-23,84-26".
Recursive mount points are defined as follows: A Mounted Page could have a subpage which in turn
has a subpage which is again a MountPoint Page.
MountPoint support is now added in TYPO3 v9 with Site Handling and slug handling. Due to TYPO3's principles of slug handling where a page only contains one single slug containing the URL path, and not various slugs for different places where it might be used, TYPO3 will work by combining the slug of the MountPoint Page and a smaller part of the Mounted Page or subpages of the Mounted Page, which will be added to the URL string - removing the necessity to actually deal with the query parameter `MP` which will never be added again, as it is part of the URL path now. MountPoint support is now added in TYPO3 v9 with Site Handling and slug handling.
Due to TYPO3's principles of slug handling where a page only contains one single slug
containing the URL path, and not various slugs for different places where it might be used,
TYPO3 will work by combining the slug of the MountPoint Page and a smaller part of the Mounted Page
or subpages of the Mounted Page, which will be added to the URL string - removing the necessity to actually
deal with the query parameter `MP` which will never be added again, as it is part of the URL path now.
Using MountPoint functionality on a website plays an important role for menus as this is the only way to actually link to the subpages in a MountPoint context. Using MountPoint functionality on a website plays an important role for menus as this is the
only way to actually link to the subpages in a MountPoint context.
.. Multi-Site support Multi-Site support:
The context for cross-domain sites is also kept, ensuring that the user will never notice that content might be coming from a completely different site / pagetree within TYPO3.
The context for cross-domain sites is also kept, ensuring that the user will never notice that content
might be coming from a completely different site / pagetree within TYPO3.
Creating links for multi-site support is the same as if a Mounted Page is on the same site. Creating links for multi-site support is the same as if a Mounted Page is on the same site.
...@@ -41,7 +60,9 @@ Limitations: ...@@ -41,7 +60,9 @@ Limitations:
Please be aware that multi-language setups are supported in general, but this would only fit if both sites support the same language IDs. Please be aware that multi-language setups are supported in general, but this would only fit if both sites support the same language IDs.
2. Slug uniqueness when using Multi-Site setups cannot be ensured 2. Slug uniqueness when using Multi-Site setups cannot be ensured
If a MountPoint Page has the slug "/more", mounting a page with "/imprint" subpage, but the MountPoint Page has a regular sibling page with "/more/imprint" a collision cannot be detected, whereas the non-mounted page would always work and a subpage of a Mounted Page would never be reached. If a MountPoint Page has the slug "/more", mounting a page with "/imprint" subpage, but the MountPoint Page
has a regular sibling page with "/more/imprint" a collision cannot be detected, whereas the non-mounted page
would always work and a subpage of a Mounted Page would never be reached.
For the sake of completeness, please consider the TYPO3 documentation on the following TypoScript properties related to mount points: For the sake of completeness, please consider the TYPO3 documentation on the following TypoScript properties related to mount points:
......
...@@ -23,7 +23,7 @@ This property supersedes the previous :typoscript:`config.htmlTag_setParams` opt ...@@ -23,7 +23,7 @@ This property supersedes the previous :typoscript:`config.htmlTag_setParams` opt
Examples: Examples:
- :typoscript:`config.htmlTag.attributes.class = no-js` :typoscript:`config.htmlTag.attributes.class = no-js`
Will result in :html:`<html lang="fr" class="no-js">`. Will result in :html:`<html lang="fr" class="no-js">`.
...@@ -41,4 +41,4 @@ Impact ...@@ -41,4 +41,4 @@ Impact
If the TypoScript option :typoscript:`config.htmlTag.attributes` is used, then :typoscript:`config.htmlTag_setParams` has no effect anymore. If the TypoScript option :typoscript:`config.htmlTag.attributes` is used, then :typoscript:`config.htmlTag_setParams` has no effect anymore.
.. index:: TypoScript, ext:frontend .. index:: TypoScript, ext:frontend
\ No newline at end of file
...@@ -17,14 +17,16 @@ Hooks can be registered via ...@@ -17,14 +17,16 @@ Hooks can be registered via
$GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['generatorOptions']['postModifiers'][] = My\Class::class . '->method'; $GLOBALS['TCA'][$tableName]['columns'][$fieldName]['config']['generatorOptions']['postModifiers'][] = My\Class::class . '->method';
in :file:`EXT:myextension/Configuration/TCA/Overrides/table.php`, where $tableName can be a table like `pages` and in :file:`EXT:myextension/Configuration/TCA/Overrides/$tableName.php`, where $tableName can be a table like `pages` and
`$fieldName` matches the slug field name, e.g. `slug`. `$fieldName` matches the slug field name, e.g. `slug`.
Example:
.. code-block:: php .. code-block:: php
$GLOBALS['TCA']['pages']['columns']['slug']['config']['generatorOptions']['postModifiers'][] = My\Class::class . '->modifySlug'; $GLOBALS['TCA']['pages']['columns']['slug']['config']['generatorOptions']['postModifiers'][] = My\Class::class . '->modifySlug';
The method then receives an parameter array with the following values: The method then receives a parameter array with the following values:
.. code-block:: php .. code-block:: php
......
...@@ -9,16 +9,16 @@ See :issue:`84985` ...@@ -9,16 +9,16 @@ See :issue:`84985`
Description Description
=========== ===========
A new `WorkspaceRestriction` is added to overcome certain downsides of the existing A new :php:`WorkspaceRestriction` is added to overcome certain downsides of the existing
`FrontendWorkspaceRestriction` and `BackendWorkspaceRestriction`. The new workspace restriction :php:`FrontendWorkspaceRestriction` and :php:`BackendWorkspaceRestriction`. The new workspace restriction
limits a SQL query to only select records which are "online" (pid != -1) and in live or current limits a SQL query to only select records which are "online" (pid != -1) and in live or current
workspace. workspace.
As an important note and limitation of any workspace-related restrictions, fetching the exact As an important note and limitation of any workspace-related restrictions, fetching the exact
records need to be handled after the SQL results are fetched, by overlaying the records with records need to be handled after the SQL results are fetched, by overlaying the records with
:php:`BackendUtility::getRecordWSOL()`, :php:`PageRepository->versionOL()` or `PlainDataResolver`. :php:`BackendUtility::getRecordWSOL()`, :php:`PageRepository->versionOL()` or :php:`PlainDataResolver`.
For now, the WorkspaceRestriction must be used explicitly in various contexts and is not applied For now, the :php:`WorkspaceRestriction` must be used explicitly in various contexts and is not applied
automatically. automatically.
.. index:: Database, PHP-API .. index:: Database, PHP-API
...@@ -35,6 +35,5 @@ You need to "overwrite" the option to set `PDO::ATTR_EMULATE_PREPARES` ...@@ -35,6 +35,5 @@ You need to "overwrite" the option to set `PDO::ATTR_EMULATE_PREPARES`
], ],
], ],
.. Please keep in mind to update the rst file in 10.2.
.. index:: Database, ext:core .. index:: Database, ext:core
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment