#!/bin/bash
Drupal Kommentare DSGVO-konform
Um dem sinnigen Thema Datenschutz nicht nur im Rahmen der DSGVO bzw. GPDR nachzukommen, habe ich nach etwas Recherche in Punkto Kommentare (Achtung, das ist keine Rechtsberatung ;-D) für diese Site folgendes unternommen:
- Die Mail-Benachrichtigung bei neuen Kommentaren via comment_notify1 habe ich deaktiviert und deinstalliert, da ich momentan keinen Weg kenne, dies mit Double-Opt-In umzusetzen.
- Ich nutze ich keinen Dienst für Spam-Erkennung von einem Drittanbeiter (vergl. Mollom o. Akismet), sondern setze auf die im Vergleich zu Captchas für den Benutzer weniger aufdringlichen Module Hashcash2 und Honeypot3
- IP-Adressen in Kommentaren bewahre ich, aufgrund von berechtigtem Interesse 7 Tage auf, bevor ich diese mit Nullen überschreibe. Dafür habe ich ein kleine Shellskript geschrieben, welches ich via Cron ausführen lasse.
Autocompletition für Drush aktivieren
Ja, Drush auch kann Autocompletition, zu deutsch “Autovervollständigung” und das anscheinenend nicht erst seit gestern, obwohl erst gestern entdeckt…
Tab-Vervollständigung
Ganz genau genommen, spricht man in diesem Fall der Autovervollständigung von einer Befehlszeilenergänzung bzw. Tab-Vervollständigung. Es besteht auch im Drush-Kontext die Möglichkeit Drush-Befehle, globale Drush-Optionen und den spezifischen Optionen zu einem Drush-Befehlen durch “tabben” (dem ein- oder zweimaligen Drücken der Tabulator Taste) in der Shell zu vervollständigen.
Beispiele
Tab-Vervollständigung von globalen Drush-Optionen:
florian@box:/var/www/example.com/drupal$ drush @git --<tab><tab>
--alias-path --backend --backup-location --cache-class-<bin> --cache-default-class --choice --command-specific --complete-debug --config --confirm-rollback [...]
Tab-Vervollständigung von Drush-Befehlen, die mit
sql-
beginnen:florian@box:/var/www/example.com/drupal$ drush @git sql-<tab><tab> sql-cli sql-conf sql-connect sql-create sql-drop sql-dump sql-query sql-sanitize sql-sync
Vervollständigung der Optionen, die mit dem Befehl
sql-dump
nutzbar sind:florian@box:/var/www/example.com/drupal$ drush @git sql-dump --<tab><tab> --create-db --data-only --gzip --result-file --structure-tables-key --tables-list --database --db-url --ordered-dump --skip-tables-key --tables-key
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)
drush 6.x-2.1 Release
Gestern wurde drush in der Version 2.1 herausgegeben.
Neben zahlreichen Bug Fixes gibt es zwei signifikante Änderungen, die ich hier beschreiben möchte.
- Die Entfernung des Shebang's in drush.php.
- Die Einführung von Aliases.
Drush - DrupalMediaCamp Präsentation
Drush – Das Sackmesser für die Kommandozeile. Mein Vortrag über drush auf dem DrupalMediaCamp 2009 in Aarau, Schweiz.
Foto von Jürgen Brocke
BASH v. 4 bringt assoziative Arrays
Da sind sie, die langerwarteten assoziativen Arrays in der BASH!
Hinzugekommen sind assoziative Arrays, die mit declare -A name erzeugt werden. Sie unterscheiden sich von den bisherigen Arrays dadurch, dass sie als Index beliebige Strings benutzen können. Abgesehen davon ist die Verwendung beider Datentypen identisch, so werden einzelne Elemente etwa in beiden Fällen mit ${name[index]} angesprochen.
Arrays in der Bash
In der BASH ist es möglich mit eindimensionalen Arrays zu arbeiten:
#!/bin/bash declare -a array1 array1=(zero one two three) array1[4]="and four" echo ${array1[2]} echo ${array1[@]}
In Zeile 3 wird mit declare -a explizit ein Array deklariert.
In Zeile 4 wird mit array1 ein Array intitialisiert,
der Zugriff auf die Elemente erfolgt über den Index des Array(Zeile 5, Zeile 6), welcher wie in den meisten Programmiersprachen von 0 bis Anzahl der Elemente - 1 ist (Anzahl Elemente in Zeile 7).
Alternativ kann bei der Initialisierung auch der Index benutzt werden(Zeile 5).
Die Möglichkeit ein assoziatives Array anzulegen, besteht leider nicht.