We need a new way of detecting the current tree (fka content context) which is more flexible and extensible, e.g. to implement content dimensions based on sub-/top-level-/domains, user groups, the lunar phase etc.
Currently, detection of nodes in a specific context is restricted to the request path as it is for all route part handlers. But which tree (fka content context) we’re currently in may be defined by other parameters, which currently are not exposed to the
Translating a request to a tree and node should not be done by the root part handler but by a specialised service, let’s call it
NodeDetectorInterface for now (or ranger as it finds stuff related to trees. Nevermind). The node detector gets an HTTP Request handed over, can fetch additional stuff from injected services like the security context etc. and returns two things: The current tree we’re in and the node we’re currently looking at. These parameters can then be passed on to the frontend node controller or other interested service with access to the request.
And while we’re at it, we can finally evaluate special URLs in the Neos backend like https://regular-url@user-myself;language=de&market=de properly. This will come in extremely handy for domain based content dimensions as you will not have to re-login every time you switch dimension values.
I must admit I’m not into the Flow routing all that much, so it is very much possible that I’m overlooking something, so please comment on this