[TYPO3-core] [Poll[ Integrate Speaking URLs in to TYPO3 CMS7

Alexander Schnitzler typo3 at alexanderschnitzler.de
Mon Mar 16 11:25:06 CET 2015


Now the long version:
Some month ago I brought up this routing topic in personal discussions on the TYPO3Camp Rhein Ruhr in Essen. The result of this discussion was a general got for integrating more 3rd party components into TYPO3 CMS and therefore I felt free to dig into the symfony routing component and how to put that into the core.

As Christian already said, this cannot be easily done without tackling the very core parts of TYPO3 and therefore needs a real strategy and not just a strong wish for rainbow puking unicorn features. The symfony routing relies on the HTTP core component, a really sophisticated peace of modern PHP software, that forces us to rewrite the frontend rendering process to rely on symfony's Request/Response model first.

Next: The routing component itself doesn't provide dynamic url's. Means, one can only route dedicated routes to specific controllers. Fortunately there's another symfony routing component that provides dynamic routing. It has been built for the symfony cmf (content management framework), which, just btw., has the same content management approach like Neos, so it relies on a content repository and therefore on nodes and so on. Anyway, integrating this component into the core means all the work Christian already mentioned. Tackling typolink, the BE|FE constant issues attached to it, cHash, redirects, coupling this logic with the form engine and so on. Additionaly it would make sense to make /typo3 a route, and remove this folder/symlink completely. So there is even more work to rewrite the backend routing.

But besides this, imo the most interesting issue is, how to combine this new routing properly with Extbase because this is currently the most painful experience when it comes to real url. Configuring the extension according to the controller/action params. Extbase is a micro framework in a cms and the more we integrate proper framework logic in/besides the CMS layer, the more we need to remove framework logic from Extbase.

Now a very personal statement:
Facing all these issues I can only insist, again, in not having releases, determined by dates but by feature completion. I know the desire of clients to have dates but if TYPO3 CMS wants to stay one of many CMS players and maybe even outside it's home country of Germany, it must change. And as this world doesn't stop spinning, PHP7 is around the corner and the whole product development gets faster, TYPO3 must adjust. Whoever believes that TYPO3 with a core codebase of 1997 will be part of the CMS play in 2020, can only be called naive. It's good to see that this knowledge already led to consequences and to a rebuilt of the backend. And not just applying new frontend frameworks, but untangling the mixture of PHP/HTML/JS. This was overdue and needed to keep pace.

So, there is an urgent need for a proper code base deep under the hood to cope with the very basic issues that lead to this stupid discussion of realurl should be a core extension or not. Routing is part of each and every framework, so for sure a solution for speakable url's must be part of the core. To be more precise, it must be the responsibility of the core. How code is shipped nowadays doesn't matter at all and please don't pretend that these few more bytes hurt anybody.

So, until there is a real solution, finally move the responsibility away from Dmitry and to the core team. Don't get me wrong. I am thankful for Dmitrys contribution. He really is admirable for keeping this extension up to date for years, so kudos! But, we need to face the reality, that if you guys want people to use the latest version of CMS, we need routing available, from day one on. It's really simple as that. I you like to keep telling your clients that you have to wait until a single person in this world has the time to make an extension compatible, please fork CMS and take that shit chat with you. I like to work like a professional, with a CMS for professionals. If that's not possible and the majority of this very community likes to fight over stupid trivia, then, let me say goodbye and good luck.

More information about the TYPO3-team-core mailing list