Thomas Kieslich - Neues im Blog

TYPO3 v14.0 erster Upgrade Test

Die erste Version von TYPO3 14.0 ist diese Woche erschienen und da juckte es in den Fingern zu schauen ob der t3upgrader noch funktioniert.

TYPO3 v14.0

Die Änderungen, welche ich bisher gesehen habe, gefallen mir sehr gut. An die geänderte Menüstruktur muss ich mich sicher gewöhnen, aber sie ergibt Sinn.
Inzwischen gibt es einige gute Informationen im Netz dazu, hier eine Auswahl von denen die ich mir angesehen habe:

Offizielle Ankündigung
TYPO3 v14.0—We're Just Getting Started

Umfangreiches Video von Stefan Frömken
TYPO3 14.0 – Neue Funktionen, UI-Änderungen und Entwickler-Features

Informative Artikelserie von PPW
TYPO3 14.0 - Neue Funktionen und Features
TYPO3 14.0 - Inkompatible Änderungen
TYPO3 14.0 - Bugfixes und Verbesserung der Performance

Erster Test für halbautomatisches Upgrade

In meiner TYPO3 Entwicklungsinstanz teste ich Dinge und entwickle das TYPO3 Linter Paket t3static und den t3upgrader weiter. Hier habe ich den t3upgrader für die v14 angepasst und getestet.

Der aktuelle main Branch läuft auf v13, hier war der t3upgrader schon installiert und angepasst. Also habe ich nur die .env.t3upgrader angepasst.

 

# TYPO3 Version(s) 7.6 8.7 10.4 11.5 12.4 13.4 to Upgrade 
CMS_VERSIONS='13.4' 

# TYPO3 Version of Current Branch 
CURRENT_CMS_VERSION='13.4'

 

Die CMS_VERSIONS habe ich nur auf die aktuelle Version gesetzt, da ich ja nur das Upgrade auf v14 testen will. Die Upgrades von älteren Versionen funktionieren ja schon länger.

Zur Sicherheit habe ich erst mal einen extra Branch erstellt: https://github.com/thomaskieslich/t3upgrader/tree/feature/v14

!!! Update, hier wurden einige wichtige Änderungen gemacht: https://github.com/thomaskieslich/t3upgrader/pull/4

Danach habe ich vom main Branch einen Upgrade Branch erstellt upgrade/typo3-14. Diesmal ohne Minor Version, da sich diese noch ein paar mal ändern wird (Roadmap). In diesem Branch habe ich im Composer die Versionen hochgezogen. Zu meiner großen Freude gab es auch von den im Projekt verwendeten Extension v14.0 kompatible Versionen.

friendsoftypo3/content-blocks
b13/container
bk2k/bootstrap-package

Nach geringfügigen Anpassungen lief das seit Jahren mitgeschleifte Introduction Package zufriedenstellend. 

Danach habe ich ein neues update-script.sh für die v14 erstellt. Da es noch keine typo3-console für die v14 gibt musste ich einige Dinge entfernen.
 

 

#!/bin/bash

# set -ex

# Get base Settings
source "./t3upgrader/.env"

# get Version Settings
source ${ROOT_ENV_FILE}

# 14.*
vendor/bin/typo3 -nq extension:setup
vendor/bin/typo3 -nq language:update

#vendor/bin/typo3 -nq database:import <${VERSIONS_DIR}/${CURRENT_CMS_VERSION}/"db-fixtures.sql"
vendor/bin/typo3 -nq upgrade:run
vendor/bin/typo3 -nq cache:flush
vendor/bin/typo3 -nq referenceindex:update
vendor/bin/typo3 -nq cache:warmup
vendor/bin/typo3 -nq fluid:cache:warmup

vendor/bin/typo3 -nq fluid:schema:generate

 

Danach habe ich `./t3upgrader/t3upgrade.sh` in der Konsole ausgeführt und nach kleineren Anpassungen lief es gut durch. Dadurch habe ich jetzt die Möglichkeit relativ einfach Anpassungen in der TYPO3 13.4 Version auch in TYPO3 14.0 zu testen. Dazu muss ich nur die Änderungen in v13.4 per CherryPick vom main in den upgrade/typo3-14 Branch übertragen und den t3upgrader laufen zu lassen. In den meisten Fällen solle sogar ein rebase auf maingehen.

Wenn ich im v13.4 weiterentwickeln möchte, wechsle ich zu Sicherheit in den main Branch und lasse den t3upgrader noch mal laufen. Da hier nur eine Version CMS_VERSIONS='13.4'  angegeben ist wird das ganze Projekt aufgeräumt. Alle Caches werden gelöscht, composer install ausgeführt und die originale Datenbank wieder eingespielt.