Meine Projekte 2024: Fortschritte trotz Zeitmangel

Das Jahr 2024 brachte unerwartete Herausforderungen, sowohl beruflich als auch privat. Trotz Verzögerungen und Belastungen gab es Fortschritte bei Projekten wie Sitealarm und Zhylon, die neuen Optimierungen bringen.

Manchmal läuft das Leben nicht nach Plan – und genau das habe ich dieses Jahr deutlich zu spüren bekommen. Ursprünglich wollte ich 2024 nutzen, um berufliche und private Ziele voranzutreiben. Stattdessen wurde es ein Jahr, das mich in vielerlei Hinsicht an meine Grenzen gebracht hat. Trotzdem möchte ich zurückblicken, denn auch in schwierigen Zeiten gibt es Fortschritte, die zählen.

Berufliche Erfolge trotz hoher Belastung

Beruflich war dieses Jahr ein Ausnahmejahr. Eines der spannendsten Projekte war zweifellos die Umsetzung von gleich zwei großen Meilensteinen mit unserer Verbandssoftware. Nach über einem Jahrzehnt Mitarbeit an diesem System ist es immer wieder beeindruckend zu sehen, wie es wächst und sich weiterentwickelt.

Ein Highlight dieses Jahres war der erfolgreiche Einsatz unserer Verbandssoftware in einem besonders großen Projekt – ein echter Meilenstein, der zeigt, wie weit die Software inzwischen gereift ist. Kurz darauf konnten wir einen weitere Kunden aus dem Sportbereich für unsere Lösung gewinnen. Diese Erfolge bestätigen, dass sich die vielen investierten Stunden und die harte Arbeit auszahlen.
Hier auch nochmal die News aus dem letzten Jahr. Klick hier (News von Tricept.de 20.12.23)

Doch sie hatten auch ihren Preis: Viele Überstunden und die intensive Arbeit an diesen Projekten führten dazu, dass private Projekte in den Hintergrund rücken mussten. Es war nicht immer einfach, diese Balance zu finden, aber ich bin dennoch dankbar, Teil eines Teams zu sein, das solche Herausforderungen gemeinsam meistert.

Private Herausforderungen: Ein Jahr des Umbruchs

Parallel dazu war auch das Privatleben alles andere als ruhig. Ein erneuter Umzug brachte uns nicht nur in eine neue Umgebung, sondern auch einen deutlich längeren Schulweg für meine Kinder. Jeden Tag verbringe ich mehrere Stunden damit, sie hin und her zu fahren. Dieser Umstand beansprucht viel Zeit und Energie, die ich sonst in private Projekte hätte stecken können.

Zum Glück ist dieser Zustand nur vorübergehend – spätestens mit dem Ende des Schuljahres 2024/25 wird sich das wieder ändern. Doch aktuell bedeutet es, dass meine Kapazitäten stark begrenzt sind und persönliche Ziele warten müssen.


Fortschritte trotz begrenzter Zeit: Meine Projekte 2024

Trotz der vielen Herausforderungen in diesem Jahr gab es auch Lichtblicke bei meinen privaten Projekten. Obwohl ich weit weniger Zeit investieren konnte, als ursprünglich geplant, haben einige Projekte dennoch Fortschritte gemacht, die mich stolz machen.

Sitealarm: Fortschritte im Website Monitoring

Sitealarm, mein Website-Monitoring-Tool, war eines der Projekte, bei dem ich ursprünglich mit großen Plänen in das Jahr gestartet bin. Geplant war die Umstellung auf eine neue Version Anfang 2024 – ein Ziel, das ich leider verschieben musste.

Stattdessen habe ich mich intensiv auf die Optimierung der Synchronisation zwischen Sitealarm und den Zhylon Services konzentriert. Der wichtigste Fortschritt: Jeder Server und jede Website wird jetzt automatisch mit einem Monitor versehen, sodass keine zusätzlichen Schritte mehr notwendig sind. Diese Automatisierung spart Zeit und erleichtert die Nutzung enorm.

Zusätzlich ist die geplante „App-Health“-Funktion schon fast abgeschlossen. Damit wird es Ende 2024 oder Anfang 2025 endlich möglich sein, die Umstellung zur neuesten Version anzugehen.
Darüber hinaus habe ich die Dokumentation umfassend überarbeitet. Dadurch werden viele Funktionen, die bislang im Verborgenen blieben, nun klarer sichtbar und leichter nutzbar.

Fun Fact: „Wir“ heißt in diesem Fall eigentlich nur ich. Aber dazu später mehr.

Zhylon: Das Ecosystem wächst

Auch Zhylon, mein vermutlich gößtes Software-Ecosystem, konnte dieses Jahr wichtige Fortschritte machen. Hier haben wir die Funktionalität auf mehreren Ebenen erweitert:

  • Projektmanagement: Es ist nun möglich, pro Projekt einzelne Server und Websites anzulegen. Das erlaubt die Verwaltung verschiedener Umgebungen, die auf unterschiedlichen Branches arbeiten – alles in einer zentralen Oberfläche.
  • Verbesserte CLI: Die Command-Line-Integration von Zhylon wurde optimiert. Jetzt lassen sich lokale Projekte direkt über die CLI steuern: Hooks ausführen, neue Versionen deployen, Logs abrufen – alles nahtlos und effizient.
  • Neuer Mailserver: Ein weiteres Highlight ist die Einführung eines eigenen Mailservers, der perfekt in das Zhylon-Ecosystem integriert ist. Dieser Punkt verdient eigentlich einen eigenen Blogpost, den ich bald nachreichen werde.
  • Domains und Server Management: Komplett neu ist das System zur Verwaltung von Domains und Servern, die automatisch in Zhylon integriert werden. Diese Erweiterung macht das Ecosystem noch leistungsfähiger und anwenderfreundlicher.

Das Community-Projekt: ID.zhylon.net

Ein weiterer Meilenstein ist die Weiterentwicklung von Zhylon als Community-Projekt. Unter ID.zhylon.net haben alle Nutzer jetzt die Möglichkeit, das Projekt aktiv zu unterstützen – sei es über Plattformen wie Patreon, GitHub Sponsors, Ko-Fi oder einmalige Spenden.

Diese Unterstützung ist essenziell, um die Entwicklung langfristig voranzutreiben und neue Features zu ermöglichen. Mit einem stärkeren Fokus auf die Community erhoffe ich mir, dass wir gemeinsam in den nächsten Jahren noch mehr erreichen können.


Ein Blick nach vorn

2024 war ein Jahr voller Herausforderungen – beruflich wie privat. Es gab Rückschläge, Verzögerungen und viele Momente, in denen ich an meine Grenzen gestoßen bin. Aber wenn ich jetzt zurückblicke, sehe ich nicht nur die Schwierigkeiten, sondern auch die Erfolge, die ich trotz allem erreicht habe.

Besonders stolz bin ich auf die Fortschritte bei Sitealarm und Zhylon. Diese Projekte zeigen mir, dass selbst kleine Schritte etwas Großes bewirken können, wenn man dranbleibt. Sie sind ein Beweis dafür, dass auch in schwierigen Zeiten etwas vorangehen kann – und das motiviert mich für die Zukunft.

Was kommt 2025?

Im kommenden Jahr möchte ich an diesen Projekten weiterarbeiten und einige der geplanten Meilensteine endlich umsetzen. Dazu gehört die Umstellung von Sitealarm auf die neue Version und die Erweiterung des Zhylon-Ecosystems. Aber vor allem möchte ich versuchen, eine bessere Balance zwischen Arbeit, Projekten und meiner privaten Zeit zu finden.

Natürlich werde ich in den kommenden Monaten auch weiter über diese Themen schreiben. In den nächsten Blogeinträgen möchte ich tiefer in die einzelnen Projekte eintauchen – von der Entwicklung des Mailservers bis hin zu den neuen Features von Sitealarm und Zhylon. Wenn dich also die technischen Details oder die Herausforderungen hinter den Kulissen interessieren, bleib dran!

Es wird nicht immer einfach sein, und ich weiß, dass auch 2025 neue Herausforderungen bringen wird. Doch eines habe ich dieses Jahr gelernt: Es ist okay, wenn nicht immer alles nach Plan läuft – wichtig ist, dass man trotzdem weitermacht.

Vielen Dank, dass du diesen Rückblick gelesen hast. Wenn du Lust hast, meine Projekte zu unterstützen oder einfach mehr darüber zu erfahren, schau gerne bei ID.zhylon.net vorbei. Zusammen können wir etwas Großartiges schaffen.

Sitealarm Änderung beim Seitenzugriff

Zusammenarbeit, Dankbarkeit und Sicherheit – eine aufregende Veränderung bei Sitealarm steht uns bevor!

In diesem Blogbeitrag möchte ich mich vor allem an meine Sitealarm-Community wenden, da zum 31. Januar 2024 eine bedeutende Veränderung ansteht, die alle Projekte beeinflussen wird.

Uns bei Sitealarm liegt kontinuierliche Weiterentwicklung am Herzen, um unsere Leistungsfähigkeit zu optimieren und unseren Service den sich wandelnden Anforderungen anzupassen. Die bevorstehende Anpassung, die den Zugriff auf Webseiten betrifft, markiert einen weiteren Meilenstein in dieser Entwicklungsrichtung.

Warum führen wir diese Neuerung ein? Unser jährliches Ziel ist es, das Leistungsportfolio von Sitealarm mit neuen, verbesserten Funktionen zu erweitern. Diese spezifische Anpassung ist ein wesentlicher Bestandteil unserer fortlaufenden Bemühungen, die Anwendung stets auf dem neuesten Stand zu halten und sicherzustellen, dass sie sämtlichen Anforderungen in vollem Umfang gerecht wird.

Was verändert sich nun?

Die Neuerung ist im Prinzip ein Filter, der den Zugriff auf eine Website nur noch ermöglicht, wenn der Domaininhaber oder Betreiber zuvor seine Zustimmung erteilt hat. Dies kann durch verschiedene Methoden erfolgen, wie zum Beispiel durch ein Meta-Tag, eine Verifizierungsseite oder einen TXT-Record. Die detaillierten technischen Informationen und Anwendungsmöglichkeiten findet ihr in unserer Dokumentation.

Wir möchten betonen, dass dieses Feature seit diesem Jahr bereits verfügbar ist, jedoch optional genutzt werden kann. Dies ermöglicht eine höhere Sicherheit und Kontrolle über den Zugriff auf die Seiten im Rahmen des Sitealarm-Services.

Und warum ist das nun verpflichtend?

Ihr mögt euch sicherlich fragen, warum wir diese Änderung nun einführen. Die Gründe sind eigentlich recht einfach. In letzter Zeit haben wir eine verstärkte Aktivität bemerkt, die nicht in unserem Sinne ist. Dies betrifft sowohl Zugriffe, die wir nicht in unserem Netzwerk sehen möchten, als auch Zugriffe, die potenziell zu Problemen führen könnten, für die wir keine Verantwortung übernehmen wollen.

Als anschauliches Beispiel wurde das Monitoring missbraucht, um sogenannte CronJobs auszuführen. Das bedeutet, dass durch dynamische Anpassungen über die API und kontinuierliche Aufrufe bestimmte Zwecke auf der gegenüberliegenden Seite erreicht wurden, die nicht mehr im Einklang mit dem ursprünglichen Zweck des Monitorings stehen.

Oder es wurden Überwachungsinstanzen auf Seiten eingerichtet, die niemals beobachtet werden sollten oder dürften. In einigen Fällen erhielten wir unerwünschte E-Mails und mussten kurzfristig Beschränkungen einführen, für die eigentlich kein zeitliches Kontingent vorgesehen war.

Wie geht es weiter?

Wir sind uns bewusst, dass diese Veränderung Unsicherheit hervorrufen kann. Aus diesem Grund möchten wir euch bereits jetzt darüber informieren, damit ihr euch rechtzeitig darauf vorbereiten könnt. In den kommenden Tagen werden wir ausführliche Informationen zu den spezifischen Auswirkungen dieser Anpassung bereitstellen. Zusätzlich erhaltet ihr entsprechende Updates per E-Mail, über unsere Kanäle und über den WhatsApp-Kanal (Zhylon Channel).

Über Uns – Hinter den Kulissen von Sitealarm

Ihr habt sicherlich bemerkt, dass wir von „wir“ sprechen, wenn es um Sitealarm geht. Das ist kein Zufall – es spiegelt unsere gemeinsame Reise und unsere gemeinsamen Ziele wider. Doch hinter den Kulissen möchte ich mit euch ein wenig teilen: In Wirklichkeit bin ich der alleinige Entwickler von Sitealarm. Diese Rolle zu übernehmen, insbesondere bei einer Anwendung, die von vielen genutzt wird, bringt Herausforderungen mit sich.

Als ich vor 15 Jahren diesen Service ins Leben gerufen habe, konnte ich nicht ahnen, wie groß dieses Projekt einmal werden würde und wie viele Menschen sich letztendlich daran beteiligen würden. Immerhin ist es auch heute noch ein vollkommen kostenloser Service. Mein eigentlicher „Verdienst“ besteht dabei in der unschätzbaren Erfahrung, die ich gewonnen habe, und in eurem überwältigenden Zuspruch und Vertrauen in den Service. Es ist unglaublich erfüllend zu sehen, wie unsere Community gewachsen ist und dass wir gemeinsam auf dieser Reise sind. Eure Unterstützung ist der wahre Motor hinter dieser Initiative, und dafür bin ich euch zutiefst dankbar.

Warum diese Offenheit? Es ist mir wichtig, transparent zu sein und euch an der Entwicklung teilhaben zu lassen. Als Einzelentwickler ist es unerlässlich, bestimmte Schritte zu gehen, die das Projekt voranbringen, selbst wenn sie auf den ersten Blick nicht offensichtlich sind. Obwohl es manchmal herausfordernd sein kann, motiviert mich der Gedanke, immer weiter zu machen und Sitealarm mit neuen Funktionen zu verbessern.

Zum Schluss

Euer Feedback ist uns (mir) wichtig! Wenn ihr Fragen habt oder Unterstützung benötigt, stehen wir euch jederzeit zur Verfügung. Wir schätzen eure Zusammenarbeit und sind zuversichtlich, dass diese Maßnahme letztendlich zu einer verbesserten Version unserer Projekte führen wird.

Wir danken euch für euer Verständnis und eure Unterstützung!

people doing group hand cheer
Photo by Dio Hasbi Saniskoro on Pexels.com

Verschlüsselung der .env Datei

In modernen Anwendungen wie z.B. Laravel, werden häufig „.env“ Dateien verwendet, um Zugangsdaten für die Datenbanken, API-Token oder andere Zugangsschlüssel zu speichern (siehe https://dotenv.org/). Dies hat den Vorteil, dass diese nicht im Quellcode der Anwendung hinterlegt werden müssen und so an einer zentralen Stelle gespeichert werden. Außerdem kommen sie so nicht in die Versionskontrolle wo sie ggf. von Personen außerhalb des Projektes gelesen werden könnten.

Sobald ein neuer Wert in dieser Datei hinterlegt wird, muss dieser auch bei allen Entwickler im Team hinterlegt werden oder in die produktive Umgebung eingespielt werden. Gerade wenn es hierfür keinen richtigen Prozess gibt, wie die Zugangsdaten dann verteilt werden, könnte dies wieder unsicher übertragen werden. Vielleicht wird hier eine Rundmail geschrieben oder mit einer Message via Slack, Teams oder gar in WhatsApp verschickt. Und sollten sich die Werte auch nicht in Produktion automatisch oder per Deployment aktualisieren, dann muss hier auch immer händisch noch der richtige Wert hinterlegt werden.

Eine Lösung hierfür kommt von Dotenv selbst und bietet eine Synchronisierung. Doch wer Kosten sparen möchte oder eine Cloud Lösung nicht in Frage kommt, der steht wieder vor dem Ausgangsproblem.

Darum habe ich ein kleines Package gebaut, mit dem man die .env Datei sicher im Repository hinterlegen kann, ohne das es hier zu Bedenken der Sicherheit kommt. Mit dem Package lässt sich die lokale .env Datei sicher verschlüsseln und damit auch in das Repository einchecken. Andere Personen im Team können diese dann auschecken und dann wieder entschlüsseln. Das gleiche geht auch für die produktive Umgebung. So muss nur noch der geheime Schlüssel bekannt sein, welcher nur für ausgewählte Personen im Team bekannt ist.

Das Package findest du wie immer bei GitHub. Es befindet sich noch in der aller ersten Version: https://github.com/TobyMaxham/laravel-envcrypter

Neues Projekt: Laravel CRM

Wir haben lange darauf gewartet und jetzt ist es hier: Laravel 9. Und nach ein paar Wochen aktiver Benutzung bin ich wieder sehr begeistert von den ganzen Neuerungen.

Was mich auch sehr erfreut, ist der Ausschluss von PHP Versionen unter PHP 8. Zum einen ist es nun endgültig notwendig, Projekte auf PHP 8 umzustellen. Zum anderen wird diese Tatsache auch wieder Schwung in viele OpenSource Projekte und Packages bringen.

In diesem Zuge habe ich mir überlegt, ein neues Projekt zu starten. Ich möchte dabei möglichst viele Funktionalitäten mit Laravel abdecken und gleichzeitig an meinen Test-Driven-Development Skills arbeiten. Ich habe mir daher vorgenommen dieses Jahr an einem Customer Relationship Management zu arbeiten unter Verwendung von Laravel 9.

Das Ziel soll dabei also nicht die Konkurrenz zu anderen Produkten auf dem Markt sein, sondern viel mehr darin, gerade für Neueinsteiger in Laravel oder generell in die PHP Programmierung aufzuzeigen, was es alles für Funktionalitäten in Laravel gibt und wie man diese in einem echten Projekt verwenden kann.

Eine Idee zur Umsetzung wäre, dass ich aufgrund der Laravel Dokumentation einzelnen Task erstelle, welche dann umgesetzt werden. Dabei muss beachtet werden, dass die Umsetzung trotzdem realistisch sein muss und nicht mit aller Kraft dann irgendwie funktioniert.

Außerdem sollen auch die fachlichen Themen des CRM nicht vernachlässigt werden sondern eher Vorrang haben. Ich werde hier natürlich auch ein paar OpenSource und kommerzielle CRM ansehen, um hier die fachlichen Themen heraus zu arbeiten.

Das Projekt und alle dazugehörigen Themen werden OpenSource oder öffentlich zugänglich sein. Daher hoffe ich auch auf Unterstützung bei diesem Projekt. Jeder is herzliche zu Pull-Requests oder auch als Collaboration eingeladen.


Hier nochmal alle Links zur Übersicht.

Repository: https://github.com/TobyMaxham/laravel-crm

Projekt: https://github.com/users/TobyMaxham/projects/1

UX9 URL Shortener: Upgrade auf Laravel 8 – Teil 2

Bevor ich mit der eigentlichen Umstellung begonnen haben, hatte ich mir ausführlich überlegt, was ich alles umstellen muss, und wie ich die Umstellung gestalten möchte. Relativ schnell ist mir aufgefallen, dass das Projekt zwar über die letzten 10 Jahre sehr gewachsen ist, der wesentliche Kern hingegen beschränkt sich auf wenige Klassen. Ich habe mich daher für eine Upgrade Strategie entschieden, die in der Regel für kleinere Projekte sehr gut funktionieren kann, hingegen für größere Projekte viel zu Aufwändig ist.

Hast du den ersten Teil bereits gelesen? Noch nicht, kein Problem. Hier geht es zum ersten Teil: UX9 URL Shortener: Upgrade auf Laravel 8 – Teil 1

Ich nenne die Strategie „Copy-To-New“, mit der ich in den letzten Jahre sehr gut bei kleine Projekten gefahren bin. Dabei ist die eigentliche Umstellung recht schnell beschrieben:

1. Alle Projekt-Dateien in ein „Backup“-Verzeichnis verschieben
2. Neue Laravel Installation bereit stellen
3. „Alten“-Code Schritt für Schritt wieder in die neue Installation verschieben
4. Alle Änderungen Testen (Unit Tests)

Bei dieser Methode ist der 4. Punkt äußerst essentiell. Ich habe die Erfahrung gemacht, dass das Testen der Anwendung am Ende doch schwieriger ist, als man sich das zuvor überlegt hatte. Darum empfehle ich, je nach Größe und Umfang des Projekts, immer PHP-Unit Tests zu verwenden, mit welchen man die Funktion des Programmes auch nach dem Upgrade sicherstellen kann.

Leider hatte ich bis dato noch keinen (nicht einen einzigen) PHP-Unit Test für meinen URL Shortener geschrieben. Da ich aber seit einige Jahren auf das Test-Drive-Development setze, wollte ich das nun auch in diesem Projekt einführen. Also der ideale Zeitpunkt, um nun damit zu beginnen. Mein erster Schritt war also, für das gesamte Programm PHP-Unit Tests zu schreiben. Hier mal ein Beispiel, wie eine Test-Klasse bei mir aussieht. Der Test prüft einige Prozesse vom User-Dashboard:

UX9 Test Cases: URL Shortener

Für diese Phase habe ich etwa 200 Test geschrieben. Ich konnte damit eine Test-Abdeckung von ca. 73% erreichen. Bis zum Ende der Umstellung und weiterem Refactoring, möchte ich eine Test-Abdeckung von über 90% erreichen. Es werden also im Laufe und vermutlich auch direkt nach dem Upgrade noch einige weitere Tests folgen.

Im nächsten Teil dieser Serie, werde ich die ersten beiden Punkte näher beschreiben. Damit ist dann die Grundlage für jede weitere Umstellung gesetzt.