Die technische Evolution eines Plugins

Am 13. Juli 2022 veröffentlichte ich nach relativ kurzer Erarbeitungszeit das Plugin Personio Integration Light. Es dient dazu, dass Anwender der HR-Plattform Personio ihre offenen Stellen in der eigenen Webseite präsentieren können. Seither wurde das Plugin über 5000 Mal runtergeladen (Stand Mai 2024) und wird von über 100 WordPress-Websites aktiv genutzt.

Seither erhielt das Plugin reichlich Ergänzungen. Die kostenpflichtige Pro-Variante erhielt dabei von mir die größte Aufmerksamkeit, aber auch die kostenfreie Version wurde immer wieder erweitert. Z.B. wurden aus Anfang 2 Gutenberg Blöcken insgesamt 7. Auch wurden immer neue Möglichkeiten ergänzt um die offenen Stellen in Webseiten optimal ausgeben zu können.

Immer schon hatte ich einen groben Plan einer Versionierung im Kopf:

  • Version 1 sollte zum Einstieg dienen. Sie sollte erstmal nur abklopfen wie gut es bei den Anwendern ankommt und gleichzeitig, vor allem in der Pro, die Unterstützung für unterschiedliches PageBuilder ergänzen (Elementor, Avada, WPBakery etc).
  • Version 2 sollte dann die Möglichkeit für Bewerbungen ergänzen. Ich entwickelte nur für die Pro-Version einen eigenen Form-Handler der exakt auf die Anforderungen durch die API von Personio zugeschnitten war. Und natürlich die Anbindung an die Personio API zu diesem Zeitpunkt.
  • Version 3 soll die “endgültige” Version sein. Optimal auf die Zukunft vorbereitet mit möglichst vielen Features die sich aus den Supportanfragen zu Version 1 und 2 ergeben haben. Sie sollte Wartungsarm sein und den Aufwand für uns künftig minimieren.

Im Herbst 2023 stand ich nun vor der Entscheidung wie ich Version 3 angehen sollte. Dazu habe ich folgenden Plan entworfen:

  • Verwendung von Composer und PSR-4-Klassen
  • Kompatibel mit PHP 8.0 bis 8.3, kein Support mehr für ältere PHP-Versionen
  • Erfüllung der Vorgaben von WordPress Coding Standards
  • Mitgelieferte Barrierearme Ausgabe im Frontend
  • Kompatibilität mit Mehrsprachen-Plugins wie WPML und Polylang

Und so begann ich nach Weihnachten 2023 mit der Überarbeitung, die ich zeitlich völlig unterschätzt habe. Die Umstellung von allem auf Composer und PSR-4-Klassen kostete allein rund 2 Monate. Grund war auch, dass ich das natürlich neben der normalen Arbeit in meiner Arbeitszeit gemacht habe. Dadurch gab es immer wieder Verzögerungen und ich musste mich neu reindenken. Aber das Ergebnis enttäuschte nicht: der Aufbau ist rasend Schnell. Das Plugin beeinflusst WordPress in der Auslieferungszeit so gut wie gar nicht, selbst wenn man 500 Stellen importiert hat.

Im Lauf der Entwicklung ergänzte ich mit WP Easy Setup einen React-basierten Setup-Dialog. Dieser hilft dem Anwender das Plugin initial zu konfigurieren. Das war wichtig, da die Konfigurationsmöglichkeiten des Plugins inzwischen durchaus unübersichtlich wurden.

Aus dem Grund teilte ich das Plugin auch in Erweiterungen auf. Funktionen die nicht zum wesentlichen Bestandteil des Plugins zählen, sind künftig Erweiterungen. Z.B. WPML-Support und Polylang-Unterstützung. Aber auch PageBuilder und neu hinzugekommene Optionen um z.B. Beitragsbilder an den Stellen zu hinterlegen.

Ich ergänzte also auch noch einige völlig neue Funktionen am Plugin. Stellen können künftig Bilder beinhalten (die nicht von Personio kommen), sie können Download-Dateien haben (die auch nicht von Personio kommen), sie können mit Open Graph und Twitter Cards ausgezeichnet werden um sie über Social Media besser auffindbar zu machen. Auch optional kann man Rich Snippets aka schema.org aktivieren, was für Google Jobs relevant ist.

Das Ergebnis ist eine Eierlegende Wollmilchsau, wie man so schön sagt. Beide Plugins können inzwischen alles abdecken was bisher in Supportanfragen bei uns eingetroffen ist. Ich bin sehr gespannt wie das Plugin auch künftig ankommen wird. Die Download-Zahlen, die auch jetzt noch wöchentlich steigen, sprechen für sich.