Sulu

Sulu ist ein noch relativ junges CMS, das dafür aber auf sehr modernen Technologien basiert. Dazu zählen unter anderem das PHP-Framework Symfony und das JavaScript-Framework React. Da Sulu an vielen Stellen auf bekannte Symfony-Entwicklungsmuster setzt, ist der Einstieg für Entwickler mit entsprechender Erfahrung besonders einfach. Neben Websites eignet sich das System auch bestens als Grundlage für die Entwicklung von Webapplikationen.

Letzte Aktualisierung
Mai 2020

Steckbrief

Programmiersprache

PHP

Erstmals veröffentlicht
Open Source seit
Lizenz

MIT

Aktuelle Hauptversion
2
Verfügbare Sprachen
8
Core-Entwickler*innen
~7
Entwickler*innen
>100
Registrierte Community-Mitglieder
>900

Mit der sehr offenen MIT-Lizenz und ohne spezielle Enterprise Lizenzen stellt selbst die Integration in proprietäre Lösungen stellt also keine Hürde dar.

Komplexe Websites im Fokus

Seine Stärken spielt Sulu vor allem bei großen Website-Projekten aus. Unter dem Motto „Multi-Everything“ können beliebig viele Sprachen, Portale und Output-Kanäle alleine mit den Grundfunktionen des Systems erstellt werden. Die Suche und Installation verschiedenster – mitunter in Konflikt stehenden – Plugins ist daher überflüssig.

International agierende Unternehmen wollen ihre Web-Inhalte in unterschiedliche Länder und lokalen Sprachen veröffentlichen. Sulu ist seit seinem Ursprung für den Betrieb von mehrsprachigen Inhalten ausgelegt. Das spiegelt sich sowohl in der Benutzeroberfläche als auch in der guten Performance, die trotz dutzenden Sprachen erreicht werden kann, wider.

Die Lokalisierungsfunktionen erlauben auch die Berücksichtigung von verschiedenen Länderversionen mit derselben Sprache. Content-Redakteure können so z.B. Inhalte spezifisch für Deutschland, Österreich und der Schweiz anpassen, obwohl in all diesen Ländern deutsch gesprochen wird.

Große Internetpräsenzen verfügen oft über mehrere Domains bzw. Portale mit unterschiedlichen Inhalten. Auch dieser Umstand lässt sich bereits mit dem Kernsystem abbilden. Beliebig viele Portale können mit individuellen Sprachen und Designs angelegt und verwaltet werden. Ein zentraler Inhaltsbaum pro Portal stellt sicher, dass die komplexe mehrsprachige Redaktion so einfach wie möglich bleibt.

Multi-Channel und Headless-CMS

Die Inhalte einer Seite werden strukturiert abgelegt. Dafür stehen dem Entwickler eine Vielzahl sogenannter Content-Types zur Verfügung, mit denen die Semantik eines Templates definiert werden können. Dieser Ansatz scheint auf den ersten Blick etwas aufwendig, hat aber viele Vorteile. Da so z.B. keine Designinformationen in der Datenbank abgespeichert werden, ist es ein leichtes, völlig individuelle Layouts für die mobile Version einer Website umzusetzen. Oder man stellt die Inhalte neben HTML auch noch als JSON oder XML bereit. Selbst der Einsatz als Headless-CMS, also als Inhaltslieferant für System-unabhängige Ausspielung, ist durch den umfassenden API-Aufbau problemlos möglich.

Sulu als Plattform für Applikationen

Wer Sulu als Plattform für selbst entwickelte Applikationen verwendet, ist dank der extremen Erweiterbarkeit und des umfassenden Aufbaus auf Symfony und dessen Entwicklungsphilosophie sehr effizient.

Listen und Formulare können über die reine Definition von Metadaten im XML-Format in die Administrationsoberfläche integriert werden. Falls keines der vorhandenen Formularfelder die gewünschte Funktionalität mitbringt, kann ein neues mittels JavaScript implementiert und registriert werden. Zusätzlich zu den vorgefertigten Listen- und Formularansichten können komplett eigene Ansichten umgesetzt werden, wobei Entwickler hierfür viele Freiheiten in der Implementierung haben.

Mit diesem Ansatz wird Sulu selbst zur Basisapplikation, die Geschäftslogik beinhaltet und selbst entwickelte Prozesse anstoßen kann. Das ist auch für den Endbenutzer des Systems angenehm, da ein Einlernen in verschiedene Systeme entfällt und sich das Bearbeiten von Inhaltsseiten und Business-Funktionen gleich anfühlt. Gleichzeitig schont diese Art der Entwicklung das Projektbudget, denn viele Funktionen von Sulu – z.B. die Benutzerverwaltung mit Berechtigungen oder die umfassenden APIs – können wiederverwendet werden.

Integrationen in vorhandene Systeme

Sulu bietet eine Vielzahl von Marketing-Integrationen wie Google Analytics, Tag Manager oder Matomo. Wer sein System noch weiter in eine bestehende Systemlandschaft einbinden will, kann dafür auf bereits vorhandene Symfony-Module zurückgreifen. So lässt sich mit relativ wenig Aufwand z.B. ein Login via LDAP oder SAML realisieren.

Eine beliebte Integrationsmöglichkeit ist Sylius, eine eCommerce-Plattform mit vergleichbarem technischen Fundament. Zum Beispiel können Produkte aus Sylius synchronisiert werden, die dann mit den CMS-Funktionalitäten von Sulu für die Website aufbereitet werden. Sylius kann sich danach weiterhin um den Warenkorb und den Kaufprozess kümmern. Auch Lösungen mit ERP-Systemen wie SAP oder Dynamics wurden bereits in einer ähnlicher Art und Weise umgesetzt.

Nicht für alles geeignet

Sulu bringt schon von Haus aus einen relativ große Funktionsumfang mit. Das bedeutet im Umkehrschluss, dass es für sehr kleine Websites oder Blogs zu aufwendig sein kann. Außerdem ist grundlegendes Vorwissen in Symfony für eine effiziente Entwicklung notwendig. Das zeigt sich bereits in der Installation. Hierfür gibt es keinen Web-Installer wie bei anderen CMS, stattdessen wird Composer – der Package-Manager für PHP – verwendet.

Auch die Erstellung von Templates für das System ist etwas aufwendiger, denn ein Ökosystem aus vorgefertigten Themes existiert bis dato nicht. Wer ein fertiges HTML-Template einsetzen will, muss dieses selbständig an Sulu anbinden.

Qualität ohne Wenn und Aber

Dank der konsequenten Anlehnung an das Framework Symfony erfreut sich Sulu insbesondere in dieser Community seit einigen Jahren einer stetig wachsenden Fangemeinde. Die häufigen System-Updates und Funktionserweiterungen sowie das 2019 veröffentlichte Major Release 2.0 zeigen den Anspruch des Teams an die Qualität des Systems.

Es gibt eine aktive Entwicklergemeinschaft, die sich in einem (kostenlosen) Slack-Channel austauscht. Dort findet man auch die Core-Contributors des Systems, die bei auftretenden Problemen oder Fragen unkompliziert und direkt weiterhelfen.

Seit 2018 kümmert sich die Sulu GmbH um die Weiterentwicklung des Systems und der Pflege der Community. Darüber hinaus werden Schulungen, Beratungen und maßgeschneiderten Systemerweiterungen angeboten. Ein Partnerprogramm komplettiert die Angebotspalette seit 2019.

Credits

Lizenz

Licensed by the authors for CMS Garden under CC BY-SA 3.0.

Weitere Autor*innen

Daniel Rotter

Nächste Termine