5 interessante Content-Management-Systeme für Node.js

5 interessante Content-Management-Systeme für Node.js

5 interessante Content-Management-Systeme für Node.js

Damit man Websites nicht per Hand als HTML-Code schreiben muss, wurden Content-Management-Systeme (kurz CMS) entwickelt, mit denen sich die Inhalte einer Website mit einem grafischen Editor erstellen und bearbeiten lassen.

Ist ein CMS erst einmal installiert, werden in der Regel keine technischen Kenntnisse benötigt, da sich die damit erstelle Website über eine Benutzeroberfäche verwalten lässt. Ein CMS ist besonders dann sinnvoll, wenn mehrere Nutzer an einer Website arbeiten, da diese sich zum Bearbeiten von Seiten lediglich ins CMS einloggen müssen, und keinen direkten Zugriff auf Server benötigen.

(direkt zu dem ersten Node.js-CMS springen)

das Logo von Node.js

das Logo von Node.js

Warum ein auf Node.js basierendes CMS? #

Während es etliche Content-Management-Systeme gibt, die in der Scriptsprache PHP geschrieben sind, gibt es aufgrund der Neuheit von Node.js bisher nur wenige, die stattdessen auf der Node.js-Plattform aufbauen. Dabei bietet gerade Node.js viele Vorteile gegenüber PHP, die vor Allem für Content-Management-Systeme interessant sind.

Performance #

Node.js ist aufgrund seiner asynchronen Architektur besonders schnell und performant, da so zum einen mehrere Dinge gleichzeitig getan werden können, und zum anderen globale Datenbankabfragen nicht für jeden Seitenaufruf erneut getätigt werden müssen.

Auch Programmcode muss nicht jedes Mal erneut in die Anwendung geladen werden, und initiale Berechnungen, die von vielen Frameworks und Softwarebibliotheken getätigt werden, müssen ebenfalls nicht erneut ausgeführt werden. Außerdem wird der gesamte Node.js-Code vor der Ausführung in Maschinensprache übersetzt, und nicht während des Ablaufes interpretiert, sodass die Anwendung nochmals beschleunigt wird.

Node.js kann somit der Tatsache, dass serverseitige Frameworks und besonders Content-Management-Systeme – im Vergleich zu komplett eigenständig programmierten Webseiten – in der Regel relativ langsam, unperformant und ressourcenlastig sind, ein Ende setzen.

Benutzerfreundlichkeit #

Ein weiterer wichtiger Grund für ein Node.js-CMS ist sicherlich das mögliche Maß an Benutzerfreundlichkeit, was mit Node.js erreicht werden kann. Da Node.js-Anwendungen in JavaScript geschrieben werden, und diese Scriptsprache auch in allen moderenen Webbrowsern unterstützt wird, kann gleicher Programmcode sowohl auf dem Server als auch im Webbrowser verwendet werden, sodass beide Seiten synchron zueinander arbeiten. Dies ermöglicht eine perfekte Zusammenarbeit von Server und Webbrowser.

Mit Node.js lässt sich außerdem eine Websocket-Verbindung zwischen Webbrowser und Server ohne weiteres realisieren, womit beide Seiten in Echtzeit miteinander kommunizieren, und Informationen austauschen können. Gegenüber dem altbewährten AJAX-Verfahren, bei dem der Webbrowser immer eine Anfrage an den Server senden muss, bevor dieser Informationen sendet, wird beim Websocket-Verfahren eine Verbindung im Hintergrund offen gehalten, sodass in beide Richtungen gesendet werden kann.

Was dies in der Praxis bedeutet, hat bereits der kollaborative Editor EtherPad gezeigt, mit dem Texte von mehreren Benutzern gleichzeitig bearbeitet werden können. Änderungen werden dabei in Echtzeit übertragen und sofort für alle Benutzer sichtbar, ohne dass es dabei zu Konflikten zwischen den einzelnen Änderungen kommt.

Ein weiteres Beispiel ist die Foren-Software NodeBB, die sich in ihrer Funktionsweise deutlich von den klassischen Foren abgrenzt. Denn hiermit werden neue Themen und Beiträge ebenfalls in Echtzeit aktualisiert, sodass sie allen Besuchern, welche die entsprechende Seite geöffnet haben, sofort angezeigt werden. Die Seite muss also nicht erneut geladen werden, damit Änderungen sichtbar werden. Und dennoch ist NodeBB schneller und performanter als so ziemlich jede herkömmliche Foren-Software.

Was gibt es zu beachten? #

Da Node.js eine relativ neue Technologie ist, befinden sich hier vorgestellten Content-Management-Systeme noch in einem recht frühen Entwicklungsstadium. Daher kann es gut sein, dass sich Details an den Systemen zukünftig ändern, oder neue Funktionen hinzugefügt werden.

Alle hier vorgestellten Systeme sind Open-Source, und können somit kostenlos heruntergeladen, installiert, und verwendet werden. Einige Entwickler bieten auch kostenpflichtige Dienstleitungen wie das Hosting des Systems, oder Supportanfragen für Unternehmen an.

Calipso #

Screenshot der offiziellen Calipso-Website

Screenshot der offiziellen Calipso-Website

Calipso ist ein schnelles, flexibles und einfach aufgebautes CMS. Es verwendet die NoSQL-Datenbank MongoDB, und ist somit gut skalierbar.

Mit Calipso können Themes ähnlich wie bei den beiden bekannteren Systemen WordPress und Drupal entwickelt werden, wobei jedoch neben reinem HTML auch jede beliebige Templatesprache wie Jade, Haml, oder ejs verwendet werden kann, die mit Express kompatibel ist. Zudem wird die Stylesheet-Sprache Stylus als Alternative zu reinem CSS unterstützt, womit das erstellen von Designs vereinfacht wird.

Um die Performance zu steigern, können gewisse Blöcke und Bereiche gecacht werden. Nach eigenen Angaben kann Calipso auf einem normalen PC ohne Cache um die 200 Seitenaufrufe pro Sekunde verarbeiten, mit eingeschalteten Cache sogar um die 400 Aufrufe pro Sekunde, was nochmals doppelt soviel sind.

Das Calipso-Projekt steht unter der MIT-Lizenz, und hat auf GitHub bisher mehr als 1.450 Sterne bekommen.

KeystoneJS #

Screenshot der offiziellen Website von KeystoneJS

Screenshot der offiziellen Website von KeystoneJS

KeystoneJS hat den Anspruch, möglichst leichtgewichtig und flexibel zu sein, und verwendet ebenfalls MongoDB als Datenspeicher. Da es zudem ebenfalls auf Express aufbaut, kann auch hiermit jede beliebige Template- und Stylesheet-Sprache verwendet werden.

KeystoneJS richtet sich insbesondere an Entwickler, da es neben der Funktionalität als CMS auch als Webframework fungiert. So unterstützt es dynamisches Routing, Formular-Validierung und spezielle Datenbank-Feldtypen wie Namen-, Email-Adressen-, Passwörter-, Adressen-, Bilder- oder Relations-Felder.

Zudem erleichtert es die Verwaltung von Sessions, bietet Unterstützung für die automatische Verschlüsselung von Passwörtern, und bietet die Möglichkeit, Template-basierte Emails zu versenden. Dabei wird besonderer Wert auf einfachen Code gelegt.

Das KeystoneJS-Projekt steht ebenfalls unter der MIT-Lizenz, hat auf GitHub mehr als 1.200 Sterne erhalten, und mehr als 600 Follower auf Twitter.

Hatch.js #

Screenshot von der offiziellen Website von Hatch.js

Screenshot von der offiziellen Website von Hatch.js

Hatch.js wurde als schnelle, flexible und erweiterbare CMS-Plattform konzipiert, die zudem die Funktionalitäten eines sozialen Netzwerkes hat. So soll die Lücke zwischen den Inhalten und der sozialen Interaktion geschlossen werden.

Neben normalen Seiten lässt sich mit Hatch.js auch ein Blog, ein Forum, sowie ein online-Shops anlegen. Als soziale Funktionalitäten werden unter Anderem Benutzer-Profile, Freunde, Follower, Status-Updates, Gruppen und Umfragen unterstützt.

Administratoren können Inhalte entweder direkt auf der Website bearbeitet werden, oder dazu in ein separates Backend wechseln.

Zur Gestaltung der Website stehen Widgets zur Verfügung, die an eine beliebige Stelle eingesetzt werden können. Auch das Design lässt sich in gewisser Weise über die Benutzeroberfläche anpassen, was Hatch.js für Anwender ohne Programmierkenntnisse interessant machen könnte.

Die Module von Hatch.js im Backend

Die Module von Hatch.js im Backend

Das gesamte System ist modular aufgebaut, was bedeutet, dass man sich genau die Funktionen raussuchen und aktivieren kann, die man benötigt.

Neben den bisher vorgestellten Funktionalitäten stehen noch Authentifikations-Module für Facebook, Twitter, Google+ und LinkedIn zur Verfügung, sowie ein Lokalisierungs-Modul, eine Suchmaschine, ein Bachup-Manager, ein Github Issue Logger, ein Seiten-Cache für nicht angemeldete Besucher und viele weitere Module.

Alle Datensätze werden in der Schlüssel-Wert-Datenbank Redis gespeichert.

Hatch.js steht unter der AGPL-Lizenz, und ist seit kurzem auch auf GitHub vertreten. Für kommerzielle Projekte bietet der Entwickler auch Support über Skype oder Email an.

Bei der Demo-Installation kann man sich mit dem Benutzernamen admin, und dem Passwort password als Administrator anmelden, und die Software umfassend auszutesten. Die Sprache kann dabei auf deutsch eingestellt werden.

Apostrophe #

Als Administrator in der Apostrophe-Demo

Als Administrator in der Apostrophe-Demo

Schon länger auf dem Markt in das CMS namens Apostrophe. Während die alte Version 1 auf PHP und MySQL basierte, baut das neue Apostrophe 2 auf Node.js und MongoDB auf.

Mit dem neun Apostrophe können alle Inhalte direkt auf der Website bearbeitet werden, sodass auf ein externes Backend verzichtet wurde. Neben Texten und Bildern lassen sich in Seiten auch weitere Besonderheiten wie z.B. Zitate, Buttons, Videos, Google Maps-Karten oder RSS-Feeds einfügen. Außerdem lassen sich Bildergalerien erstellen, und in Seiten einfügen.

Für Entwickler stellt das System Schnittstellen bereit, über die sich z.B. ohne großen Aufwand Emails verschicken lassen.

Die Software steht unter der MIT-Lizenz, und hat mehr als 300 Sterne auf GitHub erhalten. Die Entwickler bieten unter apostrophenow.com auch einen Hosting-Service für Apostrophe an, bei dem der kleinste Tarif kostenlos ist, während alle weiteren Tarife Geld kosten.

Ghost #

Der offizielle Blog des Ghost-Projektes

Der offizielle Blog des Ghost-Projektes

Ghost ist mit mehr als 10,954 Sternen auf GitHub wahrscheinlich das bekannteste CMS für Node.js, und gleichzeitig auch das einfachste der hier vorgestellten Systeme. Denn genauer gesagt handelt es sich bei Ghost um eine Blogging-Plattform, die Software ist also ausschließlich für das erstellen von Blogs geeignet.

Die Besonderheit an Ghost ist, dass die Beiträge mit Markdown anstelle eines visuellen Editors formatiert werden. Dadurch soll das Schreiben verbessert werden, da man während des Tippens keine Buttons anklicken muss, und so hintereinanderweg schrieben kann.

Der Markdown-Editor von Ghost

Der Markdown-Editor von Ghost

Markdown ist eine vereinfachte Auszeichnungssprache, bei der Texte mit Sonderzeichen formatiert werden. Um beispielsweise einen Text fett zu machen, würde man hierbei doppelte Anführungszeichen verwenden.

Der Markdown-Code Hallo, mein Name ist **NodeCode**! würden somit folgendermaßen dargestellt: Hallo, mein Name ist NodeCode!

Aufgrund der relativ hohen Verbreitung von Ghost, gibt es viele kostenlose sowie kostenpflichtige Themes. Diese kann man entweder vom Ghost Marktplatz beziehen, oder von Themeforest, wo noch einmal mehr als 160 Premium-Themes verfügbar sind.

Als Datenbank verwendet Ghost per Standardeinstellung die integrierte SQLite-Datenbank, über die Konfigurationsdatei lässt sich alternativ dazu auch eine MySQL-Datenbank verwenden.

Ghost steht unter der MIT-Lizenz, und kann auf der Download-Seite kostenlos heruntergeladen wenden. Die Entwickler stellen auch einen kostenpflichtigen Hosting-Dienst zur Verfügung, der sich 30 Tage lang kostenlos testen lässt.

Schlusswort #

Nun sind fast 1.500 Wörter geschrieben, mehrere Stunden zum recherchieren, schreiben des Text, Screenshot-Anfertigen und gestalten des Beitrags vergangen, und ich hoffe, dass sich der Aufwand gelohnt hat. Ich werde die Entwicklung der hier vorgestellten Content-Management-Systeme auf jeden Fall im Auge behalten, sowie nach neuen interessanten Anwendungen Ausschau halten, und bei Neuigkeiten euch diese hier auf NodeCode mitteilen.

Falls du noch Fragen, Ergänzungen oder andere Anliegen hast, kannst du gerne einen Kommentar unter diesem Beitrag verfassen. Ich werde mein bestes geben, um sie bei Bedarf zu beantworten.

Umfrage zum Thema #

Hast du bereits ein auf Node.js basierendes CMS verwendet, wenn ja welches? (Mehrfachauswahl erlaubt)

Ergebnisse anzeigen

Loading ... Loading ...
VN:F [1.9.22_1171]
Bewertung: 4.8/5 (14 Bewertungen)
5 interessante Content-Management-Systeme für Node.js, 4.8 out of 5 based on 14 ratings
Regelmäßige Beiträge über Node.js

nodecodeAbonniere den kostenlosen NodeCode-Newsletter, und bleibe auf dem laufenden über neue Beiträge zum Thema Node.js. Darunter:

  • Informationen und Neuigkeiten rund um Node.js und zugehörigen Modulen
  • Vorstellung von interessanten Frameworks und Bibliotheken
  • Anleitungen und Tutorials zu Node.js und weiterführenden Technologien
  • Sowie vieles mehr...

schon 9 Kommentare gehe zum kommentieren

  1. Shrawan Lakhe /

    Hi everybody, We made a Content Management system using MEAN Framework and we are very pleased to present you a Major release version v1.0 of Nodebeats, the Content Management System built using MEAN Framework. It is still relatively new and we are continually working on it to make it even more secured and optimized.

    This release includes the angular-cli implemenation to make building angular code extremely easy and fast, responsive html template integration using handlebars, database backup restore feature and reduce the number of files by significant amount, by code clean up and project directory structure changes. In the next major release version, we aim to introduce install setup wizard and some other features to make Nodebeats even more flexible and easy to use and also we will create and deploy the docker image of Nodbeats in docker hub so that you won’t have go through the hassles of configuring the deployment environment.

    To know more, Go to http://www.nodebeats.com for official website and https://github.com/nodebeats/nodebeats for github repository. If you want to check out the demo application, then go to https://demo.nodebeats.com.

    Please do give us your suggestions and support.

  2. Svobi /

    Calipso seems not to be maintained anymore…. Looked very promising.
    i will test KeystoneJS and taracot. They are ready to use. Taracot does not support much documentation, but has a „shop“.

    1. crypto legal /

      but unfortunately, the last update of taracot was a year ago!

  3. ShalokShalom /

    NodeBB

  4. Andi Neck /

    Ich bin der Initiator vom http://glintcms.com Content Management System, das 100% auf node.js basiert.
    Die Stärken von GlintCMS sind hauptsächlich: MIT lizenz, Frontend Inline Editor, wählbare Datenbank, wählbare Template Engine, einfache Block Editor Entwicklung, sehr modular, rendern auf dem Server oder im Browser nach Wahl. basierend auf Express.js.

  5. Michael Matveev /

    I’m currently developing my Node.js based CMS. Take a look: https://taracot.org, demo: https://demo.taracot.org, https://demo.taracot.org/cp/ (admin/admin).

    1. Svobi /

      Looks very interessting!

  6. insomnia-bcn /

    Danke für die kleine Übersicht!

    Vielleicht wäre es sinnvoll an dieser Stelle auch das CMS postit für Node.js zu erwähnen (http://postit.xpress.io/).
    So wie es scheint, ist es ebenfalls ein sehr leichtgewichtiges CMS.

    Liebe Grüße aus Barcelona – insomnia

  7. CMS User /

    Danke für die Hinweise zu diesen CMS. Ich habe bisher immer ein anderes Content Management System verwendet, aber solche Hinweise zu anderen CMS Optionen sind natürlich immer hilfreich.

hinterlasse einen Kommentar