Bee ist eine Shell-Schnittstelle zur Verwaltung von Backdrop-Projekten direkt von der Befehlszeile aus – vergleichbar mit Drush, der Drupal Shell. Es ist ein sehr nützliches Werkzeug, das hilft verschiedene Verwaltungsaufgaben mit nur wenigen Befehlen im Terminal auszuführen. Das spart das Einloggen und viele Klicks und Seitenaktualisieren in der Benutzeroberfläche.
In diesem Artikel beschreiben wir die Installation und ein paar gängige Befehle. Basiskenntnis im Umgang mit der Kommandozeile wird vorausgesetzt.
Für wen ist Bee hilfreich
"To bee or not to bee." Alle Aufgaben können natürlich auch über die Benutzeroberfläche von Backdrop erledigt werden, aber bei einfachen oder regelmäßig wiederkehrenden Tätigkeiten ersparen wir uns das Klicken durch die Oberfläche. Vorausgesetzt, wir haben Shell-Zugang. Besonders nützlich ist Bee beim Erstellen neuer Webseiten – in einer lokalen Entwicklungsumgebung oder auf einem Server.
Installation
Detaillierte Infos rund um die Installation gibt es auf Englisch im Bee Wiki.
Download
Bee kann als zip oder tar.gz Datei von GitHub heruntergeladen werden. Da das Projekt immer noch weiterentwickelt wird, wäre auch der Checkout des Quellcodes eine Option. Dann kann laufend via git pull
aktualisiert werden. Vorteilhaft, wenn man mit neuen Features und Bugfixes am Laufenden bleiben will, allerdings setzt das eine Git-Client-Installation lokal oder am Server voraus.
Diesen Code im $PATH (auf alle Fälle außerhalb der Backdrop Installation) entpacken, oder alternativ einen Shell-Alias dafür erstellen.
Shell-User vs. Webserver-User, PHP-Pfad(e)
Diverse Bee Kommandos erfordern, dass sie als Webserver-User ausgeführt werden. Auf vielen Hosting-Umgebungen mit Shell-Zugang ist das automatisch der, mit dem man via SSH einloggt – in diesem Fall gibt es nichts Spezielles zu beachten.
Anders sieht das mitunter in lokalen Entwicklungsumgebungen aus. Ist der Kommandozeilen-User ein privilegierter (root oder sudoer), kann folgendes Skript helfen.
Mitunter stehen verschiedene PHP-Versionen zur Verfügung. Auch das kann in einem Skript (oder Shell-Alias) berücksichtigt werden.
Kurz erklärt:
sudo -u www-data
Als Webserver-User ausführen.
/usr/bin/php8.1
Kompletter Pfad zur gewünschten PHP Version.
/usr/local/bin/bee_git/bee.php
Der vollständige Pfad zum ausführbaren bee.php Skript (im Bee Hauptordner).
$@
Alle anderen Parameter eins zu eins an Bee übergeben.
Einfache Befehle
Zuerst wechseln wir in den Ordner einer Backdrop Installation, zum Beispiel:
cd /var/www/bdroptesting/html/
Ein kurzer Überblick über den Status dieser Installation:
bee st
Hier sehen wir auch gleich unsere nächste Aufgabe: der Cronjob ist sehr lange nicht mehr gelaufen.
bee cron
In der Entwicklungsphase vermutlich einer der meistgenutzten Befehle ist das Zurücksetzen des Caches:
bee cc all
Tipp: natürlich könnt ihr Bee auch außerhalb der Backdrop-Installation ausführen, dann spart ihr euch das "cd". Ihr müsst nur den Pfad angeben. Für unser Beispielprojekt wäre das:
bee --root=/var/www/bdroptesting/html st
Was kann Bee sonst noch:
bee help
Die Ausgabe aller verfügbaren Befehle (31) und Optionen ist zu lang, um hier ein Bildschirmfoto zu posten. ;-)
Mehr zu Bee
Habt ihr Fragen oder oder wollt mit einem der Maintainer diskutieren? Am 25. März befasst sich im Rahmen des Backdrop LIVE Events ein Block mit dem Thema. Die Registrierung ist eröffnet, die Teilnahme an dieser "Unconference" ist unkompliziert, die Sprache ist Englisch.
Vergleich mit Drush
An sich ist auch Drush für Backdrop verfügbar, allerdings erfordert das einige Anpassungen. Auch ist nicht ganz klar, wie lange die mit Backdrop kompatible Drush-Version 8 noch gepflegt wird. Bee hingegen wurde extra für Backdrop erstellt, wird laufend weiterentwickelt und kompatibel mit aktuellen PHP Versionen gehalten.
Leute, die von Drupal kommen und mit Drush vertraut sind, stellen mitunter fest, dass Bee nicht alles kann, was Drush bietet. Über die Jahre wurden viele Gadgets in Drush eingebaut – manches eher selten genutzte Funktionalität. Falls euch ein wichtiges Feature fehlt, kann es Sinn machen, einen Issue in der Bee Queue zu öffnen, um es vorzuschlagen und ggf. einen Pull Request anzubieten.
Fazit
Bee ist ein praktisches Helferlein vor allem, aber nicht nur zur Entwicklung neuer Webseiten. Vom Herunterladen und Aktivieren neuer Module über die Bearbeitung der Konfiguration bis zum Verwalten von Benutzerkonten – alles ist ohne großen Aufwand möglich.