Grav CMS und eigenes Plugin

Grav CMS und eigenes Plugin
 
08.04.2019
Entwicklung
Twig YAML Markdown CMS
 

Wer sich weiterentwickeln und etwas erreichen will, der muss neue Wege gehen!

Auf der Suche nach einer Alternative zu Drupal, um kleinere Webseiten wie Portfolio-Seiten für Einzelunternehmen umzusetzen, bin ich auf das Grav CMS gestossen. Dries (Creator of Drupal) selbst hat gesagt, dass Drupal möglicherweise nicht die beste Lösung für kleinere Websites oder Projekte ist:

If you want to build a small web site, I'm not sure it makes sense to use Drupal today. It's good for… ambitious sites. #driesnote

Grav ist sehr schlank aufgebaut und bietet gerade genug Funktionalität, um die Grundlagen zu schaffen. Die zugrundeliegende Architektur von Grav hat mich fasziniert. Erstens gibt es keine Datenbank. Weiters beruht Grav auf folgender Schlüsseltechnologie:

  • Zur Definition von Vorlagen wird Twig verwendet.
  • Der Inhalt wird mittels Markdown verfasst.
  • Zur Konfiguration dient YAML .

Wenn ich also eine Änderung an der Konfiguration vornehmen möchte, ändere ich diese in der entsprechenden YAML-Datei. Wenn ich eine Seite aktualisieren möchte, ändere ich diese in der entsprechenden Markdown-Datei. Wenn ich die Gestaltung einer Seite änderen möchte, ändere ich diese in der entsprechenden Twig-Datei. That's it.

Eine wichtige Frage die ich beantworten wollte: Wie kompliziert gestalten sich Erweiterungen?
Plugins werden in der Regel entwickelt, weil es eine Aufgabe gibt, die nicht mit der Kernfunktionalität von Grav erledigt werden kann. Ich habe mich entschlossen ein Plugin Leaflet Address zu entwicklen, welches die Erfassung einer Adresse erlaubt und diese auf einer OpenStreetMap Karte anzeigt. Die Adresse kann ebenfalls als reiner Text ausgegeben werden.

Fazit!

Drupal glänzt bei der Erstellung komplexer Inhaltsmodelle, bei denen es viele Arten von Inhaltstypen gibt, welche sich gegenseitig referenzieren oder einbetten oder die Felder des anderen wiederverwenden. Grav ist vielleicht mehr seitenfokussiert als datenfokussiert, was die Arbeit mit Grav für viele Websites wesentlich einfacher gestaltet, jedoch nicht sehr geeignet ist für Websites, welche komplexere Beziehungen benötigen.

Die Entwicklung von Plugins und Themes ermöglichen massgeschneiderte Lösungen um Kundenanforderungen zu erfüllen. Für eine typische kleine bis mittelgrosse Unternehmens-Website kann Grav eine wirklich grossartige Lösung sein, die einen Teil des Overheads einer typischen Drupal-Website reduziert. Durch den modularen Seitenaufbau lassen sich sogar relativ komplexe One-Pager mit Grav erstellen. Der Funktionsumfang ist für viele Anwendungsbereiche ausreichend.