Drupal

 

Lucio Waßill

Ein schmerzfreier Überblick

Was kann Drupal?

Was kann Drupal

Drupal kann

/E-Commerce

Drupal kann

/Non-Profit

Drupal kann

/Mehrsprachigkeit

Drupal kann

/Publishing

Drupal kann

/Multi-Media

Was ist Drupal?

Drupal ist 

/Open Source

Largest OSS projects

  • Linux
  • KDE
  • Apache
  • Eclipse
  • Drupal
  • Gnome
  • Perl+CPAN
  • Mozilla+Addons
  • GNU

10x greater than others

Quelle: Larry Garfield (Amsterdam, 2014, "Managing Complexity")

Drupal ist 

/Open Source

  • Keine Gebühren 
  • GPL-Lizenz
  • Beliebig erweiterbar
  • Jeder kann Drupal verbessern

Drupal ist 

/Community

  • über 36.000 Entwickler
  • über 29.000 Erweiterungen
  • über 2000 Themes
  • 900 Distributionen
  • verfügbar in 181 Sprachen

 

  • 3 internationale Konferenzen
  • viele nationale und internationale Camps
  • ein deutsches Camping in Wolfsburg

Drupal 7 ist 

/Technik

  • CMS / CMF
  • Basiert auf PHP (ab PHP 5.3)
  • Datenbanken (MySQL, PostgreSQL, SQLite, MSSQL, Oracle)
  • weitere Datenbanken möglich (MongoDB, CouchDB...)
  • Schlankes Grundsystem (Drupal-Core)
  • Erweiterbar über Module und Themes
  • Gut dokumentierte APIs ermöglichen Erweiterung über eigene Module/Themes 
  • Schnittstellen zu Dritt-Systemen
  • ...

Drupal 8 wird 

/mehr_Technik

  • Basiert auf PHP (ab PHP 5.4)
  • Symfony 2 als Grundlage für den Core
  • Funktionen und Features aus beliebten Drupal 7 Modulen im Core
  • Viele neue Features 
    • https://www.drupal.org/drupal-8.0

Wie funktioniert Drupal?

Site-Building

  • Datenstrukturen werden über UI abgebildet
  • Drupal nutzt "Entities" und "Fields" um strukturiert Inhalte zu definieren
  • Ausgabe von Inhalten sehr flexibel, in D8 sogar noch besser!
  • Contrib-Module ermöglichen Steuerung der Ausgaben auf verschiedenen Ebenen, alles über die UI konfigurierbar
  • Einzelne Seiten: View-Modes und Display-Suite-Modul
  • Layout der gesamten Seite und/oder spezifischer Inhaltstypen über Panels-Modul
  • Views-Modul ist das mächtigste Modul für Ausgaben, Erstellung von Listen und komplexen Ausgaben durch Verknüfpung verschiedener Inhaltstypen einfach möglich
  • ohne eine Zeile Code!

Theming

  • Drupal 7 nutzt "PHP-Template" zur Ausgabe
  • Templates können Ausgabe steuern
  • Theming-Funktionen und Pre-Prozesse ermöglichen Anpassung der Ausgabe von Inhalten ohne die Module im Code zu ändern (siehe Hooks)
  • Drupal 8 nutzt TWIG

Entwicklung

  • Je nach Use-Case müssen Anpassungen durchgeführt werden
  • Drupal nutzt ein Hook-System um diese Anpassungen durchführen zu können
  • Mächtige API zur Erstellung von eigenen Entity-Types, Forms, Formattern, Plugins, ...
  • Drupal 7: Hauptsächlich funktionale Programmierung, OOP eher in Contrib-Modulen
  • Drupal 8: Komplett OOP, kompletter Rewrite aller APIs

Warum also Drupal?

Drupal

ist Open-Source

Drupal 

ist

skalierbar

Drupal

ist sicher

außer dieses eine Mal vor ein paar Wochen...

Security-Team hat es schnell gefixt und sich mit den größten Hostern abgesprochen damit Sie ihre Kunden absichern konnten

Drupal 

ist flexibel

Drupal

ist effektiv