Long Live Service

Ein Reisebericht mit TYPO3

Patricia Ottmar

Patricia Ottmar

  • TYPO3 seit 2006 (v3.8)
  • Developer und Integrator
  • Mitglied Entwicklerteam

Die Reise beginnt

Alles neu!

Oder doch nicht?

Machbar mit TYPO3!

Schritt für Schritt

DDEV-Instanzen

4 Pfeiler: fileadmin, (uploads), Datenbank, Upgrade Wizards

TYPO3 v4

Startversion

TYPO3 v6

FAL (file abstraction layer)

TYPO3 v7

TYPO3 v10

ichhabrecht/core-upgrader

TYPO3 v12

Zielversion

Upgrade Wizards - Konfiguration

localconf.php, ab V12 in Services.yaml

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update']

Upgrade Wizards - Klassen

typo3/sysext/install/Classes/Updates/

Upgrade Wizards - Vergleich

TYPO3 v6
TYPO3 v7

Upgrade Wizard sys_file_images

typo3/sysext/install/Classes/Updates/TceformsUpdateWizard.php

Was passiert?

  • uploads nach fileadmin
  • string zu FAL
    • Referenz-Tabellen
      (sys_file, sys_file_reference)
    • Titel
    • Bildunterschrift
    • Link
    • Alternativtext
  • Wird nur in v6 angeboten
  • Alle weiteren Wizards setzen das vorraus

Eigener Upgrade-Wizard

https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/HowTo/UpdateExtensions/UpdateWizards/Creation.html

Generelle Projektstruktur

  • Struktur (bsp. v12), config, packages, ...
  • composer based
  • CI vorbereiten / einrichten
  • Ablauf für den Publish reproduzierbar
ddev import-db < x-update-v10/dump.sql
vendor/bin/typo3cms coreupgrader:upgrade
vendor/bin/typo3(cms) upgrade:run/prepare

Third-Party-Extensions

  • So wenig wie möglich, so viel wie nötig
  • Upgrade Wizards checken
  • tt_news zu news, Migration mit news_ttnewsimport (>=6.2.4,<8.9.99)
  • gridelements zu container, Migration mit gridtocontainer
  • direct_mail zu ?
  • Patchen oder helfen

Site package und eigene Extensions

  • Nicht mehr aktuelle Dateien, Code entfernen / bereinigen
  • ssch/typo3-rector v1
    (v7 bis v12, auch TypoScript)
  • ssch/typo3-rector v2
    (v10 bis v13, aber nur PHP)
  • a9f/typo3-fractor
    (v10 und v12, Fluid, YAML, TypoScript)
  • Manuelle Anpassungen
  • Eigene Upgrade Wizards

Manuelle Anpassungen

TypoScript Rendering
Fluid Rendering

Aufräumen

Datenbank bereinigen
  • Cache-Tabellen
  • Index-Tabellen
  • Realurl-Tabellen
  • Alle nicht mehr benötigten Tabellen und Felder
Installation sauber halten
  • Scheduler (sys_log, sys_history, deleted records)
  • Index (crawler)

Die häufigsten Fehler

Install tool not found (404)

Existiert das Passwort und ist nicht leer?

Page tree error

Reset User Settings to Default State

Fluid templates not found

layoutRootPaths.10 statt layoutRootPath

404 - no slugs

internetgalerie/ig-slug

database:updateschema failed

# Data truncated for column 'media' at row 2
UPDATE `tt_content` SET media=0 WHERE media IS NULL;
							

Links

Vielen Dank!

Und wie läuft das bei euch?