22 mrt

Presentatie bij TYPO3 Usergroup Cologne

TYPO3 User Group Cologne

In februari heb ik bij de TYPO3 User Group Cologne een voordracht gehouden over de TYPO3 Review box. Adrea Herzog nodigde me uit om iets meer te vertellen over hoe je op een eenvoudige manier kunt bijdragen aan TYPO3 door patches te reviewen.

Een TYPO3 User Group is een Groep gelijkgestemden die eens in de paar weken bij elkaar komen om ervaringen en ideeën uit te wisselen over TYPO3. In Nederland kennen we dat eigenlijk niet, wat ik wel jammer vind. Als iemand interesse heeft voor het opzetten van Nederlandse TYPO3 User Group, laat het me vooral weten!

In deze blogpost leg ik uit hoe ook jij op een eenvoudige manier kunt bijdragen aan TYPO3 door middel van het reviewen van patches. 

Hoe voer je een review van een TYPO3 patch uit?

Als een ontwikkelaar een feature of een fix schrijft, kun je deze uitproberen door een aantal stappen te doorlopen uit de TYPO3 Contribution Walkthrough. Om te beginnen is het handig dat je een account hebt op https://typo3.org. Als je dat hebt, kun je ook je oordeel vellen over de bewuste change. Iedereen kan reageren op een change request, maar alleen een zogenaamde active contributor kan de change mergen in TYPO3.

De contribution walkthrough is een erg technisch document. Je moet heel wat zaken regelen om een change te kunnen testen. Naast het account op typo3.org, moet je de volgende stappen doorlopen:

  • Git installeren
  • Eventueel een shell installeren als GitBash (als je Windows gebruikt)
  • De TYPO3 source klonen
  • Een TYPO3 installatie opzetten
  • De code in de change doorlezen
  • De magische cherry-pick link opzoeken
  • De cherry-pick link in je (Git) Shell plakken in de goede directory
  • Testen of de patch doet wat ie beweert te doen
  • Stemmen

Dit heeft nogal wat voeten in de aarde. Alleen al het opzetten van een lokale TYPO3 omgeving kan een behoorlijke uitdaging zijn. Zeker nu voor de ontwikkeling van TYPO3 8.x, PHP 7.0 vereist is. Voor het testen van patches op TYPO3 6.2 en 7.6 heb je nog PHP 5.5 en of 5.6 nodig (officieel zelfs PHP 5.3 - PHP Compatibility Chart).

TYPO3 Zandbak

Om het makkelijker te maken voor reviewers en ontwikkelaars, hebben we de TYPO3 Zandbak ontwikkeld. Dit is een virtuele machine die alles bevat om direct aan de slag te kunnen met het ontwikkelen voor TYPO3 of het reviewen van patches. Om met deze machine aan de slag te gaan zijn de enige vereisten: VirtualBox en Vagrant. Deze machine biedt een groot aantal voordelen waaronder:

  • Zero config domains: http://*.local.typo3.org verwijst naar een lokaal IP, geen gerommel met hosts files meer
  • Meerdere versies van TYPO3 volledig geïnstalleerd met werkende introduction package sites
  • Meerdere PHP versies: PHP 5.5, 5.6, 7.0 en zelfs hhvm
  • In verband met TYPO3 8.x is PHP 7.0 de standaard PHP versie
  • XHProf volledig operationeel
  • Wegwerp. Als je een zooitje van de machine maakt . . . gooi je hem gewoon weg

Het opstarten van de machine is heel eenvoudig:

git clone https://github.com/Tuurlijk/TYPO3.Review.git
cd TYPO3.Review
vagrant up

Desgewenst (als je geen git hebt) kun je ook de zipfile downloaden en uitpakken.

Chrome Review Helper Extensie

Zo heb je een omgeving draaien met meerdere TYPO3 sites, maar je zult nog steeds die cherry-pick magie moeten leren beheersen. Om ook dit probleem op te lossen is de Chrome Review Helper extensie ontwikkeld. Als je deze extensie installeert, krijg je in Gerrit (review.typo3.org) en forger (forger.typo3.org) extra knoppen te zien. Als je hierop klikt, krijg je een pop-up die het heel eenvoudig maakt om de bewuste change uit te rollen in de zandbak.

Hiermee is de technische drempel voor het uitvoeren van TYPO3 reviews aanzienlijk verlaagd. Zelfs je baas kan dit!

Feedback

Na de presentatie van de Review Box was er voor de User Group deelnemers de gelegenheid om de machine uit te proberen. Hier kwam heel veel nuttige feedback uit. Een stuk of tien deelnemers installeerden de machine op Windows en Ubuntu. Dankzij deze deelnemers en hun feedback is de documentatie van de machine een stuk verbeterd.

Andrea Herzog werkt met nog enkele anderen aan het vertalen van de handleiding naar een aantal talen. Ze hoopt dit voor TYPO3 camp Venlo gereed te hebben.

Wil je de machine zelf uitproberen? Download het project: https://github.com/Tuurlijk/TYPO3.Review

Ik sta altijd open voor feedback! Schroom dus niet om een mailtje te sturen naar michiel@maxserv.com met eventuele verbeterpunten/commentaar.

Geschreven door: