CMS für Markup-Ästheten: Symphony
Auf meiner Suche nach einer schlanken Alternative zu Silverstripe (zu dem ich ein Verhältnis habe, das man ruhig mal als Haßliebe bezeichnen darf), bin ich vor einiger Zeit auf ein besonders feines Exemplar von Open Source CMS gestoßen: Symphony. Lange Zeit wohl eher als Geheimtipp gehandelt, erfreut es sich jüngst wachsender Beliebtheit. Aus gutem Grund. Symphony ist keines dieser HTML-spuckenden Monster, sondern ein gut durchdachtes Content Management Framework mit dem sich erstaunlich viel bauen lässt.
Seine große Flexibilität gewinnt es, indem es keine Vorannahmen über die Inhalte trifft, die es verwalten soll. Während andere CMS ja meist von einer hierarchischen Seitenstruktur (jawohl, die alte Baum-Metapher) ausgehen, werden Inhalt und Struktur innerhalb von Symphony getrennt behandelt. Dem liegt ein durchdachtes Konzept zu Grunde, das wegen seiner Komplexität und nicht zuletzt wegen der etwas eigenwillig gewählten Nomenklatur am Anfang einige Schwierigkeiten bereiten kann. Das jetzt aufzudröseln, würde mir an dieser Stelle wohl nicht gelingen. Einen guten Überblick gibt aber dieser Einstieg mit Schaubild.
Eine auffällige Besonderheit von Symphony ist dessen Template-Sprache. Statt wie so oft eine eigene zusammenzubasteln, wählten die Entwickler XSLT, eine vom W3C standardisierte Transformationssprache. Diese wandelt XML-Daten in (perfektes) HTML (oder andere Formate) um. Entsprechend werden vom CMS alle Seiteninhalte intern als XML-Daten repräsentiert. Hat man erstmal den Dreh raus, erscheint wieder einmal flexibel und vor allem logisch. Trotzdem bleibt die Auseinandersetzung mit XSLT auch mit einiger Erfahrung gewöhnungsbedürftig.
Erstaunlich selten erwähnt wird die hohe Qualität von Symphony insgesamt. Während einige Open Source CMS doch öfter mal nach Bastelei riechen, kommt Symphony mit sauberem (wenn bislang auch schwach dokumentierten) Quellcode, einem aufgeräumten, fast puristischem Interface und guter Internationalisierung daher. Das beinahe schon minimalistische Erscheinungsbild verleitet leicht dazu, das System zu unterschätzen. Der Funktionsumfang von Symphony ist aber nicht geringer als der anderer freier CMS. Zwar steht erstmal nur die Kernfunktionalität zur Verfügung, einfach installierbare Erweiterungen bieten dann aber die üblichen Features wie Rechteverwaltung, Versionskontrolle, Asset-Management etc. So lässt sich genau der Bedarf abdecken, der für das jeweilige Projekt benötigt wird. Das Schreiben eigener Erweiterungen erfordert hingegen einige Übung, was der leider noch sehr spärlichen Entwicklerdokumentation geschuldet ist. Mit den Bordmitteln bzw. mit Hilfe der bereits vorhandenen Erweiterungen kommt man aber schon recht weit.
Wer also ein modernes und flexibles CMS zum Bau einer funktionsreichen Website sucht, sollte sich auf einen Testlauf mit Symphony einlassen. Die Einarbeitung ist zwar mühevoll und kostet einige Zeit, schlägt dafür aber schon bald in Begeisterung um.