[FEATURE] Add LinkService and "t3://" linking syntax 94/47094/23
authorBenni Mack <benni@typo3.org>
Sat, 5 Mar 2016 12:46:01 +0000 (13:46 +0100)
committerAndreas Fernandez <typo3@scripting-base.de>
Wed, 10 Aug 2016 07:09:42 +0000 (09:09 +0200)
commit419e8afd2813b78e203ff1e294958307d240b8e8
tree5fbf6829f26b89bbaeebfceea83af16c7fe2236c
parentf5086a682687e051c9bb31ce02278356302b2336
[FEATURE] Add LinkService and "t3://" linking syntax

A new and unified syntax to link to pages, files, folders
within a TYPO3 instance is added. All links are prefixed
with "t3://".

This patch adds a LinkService to convert from the "old"
typolink syntax to the new syntax, and also allows to add
the new syntax to typolink syntax.

The further steps are
* Don't replace the <a> tags with <links-tags inside the RTE transformations anymore
* Make the frontend lib.parseFunc_RTE deal with <a> tags directly
* Add a migration wizard for existing content

Resolves: #74365
Releases: master
Change-Id: I95a68c5770f4e4c5d9f8b3973817f1a270353217
Reviewed-on: https://review.typo3.org/47094
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Bamboo TYPO3com <info@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
33 files changed:
typo3/sysext/backend/Classes/Controller/LinkBrowserController.php
typo3/sysext/backend/Classes/Tree/View/ElementBrowserPageTreeView.php
typo3/sysext/backend/Resources/Public/JavaScript/FormEngineLinkBrowserAdapter.js
typo3/sysext/core/Classes/LinkHandling/EmailLinkHandler.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/FileLinkHandler.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/FolderLinkHandler.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/LegacyLinkNotationConverter.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/LinkHandlingInterface.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/LinkService.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/PageLinkHandler.php [new file with mode: 0644]
typo3/sysext/core/Classes/LinkHandling/UrlLinkHandler.php [new file with mode: 0644]
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Documentation/Changelog/master/Feature-74365-LinkServiceForUnifiedReferencingSyntax.rst [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/EmailLinkHandlerTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/FileLinkHandlerTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/FolderLinkHandlerTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/LegacyLinkNotationConverterTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/LinkServiceTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/PageLinkHandlerTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/LinkHandling/UrlLinkHandlerTest.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
typo3/sysext/recordlist/Classes/LinkHandler/FileLinkHandler.php
typo3/sysext/recordlist/Classes/LinkHandler/FolderLinkHandler.php
typo3/sysext/recordlist/Classes/LinkHandler/MailLinkHandler.php
typo3/sysext/recordlist/Classes/LinkHandler/PageLinkHandler.php
typo3/sysext/recordlist/Classes/LinkHandler/UrlLinkHandler.php
typo3/sysext/recordlist/Resources/Private/Templates/LinkBrowser/File.html
typo3/sysext/recordlist/Resources/Private/Templates/LinkBrowser/Folder.html
typo3/sysext/recordlist/Resources/Private/Templates/LinkBrowser/Page.html
typo3/sysext/recordlist/Resources/Public/JavaScript/FileLinkHandler.js
typo3/sysext/recordlist/Resources/Public/JavaScript/PageLinkHandler.js
typo3/sysext/rtehtmlarea/Classes/Controller/BrowseLinksController.php