asoluto blog
Know-how zum Nachlesen

Neos CMS - Content Management der neuen Generation

Neos CMS – Content Management der neuen Generation

Auf dem Markt der Open-Source Content Management Systeme (CMS) ist Wordpress seit Jahren der unangefochtene Marktführer. Jedoch ist das meist verbreitete System nicht immer das am besten geeignete. Insbesondere bei großen Seiten mit komplexer Inhaltsstruktur lässt WordPress oft zu wünschen übrig. Wir haben uns auf die Suche nach Alternativen gemacht und sind dabei auf Neos CMS gestoßen. In diesem Artikel berichte ich von unseren Erfahrungen mit Neos und erkläre, warum wir es schätzen und lieben gelernt haben.

Die Geschichte von Neos

Entstanden ist Neos im Jahr 2006, als sich ein Team aus TYPO3 Entwicklern zum Ziel setzte, die nächste Version von TYPO3 (damals 5.0) von Grund auf neu zu entwickeln. Ziel war es, das System zu modernisieren und Content Management als solches neu zu denken.Schnell stellte sich allerdings heraus, dass die Änderungen am System so enorm waren, dass es nicht als Nachfolgeversion erscheinen kann. Stattdessen wurde Neos als komplett eigenständiges System weiterentwickelt.Die erste Beta Version erschien im Oktober 2012, ein gutes Jahr später wurde die Version 1.0 veröffentlicht. Ab 2015 löste sich Neos auch organisatorisch von TYPO3 und ist seitdem eine komplett eigenständige Community.

Doch genug zur Geschichte, widmen wir uns lieber der Frage, was das System nun von anderen Content Management Systemen unterscheidet.

Screenshot des Neos Backends
Das Neos Backend

Features, die überzeugen

Inline Editing – Der Traum aller RedakteurInnen

Eines der Hauptziele, das die EntwicklerInnen von Anfang an verfolgten, war es, das Erstellen und Bearbeiten von Inhalten so einfach wie möglich zu gestalten.

Umgesetzt wurde diese Idee durch den rigorosen Einsatz von “What you see is what you get” (WYSIWYG) und Front-End Editing. Inhalte werden nicht in einer typischen Backend Oberfläche bearbeitet, sondern die Webseite selbst ist das Backend. Texte und Bilder können an Ort und Stelle angepasst und erstellt werden. Dies erleichtert vor allem die Arbeit von Redakteurinnen und Redakteuren. Die Zeit, die für CMS-Einschulungen neuer MitarbeiterInnen investiert wurde, wird nun durch die einfache Bedienung reduziert.

Animation indem eine Überschrift in Neos bearbeitet wird.
Inline Editing - ein fester Bestandteil von Neos

Vorteile für EntwicklerInnen

Doch nicht nur für RedakteurInnen, auch für EntwicklerInnen hat Neos einiges zu bieten. Zuallererst fällt die moderne Architektur des Systems auf. Basierend auf dem PHP Framework Flow bietet es Developern eine moderne Basis zur Entwicklung und Erweiterung des Systems. Das System und sämtliche Erweiterungen können bequem über die Paketverwaltung „Composer“ installiert werden. Dies spart Zeit und Ärger bei Updates.
Weiters bietet das System ein Command Line Interface (CLI) mit dem Aufgaben, wie z.B. das Leeren von Caches oder das Migrieren der Datenbank bequem über die Kommandozeile ausgeführt werden können. Sämtliche Systemeinstellungen werden in YAML Files strukturiert, die gemeinsam mit dem Quellcode in ein Versionierungssystem (z.B. Git) eingecheckt werden können. Diese und viele weitere Features erleichtern den Alltag der EntwicklerInnen.

Das Content Repository als solide Grundlage

Um zu begreifen, was genau Neos so reizvoll und gleichzeitig mächtig macht, muss man einen Blick „unter die Haube” werfen.

Die Grundaufgabe eines jeden Content Management Systems ist es, wie der Name schon verrät, Inhalte zu verwalten. Ein zentraler Punkt jedes Systems ist daher, wie Inhalte im System strukturiert und abgespeichert werden. Je flexibler die Lösung dieses Problems gestaltet ist, desto flexibler kann das System mit komplexen Inhalten und Strukturen umgehen. Bei älteren Systemen merkt man oft schon durch einen Blick ins Backend, dass diese im Grunde eine grafische Eingabeoberfläche zum Bearbeiten von Inhalten in einer Datenbank sind.

Neos geht hier einen anderen Ansatz indem es das so genannte Content Repository einführt. Dies ist eine Abstraktionsschicht zwischen dem System und der eigentlichen Datenbank, die sämtliche Inhalte in einer verschachtelten Baumstruktur abspeichert. Jeder Inhalt der Seite entspricht einem Knotenpunkt (Node) in diesem Baum.

Frei definierbare Inhaltselemente

Welche Inhalte ein Knotenpunkt abbildet kann der/die EntwicklerIn selbst bestimmen. Ein Knoten für einen Blogbeitrag würde beispielsweise festlegen, dass dieser eine Überschrift, einen Text sowie ein Datum und ein Vorschaubild enthält.

Weiters können im Content Repository auch die Abhängigkeiten der Knotenpunkte zueinander definiert werden. Wenn wir bei unserem Blog Beispiel bleiben, kann eine Blog Übersichtsseite also nur Knoten vom Typ Blogeintrag beinhalten.

Content Dimensionen

Ein weiteres Feature, das Neos von anderen CMS unterscheidet, ist das Konzept von Content Dimensionen. Diese erlauben es, dass Knoten im Content Repository in mehreren Versionen (Dimensionen) existieren können.

Eine Dimension kann beispielsweise die Sprache abbilden. Ein Knoten kann dadurch einmal in Deutsch, aber auch in Englisch und Französisch zur Verfügung stehen. Je nachdem, welche Dimension die Besucherin der Webseite gewählt hat, werden andere Inhalte angezeigt.

Doch auch komplexere Anforderungen lassen sich durch dieses Konzept realisieren.

Beispielsweise könnte neben der Sprache auch eine Dimension für „Land” existieren. Dies ist bei Shop-Lösungen hilfreich, um deutschsprachigen Kunden aus der Schweiz Geldbeträge in CHF aber Kunden aus Deutschland und Österreich in Euro ausweisen zu können.

Da es nicht nur eine Dimension, sondern theoretisch unendlich viele miteinander verknüpfte Dimensionen geben kann, ist hier eine Unzahl an spannenden Möglichkeiten denkbar.

Workspaces – ein Arbeitsplatz für jede/n

Jede/r RedakteurIn arbeitet im Backend von Neos in seinem/ihrem persönlichen “Workspace”. Dies ist ein Arbeitsbereich in dem er/sie seine/ihre persönliche Version der Webseite sieht und bearbeiten kann. Änderungen an der Seite sind vorerst nur im jeweiligen Redakteurs Workspace sichtbar.

Nachdem der Redakteur oder die Redakteurin mit allen Änderungen zufrieden ist können diese gesammelt veröffentlicht werden. Veröffentlichen bedeutet in Neos Änderungen vom persönlichen Workspace auf dem Live Workspace zu veröffentlichen.

Neben „Live” und den persönlichen Workspaces können, je nach Projektanforderung, noch weitere Workspaces angelegt werden.

Ein eigener „Staging”-Workspace mit eingeschränkten Benutzerrechten oder ein Team-Workspace für die gemeinsame Entwicklung einer Landing Page. Hat man das Konzept einmal verstanden, sind Workspaces ein mächtiges Tool um kollaborativ an Inhalten zu arbeiten.

Erweiterungen, Plugins, Module, Widgets,…?

Für viele Content Management Systeme ist die Anzahl der verfügbaren Erweiterungen ein Qualitätsmerkmal. Je mehr, desto besser. WordPress ist darin der unangefochtene Meister aber auch Drupal oder TYPO3 betonen gerne die große Anzahl an Erweiterungen von Drittentwicklern.

Die Auswahl ist enorm. Vom einfachen „Widget”, das die Einbindung von YouTube Videos erleichtert, über das „Event-Plugin”, das Veranstaltungen auf der Webseite darstellt, bis hin zur ausgereiften Webshop-Erweiterung, die eine einfache WordPress Installation im Handumdrehen in das nächste Amazon verwandeln soll.

Was auf den ersten Blick sehr verlockend klingt, hat leider auch eine Kehrseite. Dann nämlich, wenn ein sicherheitsrelevantes Update am CMS eingespielt werden muss, die Hälfte der installierten Plugins dadurch aber funktionsuntüchtig wird.

Neos wählt hier einen anderen Weg. Durch die bereits beschriebene Flexibilität der Inhaltsstruktur können klassische Erweiterungen wie News oder Events einfach mit On-Board Mitteln direkt im System umgesetzt werden. Dadurch muss man sich bei Updates nicht auf Drittanbieter verlassen.

Sollte es doch einmal komplexere Anforderungen geben, gibt es auch in Neos ein Package-Verzeichnis, in dem Erweiterungen gelistet sind. Diese können, wie in modernen PHP Projekten gewohnt, einfach mittels Composer installiert und upgedated werden.

Wo ist der Haken?

Neben den vielen Vorteilen möchte ich an dieser Stelle auf die Stolpersteine eingehen, die wir bei unseren ersten Neos Projekten aus dem Weg räumen mussten.

Insbesondere von Entwicklerinnen und Entwicklern fordert das System ein Umdenken.

Die Dokumentation hilft weiter, lässt aber trotzdem oft komplexere Fragestellungen unbeantwortet. Als Alternative empfiehlt sich hier das Forum bzw. der Neos Slack Chat, in dem sich die Community austauscht. Fragen von Newcomern werden hier gerne und rasch beantwortet.

Beim Thema Templating kann Neos seine Herkunft nur schwer leugnen. Es setzt auf die Fluid Templating Sprache, die auch in TYPO3 verwendet wird. Ebenfalls setzt Neos auf die Auszeichnungssprache Fusion mit der ein „Rendering-Layer” zwischen den Inhalten im System und den HTML Templates eingezogen wird. Fusion ist die Weiterentwicklung von Typoscript, das in TYPO3 dieselbe Funktion erfüllt.

Ein weiterer Punkt, der Neos von herkömmlichen Systemen unterscheidet, sind die hohen Serveranforderungen. Wer es gewohnt ist, eine Webseite mal schnell auf einem Shared-Hosting Server aufzusetzen, wird bei Neos nicht glücklich. Bei Neos handelt es sich um ein CMS der nächsten Generation, das eben auch mehr Ressourcen als herkömmliche Systeme benötigt. Shell-Zugriff, PHP in mindestens Version 7 sowie entsprechend RAM und CPU sind Voraussetzung um Neos zu betreiben.

Unser Fazit

Neos ist nicht angetreten um WordPress vom CMS Thron zu stoßen, vielmehr will es zeigen, dass es auch moderne Content Management Systeme gibt, die in Punkto Usability im 21. Jahrhundert ankommen sind.

Es eignet sich gut, um mittelgroße bis große Web Projekte umzusetzen und selbst komplexe Inhaltsstrukturen für RedakteurInnen möglichst einfach bearbeitbar zu machen.

Hat man als EntwicklerIn einmal die Grundsätze von Neos verinnerlicht, vergisst man schnell die anfänglichen Schwierigkeiten und es kommt einem die Art wie herkömmliche Content Management Systeme funktionieren fast schon altertümlich vor.

Wenn ihr jetzt Lust bekommen habt, euch selbst einmal in Neos zu versuchen, findet ihr unter https://neos.io alles was ihr dazu benötigt.

Für uns bei asoluto ist Neos mittlerweile ein weiteres Tool in der „CMS Werkzeugkiste” geworden. Als Teil der österreichischen Neos-Community freuen wir uns (am 19.4.2018) das 6. Neos Meetup in unserem Büro veranstalten zu können.

Hinweis auf Cookies

Wir verwenden Cookies
(leider nicht die essbaren)
oder Infos