Epic #84730

Epic #84726: Initiative: URL Routing Integration / Site Handling

Configuration of resolving and building slugs

Added by Benni Mack over 1 year ago. Updated 11 months ago.

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

0%

Sprint Focus:

Description

Some ideas:

SiteConfigurationTCA allows to have multiple routers, you configure the routers PLUS the order of the routers

SiteRouter
- Resolves a route with a site + sitelanguage?
- Can then resolve further routes, but also based on the found language (yes!!!)

SlugRouter
- table (all TCA tables with slug types)
- field with type=slug
- Continue to resolve if something was found?
- if() condition (ExpressionLanguage?) if it should be used?

VariableRouter
- (like preVars/postVars)
- if() condition so it only applies if a page with ID123 was resolved first?

PluginRouter?
- Define the plugin, define allowed variables?
- Define a "keyword" (like /news/) like "postVars"

RouterInterface
-> resolveUriPart($request, $uriPart)?
-> canResolveUriPart?
-> setExistingConfiguration?
-> createUriPart (for building URLs, called within the PageUriBuilder)

Do we need a "route" object? and a routeCollection object? Could be useful.

Questions to discuss:
- Do wild setups with preVars for typeNum/no_cache
- Should we introduce a "PluginRouter" for all extbase / pibase shissle? Define allowed GET variables there? Would be awesome.
- Changing slugs: how should we allow that? Validation / duplication? Move old URLs to redirects extension? Should we ask that or not?
- Register the Routers and their configuration options somehow in FormEngine/SiteConfigurationTCA? How can we ensure that it's easy to configure a default site out-of-the-box?
- How can we make Routers more flexible to introduce a RestRouter?
- Should we make some magic to also handle GET/POST requests?

History

#1 Updated by Benni Mack about 1 year ago

  • Target version changed from 9.3 to 9.4

#2 Updated by Benni Mack 12 months ago

  • Parent task changed from #84728 to #84726

#3 Updated by Susanne Moog 12 months ago

  • Target version changed from 9.4 to 9 LTS

#4 Updated by Susanne Moog 12 months ago

  • Status changed from New to Accepted

#5 Updated by Benni Mack 11 months ago

  • Status changed from Accepted to Closed

Also available in: Atom PDF