TYPO3 Site Sets - Multitree flexibel konfigurieren
Mit der Einführung von Site Sets in TYPO3 Version 13.1 wurde ein bedeutender Schritt in Richtung einer flexibleren und effizienteren Verwaltung von Multitree-Instanzen unternommen. Dieses Feature ermöglicht es, mehrere Websites innerhalb einer einzigen TYPO3-Installation individuell zu konfigurieren und zu gestalten, ohne dabei die Codebasis duplizieren zu müssen. Für Digitalagenturen eröffnet dies neue Möglichkeiten, maßgeschneiderte Lösungen für Kunden bereitzustellen und gleichzeitig den Verwaltungsaufwand zu minimieren.
Was sind Site Sets?
Site Sets in TYPO3 sind eine Methode, um Teile der Site-Konfiguration als wiederverwendbare Module bereitzustellen. Sie bündeln Einstellungen, TypoScript und Page TSconfig, die für den Umfang einer Website relevant sind, und können flexibel kombiniert werden. Dies erleichtert insbesondere in Multisite-Umgebungen die Verwaltung und Anpassung einzelner Sites.
Vorteile von Site Sets in Multitree-Umgebungen
Zentrale Verwaltung: Durch die Nutzung von Site Sets können gemeinsame Konfigurationen zentral definiert und verwaltet werden. Änderungen müssen somit nicht mehrfach durchgeführt werden, was den Verwaltungsaufwand reduziert.
Individuelle Anpassungen: Trotz zentraler Verwaltung ermöglicht das Konzept der Site Sets individuelle Anpassungen für jede Website. So können beispielsweise unterschiedliche Farbschemata oder Layouts für verschiedene Sites definiert werden.
Wiederverwendbarkeit: Einmal erstellte Site Sets können für mehrere Projekte oder Websites verwendet werden. Dies fördert konsistente Konfigurationen und spart Zeit bei der Einrichtung neuer Sites.
Modulare Erweiterbarkeit: Site Sets können um zusätzliche Einstellungen erweitert werden, die spezifisch für bestimmte Sites oder Anforderungen sind. Dies ermöglicht eine hohe Flexibilität bei der Gestaltung und Funktionalität der Websites.
Praktische Anwendung von Site Sets
Ein anschauliches Beispiel für die Anwendung von Site Sets bieten die Projekte des TYPO3 Surfcamp 2024. Während dieses Events wurde das Feature live in den TYPO3-Core integriert. In sechs Teams wurden verschiedene TYPO3-Projekte entwickelt, die die neuen Site Sets nutzten. André Buchmann durfte als Mitglied des Teams "Landingpages" als einer der Ersten das neue Feature implementieren und testen. Gemeinsam entwickelten sie eine Multisite-TYPO3-Instanz, bei der jede Seite ein individuelles Aussehen hatte, obwohl die gleiche Codebasis verwendet wurde. Im Site Set können beispielsweise Farben und Schriftschnitte konfiguriert werden, sodass jede Landingpage anders aussieht.
Technische Umsetzung von Site Sets
Die Implementierung von Site Sets erfolgt in TYPO3 Extensions durch die Definition von Konfigurationen in YAML-Dateien innerhalb des Verzeichnisses Configuration/Sets/. Jeder Unterordner repräsentiert ein eigenes Site Set und enthält mindestens eine config.yaml, die den Namen und das Label des Site Sets sowie Abhängigkeiten zu anderen Site Sets definiert. Zusätzlich können weitere Dateien wie setup.typoscript, constants.typoscript oder page.tsconfig enthalten sein, um spezifische Konfigurationen automatisch für die jeweilige Site bereitzustellen. Mittels settings.definitions.yaml können eigene Einstellungen definiert werden und in der Datei settings.yaml können vererbte Einstellungen überschrieben werden.
Beispielhafte Struktur eines Site Sets:
EXT:my_ext/Configuration/Sets/MeinSiteSet/
├── config.yaml
├── settings.definitions.yaml
├── settings.yaml
├── setup.typoscript
├── constants.typoscript
└── page.tsconfig
In der config.yaml werden grundlegende Informationen zum Site Set festgelegt:
name: vendor/mein-site-set
label: Mein Site Set
dependencies:
- typo3/seo-sitemap
- typo3/redirects
Integration von Site Sets in eine Website
Um ein Site Set einer Website zuzuweisen, wird im Site-Modul des TYPO3-Backends eine neue Auswahlmöglichkeit bereitgestellt. Hier können eine oder mehrere Site-Set-Definitionen als Vorkonfiguration der Site ausgewählt werden. Diese Auswahl wird in der YAML-Datei der Site-Konfiguration hinterlegt:
base: 'https://www.beispielseite.de/'
rootPageId: 1
dependencies:
- vendor/mein-site-set
Durch diese Zuweisung werden alle Konfigurationen des Site Sets automatisch auf die entsprechende Website angewendet.
Bildbeschreibung: Die vier Sites der Multitree-Instanz werden im Site-Setting-Editor aufgelistet. Für jede Seite können individuelle Einstellungen vorgenommen werden.
Erweiterung der Site Sets durch Settings Definitionen
Ein besonderes Merkmal der Site Sets ist die Möglichkeit, zusätzliche beschreibende Definitionen für jedes einzelne Site-Setting hinzuzufügen. Dies erfolgt über die Datei settings.definitions.yaml, in der die einzelnen Einstellungen detailliert beschrieben und typisiert werden können. Dies ermöglicht eine strikte Typisierung und Validierung der Einstellungen, was die Zuverlässigkeit der Konfiguration erhöht.
Beispiel für eine settings.definitions.yaml:
categories:
ui:
label: 'User Interface'
font:
label: Font
parent: ui
color:
label: Color
parent: ui
settings:
ui.color.primary:
label: 'Primärfarbe'
description: 'Definiert die Hauptfarbe der Benutzeroberfläche'
type: color
default: '#FF8700'
category: color
ui.font.main:
label: 'Hauptschriftart'
description: 'Legt die primäre Schriftart der Website fest'
type: string
default: 'Arial, sans-serif'
category: font
Die settings-Sektion ermöglicht es, spezifische Einstellungen wie Farben oder Schriftarten zu definieren, die später in der Website verwendet werden können. Durch diese Definitionen werden im Backend entsprechende Eingabefelder generiert, die eine einfache Anpassung der Einstellungen ermöglichen.
Über die categories-Sektion können die Einstellungen für den Site-Settings Editor gruppiert werden.
Fazit
Die Einführung von Site Sets in TYPO3 Version 13 LTS stellt einen bedeutenden Fortschritt in der Verwaltung von Multitree-Instanzen dar. Sie bieten eine flexible und modulare Möglichkeit, mehrere Websites innerhalb einer TYPO3-Installation individuell zu konfigurieren und zu gestalten. Für Digitalagenturen bedeutet dies eine effizientere Arbeitsweise, da wiederverwendbare Konfigurationen erstellt und verwaltet werden können.
Durch die Möglichkeit, zentrale Einstellungen bereitzustellen und individuelle Anpassungen für einzelne Sites vorzunehmen, bieten Site Sets eine ideale Lösung für Unternehmen mit komplexen Multitree-Webauftritten.
Zusammenfassend sind Site Sets ein leistungsstarkes Werkzeug für Entwickler und Agenturen, die mit TYPO3 arbeiten. Sie erleichtern das Management mehrerer Websites, verbessern die Wiederverwendbarkeit von Konfigurationen und optimieren den Workflow in der Webentwicklung. Wer TYPO3 für Multisite-Projekte nutzt, sollte sich unbedingt mit diesem neuen Feature auseinandersetzen, um von den zahlreichen Vorteilen zu profitieren.