[TASK] Move documentation files into 9.4 folder - part 3 66/58166/7
authorAnja <aleichsenring@ab-softlab.de>
Mon, 3 Sep 2018 21:07:47 +0000 (23:07 +0200)
committerSusanne Moog <susanne.moog@typo3.org>
Tue, 4 Sep 2018 09:50:18 +0000 (11:50 +0200)
The change also contains some documentation related improvements
in some code files, where the need occured.

Change-Id: I346fd70e20bd0765ac4cc663dc7e3fd73d02651b
Resolves: #86075
Releases: master
Reviewed-on: https://review.typo3.org/58166
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
17 files changed:
typo3/sysext/core/Documentation/Changelog/8.7.x/Important-85361-EXTrte_ckeditor-Re-addTheSoftHyphenButton.rst
typo3/sysext/core/Documentation/Changelog/9.2/Important-84420-ProperlyEscapeReservedCharsInYaml.rst
typo3/sysext/core/Documentation/Changelog/9.4/Deprecation-86109-ClassUserStorageCapabilityService.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.4/Feature-44297-IntervalPresetsForCronCommandOfSchedulerTask.rst
typo3/sysext/core/Documentation/Changelog/9.4/Feature-75806-AddHreflangSupport.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.4/Feature-84525-XMLSitemap.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.4/Feature-84729-NewTCATypeSlug.rst
typo3/sysext/core/Documentation/Changelog/9.4/Feature-85236-InfixOptionToDefaultLogFileNamesForFileWriter.rst
typo3/sysext/core/Documentation/Changelog/9.4/Feature-85389-ContextAPIForConsistentDataHandling.rst
typo3/sysext/core/Documentation/Changelog/9.4/Feature-86003-AdminpanelCompositionApi.rst
typo3/sysext/core/Documentation/Changelog/9.4/Feature-86057-ImprovedTypolinkURLLinkGeneration.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/9.4/Feature-86076-NewAPIForUpgradeWizards.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Deprecation-86109-ClassUserStorageCapabilityService.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-75806-AddHreflangSupport.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-84525-XMLSitemap.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-86057-ImprovedTypolinkURLLinkGeneration.rst [deleted file]
typo3/sysext/core/Documentation/Changelog/master/Feature-86076-NewAPIForUpgradeWizards.rst [deleted file]

index 9ef2afd..0e64f3a 100644 (file)
@@ -31,7 +31,7 @@ The functionality is automatically added if you are importing
 :file:`EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml` in your custom RTE preset. If your
 custom RTE preset can't rely on that file, you can explicitly import this plugin as shown:
 
-.. code-block::
+.. code-block:: yaml
 
    editor:
      externalPlugins:
@@ -40,6 +40,7 @@ custom RTE preset can't rely on that file, you can explicitly import this plugin
          # set whether the shortcut for this plugin is activated or not
          enableShortcut: true
 
+
 How to add the button in a custom RTE preset
 ''''''''''''''''''''''''''''''''''''''''''''
 
index a59f7ab..fbd685c 100644 (file)
@@ -16,7 +16,7 @@ with the version 4 symfony YAML parser.
 
 More information can be found in the Symfony_ docs.
 
-.. _Symfony:: http://symfony.com/doc/current/components/yaml/yaml_format.html#strings
+.. _Symfony: http://symfony.com/doc/current/components/yaml/yaml_format.html#strings
 
 
 .. index:: Backend, Frontend, ext:form, ext:rte_ckeditor
diff --git a/typo3/sysext/core/Documentation/Changelog/9.4/Deprecation-86109-ClassUserStorageCapabilityService.rst b/typo3/sysext/core/Documentation/Changelog/9.4/Deprecation-86109-ClassUserStorageCapabilityService.rst
new file mode 100644 (file)
index 0000000..036e4bd
--- /dev/null
@@ -0,0 +1,35 @@
+.. include:: ../../Includes.txt
+
+========================================================
+Deprecation: #86109 - Class UserStorageCapabilityService
+========================================================
+
+See :issue:`86109`
+
+Description
+===========
+
+Class :php:`TYPO3\CMS\Core\Resource\Service\UserStorageCapabilityService` has been
+marked as deprecated and should not be used any longer.
+
+
+Impact
+======
+
+This core internal class has been switched from a `TCA` :php:`userFunc` to a
+:php:`renderType`.
+
+
+Affected Installations
+======================
+
+Extensions probably never used this internal class, however, the extension
+scanner will still find any usages.
+
+
+Migration
+=========
+
+No migration possible.
+
+.. index:: Backend, PHP-API, TCA, FullyScanned
index 904a914..e2b5aca 100644 (file)
@@ -20,6 +20,6 @@ The default presets are:
       '0 */2 * * *' =>  'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example2',
       '*/20 * * * *' =>  'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example3',
       '0 7 * * 2' =>  'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example4',
-];
+   ];
 
 .. index:: Backend, ext:scheduler
diff --git a/typo3/sysext/core/Documentation/Changelog/9.4/Feature-75806-AddHreflangSupport.rst b/typo3/sysext/core/Documentation/Changelog/9.4/Feature-75806-AddHreflangSupport.rst
new file mode 100644 (file)
index 0000000..c7f6e8a
--- /dev/null
@@ -0,0 +1,18 @@
+.. include:: ../../Includes.txt
+
+======================================
+Feature: #75806 - Add hreflang support
+======================================
+
+See :issue:`75806`
+
+Description
+===========
+
+"hreflang" tags are now added automatically for multilanguage websites based on the one-tree principle.
+
+The href is relative as long as the domain is the same. If the domain differs the href becomes absolute.
+The x-default href is the first supported language.
+The value of "hreflang" is the one set in the new sites module.
+
+.. index:: Frontend, ext:seo
diff --git a/typo3/sysext/core/Documentation/Changelog/9.4/Feature-84525-XMLSitemap.rst b/typo3/sysext/core/Documentation/Changelog/9.4/Feature-84525-XMLSitemap.rst
new file mode 100644 (file)
index 0000000..95e3763
--- /dev/null
@@ -0,0 +1,97 @@
+.. include:: ../../Includes.txt
+
+=============================
+Feature: #84525 - XML Sitemap
+=============================
+
+See :issue:`84525`
+
+Description
+===========
+
+It is now possible to generate XML sitemaps for SEO purposes without using 3rd-party plugins.
+When enabled, this new feature will create a sitemap index with one or more sitemaps in it.
+Out-of-the-box it will have one sitemap containing all the pages of the current site and
+language. Per site and per language you have the possibility to render a different sitemap.
+
+Installation
+------------
+
+The XML sitemap is disabled by default. You can easily enable it by installing the system
+extension "seo" and including the static TypoScript template "XML Sitemap (seo)". It is also
+mandatory to have a site configuration for your rootpage(s).
+
+How to access your XML sitemap
+------------------------------
+
+Until it is possible to have a default route with the new URL handling mechanism, you can access
+the sitemaps by calling https://yourdomain.com/?type=1533906435 in your browser. You will first see the sitemap
+index. By default you will see one sitemap in the index. This is the sitemap for pages.
+
+If you have multiple siteroots or multiple languages with different domains or language prefixes,
+you can just go to the domain that handles the siteroot / language. The sitemap will be based on
+the settings for that domain.
+
+XmlSitemapDataProviders
+-----------------------
+
+The rendering of sitemaps is based on XmlSitemapDataProviders. EXT:seo extension ships with two
+XmlSitemapDataProviders. The first one is the :php:`PagesXmlSitemapDataProvider`. This will generate a sitemap
+of pages based on the siteroot that is detected. You can configure if you have additional conditions
+for the selection of pages. You also have the possibility to exclude certain doktypes.
+
+.. code-block:: typoscript
+
+   plugin.tx_seo {
+      config {
+         xmlSitemap {
+            sitemaps {
+               pages {
+                  config {
+                     excludedDoktypes = 137, 138
+                     additionalWhere = AND (no_index = 0 OR no_follow = 0)
+                  }
+               }
+            }
+         }
+      }
+   }
+
+If you also have an extension installed and want a sitemap of those records, you can use the
+:php:`RecordsXmlSitemapDataProvider`. You can add for example a sitemap for news records:
+
+.. code-block:: typoscript
+
+   plugin.tx_seo {
+      config {
+         xmlSitemap {
+            sitemaps {
+               <unique key> {
+                  provider = TYPO3\CMS\Seo\XmlSitemap\RecordsXmlSitemapDataProvider
+                  config {
+                     table = news_table
+                     sortField = sorting
+                     lastModifiedField = tstamp
+                     additionalWhere = AND (no_index = 0 OR no_follow = 0)
+                     pid = <page id('s) containing news records>
+                     url {
+                        pageId = <your detail page id>
+                        fieldToParameterMap {
+                           uid = tx_extension_pi1[news]
+                        }
+                        additionalGetParameters {
+                           tx_extension_pi1.controller = News
+                           tx_extension_pi1.action = detail
+                        }
+                        useCacheHash = 1
+                     }
+                  }
+               }
+            }
+         }
+      }
+   }
+
+You can add several sitemaps and those will be added to the sitemap index automatically.
+
+.. index:: Frontend, ext:seo
index 477937c..cdbef8f 100644 (file)
@@ -29,8 +29,8 @@ If a TCA table contains a field called "slug", it needs to be filled for every e
 be shown and edited via regular Backend Forms, and is also evaluated during persistence via DataHandler.
 
 The default behaviour of a slug is as follows:
-* A slug only contains characters which are allowed within URLs. Spaces, commas and other special characters are
-  converted to a fallback character.
+
+* A slug only contains characters which are allowed within URLs. Spaces, commas and other special characters are converted to a fallback character.
 * A slug is always lower-cased.
 * A slug is unicode-aware.
 
index 8576212..2de4bf9 100644 (file)
@@ -13,8 +13,8 @@ A new option :php:`logFileInfix` for the :php:`FileWriter` has been introduced.
 This allows to set a different name for the log file that is created by the :php:`FileWriter`
 without having to define a full path to the file.
 
-The example configuration will use the log file named :file:`typo3\_special\_<hash>.log`
-for any log message stemming from a class from the :php:`\Vendor\ExtName\` namespace.
+The example configuration will use the log file named :file:`typo3\_special\_\<hash>.log`
+for any log message stemming from a class from the :php:`Vendor\ExtName` namespace.
 
 .. code-block:: php
 
index dd8e43d..6024dc1 100644 (file)
@@ -59,8 +59,7 @@ The new Context API replaces lots of places known for a very long time:
 * :php:`VisibilityAspect` replaces :php:`$GLOBALS['TSFE']->showHiddenPages` and :php:`$GLOBALS['TSFE']->showHiddenRecords`
 * :php:`WorkspaceAspect` replaces :php:`$GLOBALS['BE_USER']->workspace`
 * :php:`LanguageAspect` replaces various properties related to language Id, overlay and fallback logic, mostly within Frontend
-* :php:`UserAspect` replaces various calls and checks on :php:`$GLOBALS['BE_USER']` and :php:`$GLOBALS['TSFE']->fe_user`
-options when only some information is needed.
+* :php:`UserAspect` replaces various calls and checks on :php:`$GLOBALS['BE_USER']` and :php:`$GLOBALS['TSFE']->fe_user` options when only some information is needed.
 
 
 TYPO3 Core comes with the following Aspects within the global context:
index e638077..3e5a145 100644 (file)
@@ -35,12 +35,9 @@ is initialized and rendered.
 
 Since TYPO3 v9 TYPO3 uses PSR-15 middlewares. The adminpanel brings three that are relevant to its rendering process:
 
-- :php:`AdminPanelInitiator` - Called early in the request stack to allow initialisation of modules to catch
-most of the request data (for example log entries)
-- :php:`AdminPanelDataPersister` - Called at nearly the end of a frontend request to store the collected data
-(this is where module data gets saved)
-- :php:`AdminPanelRenderer` - Called as one of the last steps in the rendering process, currently replacing
-the closing body tag with its own code (this is where module content gets rendered)
+* :php:`AdminPanelInitiator` - Called early in the request stack to allow initialisation of modules to catch most of the request data (for example log entries)
+* :php:`AdminPanelDataPersister` - Called at nearly the end of a frontend request to store the collected data (this is where module data gets saved)
+* :php:`AdminPanelRenderer` - Called as one of the last steps in the rendering process, currently replacing the closing body tag with its own code (this is where module content gets rendered)
 
 When building own modules keep in mind at which step your modules` methods get called.
 In the last step for example (the rendering), you should not depend on any data outside of
@@ -52,10 +49,9 @@ Current Design Considerations
 While the API of the adminpanel is very flexible in combining interfaces, the UI has a fixed structure
 and therefor a few things to consider when implementing own modules.
 
-- The bottom bar of the adminpanel will only be rendered for modules that have submodules
-and implement the :php:`SubmoduleProviderInterface`
-- ShortInfo (see below) is only displayed for "TopLevel" modules
-- Content is only rendered for submodules
+* The bottom bar of the adminpanel will only be rendered for modules that have submodules and implement the :php:`SubmoduleProviderInterface`
+* ShortInfo (see below) is only displayed for "TopLevel" modules
+* Content is only rendered for submodules
 
 
 How-To add own modules
@@ -63,9 +59,9 @@ How-To add own modules
 
 Adding custom adminpanel modules always follows these steps:
 
-1. Create a class implementing the basic :php:`ModuleInterface`
-2. Register the class in :file:`ext_localconf.php`
-3. Implement further interfaces for additional capabilities
+#. Create a class implementing the basic :php:`ModuleInterface`
+#. Register the class in :file:`ext_localconf.php`
+#. Implement further interfaces for additional capabilities
 
 
 1. Create module class
@@ -177,8 +173,8 @@ Adminpanel interface to denote that a module has content to be rendered
 Methods
 +++++++
 
-- :php:`getContent(ModuleData $data)` - Return content as HTML. For modules implementing the :php:`DataProviderInterface`
-the "ModuleData" object is automatically filled with the stored data - if no data is given a "fresh" ModuleData object is injected.
+* :php:`getContent(ModuleData $data)` - Return content as HTML. For modules implementing the :php:`DataProviderInterface`
+  the "ModuleData" object is automatically filled with the stored data - if no data is given a "fresh" ModuleData object is injected.
 
 Example implementation
 ++++++++++++++++++++++
@@ -248,7 +244,7 @@ Initialize is called in the PSR-15 middleware stack through adminpanel initialis
 Methods
 +++++++
 
-- :php:`initializeModule(ServerRequestInterface $request)` - Called on adminpanel initialization
+* :php:`initializeModule(ServerRequestInterface $request)` - Called on adminpanel initialization
 
 Example implementation
 ++++++++++++++++++++++
@@ -272,17 +268,17 @@ Purpose
 Adminpanel module settings interface denotes that a module has own settings.
 
 The adminpanel knows two types of settings:
-- ModuleSettings are relevant for the module itself and its representation (for example the log module provides settings
-  where displayed log level and grouping of the module can be configured)
-- PageSettings are relevant for rendering the page (for example the preview module provides settings showing or hiding
-  hidden content elements or simulating a specific rendering time)
+* ModuleSettings are relevant for the module itself and its representation (for example the log module provides
+  settings where displayed log level and grouping of the module can be configured)
+* PageSettings are relevant for rendering the page (for example the preview module provides settings showing or
+  hiding hidden content elements or simulating a specific rendering time)
 
 If a module provides settings relevant to its own content, use this interface.
 
 Methods
 +++++++
 
-- :php:`getSettings(): string` - Return settings as rendered HTML form elements
+* :php:`getSettings(): string` - Return settings as rendered HTML form elements
 
 Example implementation
 ++++++++++++++++++++++
@@ -321,8 +317,8 @@ OnSubmitActors are currently called upon persisting new configuration _before_ t
 Methods
 +++++++
 
-- :php:`onSubmit(array $configurationToSave, ServerRequestInterface $request)` - Can act when configuration gets saved.
-Configuration form vars are provided in :php:`$configurationToSave` as an array.
+* :php:`onSubmit(array $configurationToSave, ServerRequestInterface $request)` - Can act when configuration gets saved.
+  Configuration form vars are provided in :php:`$configurationToSave` as an array.
 
 Example implementation
 ++++++++++++++++++++++
@@ -358,9 +354,9 @@ Purpose
 Adminpanel page settings interface denotes that a module has settings regarding the page rendering.
 
 The adminpanel knows two types of settings:
-- ModuleSettings are relevant for the module itself and its representation (for example the log module provides settings
+* ModuleSettings are relevant for the module itself and its representation (for example the log module provides settings
   where displayed log level and grouping of the module can be configured)
-- PageSettings are relevant for rendering the page (for example the preview module provides settings showing or hiding
+* PageSettings are relevant for rendering the page (for example the preview module provides settings showing or hiding
   hidden content elements or simulating a specific rendering time)
 
 If a module provides settings changing the rendering of the main page request, use this interface.
@@ -368,7 +364,7 @@ If a module provides settings changing the rendering of the main page request, u
 Methods
 +++++++
 
-- :php:`getSettings(): string` - Return HTML form elements for settings
+* :php:`getSettings(): string` - Return HTML form elements for settings
 
 Example implementation
 ++++++++++++++++++++++
@@ -406,8 +402,8 @@ styling and JavaScript functionality
 Methods
 +++++++
 
-- :php:`getJavaScriptFiles(): array` - Returns a string array with javascript files that will be rendered after the module
-- :php:`getCssFiles(): array` - Returns a string array with CSS files that will be rendered after the module
+* :php:`getJavaScriptFiles(): array` - Returns a string array with javascript files that will be rendered after the module
+* :php:`getCssFiles(): array` - Returns a string array with CSS files that will be rendered after the module
 
 Example implementation
 ++++++++++++++++++++++
@@ -442,8 +438,8 @@ This will likely change in v10.
 Methods
 +++++++
 
-- :php:`getShortInfo(): string` - Info string (no HTML) that should be rendered
-- :php:`getIconIdentifier(): string` - An icon for this info line, needs to be registered in :php:`IconRegistry`
+* :php:`getShortInfo(): string` - Info string (no HTML) that should be rendered
+* :php:`getIconIdentifier(): string` - An icon for this info line, needs to be registered in :php:`IconRegistry`
 
 Example implementation
 ++++++++++++++++++++++
@@ -471,19 +467,19 @@ SubmoduleProviderInterface
 Purpose
 +++++++
 
- Adminpanel interface providing hierarchical functionality for modules.
+Adminpanel interface providing hierarchical functionality for modules.
 
- A module implementing this interface may have submodules. Be aware that the current implementation of the adminpanel
- renders a maximum level of 2 for modules. If you need to render more levels, write your own module and implement
- multi-hierarchical rendering in the getContent method.
+A module implementing this interface may have submodules. Be aware that the current implementation of the adminpanel
+renders a maximum level of 2 for modules. If you need to render more levels, write your own module and implement
+multi-hierarchical rendering in the getContent method.
 
 Methods
 +++++++
 
-- :php:`setSubModules(array $subModules)` - Sets array of module instances (instances of :php:`ModuleInterface`) as submodules
-- :php:`getSubModules(): array` - Returns an array of module instances
-- :php:`hasSubmoduleSettings(): bool` - Return true if any of the submodules has settings to be rendered
-(can be used to render settings in a central place)
+* :php:`setSubModules(array $subModules)` - Sets array of module instances (instances of :php:`ModuleInterface`) as submodules
+* :php:`getSubModules(): array` - Returns an array of module instances
+* :php:`hasSubmoduleSettings(): bool` - Return true if any of the submodules has settings to be rendered
+  (can be used to render settings in a central place)
 
 Example implementation
 ++++++++++++++++++++++
diff --git a/typo3/sysext/core/Documentation/Changelog/9.4/Feature-86057-ImprovedTypolinkURLLinkGeneration.rst b/typo3/sysext/core/Documentation/Changelog/9.4/Feature-86057-ImprovedTypolinkURLLinkGeneration.rst
new file mode 100644 (file)
index 0000000..07ffb63
--- /dev/null
@@ -0,0 +1,61 @@
+.. include:: ../../Includes.txt
+
+=========================================================
+Feature: #86057 - Improved typolink / URL link generation
+=========================================================
+
+See :issue:`86057`
+
+Description
+===========
+
+With new site-based handling, the de-facto standard GET parameter "L" (for language) became
+obsolete.
+
+Instead, in order to create a link to a specific language via TypoScript's :typoscript:`typolink` functionality,
+a new parameter :typoscript:`typolink.language` is introduced.
+
+.. code-block:: typoscript
+
+    page.10 = TEXT
+    page.10.value = Link to the page with the ID in the current language
+    page.10.typolink.parameter = 23
+    page.20 = TEXT
+    page.20.value = Link to the page with the ID in the language 3
+    page.20.typolink.parameter = 23
+    page.20.typolink.language = 3
+
+Omitting the parameter :typoscript:`language` will use the current language.
+If a page is not available in the requested language, the link will not be generated,
+however a fallback to the default language can be built, as the HMENU TypoScript functionality does.
+
+Due to the new page-linking functionality, the following TypoScript settings are not necessary anymore
+and should be removed for TypoScript configurations on page trees with a site configuration:
+
+* Including the "L" parameter in :typoscript:`config.linkVars`, as the L parameter is not evaluated for
+  page requests with a site configuration.
+* :typoscript:`config.absRefPrefix` is only necessary for links to files or images, but not for
+  page links, as they are always built against the absolute path, or - if :typoscript:`typolink.forceAbsoluteUrl`
+  is explicitly set.
+  The option is set to :typoscript:`auto` by default for site configuration TypoScripts, so this is not necessary
+  anymore in regular installations.
+* One of the major strengths allows to link across sites / domains with specifically knowing
+  all available languages of a different page tree. Using the :typoscript:`config.typolinkEnableLinksAcrossDomains`
+  is not necessary anymore for TypoScript within a site configuration.
+
+
+Impact
+======
+
+When using :typoscript:`typolink.additionalParams = &L=1`, this is automatically mapped to
+the :typoscript:`typolink.language` parameter, but if both are set, the :typoscript:`typolink.language` option
+takes precedence.
+
+When generating links with `&L=` query parameters, this parameter is stripped, and the correct base
+URL for the site is fetched, and the query parameter is not added anymore.
+
+By setting the target page ID via :typoscript:`typolink.parameter` it is also possible to set the
+page ID to a localized page ID, automatically resolving to the correct language if neither
+:typoscript:`typolink.parameter` nor :typoscript:`typolink.additionalParams = L=` is set.
+
+.. index:: TypoScript, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/9.4/Feature-86076-NewAPIForUpgradeWizards.rst b/typo3/sysext/core/Documentation/Changelog/9.4/Feature-86076-NewAPIForUpgradeWizards.rst
new file mode 100644 (file)
index 0000000..c1fe020
--- /dev/null
@@ -0,0 +1,30 @@
+.. include:: ../../Includes.txt
+
+============================================
+Feature: #86076 - New API for UpgradeWizards
+============================================
+
+See :issue:`86076`
+
+Description
+===========
+
+Up until now the UpgradeWizards were based on an abstract class :php:`AbstractUpdate`.
+An interface based API has been introduced. This API is currently internal and will be refined by
+using it in the core update wizards. Once it is stabilized it will be made public and official.
+
+Currently the API contains of
+
+- :php:`UpgradeWizardInterface` - main interface for UpgradeWizards
+- :php:`RepeatableInterface` - semantic interface to denote wizards that can be repeated
+- :php:`ChattyInterface` - interface for wizards generating output
+- :php:`ConfirmableInterface` - interface for wizards that need user confirmation
+
+
+Impact
+======
+
+The new interface classes are available in the core and will be used in the core update
+wizards as a next step. They should not yet be used by third parties.
+
+.. index:: PHP-API, ext:install
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86109-ClassUserStorageCapabilityService.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-86109-ClassUserStorageCapabilityService.rst
deleted file mode 100644 (file)
index 036e4bd..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-.. include:: ../../Includes.txt
-
-========================================================
-Deprecation: #86109 - Class UserStorageCapabilityService
-========================================================
-
-See :issue:`86109`
-
-Description
-===========
-
-Class :php:`TYPO3\CMS\Core\Resource\Service\UserStorageCapabilityService` has been
-marked as deprecated and should not be used any longer.
-
-
-Impact
-======
-
-This core internal class has been switched from a `TCA` :php:`userFunc` to a
-:php:`renderType`.
-
-
-Affected Installations
-======================
-
-Extensions probably never used this internal class, however, the extension
-scanner will still find any usages.
-
-
-Migration
-=========
-
-No migration possible.
-
-.. index:: Backend, PHP-API, TCA, FullyScanned
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-75806-AddHreflangSupport.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-75806-AddHreflangSupport.rst
deleted file mode 100644 (file)
index c7f6e8a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-.. include:: ../../Includes.txt
-
-======================================
-Feature: #75806 - Add hreflang support
-======================================
-
-See :issue:`75806`
-
-Description
-===========
-
-"hreflang" tags are now added automatically for multilanguage websites based on the one-tree principle.
-
-The href is relative as long as the domain is the same. If the domain differs the href becomes absolute.
-The x-default href is the first supported language.
-The value of "hreflang" is the one set in the new sites module.
-
-.. index:: Frontend, ext:seo
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-84525-XMLSitemap.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-84525-XMLSitemap.rst
deleted file mode 100644 (file)
index 20fdb7b..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-.. include:: ../../Includes.txt
-
-=============================
-Feature: #84525 - XML Sitemap
-=============================
-
-See :issue:`84525`
-
-Description
-===========
-
-It is now possible to generate XML sitemaps for SEO purposes without using 3rd-party plugins.
-When enabled, this new feature will create a sitemapindex with one or more sitemaps in it.
-Out-of-the-box it will have one sitemap containing all the pages of the current site and
-language. Per site and per language you have the possibility to render a different sitemap.
-
-Installation
-------------
-The XML sitemap is disabled by default. You can easily enable it by installing the system
-extension "seo" and including the static TypoScript template XML Sitemap (seo). It is also
-mandatory to have a site configuration for your rootpage(s).
-
-How to access your XML sitemap
-------------------------------
-Until it is possible to have a default route with the new URL handling mechanism, you can access
-the sitemaps by going to https://yourdomain.com/?type=1533906435. You will first see the sitemap
-index. By default you will see one sitemap in the index. This is the sitemap for pages.
-
-If you have multiple siteroots or multiple languages with different domains or language prefixes,
-you can just go to the domain that handles the siteroot / language. The sitemap will be based on
-the settings for that domain.
-
-XmlSitemapDataProviders
------------------------
-The rendering of sitemaps is based on XmlSitemapDataProviders. The EXT:seo extension ships with two
-XmlSitemapDataProviders. The first one is the PagesXmlSitemapDataProvider. This will generate a sitemap
-of pages based on the siteroot that is detected. You can configure if you have additional conditions
-for the selection of pages. You also have the possibility to exclude certain doktypes.
-
-.. code-block:: typoscript
-
-   plugin.tx_seo {
-     config {
-       xmlSitemap {
-         sitemaps {
-           pages {
-             config {
-               excludedDoktypes = 137, 138
-               additionalWhere = AND (no_index = 0 OR no_follow = 0)
-             }
-           }
-         }
-       }
-     }
-   }
-
-If you also have an extension installed and want a sitemap of those records, you can use the
-RecordsXmlSitemapDataProvider. You can add for example a sitemap for news records:
-
-.. code-block:: typoscript
-
-   plugin.tx_seo {
-     config {
-       xmlSitemap {
-         sitemaps {
-            <unique key> {
-               provider = TYPO3\CMS\Seo\XmlSitemap\RecordsXmlSitemapDataProvider
-               config {
-                  table = news_table
-                  sortField = sorting
-                  lastModifiedField = tstamp
-                  additionalWhere = AND (no_index = 0 OR no_follow = 0)
-                  pid = <page id('s) containing news records>
-                  url {
-                     pageId = <your detail page id>
-                     fieldToParameterMap {
-                        uid = tx_extension_pi1[news]
-                     }
-                     additionalGetParameters {
-                        tx_extension_pi1.controller = News
-                        tx_extension_pi1.action = detail
-                     }
-                     useCacheHash = 1
-                  }
-               }
-            }
-         }
-       }
-     }
-   }
-
-You can add several sitemaps and those will be added to the sitemap index automatically.
-
-.. index:: Frontend, ext:seo
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-86057-ImprovedTypolinkURLLinkGeneration.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-86057-ImprovedTypolinkURLLinkGeneration.rst
deleted file mode 100644 (file)
index 9d71f1e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-.. include:: ../../Includes.txt
-
-=========================================================
-Feature: #86057 - Improved typolink / URL link generation
-=========================================================
-
-See :issue:`86057`
-
-Description
-===========
-
-With new site-based handling, the de-facto standard GET parameter "L" (for language) became
-superfluous.
-
-However, in order to create a link to a specific language via TypoScript's `typolink` functionality,
-a new parameter `typolink.language` is introduced.
-
-.. code-block:: typoscript
-
-       page.10 = TEXT
-       page.10.value = Link to the page with the ID in the current language
-       page.10.typolink.parameter = 23
-       page.20 = TEXT
-       page.20.value = Link to the page with the ID in the language 3
-       page.20.typolink.parameter = 23
-       page.20.typolink.language = 3
-
-Omitting the parameter `language` will use the current. If a page is not available in the requested
-language, the link will not be generated, however a fallback to the default language can be built,
-as the HMENU TypoScript functionality does.
-
-Due to the new page-linking functionality, the following TypoScript settings are not necessary anymore
-and should be removed for TypoScript configurations on pagetrees with a site configuration:
-
-* Including the "L" parameter in :typoscript:`config.linkVars`, as the L parameter is not evaluated for
-  page requests with a site configuration.
-* :typoscript:`config.absRefPrefix` is only necessary for links to files or images, but not for
-  page links, as they are always built against the absolute path, or - if `typolink.forceAbsoluteUrl`
-  is explicitly set.
-  The option is set to `auto` by default for site configuration TypoScripts, so this is not necessary
-  anymore in regular installations.
-* One of the major strengths allows to link across sites / domains with specifically knowing
-  all available languages of a different pagetree. Using the `config.typolinkEnableLinksAcrossDomains`
-  is not necessary anymore for TypoScript within a site configuration.
-
-
-Impact
-======
-
-When using :typoscript:`typolink.additionalParams = &L=1`, this is automatically mapped to
-the :typoscript:`typolink.language` parameter, but if both are set, the `typolink.language` option
-takes precedence.
-
-When generating links with `&L=` query parameters, this parameter is stripped, and the correct base
-URL for the site is fetched, but the query parameter is not added anymore.
-
-Setting the target page ID via :typoscript:`typolink.parameter` it is also possible to set the
-page ID to a localized page ID, automatically resolving to the correct language if neither
-:typoscript:`typolink.parameter` nor :typoscript:`typolink.additionalParams = L=` is set.
-
-.. index:: TypoScript, ext:frontend
\ No newline at end of file
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-86076-NewAPIForUpgradeWizards.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-86076-NewAPIForUpgradeWizards.rst
deleted file mode 100644 (file)
index 663a4f3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-.. include:: ../../Includes.txt
-
-============================================
-Feature: #86076 - New API for UpgradeWizards
-============================================
-
-See :issue:`86076`
-
-Description
-===========
-
-Up until now the UpgradeWizards were based on an abstract class `AbstractUpdate`. 
-An interface based API has been introduced. This API is currently internal and will be refined by 
-using it in the core update wizards. Once it is stabilized it will be made public and official.
-
-Currently the API contains of
-
-- `UpgradeWizardInterface` - main interface for UpgradeWizards
-- `RepeatableInterface` - semantic interface to denote wizards that can be repeated
-- `ChattyInterface` - interface for wizards generating output
-- `ConfirmableInterface` - interface for wizards that need user confirmation
-
-
-Impact
-======
-
-The new interface classes are available in the core and will be used in the core update 
-wizards as a next step. They should not yet be used by third parties.
-
-.. index:: PHP-API, ext:install
\ No newline at end of file