Task #86365

Story #86171: Basic implementation of Route Enhancers for Extensions

Introduce routing Enhancers and Aspects

Added by Oliver Hader 12 months ago. Updated 12 months ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
Start date:
2018-09-25
Due date:
% Done:

100%

TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Sprint Focus:

Description

Page-base routing is extended by Enhancers and Aspects in order to either generate URLs based on given parameters for a specific route definition or resolve parameters from a collection of possible routes that are matching.

Enhancers create variants of a specific page-base route for a specific purpose (e.g. one plugin, one Extbase plugin, one typeNum, ...) and enhance their route definition, requirements, default values and aspects in general.
Aspects can be Modifiers that statically modify an enhance route path for the current scenario (e.g. locale-based modifications for static name parts) - Aspects also can be Mappers that define mapping rules between routing parameters and system-internal parameters such as static values or database-table based transformations.

Associated revisions

Revision 4844fae6 (diff)
Added by Benni Mack 12 months ago

[FEATURE] Introduce RouteEnhancers for Page-based Routing

Page-based routing can now be configured within a site
configuration to add so-called "route enhancers" which
allow to add more placeholders to a route for a page.

There are three Enhancers that TYPO3 now ships with:
- SimpleEnhancer
- PluginEnhancer
- ExtbasePluginEnhancer

It is also possible to add custom enhancers by third-
party extensions.

Each placeholder within an enhancer can receive a
so-called "Aspect", usually used for mapping speaking
values instead of IDs, or month-names in an archive
link, and "modifiers" to modify a placeholder.

The simple enhancer transfers a link parameter,
previously maybe used to add a `&product=123`,
which will now result into `/product/123` for a
page. PluginEnhancer adds a namespace, common
for simple plugins or Pi-Based plugins, and
the ExtbasePluginEnhancer adds logic for multiple
route variants to be added, depending on the
controller/action combinations.

Aspects are processors / modifiers / mappers to
transfer a placeholder value back & forth to
make each placeholder value more "speaking".

TYPO3 Core ships with the following aspects:
  • LocaleModifier (for localized path segments)
  • StaticValueMapper (for path segments with a static list)
  • StaticRangeMapper (for pagination)
  • PersistedAliasMapper (for slug fields)
  • PersistedPatternMapper (for database records without slug fields)

Routing now returns a so-called "PageArguments" object
which is then used for evaluating site-based URL
handling and the cHash calculation.

It is highly discouraged to access _GET or _POST
variables within any kind of code now, instead
the PSR-7 request object should be used as much
as possible.

Releases: master
Resolves: #86365
Change-Id: I77e001a5790f1ab3bce75695ef0e1615411e2bd9
Reviewed-on: https://review.typo3.org/58384
Tested-by: TYPO3com <>
Reviewed-by: Susanne Moog <>
Tested-by: Susanne Moog <>
Reviewed-by: Oliver Hader <>
Tested-by: Oliver Hader <>

Revision e277b8ba (diff)
Added by Daniel Siepmann 12 months ago

[TASK] Adjust rst syntax for proper yaml highlighting

Define default highlighting for 86365 changelog entry to be yaml. Adjust
all yaml occurrences within this entry to use default highlighting.

Releases: master
Resolves: #86365
Change-Id: I9063311830330d55ae051c8a0d38da78a2a91831
Reviewed-on: https://review.typo3.org/58514
Reviewed-by: Susanne Moog <>
Tested-by: TYPO3com <>
Tested-by: Susanne Moog <>
Reviewed-by: Christian Kuhn <>
Tested-by: Christian Kuhn <>

Revision 0625b67a (diff)
Added by Daniel Siepmann 12 months ago

[TASK] Improve changelog docs

  • Fix wrong indentation level in example.
  • Adjust sorting of paragraphs for explanation to match order of
    configuration options in example above.
  • Keep example consistent. Remove single quotes around two keys in a
    single line, not used in other lines.
  • Add syntax highlighting to SiteConfiguration syntax for environment
    variables.

Releases: master
Resolves: #86365, #86409
Change-Id: Ic7923bf7a3215f86637d3a8e20776f74666daf3f
Reviewed-on: https://review.typo3.org/58551
Reviewed-by: Wouter Wolters <>
Tested-by: Wouter Wolters <>
Reviewed-by: Georg Ringer <>
Tested-by: Georg Ringer <>

History

#1 Updated by Gerrit Code Review 12 months ago

  • Status changed from New to Under Review

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#2 Updated by Gerrit Code Review 12 months ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#3 Updated by Gerrit Code Review 12 months ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#4 Updated by Gerrit Code Review 12 months ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#5 Updated by Gerrit Code Review 12 months ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#6 Updated by Gerrit Code Review 12 months ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#7 Updated by Gerrit Code Review 12 months ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#8 Updated by Gerrit Code Review 12 months ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#9 Updated by Gerrit Code Review 12 months ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#10 Updated by Gerrit Code Review 12 months ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#11 Updated by Gerrit Code Review 12 months ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#12 Updated by Gerrit Code Review 12 months ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#13 Updated by Gerrit Code Review 12 months ago

Patch set 14 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#14 Updated by Gerrit Code Review 12 months ago

Patch set 15 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#15 Updated by Gerrit Code Review 12 months ago

Patch set 16 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#16 Updated by Gerrit Code Review 12 months ago

Patch set 17 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#17 Updated by Gerrit Code Review 12 months ago

Patch set 18 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#18 Updated by Gerrit Code Review 12 months ago

Patch set 19 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#19 Updated by Gerrit Code Review 12 months ago

Patch set 20 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#20 Updated by Gerrit Code Review 12 months ago

Patch set 21 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#21 Updated by Gerrit Code Review 12 months ago

Patch set 22 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#22 Updated by Gerrit Code Review 12 months ago

Patch set 23 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#23 Updated by Gerrit Code Review 12 months ago

Patch set 24 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#24 Updated by Gerrit Code Review 12 months ago

Patch set 25 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#25 Updated by Gerrit Code Review 12 months ago

Patch set 26 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#26 Updated by Gerrit Code Review 12 months ago

Patch set 27 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#27 Updated by Gerrit Code Review 12 months ago

Patch set 28 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#28 Updated by Gerrit Code Review 12 months ago

Patch set 29 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#29 Updated by Gerrit Code Review 12 months ago

Patch set 30 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#30 Updated by Gerrit Code Review 12 months ago

Patch set 31 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#31 Updated by Gerrit Code Review 12 months ago

Patch set 32 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#32 Updated by Gerrit Code Review 12 months ago

Patch set 33 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#33 Updated by Gerrit Code Review 12 months ago

Patch set 34 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#34 Updated by Gerrit Code Review 12 months ago

Patch set 35 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#35 Updated by Gerrit Code Review 12 months ago

Patch set 36 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#36 Updated by Gerrit Code Review 12 months ago

Patch set 37 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#37 Updated by Gerrit Code Review 12 months ago

Patch set 38 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#38 Updated by Gerrit Code Review 12 months ago

Patch set 39 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#39 Updated by Gerrit Code Review 12 months ago

Patch set 40 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#40 Updated by Gerrit Code Review 12 months ago

Patch set 41 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#41 Updated by Gerrit Code Review 12 months ago

Patch set 42 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#42 Updated by Gerrit Code Review 12 months ago

Patch set 43 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#43 Updated by Gerrit Code Review 12 months ago

Patch set 44 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#44 Updated by Gerrit Code Review 12 months ago

Patch set 45 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#45 Updated by Gerrit Code Review 12 months ago

Patch set 46 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#46 Updated by Gerrit Code Review 12 months ago

Patch set 47 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#47 Updated by Gerrit Code Review 12 months ago

Patch set 48 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#48 Updated by Gerrit Code Review 12 months ago

Patch set 49 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#49 Updated by Gerrit Code Review 12 months ago

Patch set 50 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#50 Updated by Gerrit Code Review 12 months ago

Patch set 51 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#51 Updated by Gerrit Code Review 12 months ago

Patch set 52 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#52 Updated by Gerrit Code Review 12 months ago

Patch set 53 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#53 Updated by Gerrit Code Review 12 months ago

Patch set 54 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#54 Updated by Gerrit Code Review 12 months ago

Patch set 55 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#55 Updated by Gerrit Code Review 12 months ago

Patch set 56 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#56 Updated by Gerrit Code Review 12 months ago

Patch set 57 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#57 Updated by Gerrit Code Review 12 months ago

Patch set 58 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#58 Updated by Gerrit Code Review 12 months ago

Patch set 59 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#59 Updated by Gerrit Code Review 12 months ago

Patch set 60 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#60 Updated by Gerrit Code Review 12 months ago

Patch set 61 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#61 Updated by Gerrit Code Review 12 months ago

Patch set 62 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#62 Updated by Gerrit Code Review 12 months ago

Patch set 63 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#63 Updated by Gerrit Code Review 12 months ago

Patch set 64 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#64 Updated by Gerrit Code Review 12 months ago

Patch set 65 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#65 Updated by Gerrit Code Review 12 months ago

Patch set 66 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#66 Updated by Gerrit Code Review 12 months ago

Patch set 67 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#67 Updated by Gerrit Code Review 12 months ago

Patch set 68 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#68 Updated by Gerrit Code Review 12 months ago

Patch set 69 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#69 Updated by Gerrit Code Review 12 months ago

Patch set 70 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#70 Updated by Gerrit Code Review 12 months ago

Patch set 71 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58384

#71 Updated by Benni Mack 12 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#72 Updated by Gerrit Code Review 12 months ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58514

#73 Updated by Daniel Siepmann 12 months ago

  • Status changed from Under Review to Resolved

#74 Updated by Gerrit Code Review 12 months ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58551

#75 Updated by Daniel Siepmann 12 months ago

  • Status changed from Under Review to Resolved

#76 Updated by Benni Mack 12 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF