.. include:: /Includes.rst.txt .. _breaking-107537-1760339938: ================================================================= Breaking: #107537 - Changes in URL generation of system resources ================================================================= See :issue:`107537` Description =========== The following changes are considered breaking, although their impact is expected to be very low. * TypoScript getData function :typoscript:`path` previously returned a relative URL and now returns an absolute URL (prepended with :typoscript:`absRefPrefix`). * Access to FAL storages via relative path (`fileadmin/templates/main.css`) is limited to the default storage defined in :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir']`. * All generated system resource URLs now include cache busting. * Adding custom query strings to resource identifiers no longer disables cache busting — both are now applied. .. _breaking-107537-gettext-path: getText "path" in TypoScript ---------------------------- .. code-block:: typoscript :caption: EXT:my_extension/Configuration/TypoScript/setup.typoscript :emphasize-lines: 3 page.20 = TEXT page.20 { data = path : EXT:core/Resources/Public/Icons/Extension.svg } .. code-block:: text :caption: Result (TYPO3 classic mode – note the leading "/") "path" result before: typo3/sysext/core/Resources/Public/Icons/Extension.svg "path" result now: /typo3/sysext/core/Resources/Public/Icons/Extension.svg .. code-block:: text :caption: Result (TYPO3 Composer mode – note the leading "/") "path" result before: _assets/5f237792cbcdc97cfceade1e16ea33d7/Icons/Extension.svg "path" result now: /_assets/5f237792cbcdc97cfceade1e16ea33d7/Icons/Extension.svg .. _breaking-107537-relative-fal-resource: Relative path to FAL Storage ---------------------------- Referencing resources via relative path does only work for the default FAL storage defined in :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir']`. This means if you have other local FAL storages configured, you need to use the FAL resource syntax (e.g. `FAL:42:/path/to/file.css`) to reference files in such storage instead of using relative paths (e.g. `my-other-fileadmin/path/to/file.css`). It is generally recommended to use explicit resource identifiers (App resources or FAL resources), instead of relative paths. .. _breaking-107537-cachebusting: All generated URLs now contain cache busting -------------------------------------------- All generated resource URLs now include cache busting. For example, icon URLs that previously had no cache busting will now contain a cache-busting query string. .. _breaking-107537-querystrings: Additional query strings applied to the resource identifier ----------------------------------------------------------- When adding custom query strings to resource identifiers, TYPO3 previously disabled cache busting. Now, both the custom query string and the cache-busting parameter are applied. If custom query strings were used as manual cache busters, you can now remove them safely. .. code-block:: typoscript :caption: EXT:my_extension/Configuration/TypoScript/setup.typoscript :emphasize-lines: 3 page.20 = TEXT page.20 { data = asset : EXT:core/Resources/Public/Icons/Extension.svg?v=1234 } .. code-block:: text :caption: Result result before: /typo3/sysext/core/Resources/Public/Icons/Extension.svg?v=1234 result now: /typo3/sysext/core/Resources/Public/Icons/Extension.svg?v=1234&1709051481 Impact ====== .. _breaking-107537-impact-gettext-path: getText "path" in TypoScript ---------------------------- All usages of :typoscript:`path` in TypoScript :typoscript:`data` now resolve to absolute URLs instead of relative ones. .. _breaking-107537-impact-relative-fal-resource: Relative path to FAL Storage ---------------------------- In installations referencing resources in additional local FAL storages using a relative path syntax, an exception is thrown. .. _breaking-107537-impact-cachebusting: All generated URLs now contain cache busting -------------------------------------------- Generated URLs differ slightly from previous TYPO3 versions, especially when cache busting was not applied before. .. _breaking-107537-impact-querystrings: Additional query strings applied to the resource identifier ----------------------------------------------------------- URLs now include both the original query string and the cache-busting parameter, resulting in different output compared to earlier TYPO3 versions. Affected installations ====================== .. _breaking-107537-affected-gettext-path: getText "path" in TypoScript ---------------------------- All installations using :typoscript:`path` in TypoScript :typoscript:`data`. .. _breaking-107537-affected-relative-fal-resource: Relative path to FAL Storage ---------------------------- All installations referencing resources in additional local FAL storages using a relative path syntax (e.g. `my-other-fileadmin/path/to/file.css`). .. _breaking-107537-affected-cachebusting: All generated URLs now contain cache busting -------------------------------------------- All installations having third party code, that misuses generated URLs to assume file system paths from them. .. _breaking-107537-affected-querystrings: Additional query strings applied to the resource identifier ----------------------------------------------------------- All installations using resource identifiers with custom query strings, for example: `EXT:foo/Resources/Public/rte.css?v=123` Migration ========= Relative path to FAL Storage ---------------------------- Either convert the relative path to a FAL resource like so: `FAL:1:/path/to/file.css` Alternatively it is possible to convert it to a resource URI: `URI:/my-other-fileadmin/path/to/file.css` The first will add cache busting, the latter will use the URI as is. .. index:: Frontend, NotScanned, ext:frontend