On Thursday I started a discussion about a Composer GUI for TYPO3 which had a great impact on Twitter. With this topic I want to move the discussion here.
What’s it about?
It’s about a concept and a development for a tool which let people without CLI access, knowledge or will to install a TYPO3 in composer mode. As composer is getting more and more important for TYPO3, we should lower the barrier for people without CLI access (or other reasons).
TYPO3 Backend or Standalone?
First my focus lied on a TYPO3 Backend Module to handle the composer installation, later the idea of a Standalone module came up to be able to install and adapt different PHP projects with composer packages.
What do we talk about now?
Shall we focus on a TYPO3 backend module?
Is a Standalone better for handling installations and maybe something big (and Open Source) for the whole PHP driven community (Symfony, Drupal, etc.)
Are there still solutions for this?
Who should and wants to be part of this Initiative?
I prefer a TYPO3 backend module. In my opinion, the best way would be, if I could manage the TYPO3 installation graphically as easy as in the extension manager. I have no idea whether this is possible or not, but maybe we could melt the extension manager and the GUI for the composer mode together in one backend module. Because like this it would be really simple to understand how to use it, especially for new TYPO3 users.
With a backend module we’ll have the problem of how to make a first install of TYPO3. When especially new TYPO3 users want to install it, they have no chance to install it via composer but getting into the CLI mode (what we want to replace with this initiative).
As far as I know the motivation for the Contao Manager was that Contao completely switched to composer-only-installation and thereby members of the community not being able to use composer got lost - same same here with TYPO3.
Another problem arose with cheap webhosting providers: they don’t give you enough RAM (265 MB) and script-running-time to run composer update - especially resolving dependencies needs lots of RAM.
Therefore people at Contao developped a solution to do the dependency resolving: Composer Resolver Cloud https://medium.com/@yanick.witschi/composer-cloud-resolver-e64254f5728e
Basically you send your composer.json to this service and get back a composer.lock. Then you can do the installation on the server with composer, which downloads all files needed etc.