Skip to content

0.7.0 - cleanups, refactoring, legacy support and more

Latest

Choose a tag to compare

@pagea-dev pagea-dev released this 05 Sep 18:36
c9a1f78

Two things this time. TYPO3 9 and 10 can be installed, for the extension that still runs on old code and needs to move forward. And every instance now comes with phpMyAdmin, so looking into the database is a link, not a detour.

typo3quickstarter --release=9

Highlights

--release=9 and --release=10 (#21)

You have an extension written for TYPO3 9. Before you can move it anywhere, you need a running 9 to see what it currently does. That's the whole point of this:

typo3quickstarter --release=9 --extension=/home/me/extensions/my-old-extension

Both lines run on PHP 7.4 — their typo3/cms-core requires ^7.2, so that's as new as it gets — and both are installed with the legacy typo3cms install:setup from TYPO3 Console, the same installer --release=11 has been using all along. Everything else works as it does everywhere else: --extension, --require, --require-dev, --with-git, --list, --cleanup.

Getting there took more than adding two numbers to a list, and all of it is handled for you:

  • Composer 2.2+ refused to install TYPO3 9 at all. The 9.5 and 10.4 base distributions carry an allow-plugins list written before TYPO3 Console's Composer plugin had to be on it, and Composer doesn't skip a plugin that's missing from that list — it aborts the whole install. The entry is added before anything gets installed.
  • TYPO3 9 wrote a broken site configuration. The --site-base-url option only exists from TYPO3 Console 6 (TYPO3 10) on; without it, TYPO3 9 derives the base from the current request, and on the CLI there isn't one — leaving base: ht/ behind, which no incoming request can ever match. The real URL is written into config/sites/*/config.yaml afterwards.
  • 9 and 10 still have PackageStates.php. Anything added with --require or --extension only becomes active once that file is regenerated, so that happens before the extension setup.
  • The extension kickstarter still needs TYPO3 12+. --with-git will still put the whole project under version control on 9, 10 and 11; the "scaffold a new extension" option is skipped with a note.

One thing to know going in: 9 and 10 are long past end of life, and PHP 7.4 is too. Your IDE and your tooling will say so. See docs/versions.md.

phpMyAdmin, in every instance (#20)

Done.
URL:         https://typo3-v13-101.ddev.site
Backend:     https://typo3-v13-101.ddev.site/typo3
Admin:       admin
Password:    _m3v8QbFD#8M9eTlqRcB
Credentials: /home/you/typo3-v13-101/typo3-credentials.txt
phpMyAdmin:  https://typo3-v13-101.ddev.site:8037 (or 'ddev phpmyadmin' inside the project)

DDEV's official add-on, installed for you. There is no login screen — the add-on hands phpMyAdmin the database credentials itself, so the link opens straight into the database. The URL is in the summary and in typo3-credentials.txt.

The detail that makes it worth automating: the add-on is installed between ddev config and the first ddev start, so the service comes up with everything else. Added to a project that's already running, it only takes effect after a ddev restart — exactly the step this saves you.

--no-pma leaves it out. And it can never cost you an instance: the add-on is fetched from GitHub, and if that fails the setup says so and carries on without it. See docs/phpmyadmin.md.

Fixed

  • TYPO3 11 answered every request with a trusted-hosts error (#23). TYPO3 11 has no config/system/settings.php — its configuration still lives in public/typo3conf/LocalConfiguration.php — so the step that relaxes trustedHostsPattern found no file to edit and quietly did nothing. It's now written through TYPO3 Console for that version line.
  • The debug settings now reach 9, 10 and 11 too. Same root cause as above: no settings.php to write into. BE/debug and FE/debug were already being switched on by the installer those versions use; the empty SYS/debugExceptionHandler is now set as well, so every version ends up in the same state.
  • --extension with a path that doesn't exist aborted with realpath's own error message instead of the one written for it, because the check that the directory exists ran after realpath.

Under the hood

No change to what the script does, but a large diff if you're reading along: the shapes that had piled up in several copies are now helpers — die/step/warn/ok for messages, plus t3console, extension_setup, composer_package_name, register_local_package and a shared COMPOSER_ARGS for the install pipeline. --list and --cleanup share one preamble instead of two identical ones.

Thanks

  • @thomasrawiel for reporting the TYPO3 11 trusted-hosts bug and fixing it (#25) — third release running.

Upgrading

typo3quickstarter update

Existing instances are unaffected; nothing here touches an instance that's already set up. To get phpMyAdmin into one you already have, run this inside its directory:

ddev add-on get ddev/ddev-phpmyadmin
ddev restart

Full changelog: CHANGELOG.md