jah-tz.de Joomla als Hobby

Fixen eines Bugs in Joomla (Benutzen der Github UI)

Inhaltsverzeichnis:
1. Einleitung
2. Can you submit a pull request?
3. Bei Github Anmelden
4. Patch erstellen
5. Patch verbessern
6. Patch posten
7. Änderungen auf joomla-bugs.de posten
8. Fazit

 

Einleitung
Erstellen einer Github PR (pull request) mit der Github UI. Das ist im Grunde nichts Schwieriges das Problem für einige ist nur die englische Oberfläche. Leider gibt es meines Wissens nach keine deutsche deshalb möchte ich hier ein einem kleinen Beispiel erklären wie man so etwas macht. Zuerst müssen wir einen Bug/Fehler finden und eine Lösung konzipieren. Am einfachsten geht das in den Sprachdateien also wie man z.B. etwas besser beschreiben kann oder sich etwas verändert hat. In meinem Beispiel wurde eine Option bzw. ein Button entfernt (Cache leeren / Pruge Cache) in der dazugehörigen Meldung stand der Button aber noch drin.


Abb.1


Can you submit a pull request?
Nun wir haben einen Bug bzw. einen Eintrag im Bug Tracker (joomlacode.org oder z.B. auch joomla-bugs.de) gefunden/erstellt. Wo eine Lösung existiert oder wir eine mögliche Lösung parat haben.


Abb.2

Ziemlich schnell kam die Antwort das es die (nicht mehr gefundene) Funktion „Pruge Cache“ auch nicht mehr gibt bzw. das sie um gebaut wurde. Nun werde ich aufgefordert einen pull request zu schreiben (Can you submit a pull request?) Wie so etwas geht versuche ich nun im Folgenden zu beschreiben.

 

Bei Github Anmelden
Zuerst rufen wir die Webseite http://www.github.com auf. Dort ist aktuell das Joomla! Projekt bzw. der Code des Joomla CMS hinterlegt.


Abb.3

Auf der Webseiten von Github müssen wir uns nun anmelden oder registrieren (ich gehe davon aus das ein Github Account vorhanden ist sonst einfach die drei Felder ausfüllen und sich bei Github registrieren)


Abb.4

In diesem Formular werden nun Benutzername und Passwort angegeben.

 

Patch erstellen


Abb.5

Nun sind wir bei Github angemeldet und öffnen das Repository des Joomla CMS’s.
Sollte man dieses Repository noch nicht, wie oben, angezeigt bekommen kann man es auch direkt via http://www.github.com/joomla/joomla-cms aufrufen.


Abb.6

Dies ist das Repository des Joomla CMS. Dort können wir im aktuellen Joomla Code stöbern. Um nun eine Änderung vorzuschlagen, denn nichts anderes ist eine Pull Request (PR), müssen wir zuerst in den entsprechenden Ordner bzw. die entsprechende Datei navigieren.
In unserem Fall ist das die Datei: „/administrator/language/en-GB/en-GB.con_installer.ini“.


Abb.7

Nun sind wir in unserer Datei doch derzeit können wir die noch nicht bearbeiten dazu müssen wir noch auf „Edit“ klicken.
Der Tooltip erklärt auch was denn passiert. Das Projekt wird gefrokt d.h. es wird eine Kopie des aktuellen Codes angelegt da wir keine Schreibberechtigung in diesem Repository haben.


Abb.8

Nun haben wir Schreibberechtigung und können Änderungen an der Datei vorschlagen. Sollten wir schon einen Eintrag im Joomla Issue Tracker haben tragen wir diesen noch als Beschreibung ein.


Abb.9

Nun haben wir unseren Vorschlag zusammen oben des markierte „patch-20“ ist die Nummer die dieses Patch bei mir hat. Diese Nummer ist auch wichtig da wir eine kleine Sache an unserem Patch noch ändern müssen. Aber zuerst erstellen wir nun unsere PR mit einem kurzen Klick auf den markierten Button.


Abb.10

Nun haben wir unsere PR fast fertig hier vergeben wir dann noch einen sinnvollen Namen, am besten den Tracker-Titel, und können noch einmal die Beschreibung anpassen, falls noch nicht geschehen. Anschließend erstellen wir unsere Pull Request mit dem Button „send pull request“.


Abb.11

Jetzt haben wir unsere PR wichtig ist noch der Link (unten) diesen brauchen wir noch. Aber zuerst müssen wir noch eine kleine Sache fixen. Dafür gehen wir wie folgt vor.

 

Patch verbessern


Abb.12

Wir rufen http://www.github.com/"github-username"/joomla-cms/branches auf. Dann gelangen wir zum obigen Bild und klicken auf unser Patch (patch-20).


Abb.13

Dann navigieren wir wieder in die Datei von eben oder in eine andere. Und nehmen die restlichen Änderungen vor. Dabei tragen wir auch nochmal die Beschreibung (den Trackerlink) ein und klicken auf „Commit Changes“. Da wir nun in unserer eigenen Kopie gearbeitet haben wurde dieses Projekt auch nicht neu gefrokt sondern wie haben es in unserem Code (Patch) geändert.  Nun haben wir wieder unseren Patch bzw. dessen Zusammenfassung. Dort können wir uns unter „Commits“ angucken welche Dateien geändert worden sind unter „Files Changed“ können wir uns jede einzelne Änderung an den jeweiligen Dateien in einer Grafischen Ansicht anzeigen lassen. Um unser Patch aber nun zu posten brauchen, wir wie schon erwähnt, den Link zu unserem Patch (siehe markiertem URL).

 

Patch posten.


Abb.14

Nun können wir das Patch bzw. unseren Änderungsvorschlag zum Tracker hinzufügen. Dabei wird meistens die Seite/URL von gerade eben angegeben und die diff Datei. Diese muss nicht extra erstellt werden diese wird von Github selber generiert dazu muss man einfach nur „.diff“ an den URL anhängen. Möglich ist auch die Endung „.patch“ gebräuchlicher ist aber „.diff“

 

Änderungen auf joomla-bugs.de posten.


Abb.15

Da dieser Fehler ein in den Sprachdateien ist kommt dieser Fehler auch in der deutschen Sprachdatei vor (siehe 1. Bild). Damit auch solche Sachen behoben werden können tragen wir das noch kurz auf joomla-bugs.de ein. Dazu melden wir uns bei joomla-bugs.de an und wählen das markierte Formular.


Abb.16


Abb.17

Dieses Formular füllen wir dann wie oben gezeigt aus. Dabei sind die Felder eigentlich selbsterklärend.


Abb.18

Im JIT hatte Brian Teenman auch noch den Tracker-Eintrag gefunden in welcher unsere Option verändert wurde. Diese können wir dann auch noch an unseren Eintrag anhängen.

Fazit
Nun sind wir auch schon fertig. Es sollte nun klar sein wie man einen einfache pull request erstellen und bearbeiten kann. Dabei sei auch gesagt sein das es auch noch andere Möglichkeiten gibt PRs zu erstellen aber ich finde das diese die einfachste ist womit man auch mit wenigen Vorkenntnissen und vergleichsweise geringen Aufwand schon etwas bewegen kann.

Version 1.0.0

Aktuelle Version
Joomla! 3.9.20