Privates Blog von Christian Münch

Xliff zu CSV konvertieren

Heute musste ich eine XLIFF Datei mit Übersetzungen in eine CSV Datei konvertieren. Da die Datei recht Umfangreich war wollte ich das nicht manuell machen und habe ein entsprechendes Programm gesucht, was die Aufgabe übernimmt. Die gefundenen Programme waren alle recht alt und haben leider nicht mehr funktioniert. Die Datei sah ungefähr so aus: <?xml version="1.0"?> <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> <file source-language="en-US" datatype="plaintext" original=""> <body> <trans-unit id="defaultTitle"> <source>defaultTitle</source> <target>The Example App</target> </trans-unit> <trans-unit id="whatIsThisApp"> <source>whatIsThisApp</source> <target>Help</target> </trans-unit> <trans-unit id="metaDescription"> <source>metaDescription</source> <target>This is "The Example App", a reference for building your own applications using Contentful.

Magerun Beispiel Modul mit Test Setup

Nachdem wir bei netz98 diese Woche das Test-Framework auf die Version 2.0.2 aktualisiert hatten, ist mir aufgefallen, dass es bisher auch noch kein echtes Beispiel-Modul als Github Projekt gab. Daher habe ich jetzt den Beispiel-Code einfach in ein Beispiel-Modul gepackt und diesen auf Github veröffentlicht. Das Beispiel-Modul beinhaltet auch ein ddev Setup in dem dann ein Magento Shop installiert wird. Im Beispiel Modul ist folgendes enthalten: ddev Setup Beispiel Kommando, welches einfach den PHP-Klassennamen von sich selbst ausgibt.

Magerun Test Framework aktualisiert

Diese Woche bekam das n98-magerun2 Test Framework für Module eine Aktualisierung. Das Test Framework ist für Drittmodule gedacht, die Magerun Kommandos bereitstellen. So wurden die abstrakten Test-Klassen so angepasst, dass diese mit PHPUnit 9 kompatibel sind. Ebenfalls wurden die Beispiele in der README und die Beispiel phpunit.xml aktualisiert. Bei netz98 haben wir einige Magerun Module. Unter wurde das Tool Migron als n98-magerun2 Modul umgesetzt. Auf meiner Sicht ist es wichtig, dass auch wichtige Magerun Kommandos getestet werden.

DDEV Magento Demo Projekt

Cover Image
Bei der Meet Magento Indien 2022 durfte ich in den Vortrag ddev – Awesome PHP / Magento development environment halten. Da ich ddev super finde ich es den Einstieg in die Magento Entwicklung stark vereinfacht, habe ich mich entschlossen ein Beispiel-Demo Projekt zu veröffentlichen. Was muss ich tun? ddev und Docker installieren Magento Installation-Schlüssel im Magento Account generieren. Siehe hier Magento Schlüssel in Konfiguration hinterlegen Datei ~/.

Phar Dateien mit Box erstellen

Cover Image
Nach langer Zeit scheibe ich mal wieder einen Blogpost zum Thema PHP. Es geht um das Tool box, was ich gerade für n98-magerun2 eingebaut habe. Das Tool hilft beim Umgang mit phar Dateien. In erster Linie nutze ich es um die n98-magerun2.phar Datei zu erstellen. Bisher habe ich dafür einen phing Task verwendet. Dieser musste allerdings angepasst werden um mit den etwas größeren (> 6 MB) phar Dateien umgehen zu können.

Mal eben schnell mit ddev Wordpress installieren

Cover Image
Wie vielleicht schon der eine oder andere weiß, nutze ich sehr gerne ddev um schnell eine Entwicklungsumgebung für die Entwicklung von PHP Anwendungen aufzusetzen. Ab und an muss ich mich auch mit Wordpress rumschlagen. Da ist es sehr hilfreich, wenn man sehr schnell ein Wordpress automatisch lokal aufsetzen kann. Da ddev schon selbt Wordpress unterstützt, ist es bis zur vollständigen Automatisierung nicht sehr weit. Dazu habe ich mir dann einfach folgendes Script erstellt unter dem Namen ddev-create-wordpress.

Raspberry PI 4 von SSD booten

Cover Image
Seit einer Weile betreibe ich einen kleinen Raspberry PI 4 der nicht besonders viel macht. Am USB-Port hängt ein kleiner RTL USB-Stick der die Daten meiner Wetterstation per Funk empfängt. Zudem lasse ich auf dem Gerät einen Drone-Runner laufen mit dem ich Arm64 Software teste. Insgesamt ist das Gerät nicht wirklich ausgelastet. Das will ich ändern, habe aber etwas angst, dass die SD-Karte auf der alles läuft schnell korrupt wird und damit die Daten verloren gehen.

Eigener Sync-Server für Firefox Daten

Cover Image
Nach einigen Jahren mit Google Chrome und Vivaldi Browser teste ich gerade ob ich mit Firefox klarkommen. Firefox bietet deutlich bessere Möglichkeiten die eigenen Daten zu schützen. Zudem scheint er unter Linux etwas besser integriert zu sein wie Vivaldi. Darauf möchte ich aber jetzt in dem Blog-Post nicht genauer eingehen. Es geht vielmehr darum, wie man mehrere Browser-Einstellungen synchronisieren kann und die eigentlichen Daten auf dem eigenen Servern bleiben. Firefox bietet die Möglichkeit über ein Konto alle Einstellungen des Browsers in der Cloud von Mozilla abzulegen.

Wormatia Liveticker Relaunch 2020

Cover Image
Nach dem Relaunch der Wormatia Webseite und dem Umzug auf den neuen Server folgte das dritte Großprojekt in diesem Jahr für meinen Fußballverein. Es sollte die in die Jahre gekommene Live-Ticker Software auf eine neue und aktuelle Software-Basis umgestellt werden. Um das ganze etwas vorzubereiten hatte ich bereits vorher begonnen die Liveticker-Admin-Oberfläche auf VueJS Komponenten zu migrieren und die Kommunikation auf JSON API Anfragen umgestellt. Dadurch war die Admin-Oberfläche schon relativ entkoppelt.

Docker Images automatisch aktualisieren

Cover Image
Wer viele Docker Container auf verschiedenen Server laufen hat sollte sich um die Aktualisierung Gedanken machen. Ich selbst betreibe privat zwei Server mit einer Traefik Installation. Hinter Traefik liegen diverse Anwendungen in unterschiedlicher Größe die ich regelmäßig manuell aktualisiere damit ich möglichst auf dem neusten Stand der Technik bin. Das ist wichtig damit Sicherheitslücken geschlossen werden oder Fehler in der Software behoben werden. Das gilt auch für Docker Container. Diese sollten auch immer aktuell gehalten werden.