Wicked Software - Roundabout

Ausgefallen gut ins Netz!

Hinter dem Namen Wicked Software stehen ausgefallen gute und begeisterte Entwickler, für die Software wesentlich mehr ist als funktionierender Code. Wicked Software hat sich auf Joomla! spezialisiert und bietet moderne und flexible Erweiterungen.

Wir schreiben in unseren Blog mit und über Joomla!, unsere Software, Tricks & Tipps und alles was uns in den Sinn kommt und uns nützlich erscheint.

Für Joomla-Lover und Nicht-Entwickler

Diesmal wende ich mich direkt an Anwender. Ich erinnere mich noch sehr gut an die Zeit, als ich noch nicht wusste dass und wie ich mich an Joomla! beteiligen konnte, mir die Fachbegriffe nur so um die Ohren flogen und ich Hemmungen hatte, mich einfach ins Geschehen einzubringen. Völlig unbegründet, denn jede helfende Hand ist willkommen.

Bug oder Feature?

Du hast in Joomla! was gefunden, was nicht stimmt? Oder wo du nicht sicher bist ob das so gedacht ist? Da ist die Frage – ist es ein Fehler (Bug) oder ein beabsichtigtes Verhalten (Feature) oder einfach ein Mißverständnis?
Das erste ist natürlich, nachzufragen, ob die eigene Beobachtung stimmt. Dafür gibt es Facebook-Gruppen und Foren. Mißverständnisse werden da mit der Hilfe anderer Anwender meist schnell aufgeklärt. Wenn nicht, dann ist es Zeit für eine Meldung.

Nicht Meckern - Melden!

Ein Issue – das ist ein Problem, etwas, was einen stört, eine Ungereimtheit, ein Bug. Der erste Schritt ist natürlich eine detaillierte Beschreibung des Problems, wie immer eigentlich. Du brauchst einen aussagekräftigen Namen und eine komplette Beschreibung. Überlege: Was habe ich gemacht? Klick für Klick. Was habe ich als Ergebnis erwartet? Was ist stattdessen herausgekommen - zeig es mit Screenshots! Ist es reproduzierbar? In welcher Joomla! Version, auf welchem Gerät? Auf welchem Betriebssystem?

Bitte beachte: Wenn du eine Meldung zu einem Sicherheitsproblem hast wende dich direkt an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!, poste es nicht öffentlich.

Deutsche Bug-Melde Seite

Nicht jeder mag sich jetzt gleich ins englischsprachige Getümmel stürzen. Dann ist der erste Schritt ein Joomla! Forum wo auch Entwickler und Profis mitlesen oder die deutsche Bug-Melde Seite. Hier nehmen dir ein paar kompetente Freiwillige die Arbeit ab. Du brauchst dann nichts selbst melden. Aber verfolge doch was mit der Meldung passiert!

Du willst lieber selbst melden? Im issue tracker kann beziehungsweise muss sich jeder anmelden, der eine Meldung selbst verfassen will. Er hat einen umfangreichen Filter mit dem du nach ähnlichen Problemen suchen kannst, vielleicht ist ja das Problem schon gemeldet oder behoben. Wenn du was übersiehst – macht nichts. Es sind Leute im Hintergrund, die Doppelmeldungen erkennen und abfangen.

Der Issue Tracker: Filter
Melden im Issue Tracker

Beherzt auf den New-Button drücken. Der Eingabebildschirm schaut beim ersten Mal etwas schwierig aus, denn das Frageschema ist vorformuliert. Man kann sich daran halten wenn es zum eigenen Problem passt, es steckt ja viel Erfahrung darin. Je besser die Beschreibung, um so einfacher ist es für die Entwickler. Aber auch wenn man mit dem Schema nichts anfangen kann und das Problem in eigenen Worten beschreiben will ist es ok - die Entwickler fragen nach, wenn sie mehr Information brauchen.

Auf der rechten Seite gibts du an, in welcher Version du das Problem gefunden hast und kannst Kategorien auswählen. Wenn du hier nicht Bescheid weisst was du wählen sollst, macht auch nichts. Das übernimmt jemand vom Team für dich.

Mit dem Eingang der Meldung läuft ein komplexer automatisierter Prozess an. Als Erstes bekommt die Meldung eine ID – und behält sie für alle Zeiten.

Nun kommt die Joomla Bug Squad ins Spiel. Es sind Joomla! Entwickler und Anwender, die sich um die Behebung von Fehlern kümmern. Jede Meldung hat zunächst den Status "neu" und wird geprüft. Wenn die Meldung in anderer Form schon bekannt ist kommt ein Verweis zur früheren Meldung dazu und der Fall ist abgeschlossen (closed). Kann sein, dass es etwas ist was erst mal diskutiert werden muss, zum Beispiel ein Wunsch nach einer Änderung. Mit Argusaugen wird ja darüber gewacht dass Änderungen keine unerwünschten Seiteneffekte haben. Es kann auch sein dass mehr Information benötigt wird. Status ist dann "discussion" oder "Information needed".

Nun werden Kategorien vergeben falls du das noch nicht oder nicht vollständig gemacht hast. Das hilft allen, auf den ersten Blick zu sehen welche Teile des Codes eventuell betroffen sind. Es wird festgelegt, für welche Version die Korrektur vorgesehen ist. Das alles ist Aufgabe der Bug Squad. Du kannst dich jetzt entspannt zurück lehnen und abwarten - du wirst per E-mail informiert wenn sich an deiner Meldung etwas tut. Oder du bist Entwickler? Und kannst den Fehler beheben? Dann los!

Issue Tracker

Korrektur - Pull Request

Dein Problem liegt im Issue Tracker und hat eine ID und den Status "New". Irgendwann wird nun ein Entwickler dein Problem anpacken es beheben "fixen". Dies geschieht nach einem festen Muster und manchmal mit vielen Zwischenschritten.

Der Entwickler, der den Fehler behoben hat reicht dann die Korrektur ein, denn natürlich kann niemand einfach direkt etwas an Joomla! ändern. Dabei schreibt er auch eine Testanweisung - denn Änderungen werden erst nach zwei erfolgreichen Tests weiter bearbeitet. "Pull Request (PR)" nennt sich so ein Änderungswunsch. Der neue Status der Meldung ist jetzt "wartend (pending)". Dieser Status kann sich längere Zeit hinziehen. Das ist die Phase, in der getestet werden kann und muss.

Was dann passieren könnte: ein anderer Entwickler stellt einen Seiteneffekt fest oder findet den eingereichten Code nicht optimal. In dem Fall wird er eventuell Widerspruch einlegen oder einen anderen Lösungsweg einreichen. So kann es passieren, dass mehrere Testdurchgänge notwendig werden - du wirst immer davon informiert.

Bei jedem Pull Request laufen auch automatische Tests ab. So ist sicher gestellt, dass der gelieferte Code formal dem Joomla! Standard entspricht. Darauf achten auch Mitglieder der Bug Squad, aber darum braucht sich ein Anwender nicht kümmern.

Werde Patchtester!

Der Status der Fehlermeldung ist also "pending" und ich finde, es ist die moralische Pflicht des Anwenders, die Korrektur nun auf seiner Installation (oder einer Kopie) zu testen.

JEDER kann testen! Es ist keinerlei Programmierkenntnis nötig. Die Ausrede "kenne mich damit nicht aus" gilt nicht, denn es gibt die Komponente "Patchtester".

Komponente Patchtester herunterladen

Der Patchtester ist hier erhältlich. Nimm hier eines der Formate, die zu deinem System passen. Ich nehme den hier com_patchtester.zip und installiere sie wie jede andere Erweiterung im Backend -> Erweiterungen -> Verwalten. Die Dokumentation zum Patchtester findet sich hier.

Erster Schritt: Daten aus dem Issue-tracker abrufen. Im issue tracker kann sich jede Minute etwas ändern. Wer etwas Neues testen will ruft daher zuerst die neuesten Daten ab. Das kann ein paar Sekunden / Minuten dauern.

Aktuelle Daten aus dem Issue Tracker holen
Patches

Danach sind alle neuen Patches verfügbar. Du hast dir ja die ID und / oder den Titel deiner Meldung gemerkt? Such den Patch und klick auf "anwenden". Die Patchtester-Komponente installiert dir nun den Patch – und merkt sich gleichzeitig, wie es vorher war. Das heisst, du kannst den patch jederzeit zurücknehmen.

Wenn ein Test durchzuführen ist schreibt der Entwickler gewöhnlich eine Anleitung dafür. Diese Anleitung kann man buchstabengetreu befolgen - aber muss nicht. Bei deiner eigenen Meldung stellst du einfach dein Problem nach. Aber es wär doch interessant, auch mal andere Patches zu testen? Dann benötigst du die Testanleitung um zu wissen, was zu tun ist. Falls die Testanleitung zu dürftig ist - man kann auch einen Kommentar dazu schreiben und um mehr Informationen bitten.

Testergebnis eintragen

Egal ob das Ergebnis ok ist oder nicht: Du musst das Ergebnis im Issue Tracker mitteilen. Die korrekte Methode geht so: Geh auf den Issue Tracker und dort auf deine Meldung. Klick links oben auf den Button "Testen" und du erhältst ein Formular, auf dem du das Testergebnis markierst. "Erfolgreich getestet" falls erfogreich. Ein Kommentar ist da nicht unbedingt erforderlich. Wenn der Test nicht erfolgreich war ist es aber sinnvoll, im Kommentar zu beschreiben was nicht geklappt hat.

Damit es in der Bug Chain weiter geht sind zwei erfolgreiche Tests nötig. Hier entsteht manchmal ein Stau - es findet sich keine Tester für den zweiten Test - dann ist ein Bekannter nützlich, der den Test durchführt - oder mal einfach eine Anfrage auf dem Joomla.de Forum .. "Hey Leute - ich brauche hier einen Test"! Auch das ist Community.

RTC - Merged!

Zwei erfolgreiche Tests - es ist geschafft! Fast - denn noch steht die Lösung nur als Einreichung in der Warteschlange. Im Bug Squad Team wird nun entschieden, was geschieht. Im einfachen Fall, einem behobenen Fehler, wird der Issue schnell das Label "RTC" erhalten: Ready to Commit, auf Deutsch: Fertig zum Anwenden. Die letzte Station ist "Merged" und damit ist die Korrektur richtig im Code von Joomla eingebaut und wird bei der Freigabe der Version mit ausgeliefert.

Glückwunsch! Du hast dich damit an der Entwicklung und Verbesserung von Joomla beteiligt!

Anwender Testen Issue Bug
Autor: Christiane Maier-Stadtherr
Christiane Maier-Stadtherr

Ich bin zugewanderte Münchnerin, Mutter, CBF-München-Vorstand, Joomla!-Buchautorin, Extension-Entwickler für Joomla!, Expertin im Thema Barrierefreiheit, auch im Joomla Accessibility Team (JAT). Ich moderiere und supporte auf forum.joomla.de und bin immer begeistert im Umfeld der Joomla!Community unterwegs, vor allem natürlich in der JUG München und auf JoomlaDays.