v5.3.50 Release-Notes
Update auf v5.3.50
Diese Version verlagert alle generierten Dateien nach typo3temp/assets/t3sbootstrap/ und macht EXT:t3sb_package überflüssig.
Auf einen Blick
Neuer Ablageort
Alles Generierte liegt unter typo3temp/assets/t3sbootstrap/ statt im Sitepackage.
t3sb_package entfällt
Die Abhängigkeit ist raus. Auch eine Installation ohne Composer braucht das Paket nicht mehr.
Selbstheilend
Fehlendes TypoScript und SCSS wird beim nächsten Frontend-Aufruf aus der Datenbank neu geschrieben.
Upgrade-Wizard
Vorhandene Dateien werden einmalig an den neuen Ort kopiert. Gelöscht wird nichts.
RTE: Alert-Dropdown
Alle acht Bootstrap-5-Varianten, Wechsel der Variante und Aufheben der Box inklusive.
Konfiguration übertragen
Export und Import der Konfiguration sitzen jetzt direkt im T3SB-Config-Modul.
Generierte Dateien liegen jetzt in typo3temp
Heruntergeladene CSS/JS, die Bootstrap-Quellen, das custom SCSS und das ausgelagerte TypoScript wurden bisher nach EXT:t3sb_package/Resources/Public/ geschrieben — also in ein Composer-Paket, das bei jedem composer update ersetzt wird. Neuer Ort:
typo3temp/assets/t3sbootstrap/
TypoScript/ t3sbconstants.typoscript, t3sbsetup.typoscript
T3SB-SCSS/ custom-variables-<uid>.scss, custom-<uid>.scss
T3SB-CSS/ heruntergeladenes CSS
T3SB-JS/ heruntergeladenes JS
T3SB-Bootstrap/ Bootstrap-Quellen aus dem Release-Zip
css/ kompiliertes CSSTypoScript und SCSS sind Ableitungen aus dem Konfigurations-Datensatz in der Datenbank, das kompilierte CSS ist eine Ableitung davon, und die Downloads holt t3sbootstrap:cdnToLocal zurück. Nichts davon ist eine Quelle, alles ist ein Cache — und Caches gehören nach typo3temp/.
EXT:t3sb_package wird nicht mehr benötigt
Die Abhängigkeit ist aus composer.json und ext_emconf.php entfernt. Bestehende Installationen können das Paket weiter installiert lassen; es wird nur nicht mehr beschrieben.
Fehlende Dateien werden selbst wiederhergestellt
Eine neue Middleware schreibt TypoScript und SCSS aus dem Konfigurations-Datensatz neu, sobald sie fehlen — nach einem Deployment, nach „Remove Temporary Assets“ oder auf einer frischen Installation. Sie läuft vor der TypoScript-Auflösung, weil TYPO3 fehlende Dateien aus includeCSS/includeJS ohne Fehlermeldung verwirft und das Ergebnis in den Page-Cache schreibt.
Upgrade-Wizard
Ein neuer Wizard im Install Tool kopiert vorhandene Dateien aus EXT:t3sb_package/Resources/Public/ einmalig an den neuen Ort. Er greift auch automatisch beim ersten Frontend-Request, falls das Install Tool nicht geöffnet wird. Gelöscht wird nichts.
Neue Einstellung: flexformDir
Bisher las die Extension die erweiterten FlexForm-Definitionen fest aus EXT:t3sb_package/Configuration/FlexForms/. Das Verzeichnis ist jetzt einstellbar, zum Beispiel EXT:mein_sitepackage/Configuration/FlexForms/.
Bleibt die Einstellung leer, wird weiterhin das Verzeichnis von EXT:t3sb_package verwendet, solange diese Extension installiert ist — bestehende Setups ändern sich also nicht. Ist sie nicht installiert und die Einstellung leer, werden die FlexForms nicht erweitert. Voraussetzung bleibt in allen Fällen, dass flexformExtend aktiviert ist.
RTE: Alert-Box als Auswahlliste
Die Schaltfläche „Insert Box“ im Rich-Text-Editor ist jetzt ein Dropdown mit allen acht Bootstrap-5-Alert-Varianten:
PrimarySecondarySuccessDangerWarningInfoLightDark
Die Variante einer bestehenden Box lässt sich nachträglich wechseln, ein Eintrag „Remove Box“ hebt die Box wieder auf und behält den Inhalt.
Ein eigenes Stylesheet für den Editorbereich zeigt die Alert-Farben jetzt auch im Backend — bisher war die Box dort unformatiert, weil das Backend kein Bootstrap lädt.
Konfiguration übertragen — jetzt im T3SB-Modul
Die Konfiguration einer Root-Seite lässt sich jetzt exportieren und wieder importieren — als Aufklappbereich „Konfiguration übertragen“ direkt im T3SB-Config-Modul, unter den ausgelagerten Konstanten. Damit wandert eine fertige Konfiguration von einer Installation in die nächste, ohne Datenbank-Dump.
Der Export schreibt die Konfiguration als JSON-Datei — ohne uid und ohne pid, Dateireferenzen als kombinierte Identifier. Der Seitenbaum der Zielinstallation darf also völlig anders aussehen.
| Import-Modus | Verhalten |
|---|---|
Aktualisieren Voreinstellung | Der vorhandene Datensatz wird überschrieben und behält seine uid. Felder, die der Import nicht enthält, werden auf ihren Standardwert zurückgesetzt — das Ergebnis entspricht also exakt dem Export. Liegen mehrere Konfigurationen auf der Zielseite, wird die wirksame aktualisiert und die übrigen werden entfernt. |
Ersetzen | Der vorhandene Datensatz wird gelöscht und ein neuer angelegt. Die uid ändert sich, der alte Datensatz bleibt als gelöschte Zeile zurück. |
Hinzufügen | Nur möglich, wenn die Zielseite noch keine Konfiguration hat — sonst bricht der Import mit einer Meldung ab. |
Nicht im Export enthalten sind die Site Settings — Bootstrap-Version, Bootswatch-Theme und Google Fonts stehen in der Site-Konfiguration und wandern mit dem Repository, nicht mit der JSON-Datei.
Hinweise zum Update
1. Caches leeren. Mehrere Konstruktor-Signaturen haben sich geändert, der kompilierte DI-Container muss neu gebaut werden.
2. Datenbank-Update anstoßen. Die Tabelle tx_t3sbootstrap_list_item_inline bekommt eine Spalte hidden.
3. Deployment beachten. Wer typo3temp/ nicht zwischen Releases übernimmt, muss nach jedem Deployment t3sbootstrap:cdnToLocal ausführen. Das Backend-Modul weist darauf hin, wenn lokale Auslieferung konfiguriert ist und die Dateien fehlen.