TYPO3Camp Hamburg 2015

TYPO3Camp Hamburg 2015

Markus Günther 12. August 2015 Konferenzen

1 Kommentar // Lesezeit: 7 min.

Am letzten Wochenende ging das traditionsreiche TYPO3camp Hamburg in die 7. Revision. Nach einer einjährigen Pause hat sich der Organisator Volker Graubaum wieder die Mühe gemacht das Camp auszurichten.

Hamburg war das erste Camp dieser Art im Jahre 2008 und hat damit einen Grundstein für viele andere Städte gelegt. Mittlerweile finden in Hamburg, München, Berlin, Essen, Stuttgart und Bremen TYPO3camps in Deutschland statt. Das jährliche international TYPO3camp auf Mallorca war übrigens auch die Idee von Volker Graubaum.

In der siebten Auflage fand das TYPO3camp auf dem Elbcampus in Hamburg-Harburg statt. Einige sollten diese Location noch von den TYPO3 Developer Days 2013 kennen. Es ist ein schönes und modernes Gebäude mit einer Vielzahl von Schulungsräumen. Dank eigener Kantine und eines großen Hörsaals ist die Location geradezu prädestiniert für eine Veranstaltung wie dieser.

Barcamp typisch begann das Camp mit einer Warm-up Party im Hamburger Schanzenviertel. Es fanden sich zahlreiche Teilnehmer zum Socialising ein und genossen den Abend bei einem kühlen Bier. Ich war am Freitag zusammen mit 10 anderen Entwicklern auf einem TYPO3-Codesprint in Bremen. Ein Teil des Teams nahm den Weg nach Hamburg auf sich um sich Abends den Teilnehmern des Camps anzuschließen. Der letzte Codesprint-Tag wurde somit auf das Camp verlegt. Dazu aber später mehr.

Tag 1

Der erste Tag des Camps begann ganz im Stile eines klassischen Barcamps mit der Einführungsrunde und der Session-Planung. Etwas ungewöhnlich war das die meisten Teilnehmer gar keine technischen Tags nannten, sondern mehr Tags wie Lieblingsgetränk, Sport oder Freizeitbeschäftigung anführten.

Das führte jedoch nicht dazu das es auf dem Camp nur zu nicht TYPO3 bezogenen Sessions kam. Der Sessionplan konnte schnell gefüllt werden und es kam zu einer bunten Mischung aus Einsteiger- und Fortgeschrittenen-Sessions. Im Fokus des Interesses schien TYPO3 CMS 7 und die Erstellung von Seiten mit Gridelements/Themes oder Lux zu stehen.

Neben den regulären Sessions gab es einen kompletten Track für die Core-Weiterentwicklung. Dieser eine Raum war für den TYPO3-Codesprint geblockt und die Teilnehmer hatten die Möglichkeit dem Core-Team einmal über die Schulter zu schauen, Fragen zu stellen oder sich auch gern zu beteiligen. Dieses Angebot gab es denke ich erstmalig auf einem TYPO3Camp.

Ich selbst habe aufgrund des Codesprints am ersten Tag neben der Einführung keine Session besucht. Die Sessions von Mathias Schreiber (TYPO3 CMS 7, Contribution TYPO3 CMS) und Torben Hansen (Migration von Templavoila zu GridElements) wurden von vielen als sehr gut hervorgehoben.

Abends hieß es für das gesamte Camp auf in die Strandbar. Nach einem langen Tag vorm Rechner oder in den Sessions - genau das richtige um zu entspannen und den Tag noch einmal Revue passieren zu lassen. Mit viel guter Laune kam es zu angeregten Diskussionen und man konnte den Wissensaustausch auch noch am Abend vertiefen.


Tag 2

Auch am zweiten Tag startete das Camp mit der üblichen Session-Planung. Es waren leider nicht mehr so viele Teilnehmer anwesend wie am Vortag, doch es kamen noch einige hochwertige Sessions zusammen.

Da das Core-Team auch nach dem Codesprint noch etwas weiter machen wollte - wurde der Raum F7 wiederum für das Core-Team geblockt. Ich habe mich wie viele andere Teilnehmer des Codesprints zu einem Mix aus Sessions und Entwicklung entschieden.

Form-Engine mit Christian Kuhn

Ich begann mit einer, wie von Christian Kuhn angekündigt, Hardcore-Techi-Session zur Form-Engine. Die Form-Engine, ehemals TCEForm, wurde von Christian Kuhn in den letzten Monaten komplett neu geschrieben, da ein Refactoring des stark veralteten Codes nicht mehr möglich war.

Bis vor kurzem hieß es, dass man an TCEForms nichts ändern kann. Der Code stammt zum Großteil noch vom TYPO3 Gründer Kaspar Skårhøj. Mit der TYPO3 Version 7.3 wurde diese Implementierung von Christian Kuhn abgelöst.

In seiner Session zeigte er anfangs die Vorgehensweise von TCEForm um die Backend Formulare von TYPO3 zu rendern. Es wurde einem schnell das Ausmaß für ein Refactoring oder Reengineering von TCEForms bewusst. Umso beeindruckender war die Präsentation der aktuellen Form-Engine. Die Form-Engine ist von der Struktur her einfach zu verstehen, man kann sich einfach eigene Felder registrieren oder bestehende erweitern. Es wurde viel Wert darauf gelegt das der Code sauber, verständlich und vor allem getestet ist. Die Form-Engine ist zu einem sehr hohen grad mit Unit-Tests abgedeckt.

Neben den ganzen technischen Einblicken in die neue Form-Engine war es sehr interessant zu erfahren das die aktuelle Konfiguration der Felder und Panels im TCA stark vereinfacht wurde. Man kann die alte Syntax in seinem Extensions noch nutzen doch ein Preprocessor migriert diese und vermerkt die Anpassung im Deprecation-Log.

Die Migration funktioniert jedoch nur wenn man sein TCA nicht mehr in der ext_tables.php registriert, sondern via Autoloader laden lässt. Es gibt jedoch eine Extension um die Kompatibilität zu gewährleisten. Eine Migration wird aus Performance-Sicht jedoch empfohlen.

Unit-Test mit Susanne Moog

Testing ist ein sehr wichtiger Teil der Arbeit eines Entwicklers. Doch Unit-Tests schreiben bzw. richtige Unit-Tests zu schreiben ist nicht so einfach. In der ihrer Session wollte Susanne uns nun einen Einblick in die Welt der Tests geben.

Die Session war sehr gut besucht und überraschender Weise nicht nur von Entwicklern. Ich war überrascht das auch Projekt-Manager oder Frontend-Entwickler sich für das Testen mit PHPUnit interessieren.

Susanne hat allgemein erklärt hat was beim Testen wichtig ist, warum man was testet und vor allem was man testen sollte. Denn eine 100 prozentige Unit-Test-Abdeckung ist nicht sehr sinnvoll.

Es ist nicht notwendig jede private oder protected Methode zu testen. Es geht darum die Applikation und das was sie tut zu testen und die wichtigen Dinge geschehen in den public Methoden. Die APIs müssen getestet werden, um garantieren zu können, dass die Applikation fehlerfrei läuft.

Doch Unit-Tests sind nicht alles. Anhand der Testing-Pyramide zeigte sie auf das man von Unit-Test nur am meisten haben sollte. Unit-Tests ersetzen keine Akzeptanz-, Integrations-, oder manuelle Tests.

Sehr interessant fand ich das die Teams in Ihrem Unternehmen regelmäßig TDD Katas durchführen. Ein Code Kata ist eine Übung in der Programmierung, die einem Entwickler hilft durch mehrfache Wiederholungen einer Übung seine Fähigkeiten zu verbessern.

Einige Mitarbeiter machen jeden Tag vor Beginn der Arbeit 30 Minuten Katas. Mit Hilfe dieser Übungen werden sie effizienter in Ihrem Job und beherrschen TDD und ihre IDE (Shortcuts).

Mich hat Susanne mit Ihrem Vortrag dazu inspiriert mich auch ein wenig mehr mit Unit-Testing und TDD zu beschäftigen.

Semantic Versioning von Mathias Schreiber

Mathias Schreiber hatte während der Session-Planung zu einer Diskussionsrunde zum Thema „Semantic Versioning“ aufgerufen.

Jeder kennt mehr oder weniger bei der Nutzung von Frameworks oder anderer Software die Problematik der „Dependency Hölle“. Durch „Semantic Versionen“ möchte man es dem Entwickler ein wenig leichter machen.

Eine Versionsnummer ist demnach immer wie folgt aufgebaut:

MAJOR.MINOR.PATCH

  1. Major (Hauptversion) werden erhöht, wenn inkompatible API Änderungen vorgenommen wurden
  2. Minor-Version werden erhöht, wenn Features in einer abwärtskompatiblen Weise hinzufügen werden
  3. Patch-Version werden erhöht, wenn rückwärts kompatible Bugfixes durchgeführt werden

Es standen Fragen im Raum wie wir unsere Dinge versionieren. Ob wir mit der Art und Weise der Versionierung bei TYPO3 einverstanden sind oder ob es andere Vorschläge gibt.

Die Diskussion war recht schnell beendet, da sich alle Beteiligten einig waren, dass das aktuelle Verfahren so vollkommen in Ordnung ist.

Abschluss-Session

In der Abschlusssession wurde traditionell der TYPO3 Wanderpokal verliehen.
Dieses Mal konnte Mathias Schreiber den Pokal nicht verteidigen, dafür konnte er den Pokal an Christian Kuhn übergeben.

Ich denke Christian hat den Pokal für den wunderbaren Vortrag und all seine unzähligen Stunden bei der Core-Weiterentwicklung verdient. Somit wird Christian den Pokal in München auf dem Camp verteidigen müssen.

Das nächste Camp in Hamburg steht noch nicht fest. Doch Volker meinte das es definitiv ein Camp im Norden geben wird. Somit steht vielleicht auch wieder ein Camp im Bremen auf dem Plan 2016.


1 Kommentar

Dateien hier ablegen
Dateien hochladen
  • Stefan Galinski

    Stefan Galinski

    am 12.08.2015

    Vielen Dank für den interessanten Artikel, Markus! Macht direkt Vorfreude auf das TYPO3Camp in München! Vielen Dank für den interessanten Artikel, Markus! Macht direkt Vorfreude auf das TYPO3Camp in München!

    Dateien hier ablegen
    Dateien hochladen