Im Interview: Senior PHP Developer Daniel

Karriere /  

Daniel ist bereits seit 2013 Teil von TRITUM. Seine Fähigkeiten lebt er nicht nur als erfahrener Senior PHP Developer bei uns aus, sondern entwickelt in seiner Freizeit zusätzlich an zahlreichen TYPO3 Extensions.

Eine besonders beliebte und - nicht nur bei TRITUM - oft eingesetzte TYPO3 Extension ist "cart", mit deren Hilfe ein eigener Onlineshop in TYPO3 integriert werden kann. Neben den zahlreichen Features weist die TYPO3 Extension eine herausragende Software-Qualität auf und ist bereits seit einigen Wochen mit TYPO3 v9 kompatibel.

Daniel hat sich für uns die Zeit genommen und ein paar Fragen zu seiner Arbeit an der TYPO3 Extension "cart" beantwortet.

Was treibt Dich an?

Ich habe zwar keinen eigenen Shop und kaufe selbst lieber regional ein, aber es reizt mich Dinge voranzubringen und zu programmieren. Dabei ist es nicht mein Ziel, große Shopsysteme wie Magento abzulösen, sondern eine Warenkorbfunktionalität als Teil von TYPO3 zu implementieren. Außerdem gibt mir die Extension die Möglichkeit, mich an neuen Techniken zu probieren und Erfahrungen zu sammeln ohne unter Projektdruck zu stehen.

Wie viel Zeit investierst Du in die Weiterentwicklung?

Das ist jahreszeitabhängig, aber durchschnittlich sind es 40 bis 60 Stunden im Monat plus die Stunden die ich während der Arbeitszeit bei TRITUM dafür zur Verfügung gestellt bekomme. Ich entwickle allerdings nicht nur die Extension weiter, sondern kümmere mich kontinuierlich um die Steigerung der Software-Qualität.

Warum wird es künftig mehrere aktuelle Versionen geben?

In Kürze werden die Versionen 5 und 6 von "cart" erscheinen. Dies ist bedingt durch einen neuen Weg der Versionierung, den auch einige andere TYPO3 Extension Entwickler eingeschlagen haben. Durch die Versionierung wird sichergestellt, dass neben der aktuellen TYPO3 Version 9 auch ältere TYPO3 Versionen unterstützt werden. Daher gibt es die "cart" Version 5 für TYPO3 v8, während die "cart" Version 6 nur mit TYPO3 v9 kompatibel ist. Neue große Features werden nur in der neuesten Version integriert. Für alle Anderen werden nach wie vor Bugfixes bereitgestellt. Wenn ein Kunde gern in "cart" ein Feature für TYPO3 v8 integriert haben möchte, dann ist das über ein sog. Feature Toggle möglich.

Wie bereitest Du das nächste große Release vor?

Um das nächste große Release vorzubereiten, tausche ich mich auf TYPO3Camps und auf dem TYPO3 Slack mit Nutzern und anderen Entwicklern aus. Im Januar bin ich beispielsweise wieder auf dem TYPO3Camp Mitteldeutschland in Dresden und werde dort eine Session zu "cart" halten. Dabei werde ich mir Feedback zu Problemen und Wünschen einholen.

Welches Feature gefällt Dir am besten bzw. ist für Dich unverzichtbar?

Die alte Version von "cart" war von einer eigenen Produkttabelle abhängig. Diese wurde mittlerweile aus "cart" herausgelöst und steht als "cart_products" zur Verfügung. So habe ich die Möglichkeit geschaffen, über zusätzliche, individuell gestaltbare Extensions weitere Produktgruppen zu erschließen. Dadurch konnten die eigenständigen Extensions "cart_books" und "cart_events" entstehen.

Außerdem kann "cart" jetzt relativ einfach an die individuelle Produktpalette der Kunden angepasst werden. Der Redakteur erhält so ein auf seine Bedürfnisse angepasstes Datenmodell und eine flexible Produktverwaltung. Auch die Abarbeitung des Bestellprozesses ist individualisierbar. Die vordefinierten Reihenfolge und selbst die Validierung der Eingabefelder - also ob eine Information verpflichtend angegeben werden muss - kann mit Hilfe von TypoScript verändert werden.

Wie kannst Du unterstützt werden?

Der einfachste Weg ist, ein Feature finanziell zu sponsoren oder nach einer Rechnung für Support-Leistung zu fragen. Aber auch Patreon und Paypal.me sind möglich. Außerdem würde ich mich sehr freuen, wenn die Nutzer von "cart" einen Link mit ihrem Projekt an mich senden könnten. Mich interessiert sehr, wo die Extension zum Einsatz kommt und welche Features genutzt werden.

Welches Sponsoring hat Dir bisher am besten gefallen?

Ich freue mich über jede Geste und mache das nicht unbedingt am Geld fest. Ich habe mich zum Beispiel sehr über ein Päckchen mit unterschiedlichen Kaffeesorten von einer Kaffeerösterei gefreut, die ihren TYPO3 Onlineshop mit "cart" umgesetzt haben.

Leider ist Sponsoring relativ selten geworden. Projekte werden viel zu oft ohne ein Budget für die TYPO3 Extension Entwickler geplant. Selbst bei geleistetem Support über Slack kommen viele nicht von allein auf die Idee. Das erleben auch andere TYPO3 Extension Entwickler, mit denen ich mich unterhalten habe. Ein prominentes Beispiel ist Georg Ringer, dessen Extension "news" in ziemlich jeder TYPO3 Installation vorhanden ist.

Wie oft wird Dir durch Code Contribution geholfen?

Bis auf ein paar Bugfixes gibt es aktuell keine größeren Code Contributions - also die Zuarbeit von anderen TYPO3 Entwicklern. Das stört mich aber nicht. Allerdings bekomme ich regelmäßig Anfragen zur Implementierung von neuen Features. Ein großes Dankeschön geht an dieser Stelle an meinen Kollegen Andi, der mir sehr mit der Erstellung von schicken Icons für die Erweiterungen im "cart" Universum geholfen hat.

Welche Integration hat Dir bisher am besten gefallen?

Aus technischer Sicht gefällt mir ein aktuelles TRITUM Projekt für einen Schweizer Verlag sehr gut. Dieser nutzt für seine TYPO3 Website sämtliche Features von "cart" v6 und alle drei Produkttabellen für Veranstaltungen, Bücher und Produkte.

Wenn ich es allerdings bezüglich Idee und Ansatz bewerte, hat mir das Projekt für die schon erwähnte Kaffeerösterei bisher am besten gefallen. Die Integration von "cart" spielt hier nur eine untergeordnete Rolle. Vielmehr geht es darum, den Markt über gut aufbereiteten Inhalt zu erschließen und damit dem Kunden das Thema Kaffee näher zu bringen.

Was können wir in Zukunft an neuen Features erwarten?

Für "cart_events" gibt es bereits konkrete Pläne zur Integration individuell erstellbarer Formulare basierend auf dem TYPO3 Form Framework. Der Redakteur soll dadurch die Möglichkeit bekommen, Formulare selbst zu kreieren und diese einer Veranstaltung zuzuordnen. So könnten von Nutzern beispielsweise zusätzliche, personenbezogene Bestellinformationen wie deren Twitter Handle oder bevorzugtes Essen abgefragt werden.

Danke Daniel, für Deine großartige Arbeit und die tollen TYPO3 Projekte, die wir hier bei TRITUM mit "cart" umsetzen konnten. Viel Freude noch beim Coden und stark, dass Du den Open Source Gedanken lebst.

Das Interview führte Sarah, Front End Developer und Redaktionsfee bei TRITUM.

Fragen? Anregungen? Ideen?