Skip to content

Sulu – ein modernes Content-Management-Framework

Im Rahmen der technischen Umsetzung eines unserer aktuellen Projekte haben wir eine Reise auf unbekanntes Terrain gewagt und uns für das Content Management Framework Sulu entschieden. Doch wie sind wir auf die Idee gekommen?

Sulu CMF Screenshot

Unsere Motivation

Die größte Motivation bei der Wahl des CMF war die Abkehr von monolithischen Systemen, die selbst noch keine modernen Framework-Komponenten integriert haben und zudem oft am „Not invented here“-Syndrom leiden. Sulu hingegen bietet durch seine modulare Bauweise zunächst eine starke Basis, um Content-Management-Anforderungen gerecht zu werden, und erlaubt später die Integration von Webapplikationen, die nur ein Enterprise-Framework wie Symfony ermöglichen.

Die neuen Komponenten im Baukasten waren vielversprechend. Angefangen bei Symfony 2 und Symfony CMF über PHPCR sowie Varnish und Jackrabbit bis hin zu den Best Practices der Frontend-Welt: require.js, backbone, aura und dem Massive Art UI Framework „husky“. Wir erhofften uns Freude an der Arbeit mit modernen PHP-Anwendungen und -Architekturen ohne Frust durch das Eingehen von Kompromissen bei der technischen Umsetzung.

sulu-cmf-bild-02

Unser erster Eindruck

Zum Zeitpunkt des technischen Kick-offs befand sich Sulu noch im Alphastatus. Dennoch gab es eine gute Dokumentation zu den wichtigsten Elementen, und wir brachten das System ohne Schwierigkeiten zum Laufen. Darüber hinaus standen auch zu den internen Aspekten der Anwendung wie Admin-/Content-Navigation, Inhaltstypen oder Bildformaten grundlegende Informationen zur Verfügung. Besonders positiv fielen uns die Konfiguration sowohl für nginx als auch apache sowie die Links zu JCR-Projekten (Java Content Repository) auf. All das bedeutet Flexibilität und unterstützt unseren Anspruch, „die Entwicklungsumgebung so nahe wie möglich am Livesystem umzusetzen“.

Sulu CMF

Sulu im Einsatz

Während der Projektarbeit stellte sich schnell heraus, dass an einigen Stellen noch Anpassungsbedarf besteht. Daher implementierten wir selbst die Sulu Core-APIs (wie z. B. ContentMapper, StructureResolver, Routing-Provider), um unter anderem die Verwaltung isolierter Newsartikel zu realisieren. Wir hatten die Möglichkeit, Best Practices und Erfahrungen aus Parallelprojekten aufzugreifen, da der Sulu Core stets gute, wenn auch teils unterschiedliche Beispiele für die Integration eigener JavaScript-Module bot.

Eine Herausforderung für unsere Backend-Entwickler stellte der komplexe Frontend-Stack dar (der wird gebraucht, um eine leicht zu bedienende Redaktionsumgebung für den Nutzer zu schaffen). Auch hier konnten wir uns aber an Beispielen orientieren. Somit war die Zusammenarbeit mit den Frontend-Integratoren ein gegenseitiges Geben und Nehmen, wie wir es bisher nicht erlebt hatten.

Die gute Dokumentation (Twig sowie weitere Funktionen) erleichterte auch den Frontend-Entwicklern die Arbeit mit dem System. So blieb Zeit für wichtige Feedback-Zyklen, die das gesamte Team vorangebracht haben.

Sulu

Sulu

Unser Fazit nach dem Projekt

Im Laufe des Projekts konnten wir unsere Fähigkeiten im Umgang mit dem Symfony 2 Framework weiter ausbauen. Die Integration von Varnish (Cache) als Beschleunigung der Auslieferung von Inhalten ermöglichte uns einfache Refactorings mittels ESI-Tag-Funktion. Damit mussten Module, die selbst keine „klassischen“ CMS-Inhalte ausgeben (wie z. B. Kalender), nicht mühsam in die Sulu-Umgebung eingebunden werden, sondern konnten als selbstständige Add-ons entkoppelt werden.

Wir werden Sulu auf jeden Fall in unseren Werkzeugkasten für Content-Management-Projekte packen. Darüber hinaus versuchen wir, den Fortschritt des Systems weiterhin zu verfolgen und uns – wenn es die Projektressourcen zulassen – an der Entwicklung zu beteiligen. Im Anschluss an unser aktuelles Projekt haben wir z. B. das „SuluEventBundle“ auf GitHub veröffentlicht. In diesem Paket stellen wir unser selbstentwickeltes Veranstaltungsmodul vor und zeigen, wie man ein paar Best Practices aus der Symfony-Welt auch in Sulu integriert.

Der derzeitige Zustand des Sulu CMF ist jedoch von erstaunlich guter Qualität und zeigt, dass Open-Source-Projekte auch in frühen Entwicklungsstadien durchaus hohen Anforderungen gerecht werden können.