[TYPO3-core] Extension Manager and distributions

Christian Kuhn lolli at schwarzbu.ch
Thu Apr 17 21:26:39 CEST 2014


On 04/17/2014 05:44 PM, François Suter wrote:
> When I toyed with the new installation process and the loading of the
> Introduction Package as a distribution, I was struck by how slow it was.
> This is due to the EM having to fetch all extensions on the first call
> to the "distributions" view.

Yeah. This is still slow. There were patches already to improve 
performance of the population of those 50k (?) rows to the table, but 
there may be room for improvements:

* first part is to fetch the extension.gz file (pretty quick)
* then unpack, turn the xml into db calls and do a exec_multipleRows 
with a pack of 50 (?) rows each. This code was hacked up by Marcus 
Krause long ago, I think for 4.5 or something and is one of the little 
pieces we're still using from old em because it is pretty clever. Maybe 
this could be speed up if we import more per pack (i never did 
measurements here)?
* After that a query is fired to find the "latest" version of an 
extension and mark it as so. This was already modified twice [1] [2] to 
get maximum performance, before it was the major bummer.

Still, main issue is that we have to import lots of rows and to do heavy 
processing on that afterwards that enable simple queries for list and 
other views. It would be cool if we could reduce the amount of rows that 
are imported (currently it is one row per any version of any extension 
that was ever uploaded to the ter). I have no idea if we could reduce 
that without information loss that may bite us later.

For 6.2, not too much regarding composer support in em will happen: The 
basic composer functionality is there, agencies can use it already, 
rewriting em to make use of composer is very probably not a target for 
6.2. Thus, we need to stick to optimise the current TER process for 6.2 
I guess.

[1] https://review.typo3.org/#/c/27496/
[2] https://review.typo3.org/#/c/27876/


More information about the TYPO3-team-core mailing list