Contenta CMS

Contenta CMS

In der letzten Woche habe ich über JavaScript geschrieben und wie man interaktive Elemente beispielsweise in einen WordPress Artikel einbinden kann.

Ein CMS wie WordPress hat ein Backend (den Administrationsbereich) und ein Frontend (die Website). Die JavaScript Befehle im Artikel der letzten Woche wurden zwar im Backend eingegeben und mit dem Artikel gespeichert, ausgeführt werden sie allerdings im Browser des Besuchers. Das ist ein möglicher Ansatz, ein bereits existierendes Frontend mit interaktiven Elementen anzureichern.

Die Anforderungen an Websites und Content Management Systeme verändern sich seit ein paar Jahren. Der Trend geht hin zu viel mehr Interaktionen im Frontend und vielfältigerer Nutzung der Daten des Backends (Multi Channel). Daher ist ein anderer Ansatz, die Trennung von Backend und Frontend, immer häufiger anzutreffen. Man spricht dann von Decoupled oder Headless CMS. In WordPress ist das möglich über die REST API, aber es ist noch nicht so wirklich verbreitet. Da Drupal seine Stärken im Backend Bereich hat, entwickelt sich dort gerade eine Tendenz zu decoupled Drupal Projekten.

In diesem Zusammenhang ist das Contenta CMS einen intensiveren Blick wert. Contenta ist eine Drupal-Distribution. Sie basiert auf Drupal 8, das auf eine bestimmte Art vorkonfiguriert und erweitert wurde. Contenta bietet eine Schnittstelle (JSON-API), auf die mit JavaScript (und anderen Sprachen) zugegriffen werden kann. Das bedeutet, dass du die Inhalte, die in Contenta verwaltet werden, in allen JavaScript Anwendungen, beispielsweise auf deiner Website, in deiner Smartphone App, auf deinen Fernseher, in Amazons Alexa und natürlich auch in der zukünftigen famosen Kühlschrank App darstellen kannst.

Drupal 8 bietet ein solides Backend für Inhalte.
Programmiersprachen und Frameworks wie wie React, Angular, Vue.jsElmIonic oder auch Alexa Skills ermöglichen die Erstellung von modernen, interaktiven Frontends.
Was liegt also näher, als beide Technologien zu verbinden? Das Contenta CMS macht genau das!

Lokale Installation

Lokal kannst du Contenta ganz einfach ausprobieren. Die Installation mittels Composer ist vermutlich am einfachsten.
Ich nutze MacOS mit der aktuellen Composer Version.

hagengraf:drupal hagengraf$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.5.1 2017-08-09 16:07:22

Ein einziger Befehl ist notwendig um alle benötigten Dateien zu laden.

composer create-project contentacms/contenta-jsonapi-project my-contenta --stability dev --no-interaction

Im Ergebnis entsteht ein Verzeichnis, in meinem Fall mit dem Namen my-contenta, mit allen benötigten Dateien. Innerhalb von my-contenta befindet sich der Ordner web, in dem die Drupal Dateien liegen.

my-contenta - Verzeichnis
my-contenta – Verzeichnis

Je nach Konfiguration und Betriebssystem muss das Document Root des Webservers auf dieses Verzeichnis gesetzt werden. Ich benutze MAMP und den Apache Webserver.

MAMP
MAMP

Außerdem musst du noch in MySQL eine leere Datenbank anlegen. Das geht über die Konsole oder in phpMyAdmin.

DB contenta in phpmyadmin
DB contenta in phpmyadmin

Die eigentliche Installation erfolgt über den bekannten Webinstaller von Drupal, also einfach im Browser http://localhost (und den konfigurieren Port, in meinem Fall 80) aufrufen. Der Installer fragt die Datenbank Zugangsdaten ab und installiert dann alle nötigen Module.

Drupal/Contenta Installation
Drupal/Contenta Installation

Bei der Konfiguration der Site musst du den Beispielinhalt installieren um das Demo sehen zu können (Der Beispielinhalt kann durch das Deinstallieren der Module Recipe Magazine und Recipe Magazine Contenta problemlos wieder entfernt werden).

 

Konfiguration - Demo-Content
Konfiguration – Demo-Content

Die Installation läuft durch und landet bei der Startseite – now what?

Installation ist abgeschlossen - now what?
Installation ist abgeschlossen – now what?

Und ab hier wird es interessant.

Auf der Startseite befindet sich ein Wegweiser durch die Site und unter anderem 20 Videotutorials, die erklären, wie du mit Contenta CMS und der JSON API arbeitest. In den Videos wird das Tool Postman verwendet.

Demos

Die Beispieldaten enthalten Kochrezepte, die mit unterschiedlichen Frameworks aufbereitet werden. Hier die Vue.js Variante

Frontend mit Vue.js
Frontend mit Vue.js

… und hier ein Chatbot auf der Basis von Contenta CMS der allerdings noch nicht ganz fertig ist.

Chatbot
Chatbot

Fazit

Contenta CMS ist erstaunlich stabil und bietet für Nutzer, die Drupal kennen eine Möglichkeit interaktive Webapplikationen zu erstellen. Für Nutzer die Drupal nicht kennen ist es ebenfalls interessant, da die Hauptarbeit ja auf dem verwendeten Framework liegt und sich die Drupal Spezialitäten wie das Views Modul bei Bedarf erschließen lassen.

Links


tl;dr: Contenta CMS ist eine Drupal Distribution, die eine API zu den Inhalten bereitstellt.

Save

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

Kommentar verfassen