Drupal
Ähnlichkeiten in SQL: Drupal + db_query + LIKE
Den Fallstrick und die Suche möchte ich euch ersparen...
db_like is the way to go
<?php $result = db_query( 'SELECT * FROM person WHERE name LIKE :pattern', array(':pattern' => db_like($prefix) . '%') );
Drupal-Distro-Build-Skript
Das Testen von Drupal-Installationsprofilen ist relativ mühselig, da sich ein Teil der Schritte, bis man überhaupt erst zum Testen der eigentlichen Funktionalität kommt, mit dem Build-Prozess beschäftigt.
Diesen muß man eigentlich für jede Änderung erneut durchlaufen…
- Drush make (das macht es im Falls des Feature-Server-Installations-Profiles)
- Drush make mit distro.make aus dem Git-Repository
- Download des Drupal-Cores
- Klonen des in distro.make hinterlegten Repositories für das Installationsprofil
- Rekursive Suche nach weiteren Drush-Makefiles, runterladen der Drupal-Module und des Themes, die im gefundenen Makefile drupal-org.make spezifiziert sind
- Sybolischer-Link vom erstellten Build auf die DocumentRoot des für Testzwecke angelegten VirtualHosts
- Drop auf alle Tabellen in der Zieldatenbank
- Installation von Drupal und einem bestimmtem Installationsprofiles, hier fserver_profile
In der scheinbaren Routine des manuellen Durchlaufen dieser Schritte entsteht zudem auch mal schnell ein Fehler.
So habe ich beim gefühlt 100sten Mal des Durchlaufens dieser Prozedur versehentlich in der falschen Datenbank alle Tabellen ge-dropt-t und dachte mir, Automatisierung muss her, schreib ein Shellskript…
- Drush make (das macht es im Falls des Feature-Server-Installations-Profiles)
Multisite-Features unter Drupal 7.x
Rudimente für ein Drupal-Deployment mit
- Lokaler Entwicklungumgebung
- Stage-Umgebung
- Live / Produktionsumgebung
unter Verwendung, der in Drupal-7 neu eingeführten Multisite-Features in der Datei sites.php, Drush-Aliases und einer speziellen settings.php.
sites.php – Verzeichnis Aliase in Drupal 7.x
Die in Drupal 7.x neu eingeführte Datei
sites.php
stellt erstmalig Verzeichnis-Aliase für Drupal-Multisites zur Verfügung. So ist es jetzt möglich mit verschiedenen Domains bzw. VirtualHosts ein bestimmtes Verzeichnis innerhalb von sites anzusprechen, ohne über z.B. Symbolische Links zu gehen, was in vorgigen Drupal-Versionen zur Folge haben konnte, daß Datei- oder Modulpfade beim "umbiegen" von der Dev-Site example.mydomain.de auf die Live-Site example.com divergent sind.<?php // sites/sites.php // (LOCAL) DEV SITE $sites['example.localhost'] = 'example.com'; // STAGE SITES $sites['stage-example.mydomain.de'] = 'example.com'; $sites['stage.example.com'] = 'example.com'; // LIVE SITE $sites['example.com'] = 'example.com';
@see /path/to/drupal7/sites/example.sites.php
features+ Session @ drupalcity.de 2011
Foto: © Sven Culley, sense-design.de Repeatition of my session features+ during DUB´s “Drupal-Deployment theme night” @ this years Drupalcamp, drupalcity.de, 2011-09-18, this time in english.
This session was intended as an introduction and a motivation to use Features module for deployment and re-usable patterns.
“A Presentation about Monsters, Features and The Plus” or
DUB, Themenabend Deployment: features+
Gestern bei der DUB, Themenabend Deployment und nicht physisch anwesend: Eine Skypesession zu Features, Features Erweiterungen, Drupal Installationsprofilen, Drush und dem Plus...
Foto: ©Ronald "rokr" Krentz,
Drupal 6.x, Drupal 7.x -- Scratching the surface, Drupal User Group Köln/Bonn
Slides der Präsentation "Drupal 6.x, Drupal 7.x -- Scratching the surface" zum Themenabend Drupal7 der Drupal User Group Köln/Bonn am 15.06.2011. Mein Ziel war es Drupal6 und Drupal7 oberflächlich aber technisch gegenüberzustellen bzw. zu vergleichen. Hier die Slides dazu: https://www.slideshare.net/fl3a/drupal-6x-and-drupal-7x .
Scrum aus der Praxis @ DrupalDevDays 2010
@luckow und @fl3a während der Session Scrum aus der Praxis, beta.robot, by-nc-sa, http://www.flickr.com/photos/beta-robot/4591718950/ Stephan Luckow, @luckow und ich während der Session “Scrum aus der Praxis” auf den DrupalDevDays, Mai 2010 in München.
Zu den Slides: https://www.slideshare.net/fl3a/scrum-aus-der-praxis-drupaldevdays-2010
Git, Gitosis, Gitweb (the Debian way)
Git-Logo, Git, CC BY 3.0 Howto: Installation und Konfiguration von Git, Gitosis und Gitweb unter Debian (getestet mit Debian 5/Lenny).
- Git ist ein DVCS, welches 2005 von Linus
Thorvalds
als Alternative zum vorher genutzten proprietären BitKeeper für die Quellcode-Verwaltung des Linux-Kernels entwickelt wurde. - Gitosis ist eine Software
um Git-Repositories einfach und sicher zu hosten.
Die Authentifizierung an gitosis erfolgt über SSH-Schlüssel. - Gitweb ist eine schnelle und skalierbare Weboberfläche für Git.
Das folgende Setup erstreckt sich über 3 Rechner:
- birgit, das zentrale Repository welches über gitosis verwaltet wird und die Gitweb Weboberfläche bereitstellt
- demine, eine lokale Entwicklungsumgebung
- sandy, noch ein lokale Entwicklungsumgebung
Warum man seinen Code versionieren sollte, müsste eigentlich jedem Entwickler klar sein, dass Drupal in Zukunft auf Git setzen wird, dürfte wohl der Anreiz für Drupalentwickler sein sich frühzeitig mit dem Thema Git zu auseinanderzusetzen.
- Git ist ein DVCS, welches 2005 von Linus
Thorvalds
Datepicker und Drupal's FAPI (Forms API)
Bei der Erstellung von Formularelementen, welche eine Jquery-Datepicker-Funktionalität bereitsstellen sollen besteht die Möglickeit auf Date Popup, ein Submodul des Date / Date API Moduls zurückzugreifen.
Der Zugriff auf diese Funktionalität erfolgt über Drupals FAPI.
.htaccess mit Authentifizierung an einer MySQL Datenbank (Drupal)
Htaccess mit Authentifizierung an einer MySQL basierten Drupal-Installation.
Installation des benötigten Apache Moduls:
aptitude install libapache2-mod-auth-mysql
Aktivierung des authmysql-Moduls:
a2enmod auth_mysql