geschrieben von Tomas Mikkelsen Developer
Die Bedeutung von Open Source am Beispiel des TYPO3-Crawlers
Die Bedeutung von Open Source am Beispiel des TYPO3-Crawlers
01. Oktober 2020 | Kategorien: CMS & Portals, Technologies & Open Source
Über den Autor Tomas Mikkelsen Tomas Mikkelsen Developer

Einer der Mythen über Open Source ist, dass es unbezahlte Arbeit ist, die in der Freizeit geleistet wird. Dies ist nicht immer der Fall: Bei AOE entwickeln wir die meisten unserer Softwarelösungen auf Open-Source-Basis, so dass wir einen großer Teil unserer Beiträge während der regulären Arbeitszeit leisten. Wir arbeiten kontinuierlich an der Verbesserung und Anpassung der Software, um den Bedürfnissen unserer Kunden gerecht zu werden. Von diesem Ansatz profitieren alle: die Entwickler, die Kunden, die Open-Source-Gemeinschaft – und AOE selbst. Wie? Lassen Sie es mich Ihnen am Beispiel des TYPO3-Crawlers zeigen.

Einige Fakten über den TYPO3-Crawler

Der TYPO3-Crawler ist unter den Bedingungen von Open Source lizenziert. Er ist eine der ältesten Erweiterungen im TYPO3-Ökosystem, und, wenn ich mich richtig erinnere, die älteste, die von AOE entwickelt und gepflegt wird. Mittlerweile hat sie mehr als 150.000 Downloads und mehr als 70 veröffentlichte Versionen. Die erste wurde am 22. Dezember 2005 veröffentlicht. Im Vergleich zu anderen ist der TYPO3-Crawler eine "kleine" TYPO3-Erweiterung. Er hilft Ihnen bei verschiedenen Aufgaben in Ihrem TYPO3 CMS:

    • Er kann zum Füllen des Suchindexes verwendet werden (indexed_search-Erweiterung).
    • Er kann als Cache-Warm-up verwendet werden, das während Deployments durchgeführt wird.
    • Er kann im Allgemeinen verwendet werden, um sicherzustellen, dass Ihre zuletzt bearbeiteten Inhalte im Cache gespeichert werden, damit der Endbenutzer eine schnellere Website hat.

    Seit der Veröffentlichung der ersten Version haben wir bei AOE in Projekten wie dem Sony Playstation Network kontinuierlich mit dem TYPO3-Crawler gearbeitet, der auch heute noch im congstar-Projekt eingesetzt wird.

    Download über packagist.org oder extensions.typo3.org.

    Der Upgrade: TYPO3 9 LTS und 10 LTS (Long-Term Support)

    Am 11. November 2018 wurde das TYPO3 9 LTS als Voraussetzung für die TYPO3-Crawler-Erweiterung hinzugefügt. Das Ziel: den Crawler mit TYPO3 9 LTS kompatibel zu machen. Die Entwicklungen im TYPO3-Kern haben jedoch die Weiterentwicklung des Crawlers mit der Veröffentlichung des TYPO3 10 LTS überdauert. Daher wurde beschlossen, das ursprüngliche Ziel der Kompatibilität mit TYPO3 9 LTS zu erweitern. Das Ergebnis: Der TYPO3 Crawler unterstützt nun nicht nur TYPO3 9, sondern auch TYPO3 10 LTS.

    Die folgenden wesentlichen Änderungen und Verbesserungen wurden vorgenommen:

    • GuzzleHttp als HTTP Client
    • symfony/console für CommandController für CLI und Scheduler-Aufgaben
    • Das Backend Modul nutzt Fluid für Templating
    • Rektor-zu-CI-Pipeline
    • Implementierte Doktrin für die Handhabung von Datenbanken
    • Auf Site Handling anstelle von sys_domain umgestellt
    • Unterstützung für TYPO3 8 & TYPO3 7 eingestellt
    • Unterstützung für PHP <7.2 eingestellt

    Einige unterhaltsame Fakten

    Seit Beginn der Arbeiten im November 2018:

    • gab es ~ 170 Commits
    • haben 13 Entwickler Code beigetragen
    • wurden 319 Dateien geändert, 8236 Einfügungen(+), 22502 Löschungen(-)

    Vorteile der Arbeit mit Open Source im Zusammenhang mit dem TYPO3-Crawler

    Für die Entwickler und die Open-Source-Community:

    • Zusätzliche Lernquelle: Die Arbeit mit Open Source gibt den Entwicklern einen Einblick in unterschiedlichster Software, Code-Stylings, Möglichkeiten, alles von komplexen bis hin zu einfachen Problemen zu lösen.
    • Bei Bedarf gibt es externe Hilfe: Wie aus den unterhaltsamen Fakten hervorgeht, wurde die Arbeit nicht nur von AOE geleistet. Es gab auch Beiträge von außen.
    • Motivation: Die meisten Open-Source-Communities sind sehr offen und stehen neuen Mitgliedern aufgeschlossen gegenüber. Die Zusammenarbeit innerhalb dieser Communities kann für einen Entwickler sehr motivierend und förderlich sein.
    • Schnelleres Lösen von Problemen: Da es viele Entwickler mit unterschiedlichen Erfahrungen, Ansätzen und Perspektiven gibt, können Fehler viel schneller behoben werden.
    • Interaktion: Was wir bei der Aktualisierung der Erweiterung nicht in diesem Ausmaß erwartet hatten, war die verstärkte Interaktion der Benutzer innerhalb der Community. Die Menge an Rückmeldungen, Problemen, neuen Ideen usw. ist nach der Version 9.0.0 stark gewachsen. Dadurch ermöglichte uns die Aktualisierung, eine bessere Erweiterung mit Mehrwert für die Benutzer zu entwickeln.

    Für unsere Kunden:

    • Kosteneffizienz: Lizenzkosten sind immer ein Argument, wenn es um Open Source geht. Im Vergleich zu einem kommerziellen CMS-System kostet das TYPO3 CMS 0€, d. h. die ersparten Lizenzkosten können für die Entwicklung eigener, vom System noch nicht unterstützter Funktionen verwendet werden.
    • Vorteile der gemeinsamen Arbeit: Schnellere Fehlerbehebung, Pflege durch die Community und die ständige Entwicklung neuer Funktionen sind Aspekte, von denen auch die Kunden profitieren.
    • Unabhängigkeit: Auf dem neuesten Stand zu sein, ermöglicht es, neue Technologien auszuprobieren, zu nutzen und zu erlernen, was auf die für AOE-Kunden geleistete Arbeit einzahlt. Sie sind nicht von alten Bibliotheken und Komponenten abhängig, neuere und modernere Komponenten machen Ihren Code leichter wartbar und verlagern einen Teil der Komplexität auf andere Komponenten, die Sie benötigen werden, anstatt sie selbst zu entwickeln.

    Für AOE:

    • Verbesserte allgemeine Fähigkeiten: Wie bereits erwähnt, verfügt ein Entwickler bei der Arbeit mit Open Source über eine zusätzliche Lernquelle. Dies führt zu einer Verbesserung der Fähigkeiten, da man mit neuen Technologien, Best Practices usw. besser vertraut wird. All dies sind Verbesserungen, die sich in der Kundenarbeit bei AOE widerspiegeln werden.
    • Beziehung zu den Kunden: Die Beziehung zu unseren Kunden profitiert enorm, wenn unser Verhalten als Dienstleister zeigt, dass wir immer das beste Ergebnis im Blick haben und unseren Kunden nicht nur teure Technologie verkaufen wollen. Die Arbeit mit Open Source und damit die Reduzierung der Ausgaben der Kunden gibt uns mehr Spielraum, um Budgets für andere Dienstleistungen wie die Entwicklung kundenspezifischer Funktionen zu nutzen.

    Dies zeigt, dass Open-Source-Arbeit nicht nur Entwicklern hilft, ihre Fähigkeiten zu verfeinern und komplexe Probleme anzugehen, sondern auch AOE als Unternehmen wettbewerbsfähiger macht: Wir stehen mit vielen Entwicklern in Kontakt, wir lernen, Probleme aus verschiedenen Perspektiven zu betrachten, und wir machen uns ständig mit neuen Technologien und Ansätzen vertraut. All das wirkt sich direkt auf alle Beteiligten aus: Entwickler, Community, Kunden und AOE selbst.