So now we have no shipped preferentially treated extensions and we lack some way of distributing these. We already have TER and it works wonderfully (but could use a performance checkup). But what TER doesn't have is an official way to indicate that an extension is worth while; a favourite of the community proven to add value. Twitter has the "verified" badge, Apple's App store has the "Featured Apps". TER has a download count and graph which by the way lacks a time scale.
Why don't we introduce a "recommended" and/or "official" flag on TER? Allow such extensions to be listed specially. Raise them as top priority for suggestions. Ship the core extensions from our Swiss army knife as "official" extensions. And let the community decide which ones will get that distinction; not some arbitrary number hits from an Apache log (sincerely, no offence! I realise exactly why the solution is the way it is and I respect it! I only wish to make it better).
There's another perspective here. It's almost a tradition in TYPO3 that if XYZ does not fit our exact intention, we go ahead and roll our own. If we got around this and were able to pipe efforts into improving existing solutions I am certain we could all benefit. The examples are plenty. I don't mean to appear arrogant or hipster about this, but again: in my experience FluidTYPO3 and before that, FED, were first movers - later on joined by other alternatives like Gridelements and DCE (the former of which is at least planning to adopt the principles of Flux). This is nothing personal against those projects or their teams but they're solving the same problem already solved by FluidTYPO3. But they all make the same mistake of not relying on convention-over-configuration and not fully utilising the powers given to us through Extbase. If these efforts had gone in one direction instead, imagine where we could have been now?
So the second perspective is: having a way to selectively recommend extensions might encourage the pooling of efforts into those extensions. I hope FluidTYPO3 to be among those selectively recommended, but that's up to the community. But I digress into meta - ever so slightly.
(taken from https://fluidtypo3.org/blog/news/open-letter-call-for-conventions.html)
This may be a personal flaw of mine, but I am starting to take a bit of offence here - feeling misrepresented.
Before Flux was called Flux, it was called
fed
. This one existed in early May 2011 and before that on git, and before that some of the code related to metadata in templates was inwildside_extbase
. So it is not correct that there was no solution to use when gridelements was created. FED was officially released to TER in May 2011. Gridelements came around in September 2011. In the case of DCE, that came around in 2012. True, the first iteration of child content support in FED wasn't exactly top notch, but part of the reason for that is that nobody pushed for it to change - they just created their own. Like the chronology demonstrates. You can state many reasons for not using Flux (when it was called FED) but chronology and "no prior art" are not valid reasons here.At the time FED received its nested content feature, the only existing solution of noteriety was TemplaVoila and you may or may not be aware, but I did ask about and offered to assist with Fluid support for TV before I considered rolling my own.
I'm saying it mainly because they didn't follow the core's Extbase approach with Views and Controllers and it is the lack of respect for these patterns that are the main problem, causing our solutions to be grossly incompatible. Convention over configuration is not my idea. I am simply adhering to the ideas about convention that come from the core via Extbase/Fluid.
To be fair: DCE is currently using controllers which is great. It is nicely prepared and integrated; Views replaceable, can be rendered with sub-request dispatching, supports signals, avoiding all XCLASS etc. - definitely heading in the right direction there.
You need to have more imagination than to just assume the absolute hackiest solution is the one that will and must be chosen. It could be an inline edited relational record field. It could simply be boilerplate activated like
sys_category
relations. Or EAV.And you know there are legacy reasons why FlexForms were chosen and are still used. You may think the right thing to do is to avoid them - I on the other hand think there should be an effort to re-implement them as relational records or (I hate to suggest this) maybe even an EAV, for performance reasons.
But it might be easier to just create it than to design it by committee. The requirements are quite clear (and they are exactly what you have put into that forge issue, btw). Along with some of the other ideas I have about taking advantage of existing conventions to give things a more drop-in-and-detect style behavior; e.g. automatically detected content and page templates via template paths configured for sysext frontend itself, with custom controllers supported if detected. Which pretty much requires a solution for embedded metadata. Which I've pretty much already decoupled from Flux - https://github.com/NamelessCoder/TYPO3.Fluid.Flux. I am very much already working on all of this.
The Q is: will I finish the POC this week or the week after that? :)