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