Initiative "Composer GUI"

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?

Links

My opinion

  • I’d like to go for a Standalone tool for the whole PHP community
  • Let’s get good people for concepting, UX, design and programming together
  • Talk with other communities for contributing and input
  • Do it Open Source

I‘d prefer to provide an PSR first, on which we can build a gui in the installtool, if the focus is typo3 only.

If the focus is complete composer support we need a gui which comes as phar and is capable of outsourcing ressource hungry tasks.

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).

I think a Standalone solution deployed as PHP Archive “phar” fits best:

  • always running by itself: can be used to fix broken TYPO3 installations
  • easy handling for people: put one file on a webspace, then open the GUI in a webbrowser

There is already a Standalone solution for another CMS: Contao Manager
Its a bunch of PHP scripts and libraries - might even include composer itself - packaged in one “phar”.
https://docs.contao.org/books/manager/de/installation-manager.html (german)
https://docs.contao.org/books/manager/en/ (english - not complete)

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.

And recently they started to make it available to other projects:
https://composer-resolver.cloud/
https://medium.com/@yanick.witschi/welcome-composer-resolver-cloud-30ebd4cb59fa

How about also including deployment management with TYPO3 Surf?
https://github.com/TYPO3/Surf

TYPO3 Backend or Standalone
In another context (CLI) there was a related discussion on how to split the functions “maintenance” and “business logic”.

Very much like the install tool, which is the goto point for a maintenance UI, while the regular backend is for business logic.

https://decisions.typo3.org/t/future-of-typo3-command-line/443

You mean a tool like: https://www.getcomposercat.com/?
However, specifically geared to TYPO3?

I am for a standalone version.