Mediengestalter AP 2016: CMS und Datenbank

Ihr seid sicher hier gelandet weil ihr keine Ahnung habt, was euch zum Thema Datenbanken & CMS erwarten könnte. Digitale Prüflinge werden in diesem Artikel vermutlich nichts neues lernen — seid ihr jedoch Printler, wird euch dieser Artikel einen guten Überblick verschaffen. Natürlich gibt es keine Gewähr auf Vollständigkeit oder Korrektheit. ❤


CMS

CMS, selten auch WCMS, ist die Abkürzung des englischen Begriffs ”(Web) Content Management System”. Dabei handelt es sich in der Regel um Software, welche auf einem Web-Server installiert wird.

Mit einem CMS lassen sich Website-Inhalte wie z.B. Seiten, Navigation, Texte und Bilder auf einer Website auch ohne jedwede Kenntnisse von Technik und Programmierung verwalten. Zudem übernimmt ein CMS oftmals automatisierte Aufgaben, welche den Pflegeaufwand verringern.

Nice to know: Websites welche ein CMS nutzen werden auch dynamische Websites genannt. Jedoch: Nicht jede dynamische Website nutzt ein CMS.

Ich gehe hier nur auf CMS ein, welche auf einem Web-Server installiert werden. Manchmal liest man auch fälschlicherweise z.B. bei Adobe Dreamweaver von einem CMS. Allerdings glaube ich, dass mit sehr hoher Wahrscheinlichkeit die serverseitige CMS gemeint sind.

Datenbanken

SQL

Die meisten CMS nutzen SQL Datenbanken. Diese relationalen Datenbanken sind relativ einfach zu erstellen und zu nutzen. Eine relationale Datenbank besteht aus einer Reihe von Tabellen, die Daten in vordefinierten Kategorien enthalten. Datenbanken im Zusammenhang mit einem CMS speichern zumeist:

  • Allgemeine Informationen bezüglich der Installation (Website-URL, CMS-Version usw.)
  • Inhalte (z.B. Texte, Pfade und Datum)

Nice to know: Bilder, PDF usw. werden in der Regel nicht in der Datenbank gespeichert, da die Datenmenge die Performance stark beeinflussen kann. Lediglich der Pfad, wo sich die Datei auf dem Server befindet, wird gespeichert.

Die meistverbreitete SQL Datenbank ist die Open Source Datenbank MySQL.

NoSQL

Neben den weitverbeiteten SQL Datenbanken gibt es auch sog. NoSQL “Not only SQL” Datenbanken. Besonders sehr moderne Webapplikationen und -sites, welche große Datenmengen flexibel handhaben müssen, greifen oftmals auf NoSQL Datenbanken zurück. Eine der bekanntesten NoSQL Datenbanken ist MongoDB.

Ich denke nicht, dass irgendwas in Richtung NoSQL dran kommt. Dafür ist der ZFA zu altbacken. Aber gut für das nächste mal knowledge dropping vor euerem Chef. Ihr kennt das ❤

Verbreitung

Die weltweit verbreitetsten CMS nutzen SQL Datenbanken.

  • WordPress 58,7%
  • Joomla 6,6%
  • Drupal 5%
  • Magento 2,9%

  • Typo3 1,5%

*Stand Oktober 2015

2015 waren ca. 70 Millionen Websites sind mit WordPress realisiert. Somit sind rund 17% aller Webseiten im Internet auf WordPress Basis. Entsprechend ist die Verbreitung von MySQL Datenbanken.

In der Auflistung wird Magento aufgeführt — eigentlich ein Shopsystem, welches nur entfernt zu den CMS gehören. Auf Shopsysteme müssen wir vermutlich nicht weiter eingehen.

Wie funktionieren CMS mit Datenbanken?

Wie genau sieht die Verbindung zwischen Website, CMS und Datenbank eigentlich aus? Um das zu klären muss noch ein paar zusätzliche gängige Begrifflichkeiten verstehen:

Frontend

Das Frontend ist die eigentlich Website, welche der Besucher sieht. Dort fließen alle Inhalte zusammen und werden im Form eines Design dargestellt.

Backend

Das Backend ist die Steuerzentrale der Website. Das Backend erreicht man in der Regel über einen Login. Dort können Einstellungen vorgenommen und Webinhalte administriert werden. Oftmals gibt es sog. Nutzerrollen, sodass detailliert einstellbar ist, welche Inhalte von einem bestimmten Nutzer veränderbar sind.

Webserver

Sobald Daten automatisiert bearbeitet (lesen, schreiben und ausführen) werden, sprechen wir von einer dynamischen Website. Diese Aufgabe übernimmt ein Webserver. Dieser bearbeitet Anfragen und liefert Antworten zurück. Oftmals ist dort ebenfalls die Datenbank für das CMS installiert.

Wieso eine Datenbank benutzen?

Um die Vorteile einer Datenbank zu verstehen, muss man sich erstmal im klaren drüber sein, wie Webseiten funktionieren.

Statische Webseite (Kein CMS)

Wenn Nutzer eine Website aufrufen, werden Anfragen an den Webserver gesendet. Wir fordern also eine oder mehrere Dateien an. Der Server prüft nun ob die Datei vorhanden ist und sendet die Datei, falls vorhanden, an den Nutzer. Alle Dateien und Unterseiten müssen vom Website-Betreiber manuell angelegt werden. Eine Unterseite entspricht also einer Datei auf dem Server.

Abbildung statische Webseite — by bitpunk.de

Vorteil:

  • Sehr schnell
  • Benötigt keine speziellen technischen Anforderungen an den Webserver
  • Verhältnismäßig sicher (Hacks)

Nachteile:

  • Redakteure müssen über HTML Kentnisse verfügen
  • Globale Änderungen bspw. im Webdesign müssen in allen Dateien
    vorgenommen werden
  • Es können keine Aufgaben automatisiert werden
  • Euer Kunde verklagt euch weil Ihr ihm alten Schrott andreht

Dynamische Webseite (CMS)

Der Nutzer ruft die Website auf und sendet somit eine Anfrage an den Server. Bis hierhin ist alles identisch mit einer statischen Seite. Der eigentliche Unterschied beginnt jetzt auf dem Server. Die aufgerufene Datei ist eine dynamische Datei. Beispielsweise eine PHP-Datei. PHP ist eine weitverbreitete serverseitige Skriptsprache — das bedeutet sie wird von dem Webserver verarbeitet. Die meisten CMS basieren auf PHP (z.b. WordPress, Drupal, webEdition und Typo3).

Abbildung dynamische Webseite— by bitpunk.de

Zurück zu unserem Website Aufruf: Der Server und somit das CMS erhält die Anfrage. Diese Datei beinhaltet keinen Inhalt und hat keinen bestimmten Aufbau. Das CMS hat jetzt also die Aufgabe diese Seite aufzubauen (rendern). Dafür benötigt es eine Vorlage (Aufbau & Design) sowie den eigentlichen Inhalt (Datenbank).

Das CMS erstellt die Datei dynamisch. Sorry für Comic Sans — by bitpunk.de

Die Vorlage

Die Website soll ein bestimmtes Aussehen haben. Unser Logo und sonstige Design-Elemente, welche auf jeder Seite auftauchen, platzieren wir also in der Vorlage. Dynamischen Inhalte, wie unsere Headlines, sollen bspw. als Comic Sans über den Artikel thronen. Der restliche Inhalt direkt darunter. Wo wir den dynamischen Inhalt platzieren, bestimmen wir also ebenfalls in der Vorlage.

Der Inhalt

In einer Datenbank haben wir die Inhalte gespeichert. Das CMS stellt die Verbindung zur Datenbank her. Anschließend sucht das CMS anhand einer einzigartigen Zahl den gewünschten Datensatz aus einer Tabelle der Datenbank.

Hat das CMS die Datei zusammengestellt, sendet es die Datei
zurück an den Nutzer.

Vorteile:

  • Redakteur benötigt keine HTML Vorkenntnisse zur pflege der Webseite
  • Trennung Inhalte und Design
  • Inhale sind flexibel nutzbar (Sortierung, Kategorisierung)
  • Interaktion möglich (z.B. Kontaktformular, Login)
  • Globale Änderungen müssen nur in Vorlagen vorgenommen werden
  • Automatisierte Aufgaben (z.B. Bilder umrechnen)

Nachteile:

  • Systemanforderungen an den Server
  • Fehleranfälliger als statische Seiten
  • Verhältnismäßig unsicher, wenn das System nicht geupdated wird
  • Kosten (Wenn das CMS nicht kostenfrei ist)
Die Beschreibung ist reduziert — reicht in meinen Augen aber für das Verständnis wie CMS und Datenbank zusammenarbeiten aus. Zudem handhabt jedes CMS diesen Prozess ein bisschen anders. Ich hatte überlegt das ganze nochmal in einem Video mit WordPress zu erklären. Falls daran Interesse besteht oder ihr Fragen habt, haut mich auf Facebook oder bitpunk.de an.

Danke fürs Lesen und viel Erfolg! ❤

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.