Drupal Tutorial: Site Building und Best Practises

    Drupal ist ein äußerst mächtiges CMS mit dem Corporate Websites, Portal und komplette Webanwendungen erstellt werden können. Das macht Drupal zugleich komplex und sorgt dafür, dass man die richtigen Konzepte und Herangehensweisen kennen muss um zu verstehen, wie man bestimmte Funktionen umsetzt. Natürlich kann man alles über PHP hinzu entwickeln, das ist jedoch nicht der Sinn und Zweck von Drupal. Über Site-Building haben Sie bereits Zugang zu einem mächtigen Baukasten mit dem Sie Ihre Features per Konfiguration statt Custom-Code erstellen können. Damit Sie die bewährten Konzepte kennen lernen, möchten wir in diesem Drupal Tutorial einen Überblick geben.


    Ihr Ziel mit diesem Drupal Tutorial

    Wir Ihnen unser Wissen aus mehr als 10 Jahren Erfahrung mit Drupal Projekten nahezu jeder Größenordnung und Laufzeit zur Verfügung stellen. Die einzelnen Punkte aus diesem Leitfaden werden Ihnen helfen, grobe Fehler in Ihrem Drupal Projekt zu vermeiden und Ihre Projektarchitektur auf bewährten Best Practices aufzubauen. Die folgenden Punkte in diesem Drupal Tutorial sind als Empfehlung zu verstehen und aus unserer Erfahrung entstanden. Wir haben sie mit Bedacht ausgewählt, da wir dieses Drupal Tutorial selbst zur Unterstützung unserer Teams und neuer Teammitglieder einsetzen.


    Drupal Sitebuilding

    Für den Aufbau einer Website, eines Portal oder einer Webanwendung kommen kommen meist über das Drupal Sitebuilding die folgenden Funktionen besonders häufig zum Einsatz:

    • Erstellen von Datenstrukturen und Datenmodelle
    • Auswahl zum Filtern von Daten (Queries)
    • Gestaltung von Business und Prozessabläufen
    • Darstellung und Layout
    • Zugriffskontrolle von Daten
    • Integration in bestehende Infrastruktur

    In Drupal sind viele dieser Komponenten bereits im Core enthalten und über das Drupal Sitebuilding ohne Programmierung zugänglich. Sitebuilding bedeutet konfiguration von Standardkomponenten und Module, über den Drupal Core als auch über zahlreiche andere Community Module erweitert werden können. Der große Vorteil von Drupal Sitebuildung besteht dabei in der hohen Konfigurierbarkeit der Funktionen sowie in der Flexibilität, die man durch Drupal erhält. Somit entstehen wesentlich weniger Fehler als beim Schreiben von Programm-Code und man setzt auf wiederverwendbare Komponenten, die felderprobten Best-Practices folgen und durch die Community kontinuierliche Funktions und Sicherheitsupdates erhalten. Auch wenn es in Drupal weit über 5000 Module gibt, kommt man hier bereits mit ein paar wesentlichen Modulen in den oben genannten Bereichen sehr weit. Die Module die wir für Drupal Sitebuilding am häufigsten einsetzen finden Sie in unserem Drupal Tutorial Download

    Sollte eines der Module dennoch nicht das tun, was Sie benötigen und stoßen Sie somit im Drupal Sitebuilding auf Ihre Grenzen, steht durch eine Entwicklerschnittstelle (API) die Möglichkeit bereit, die Funktionen durch individuelle Module zu erweitern, so dass diese zusätzlichen Funktionen in den genannten Modulen per Konfiguration in Ihre Software eingebunden werden. In Drupal 8 werden diese über Sitebuilding zugänglichen Erweiterungen auch Plugins genannt.


    Erwartungen an Drupal

    Im Rahmen von diesem Drupal Tutorial erhalten Sie zahlreiche Tipps und Best Practises dazu, wie Sie Module Konfigurieren und für Ihre Zwecke einsetzen. Anders als in Content Management Systemen wie WordPress oder Joomla ist Drupal als Baukasten für Webanwendungen (unter anderem CRM-, Intranet-, ECommercesysteme etc.) zu sehen. Das bedeutet, dass man kaum Module findet, die komplette Features für Endanwender bereitstellen. Vielmehr stellen Drupal Module neue Komponenten im Baukasten zur Verfügung, mit denen man sich seine individuellen Anforderungen zum größten Teil per Konfiguration (und nicht per Individualprogrammierung) zusammenklicken kann.


    Entwicklungsinfrastruktur

    Ein nicht ausreichend geplantes System zum Drupal Deployment ist einer der wesentlichen Punkte, die ein Drupal Projekt in der Wartung bzw. in der Weiterentwicklung nach dem Go-Live kompliziert und fragil werden lassen. Gerade zu Beginn eines ersten Projekts sollten Sie genügend Zeit in die Planung und Umsetzung einer auf Drupal ausgelegten Deployment Infrastruktur investieren. Insbesondere stellen Sie dann sicher, dass Sie einen Workflow zur Qualitätssicherung etablieren und auch „hotfixes“, die Bugs beheben oder Sicherheitslücken in Modulen schließen, im Betrieb mit der nötigen Geschwindigkeit und Qualitätssicherung einspielen können. Achten Sie darauf, dass Sie GIT einsetzen und mindestens ein Stage System haben, auf dem Sie Änderungen in der Konfiguration (per Export) und des Codes testen können. In der Downloadversion zu diesem Drupal Tutorial erhalten Sie weitere Details zu den Best Practises im Aufbau dieser Infrastruktur.


    Drupal Distributionen

    Drupal Distributionen sind vorkonfigurierte Installationen von Drupal die meist für einen bestimmten Anwendungsfall konfiguriert sind (siehe z.B. Drupal Intranet oder auch Drupal E-Commerce als Beispiele Drupal Distributionen). Eine Drupal Distribution bringt meist die folgenden Komponenten mit:

    • Drupal-Core
    • Drupal Contrib Module
    • Drupal Konfiguration (so sparen Sie durch Vorkonfigurierte Module Zeit im Drupal Sitebuilding)
    • Custom ModuleEin Drupal Theme
    • Ein Drupal Theme

    Drupal Distributionen sind hervorragend geeignet um sich einen Überblick über Module und deren Einsatzmöglichkeiten zu verschaffen und über Möglichkeiten zu Architekturkonzepten zu erfahren die über das Drupal Sitebuilding konfiguriert werden. Wenn Sie den Einsatz von Drupal Distributionen für sich evaluieren sollten Sie die folgenden Kriterien überprüfen:

    • Wie viele der benötigten Funktionen kann die gewählte Drupal Distribution bereits abdecken und was müssen Sie hinzu entwickeln
    • Wie viele Funktionen bringt die Distribution mit, die Sie NICHT brauchen
    • Wie viele User hat die Distribution (wird sie aktiv weiterentwickelt und mit regelmäßigen Sicherheitsupdates versorg

    Unsere Erfahrung ist, dass der Einsatz von Drupal Distributionen dann sinnvoll ist, wenn man min 80% der Funktionen darin wiederfindet und nicht all zu viele Anpassungen benötigt. Möchte man eine Drupal Distribution stark anpassen empfehlen wir, diese als Basis zur Inspiration zu verwenden und die gewünschten Funktionen per Konfigurations-Export in eine eigenen Drupal Installation zu überführen. So bleiben Sie in Ihrem Projekt unabhängig und flexibel.


    Drupal Usability für Redakteure

    Gerade in der Version 8 wurde die Drupal Usability für Redakteure durch ein sehr umfassendes Backend zum Verwalten von Inhalten aufgewertet. Durch die hohe Flexibilität kann die Drupal Usability für Redakteure jedoch durch zu überladenen Backends erheblich leiden. Oftmals ist der Funktionsumfang für den Redakteur nahezu erschlagend und während der Planung des Projekts vergisst man, ausreichend Zeit für die Anpassung des Backends einzuplanen. Das endet oft darin, dass die Drupal Usability für Redakteure als viel zu kompliziert und unbenutzbar empfunden wird. Prüfen Sie also im eigenen Interesse, welche Elemente ein Redakteur wirklich benötigt und welche Elemente sich über das Rechte- und Rollensystem ausblenden lassen. Klären Sie auch ab, ob die Redakteure das Backend zum Pflegen von Inhalten wirklich mobil nutzen können sollen und das Backend voll responsive funktionsfähig sein muss. Planen Sie in diesem Fall genügend Zeit für die Funktionen ein, die sich nicht über das Rechte- Rollensystem ausblenden lassen. Machen Sie sich bereits in der Planung ausreichend Gedanken darüber, wer (und vor allem welche Rollen) Ihre Seite mit welchen Funktionen benutzen soll. Das Erstellen von Personas hilft dabei ungemein, sich in die Rolle der zukünftigen Nutzer zu versetzen und die Rollen und Funktionen in Drupal entsprechend am Benutzer orientiert aufzubauen. Die wesentliche Module die wir einsetzen um die Drupal Usability für Redakteure zu verbessern sind folgend aufgelistet, eine Ausführliche Anleitung über den Einsatz dieser Module finden Sie im Download zu diesem Drupal Tutorial weiter unten:

    • Entity Browser
    • Entity Browser Enhance(d/r)
    • Paragraphs
    • Paragraph Browser
    • Paragraph Browser
    • Media
    • Media Browser
    • LinkIt
    • Field Group
    • Conditional Fields

    Ein Redakteur sollte vor allem eins tun: relevanten Content für seine Zielgruppe erstellen. Und das eingesetzte CMS sollte dem Redakteur die Möglichkeit bieten, diesen Content einfach, gezielt, nutzerfreundlich und optisch ansprechend auf der Seite bereitzustellen.

    Von einfachen Textinhalten über multimediale Inhalte und Integrationen in Drittsysteme bis hin zu aufwändigen Animationen im Frontend können und müssen verschiedenste Inhalte im Backend erstellt werden, um dem Nutzer einen Mehrwert auf der Webseite zu bieten, möglichst individualisiert. Allerdings sind diese Elemente oftmals schwer zugänglich oder umständlich zu nutzen. So gerät oft das eigentliche Ziel, die möglichst einfache Erstellung von Inhalten für Redakteure, ins Hintertreffen, zugunsten von umfangreichen aber komplexen und intransparenten Funktionen. Dies führt wiederum dazu, dass eine erfolgreiche Contentstrategie nicht ausreichend verfolgt werden kann und Redakteure eher mit der richtigen Funktionsweise des CMS beschäftigt sind als mit der Erstellung von kreativem und wertvollem Inhalt.

    Ein erfolgreiches CMS muss somit beides können: Einerseits eine Vielzahl an Funktionen aufweisen und andererseits als einfaches, intuitiv zu bedienendes Tool für den Redakteur dienen.


    Drupal 8: Intuitiv in Backend und Frontend

    drupal tutorial

    Mit dem Upgrade auf das neuste Major-Release 8 ist Drupal genau diesen Weg gegangen. Hierbei wurde eine Plattform geschaffen, welche Redakteuren vielfältige und intuitiv zu bedienende Möglichkeiten im Backend und Frontend bietet. Durch verschiedenste Konfigurationen kann so ein System geschaffen werden, welches die tagtägliche Arbeit mit dem CMS ungemein erleichtert. Die Zeiten von unverständlichen Backends und Redakteursoberflächen, welche nur mit Nutzerhandbuch bedienbar sind, sind somit vorüber.

    Im Nachfolgenden stelle ich einige dieser besonderen Funktionen und Möglichkeiten von Drupal 8 vor.

    Einfache Bearbeitung und Platzierung von Inhalten

    Der Fokus auf die einfache Bearbeitung von Inhalten setzt bei Drupal 8 bereits bei der Darstellung im Frontend an. So muss ein Redakteur gewünschte Inhalte nicht erst umständlich im Backend heraussuchen, um diese zu editieren, sondern kann diese direkt über das sogenannte „In-Place-Edit“ im Frontend anpassen.

    Gleichzeitig erlaubt Ihnen der Aufbau über Paragraph-Elemente, Seiten nicht gleich in der Gesamtheit erstellen zu müssen, sondern viele einzelne, unabhängige Abschnitte zu erstellen und zu bearbeiten. Aus diesen verschiedenen Abschnitten – oder auch Inhaltstypen – kann eine Seite beliebig zusammengestellt werden. Ebenso ermöglicht dieser Aufbau, dass Sie bei korrekter Konfiguration diese Inhalte beliebig auf der Seite anordnen können. Um Ihnen oder Ihrem Redakteur dabei auch darzustellen, wie eine Neuanordnung im Frontend aussehen würde, ist dies bequem per Drag & Drop im Frontend möglich. So können Sie unkompliziert testen, wie beispielsweise die Einbindung eines Teasers an verschiedenen Stellen der Webseite aussieht, bevor Sie diese Änderung live stellen.

    Natürlich ist es aber ebenso möglich, diese Drag & Drop Funktion in Kombination mit einer Previewfunktion bereits im Backend abzubilden. So müssen Sie auch hier nicht erst den Umweg über das Frontend gehen, um die Darstellung der gewünschten Inhalte zu überprüfen. Gleichzeitig wird darüber die Übersichtlichkeit im Backend enorm gesteigert, was die meist zeitaufwendige und frustrierende Suche nach gewünschten Inhalten überflüssig macht.

    Für die schnelle Erstellung wichtiger Nachrichten von unterwegs bietet Drupal 8 eine voll responsive Nutzung bereits im Core. Dadurch ist es Ihren Redakteuren möglich, kurzfristige Neuigkeiten bequem über das Smartphone oder Tablet jederzeit und von jedem Ort aus zu erstellen und den Nutzern der Webseite bereitzustellen.


    Drupal View Modes

    Beim Erstellen von Inhalten ist vorab definiert, in welchen Teasermodes diese dargestellt werden können und wie dies im Frontend aussieht. So ist es Ihnen möglich, einen einmal erstellten Inhalt beliebig auf verschiedenen Seiten in verschiedensten Ausgabedarstellungen anzuzeigen. Hierfür muss lediglich der angelegte Inhalt referenziert sowie der gewünschte Teasermode (Small Teaser, Big Teaser etc.) ausgewählt werden und schon ist der bereits angelegte Inhalt in einer neuen Seite und neuen Darstellung integriert. Das altbekannte Copy-Paste und Springen zwischen den verschiedenen Seiten wird somit nicht mehr benötigt – Die Erstellung einer völlig neuen Unterseite oder Landingpage war noch nie so einfach und schnell möglich.

    Dies wird zusätzlich noch unterstützt durch einen umfangreichen Medienpool, welcher alle Medieninhalte schnell durchsuchbar und filterbar bereits in der Preview des jeweiligen Inhalts darstellt. Ebenso können die gesamten Inhalte eines spezifischen Inhaltstyps in dynamischen Listen gesammelt angezeigt werden. Die Einbindung aller aktuellen News oder der nächsten Veranstaltungen ist so per einfacher Auswahl auf einer Seite möglich.


    Drupal Freigabe Workflow

    Zum Vergleich abgewandelter oder angepasster Inhalte bietet Drupal Ihnen die Möglichkeit, Inhalte zu versionieren, sodass alle Änderungen nachverfolgt und jeweils auf einen alten Stand zurückgesetzt werden können. Um Ihnen die Arbeit noch stärker zu erleichtern, ist es zudem möglich, Inhalte ganz einfach zu duplizieren. Dadurch entsteht eine Zweitversion des Inhalts, die flexibel an verschiedenen Stellen abgeändert und ergänzt werden kann. Über die Previewfunktion können Sie dann die beiden Versionen direkt miteinander vergleichen. Endlich kann Ihr Redakteur sich so wieder auf die Auswahl des besten Contents konzentrieren und ist nicht mit der reinen Niederschrift eben jenes beschäftigt.

    Nach der Auswahl des besten Inhalts kann der Redakteur anschließend über die Funktion des zeitgesteuerten Publishings die Veröffentlichung perfekt einplanen und so den idealen Zeitpunkt auswählen, um den Inhalt automatisiert genau dann veröffentlichen lassen.

    Weiterhin bietet Drupal von Haus aus sehr feingranulare Rechte- und Rollen-Konfigurationen an. Über diese lässt sich die Zusammenarbeit der Redakteure deutlich vereinfachen. So ist es möglich, dass Ihre Redakteure für unterschiedliche Seiten, Inhalte oder Sprachen zuständig sind und entsprechend auch nur diese sehen oder bearbeiten können. Gleichzeitig können weitere Redaktions- und Freigabeworkflows implementiert werden, durch welche eine Kontrolle der Inhalte erfolgen kann. So lassen sich die verschiedenen Schritte bis zum tatsächlichen Publishing eines Inhalts einfach in einem Workflow abbilden. Der Inhalt kann dabei nur für die entsprechende Seite oder auch global bereitgestellt werden.

    Sollte man keine einzelnen Redakteure für alle gewünschten Sprachen haben, ist es Ihnen bei Drupal auch einfach möglich, Übersetzung für bestehende Inhalte einzupflegen. Entweder können Sie diese für jegliche Inhalte direkt im Backend vornehmen oder Sie können sich eine Übersetzungsdatei erstellen lassen, welche anschließend direkt von einer Agentur für die gewünschte Sprache übersetzt werden kann. Die übersetzte Datei einfach wieder im Backend hochladen, gegebenenfalls kurz bei der Überprüfung direkt anpassen, freigeben und schon ist die Übersetzung für die gewünschte Sprache und Seite verfügbar. Natürlich können Sie aber auch verschiedene Übersetzungsservices einfach direkt in die Seite einbinden, um sich den Umweg über den Down- und Upload zu sparen. Dabei können Sie einen Auftrag für eine Übersetzung erteilen und bekommen diesen über eine Integrationen direkt in die Seite zurückgespielt.


    Drupal Content Pool und Content Staging

    Beim Betrieb mehrerer Webseiten, die separat administriert werden, möchten Sie spezielle einzelne Inhalte wie News-Artikel, Media-Assets oder ganze Unterseiten über alle Webseiten hin synchron halten und in einem zentralen Content- oder Asset-Pool verwalten und verteilen. Je nach Komplexität und Anzahl der Inhalte sowie Anzahl der Seiten kann es dabei aber schnell zu einem unüberschaubaren und fehleranfälligen Prozesswerden, diese Aktualisierungen manuell vorzunehmen und über alle Seiten hinweg immer aktuell zu halten.

    Die typischen Anwendungsfälle sind dabei mehrere Instanzen mit tendenziell gleichem Seitenaufbau. Klassisches Beispiel ist hierbei die Enterprise-Webseite, welche allerdings in jedem Land oder Markt individuell ausgerollt, betreut und gepflegt wird. Hierzu gibt es bei Drupal die Möglichkeit, den Drupal Content Sync zu verwenden, um die Synchronisation über unterschiedlichste Seiten hinweg zu erlauben. Drupal Content Sync agiert dabei als zentraler Content Pool und Manager, der von allen Webseiten über neue, aktualisierte und gelöschte Inhalte informiert wird und je nach Konfiguration die Inhalte an die übrigen Webseiten weitergibt. So fällt es sehr leicht, auch bei unterschiedlich redaktionell betreuten Webseiten entscheidende globale News schnell bereitzustellen und auszurollen. Inhalte können zusätzlich auch nur partiell aktualisiert werden und sich in bestehende Moderationsworkflows integrieren. Inhalte können so auch auf einem Staging-System vorbereitet und per Knopfdruck auf der Produktivseite ausgerollt werden.


    Brix vs Paragraphs

    Beide Module ermöglichen es Content aus einzelnen Inhalts-Modulen oder Content-Sections zu erstellen. Sie erlauben dem Autor das Wiederverwenden von Inhaltselementen und machen diese Inhaltselemente auf der Seite per Drag&Drop sortierbar. Wir setzen in den meisten Projekten auf das Modul “Paragraphs”
    Zum jetzigen Zeitpunkt empfehlen wir das Drupal Modul Bricks nur in Kombination mit Paragraphs in einer Testumgebung. Bricks bietet die Möglichkeit, dass auch Layouts (z.B. 2-Spalten-Layouts) in Paragraphs eingebunden werden können und somit einzelne Paragraphs auf einfache Art durch den Redakteur in einem unterschiedlichen Layout dargestellt werden können. Das erleichtert Redakteuren die Auswahl von Paragraphs Browser+Previewer Paragraph Layouts erheblich. Aber: Das Modul ist noch in einer sehr frühen Entwicklungsphase und gerade in Kombination mit Paragraphs noch eine Art „Proof of Concept“. Daher empfehlen wir unbedingt, die beiden Module vorab sorgfältig miteinander zu testen und zu prüfen, ob sie die gewünschten Anforderungen erfüllen. Langfristig sollte sich als nicht die Frage nach Bricks vs Paragraphs stellen sondern sich eher eine Kombination beider ergeben.

    Wird auf Paragraphs gesetzt, empfehlen wir für eine höhere Usability in jedem Fall die Module Paragraphs Previewer und Paragraphs Browser. Die Kombination beider Module ist dann mit dem Modul Paragraphs Browser+Previewer einfach möglich. So haben Redakteure eine Live-Vorschau der Paragraphs im Backend und können die zu platzierenden Paragraph Elemente in einem Media ähnlichen Browser komfortabel auswählen.


    Sicherheit in Drupal

    Drupal im Kern ist eines der sichersten CMS weltweit – wenn Sie es nicht unsicher betreiben. Das klingt zwar logisch, ist aber nicht immer selbstverständlich. Damit Drupal und so Ihre Nutzer und Daten im Betrieb sicher sind, sind im Groben die folgenden Bereiche zu beachten:

    • Rechte und Rollen so konfigurieren, dass nur die Funktionen für die Nutzer zugänglich sind, die für diese Rollen auch tatsächlich zugänglich sein sollen.
    • Dateisystem richtig konfigurieren, insbesondere den files Ordner und die settings.php (alle Rechte auf 777 zu setzen macht Ihnen das Leben zwar auf den ersten Blick einfacher, Hacker empfinden dies jedoch ebenso).
    • Betriebssystem up-to-date halten. 10 Sicherheit, Betrieb & Wartung – Custom Code mit der Drupal-API integrieren: Wenn Sie in der Modulenwicklung einen schnellen Start wünschen, schauen Sie sich einmal die Erweiterung „Drupal Console“ an und lesen Sie sich in die Drupal Coding Guidelines ein. Diese finden Sie unter https://www.drupal.org/docs/develop/standards – Drupal kontinuierlich updaten (dies gilt insbesondere für sicherheitskritische Updates). Auch das „Example Module“ bietet einen Einblick in viele Best Practises in der Modul-Entwicklung und ist unter: https://www.drupal.org/project/examples zu finden.
    • Automatisieren von Code Reviews (Jenkins und Coder Modul) und Qualitätssicherung (Selenium oder Behat Tests) sowie Updates (Drop Guard). Eine Liste mit Ausreden, warum man seine Drupal Seite nicht kontinuierlich updaten kann, haben wir ebenfalls zusammengestellt https://www.drop-guard.net/blog/why-I-dont-update-continuously

    Unser Security Tipp: Tun Sie, was auch Hacker tun und automatisieren Sie so viel wie möglich.


    Kostenloser PDF Download: Drupal Tutorial

    Laden Sie unser komplettes Drupal Tutorial als PDF herunter um die Kapitel aus diesem Überblick zu vertiefen. Sie erhalten weitere Informationen zum Drupal Sitebuilding und anderen Best Practises die wir im Rahmen von diesem Drupal Tutorial angeschnitten haben.

    Kostenloses Drupal Tutorial

    Erhalten Informationen zum Drupal Sitebuilding und anderen Best Practises.

    Verwandte Blogbeiträge

    Diese Themen beschäftigten uns und unsere Kunden kürzlich

    Bereit für Projekte ohne Grenzen?

    Wir freuen uns auf Ihre Projekt-Ideen! Lernen Sie uns gerne in einer kostenlosen Erstberatung kennen und nehmen Sie noch heute Kontakt zu uns auf.PROJEKT ANFRAGE STELLEN

    Wie sieht Ihre perfekte Digitalagentur aus?

    Wir haben aus über 500 Anfragen die häufigsten Kriterien zur Agenturauswahl zusammengetragen. So können Sie Ihre Anbieter einfach vergleichen.CHECKLISTEN HERUNTERLADEN
    Darmstadt

    Bright Solutions GmbH
    Pfnorstraße 10-14
    64293 Darmstadt

    Adresse anzeigen
    Hamburg

    Bright Solutions Hamburg GmbH
    Altonaer Poststraße 9a
    22767 Hamburg

    Adresse anzeigen
    Telefon

    Darmstadt: +49 6151 / 27 647 - 0

    Hamburg: +49 040 / 350 80 130

    Nummern anzeigen