Sulu 3.0: Sechs Bundles machen Ihr Upgrade jetzt realistisch

Sulu 3.0: Sechs Bundles machen Ihr Upgrade jetzt realistisch

Mit dem Release der stabilen Versionen für zentrale Bundles wie Form, Headless und Community ist Sulu 3.0 nun endlich bereit für den produktiven Einsatz in Bestandsprojekten. Erfahren Sie, warum insbesondere das Headless-Bundle einen massiven Umbau erfahren hat und wie Sie jetzt prüfen, ob Ihr Projekt reif für den Umstieg auf die neue Doctrine-Architektur ist.

Dennis Schwenker-Sanders 6 Min. Lesezeit

Sulu 3.0 selbst ist seit November 2025 verfügbar, mit einer fundamentalen Umstellung von PHPCR auf Doctrine ORM als Content-Storage. Für viele reale Projekte war das Kern-Release trotzdem kein praktischer Upgrade-Kandidat, weil zentrale Ökosystem-Bundles noch nicht mitgezogen waren. Am 7. Juli hat das Sulu-Team das geändert: Form, Headless, Community, Redirect, Automation und Comment sind jetzt in stabilen 3.0-Versionen verfügbar.

Was Sie in 8 Minuten erfahren:

  1. Warum das Headless-Bundle die größte Überarbeitung bekam und was das für API-Clients bedeutet
  2. Warum das Form-Bundle Template-Kompatibilität zu 2.6 hält und die meisten Projekte ohne Template-Arbeit auskommen
  3. Wie Sie einschätzen, ob Ihr Sulu-Projekt jetzt ein realistischer Upgrade-Kandidat ist

Wie ich in meinem Artikel zur Sulu-3.0-Architektur beschrieben habe, ersetzt die neue Version das PHPCR-Storage durch Doctrine ORM, den Document Manager durch ein dimensionsbasiertes Content-Modell und MassiveSearch durch die SEAL-Abstraktion. Dieser Artikel setzt dort an, wo der praktische Engpass lag: den Bundles, auf die reale Projekte angewiesen sind.

Die sechs Bundle-Releases im Überblick


Bundle

Version

Umfang der Änderung

Breaking Changes

Headless

3.0.1

Größter interner Umbau

Ja, API-Response-Struktur betroffen

Automation

3.0.0

Migration auf Message-Bus-Architektur

Ja, bei Custom-Task-Handling

Form

3.0.0

Template-kompatibel zu 2.6

Nur bei Bundle-Extensions

Community

3.0.0

3.0-Kompatibilität plus neue Registrierungsregeln

Ja, Symfony Mailer statt SwiftMailer

Redirect

3.0.0

3.0-Kompatibilität

Ja, UUID-Bibliothek gewechselt

Comment

3.0.0

3.0-Kompatibilität

Ja, Pagination-Parameter geändert

Betrifft Sie das? Schnelltest in 30 Sekunden

Upgrade jetzt realistisch prüfen wenn: Ihr Projekt Form, Community, Redirect, Automation oder Comment nutzt und bisher wegen fehlender 3.0-Kompatibilität blockiert war. Diese Blockade ist jetzt aufgehoben.

Zusätzlichen Aufwand einplanen wenn: Ihr Projekt das Headless-Bundle produktiv einsetzt. Die API-Response-Struktur hat sich geändert, jeder Client muss angepasst werden.

Kein akuter Handlungsbedarf wenn: Sie auf Sulu 2.6 laufen und keinen konkreten Grund für den Wechsel haben. 2.6 ist die LTS-Linie mit Support bis Sulu 4.0.

Welche Bundles blockieren Ihr Sulu-Upgrade noch?

Ich prüfe Ihre Bundle-Abhängigkeiten gegen die neuen 3.0-Releases und zeige, wo der reale Migrationsaufwand liegt.

  • Sulu-Migrationen seit der PHPCR-Ära
  • Bundle-Kompatibilitätsprüfung für Bestandsprojekte
Kostenlosen Check anfragen →

⏱️ Antwort binnen 24 Stunden

Warum das Headless-Bundle den größten Umbau brauchte

Das Headless-Bundle war architektonisch am stärksten von der Content-Storage-Umstellung betroffen, weil es Content-Resolver und Serializer direkt an das alte Document-Manager-Modell gekoppelt hatte. Für 3.0 mussten beide Komponenten auf das neue Doctrine-ORM-Content-Modell angepasst werden, und der Such-Endpunkt läuft jetzt über SEAL statt über MassiveSearch.

// Headless-API: Breaking Changes in der Response-Struktur
// Vorher (2.6): indices-Parameter, verschachtelte Struktur
GET /api/search?indices=pages,articles

// Jetzt (3.0): index-Parameter (Singular), flache Liste
GET /api/search?index=pages,articles

// Jeder Treffer enthält jetzt ein serialisiertes Media-Objekt
// zusätzlich zu resourceKey und id

Weitere Breaking Changes betreffen Smart Content, das jetzt eine groups-Option unterstützt, den Excerpt, der ein einzelnes image-Objekt statt eines Arrays liefert, um mit dem Sulu-Core-Format übereinzustimmen, und Navigation-Items, die jetzt einen linkType mitführen. Die mitgelieferte Referenz-JavaScript-Implementierung wurde entfernt.

KurzDas Headless-Bundle hat die tiefgreifendsten Breaking Changes: geänderte Suchparameter, neue Response-Formate für Excerpt und Navigation, entfernte Referenz-Implementierung. Jeder API-Client braucht eine eigene Anpassung.

Was beim Form-Bundle anders läuft

Warum bleibt das Form-Bundle template-kompatibel?

Das Sulu-Team hat für diese Release-Runde ein explizites Ziel formuliert: so nah wie möglich am 2.6-Verhalten bleiben, damit bestehende Projekte mit minimalen Änderungen upgraden können. Beim Form-Bundle ist das sichtbar gelungen. Der Single-Form-Selection-Content-Type löst weiterhin zu einem fertig renderbaren Formular auf, sodass bestehende Templates unverändert weiterlaufen.

# Intern hat sich beim Form-Bundle einiges geändert:
# - Resource-Keys jetzt im Plural (pages, articles, snippets)
# - Doctrine-Migration aktualisiert gespeicherte Submission-Typen automatisch
# - Admin-Formular-Metadaten fallen jetzt auf die konfigurierte
#   Übersetzer-Locale zurück statt hart auf Deutsch

# Betroffen sind nur Projekte, die das Bundle direkt erweitern:
# Type-Signaturen wurden verschärft, siehe UPGRADE-3.0.md

Für die meisten Projekte bedeutet das: kein Template-Aufwand. Nur wer eigene Erweiterungen des Form-Bundles pflegt, muss die verschärften Type-Deklarationen im Upgrade-Guide durchgehen.

Was ändert sich beim Automation-Bundle?

Geplante Veröffentlichungen und Depublizierungen laufen jetzt über die Message-Bus-Architektur von Sulu 3.0. Dedizierte Handler für Pages, Articles und Snippets ersetzen den bisherigen generischen Document-Handler, was Automatisierung pro Content-Typ individuell ermöglicht. Die zugrunde liegende php-task-Bibliothek wurde auf Version 3 angehoben, und gespeicherte Tasks referenzieren die Task-Entity jetzt direkt statt über eine ID.

Für Projekte mit angepasstem Task-Handling sind die entfernten Handler-Klassen und die geänderte Task-Entity Breaking Changes, die im Upgrade-Guide dokumentiert sind. Ein kleiner, aber praktischer Nebeneffekt: Die Automation-Ansicht im Admin zeigt jetzt für jede Artikel-Gruppe einen korrekt benannten Tab, statt wie vorher nur den Namen der letzten Gruppe.

KurzForm bleibt template-kompatibel, die meisten Projekte kommen ohne Template-Arbeit aus. Automation läuft jetzt über den Message-Bus mit typisierten Handlern pro Content-Art, relevant vor allem für Projekte mit eigenem Task-Handling.

⚡ Sulu-2.6-auf-3.0-Migration planen?

Ich begleite die Migration inklusive Bundle-Updates, PHPCR-Datenübertragung und Anpassung eigener Erweiterungen.

  • Sulu-Migrationen mit Fokus auf Bestandsprojekte
  • PHPCR-zu-Doctrine-Datenübertragung aus der Praxis
Migration besprechen →

⏱️ Antwort binnen 24 Stunden

📞 Oder direkt anrufen: 04481 - 9099658

Was sich bei Community, Redirect und Comment ändert

Diese drei Bundles fokussieren sich überwiegend auf die reine 3.0-Kompatibilität, mit einigen gezielten Verbesserungen. Das Community-Bundle bekommt konfigurierbare Registrierungsregeln zur Steuerung von Anmeldungen, liefert bei ungültigen Formular-Einreichungen jetzt einen korrekten HTTP-422-Status und setzt Symfony Mailer statt des veralteten SwiftMailer voraus.

Das Redirect-Bundle ersetzt ramsey/uuid durch symfony/uid und verschiebt seinen Import-Endpunkt unter den neuen Admin-API-Pfad. Das Comment-Bundle löst die veralteten Parameter page und pageSize durch limit und offset ab. Alle drei Bundles verlieren ihre PHPCR- und FOSRest-Abhängigkeiten, die sie nicht mehr benötigen.

Wichtig für Projekte, die noch nicht wechseln können oder wollen: Jedes Bundle behält eine eigenständige 2.x-Linie kompatibel zu Sulu 2.6. Diese wird weiterhin gepflegt, etwa mit Symfony-7-Support, dem Entfernen von End-of-Life-PHP-Versionen und der Migration des REST-Routings auf Symfony-Routing.

Aus der Praxis

Was mir bei Sulu-Bestandsprojekten häufig begegnet: Teams, die den 3.0-Umstieg auf unbestimmte Zeit verschoben haben, weil ein einziges Bundle fehlte, während der Rest des Projekts längst migrationsbereit war. Genau dieses Muster löst die aktuelle Release-Runde auf. Wer vorher wegen des Community- oder Form-Bundles blockiert war, kann die Migration jetzt tatsächlich einplanen, statt sie als vage Zukunftsaufgabe zu führen.

Zusammenfassung

Sechs Sulu-Bundles sind jetzt in stabilen 3.0-Versionen verfügbar: Form, Headless, Community, Redirect, Automation und Comment. Das Sulu-Team hat sich am 2.6-Verhalten orientiert, um bestehende Projekte mit minimalem Aufwand upgradebar zu machen.

Headless hat den größten Umbau erfahren, mit Breaking Changes in der API-Response-Struktur. Jeder Client muss angepasst werden.

Form bleibt weitgehend template-kompatibel, die meisten Projekte kommen ohne Template-Arbeit aus.

Community, Redirect und Comment fokussieren auf reine Kompatibilität mit kleineren gezielten Verbesserungen und verlieren ihre PHPCR- und FOSRest-Abhängigkeiten.

Sulu 2.6 bleibt als LTS-Linie verfügbar für Projekte, die noch nicht wechseln.

Sie wissen, ob Ihr Sulu-Projekt jetzt migrationsbereit ist.

Bundle-Check, Migrations-Plan oder vollständige Umsetzung. Lassen Sie uns klären, was für Ihr Projekt der richtige nächste Schritt ist.

  • Sulu-Migrationen von PHPCR zu Doctrine ORM
  • Bundle-Kompatibilitätsprüfung für Bestandsprojekte
Nächsten Schritt klären →

Häufige Fragen

Muss ich alle sechs Bundles gleichzeitig upgraden?

Nein, jedes Bundle ist unabhängig versioniert und kann einzeln aktualisiert werden, sofern es mit der jeweils installierten Sulu-Core-Version kompatibel ist. In der Praxis empfiehlt sich trotzdem ein koordinierter Upgrade, da die Content-Architektur-Umstellung von Sulu 3.0 selbst der größere Schritt ist, dem sich die Bundle-Updates unterordnen.

Was passiert mit bestehenden Formular-Einreichungen beim Form-Bundle-Upgrade?

Eine Doctrine-Migration aktualisiert automatisch den gespeicherten Typ bestehender Submissions auf die neuen Plural-Resource-Keys. Für die meisten Projekte läuft das ohne manuelles Eingreifen durch. Wer eigene Auswertungen oder Reports direkt gegen die Datenbank-Tabellen der Form-Submissions fährt, sollte die geänderten Feldwerte nach der Migration einmal gegenprüfen.

Kann ich das Headless-Bundle-Upgrade schrittweise durchführen?

Die Response-Struktur ändert sich mit der Version, ein paralleler Betrieb von alter und neuer API-Version ist nicht vorgesehen. Realistisch ist ein Staging-Deployment, bei dem alle angebundenen Frontend-Clients gegen die neue API-Struktur getestet werden, bevor der Produktiv-Wechsel erfolgt. Bei mehreren unabhängigen Frontend-Teams lohnt sich eine klare Kommunikation des Umstellungstermins im Vorfeld.

Muss ich SwiftMailer sofort ersetzen, wenn ich das Community-Bundle noch nicht upgraden will?

Nein, die Anforderung von Symfony Mailer statt SwiftMailer gilt nur für die 3.0-Version des Community-Bundles. Wer auf der 2.x-Linie bleibt, ist davon nicht betroffen. Symfony selbst hat SwiftMailer allerdings bereits vor längerer Zeit als deprecated markiert, ein Wechsel zu Symfony Mailer lohnt sich unabhängig vom Sulu-Upgrade.

Wie lange wird Sulu 2.6 noch unterstützt?

Sulu 2.6 ist die aktuelle LTS-Linie und erhält Security-Updates sowie kritische Bugfixes bis zur Veröffentlichung von Sulu 4.0. Ein konkretes Datum für Sulu 4.0 ist noch nicht kommuniziert. Für Projekte ohne akuten Migrationsdruck ist 2.6 damit eine stabile, gut gepflegte Basis, während der 3.0-Umstieg strukturiert vorbereitet wird.

Artikel teilen: