Planung ist die halbe Migration: Was beim Gridelements-Wechsel zu beachten ist

Mit der Gridelements-Extension lässt sich sehr unterschiedlich arbeiten. Daher benötigt ihr zu Anfang eine Übersicht der im Projekt vorliegenden Elemente sowie deren Konfiguration. Aber auch einen Plan zur Migration bestehender Datensätze ist sinnvoll.

Die folgenden Punkte haben uns dabei geholfen, eine realistische Einschätzung der bevorstehenden Arbeiten zu erhalten.


Weitere Teile:


Eine Bestandsaufnahme des Projekts

Zuerst müssen wir uns einen Überblick über die Installation verschaffen:

  • Welche Gridelements gibt es und was ist ihre Aufgabe?
  • Wie oft werden sie tatsächlich verwendet?
  • Werden Kindelemente eines Gridelements durch TypoScript abweichend gerendert?
  • Werden Gridelements verschachtelt verwendet? Für welchen Zweck?
  • Welche Flexform-Settings gibt es?
  • Abseits von Gridelements: gibt es Backend-Felder in Inhaltselementen, die sich mit Flexform-Settings zusammenführen lassen (z. B. Hintergrundfarben)?

Eine erste SQL-Abfrage kann wie folgt aussehen. Sie listet für alle Gridelements den Identifier sowie die Anzahl der Verwendung auf:

Ihr werdet weitere, projektspezifische Abfragen benötigen, um Verschachtelungen und Kindelemente zu analysieren.

Besprecht mit eurem Kunden, auf welche Elemente er zukünftig verzichten kann. Vieles, was vor Jahren eingerichtet wurde, wird heute nicht mehr benötigt. Nutzt jede Chance, um das System von Altlasten zu befreien.

Erstes Konzept zur Migration

Nach der Analyse des Projekts solltet ihr mögliche Fallstricke identifiziert haben. Als nächstes benötigt ihr einen groben Fahrplan, wie ihr die bestehenden Elemente überführen wollt:

  • Welche Gridelements (und deren Kindelemente) werden durch welche CTypes ersetzt?
  • Welche neuen Inhaltselemente müssen erstellt werden?
  • Wie werden die bestehenden Datensätze migriert? Per SQL-Skript, TYPO3 Upgrade Wizard, manuell?

Für eine erste Einschätzung des Aufwands und ein Angebot an euren Kunden müsst ihr noch nicht jedes Detail planen, aber zumindest eine klare Vorstellung der notwendigen Arbeitsschritte haben.

Je nach Stand eures Projekts kann es sinnvoll sein, die Gridelements-Migration direkt mit einem TYPO3-Upgrade zu verbinden.

Die Detailplanung

Der Kunde hat Euch mit den notwendigen Arbeiten beauftragt, jetzt geht’s ans Eingemachte. Die folgenden Punkte müsst ihr nun klären.

1. Konfiguration der neuen Elemente

  • Welches Inhaltselement ersetzt das bisherige Gridelement (und ggf. dessen Kindelemente)?
  • Wie müssen die (in Gridelements vorhandenen) Flexform-Settings migriert werden?
  • Welche weiteren Felder müssen im TYPO3-Backend bereitgestellt werden; welche sind überflüssig?

2. Migration der vorhandenen Daten(sätze)

  • Wie erfolgt die Migration: automatisiert per Skript/Upgrade Wizard oder manuell?
  • Im Einzelnen: die Werte welcher Datenbankfelder sind zukünftig noch relevant; in welches Feld müssen sie migriert werden?
  • Müssen ggf. auch die Inhalte der Datenbankfelder angepasst werden (z. B. Klassennamen im RTE-Feld)?
  • Welche Relationen gibt es, die ebenfalls migriert werden müssen, etwa Bild-Relationen in einem FAL-Feld (File Abstraction Layer)?

Besitzen die Gridelements und Inhaltselemente viele Flexform-Settings, Frame-Klassen und Ähnliches? Dann ist es empfehlenswert, eine Übersicht zu erstellen. Vielleicht stellt ihr dann fest, dass man z. B. eine Hintergrundfarbe aktuell auf mehreren Wegen vergeben kann.

Das Ziel sollte sein, Komplexität abzubauen und dem Redakteur die Arbeit zu erleichtern. Dafür ist es sinnvoll, einmal einen Schritt zurückzutreten und die Inhaltspflege als Ganzes zu betrachten. Besprecht mit dem Kunden, was seine Pain Points bei der täglichen Arbeit sind.

Welcher Inhaltselement-Typ sich für uns am besten eignet, haben wir im ersten Blogbeitrag zusammengefasst.

Im dritten Teil zeigen wir einige Code-Beispiele, um Container-Elemente sinnvoll zu erweitern.

Bildquellen

  • Beitragsbild „Analyse“: Sebastian Klein, MFC

Über Sebastian Klein

Steht irgendwo zwischen Front- und Backend. Mit einem Faible für Usability und Dokumentation. Immer auf der Suche nach Good Practices.

Homepage: https://www.sebkln.de/

      Profile:
    • twitter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.