This is an old revision of the document!
Sourcecode und Issue-Tracker
Wo finde ich den Sourcecode ?
Wir entwickeln Admidio mit Hilfe der Versionsverwaltung Git auf der Plattform GitHub. Der aktuelle Sourcecode befindet sich im sogenannten Master Branch und ist über folgenden Link zu finden:
https://github.com/Admidio/admidio
GitHub bietet außerdem einen Client für Mac und Windows an.
Bevor du mit der Entwicklung neuer Funktionen anfängst, solltest du Kontakt mit uns aufnehmen bzw. Issue-Tracker nutzen um dort die gewünschte Erweiterung zu beschreiben bzw. Ideen für neue Funktionen zu sammeln.
Hast du deine Idee als Issue formuliert und mit uns abgestimmt, dann findest du im Master Branch den Code der letzten stabilen Version und zusätzlich alle stabilen Erweiterungen, die seit dem letzten Release hinzugekommen sind. Falls du Admidio weiterentwickeln willst, empfehlen wir dir diesen Branch als Basis zu nehmen. Idealerweise erstellst du dann von diesem Branch in deinem GitHub Account einen Fork. Dort kannst du nun deine Erweiterung entwickeln und in den Fork commiten. Sobald deine Erweiterung fertig ist, kannst du einen Pull Request für unseren Master Branch erstellen. Diesen werden wir uns dann anschauen und besprechen um ihn dann im Idealfall zu übernehmen.
Kurz nachdem wir eine neue Hauptversion veröffentlicht haben, erstellen wir einen sogenannten Branch speziell zu dieser Version. Hier wird praktisch der aktuelle Entwicklungsstand passend zur veröffentlichten Version festgehalten. Auf diesem Entwicklungsstand können wir dann später Korrekturen einspielen unabhängig davon, was parallel im Master weiter entwickelt wurde. Der Branch ist bei uns immer passend zu einer Version. Am Namen des Branches kann man erkennen, welche Version hinter welchem Branch steckt. Beispiel für Admidio 2.4 ist der Branchname v2.4 den du unter folgender URL erreichst:
https://github.com/Admidio/admidio/tree/v2.4
GitHub Schreibrechte
Wenn ihr neu bei Admidio seit, dann solltet ihr, wie oben beschrieben, erst einmal einen Fork erstellen und neue Funktionen oder Korrekturen dort vornehmen. Diese können wir dann über einen Pull Request übernehmen. Habt ihr bereits über diese Methode Code beigetragen und entspricht dieser unseren Programmierrichtlinien, dann spricht normalerweise nichts dagegen euch auch Schreibrechte für das Admidio-Projekt in GitHub zu geben.
Neues Feature entwickeln
Möchtest du eine neue Funktion für Admidio entwickeln oder eine bestehende Funktion erweitern, dann wäre es schön, wenn du folgende Schritte durchführst.
- Beschreibe auf unserer GitHub-Projektseite deine geplante Erweiterung. Dazu erfasst du einen neuen Issue und gibst diesem das Label Enhancement. Über diesen Issue und die dort beschriebene Funktion haben andere Teammitglieder oder Interessierte die Möglichkeit deine gewünschte Änderung kennenlernen und ggf. Anmerkungen dazu zu schreiben.
- Möchtest du nun die Funktion codieren, dann wechsel zum master Branch und erzeuge einen neuen Branch. Dieser bekommt als Namen das Präfix feature- und einen kurzen Funktionsnamen z.B. feature-bootstrap3-integration oder feature-improved-registration Dieser soll dann zukünftig nur deine Änderungen enthalten. Hast du noch keine Schreibrecht im Admidio-Repository dann kannst du die Funktion auch in deinem Fork entwickeln.
- Nun kannst du deine Änderungen in diesem Branch (Fork) entwickeln und committen, bis diese aus deiner Sicht fertig ist. Beim Einchecken (commit) sollte ein beschreibeneder Satz vorzugsweise in Englisch angegeben werden, der außerdem einen Verweis zum betreffenden Issue hat z.B. #4711 Add new button to registration formular
- Erstelle nun aus deinem Branch (Fork) einen Pull-Request. Diesen kann nun ein anderer Entwickler prüfen und mergen.
Wie und wo behebe ich einen Fehler ?
Wird ein Fehler in der aktuellen veröffentlichten Version gefunden, so sollte im ersten Schritt ein Issue erfasst werden. Im nächsten Schritt müsst ihr schauen, in welchem Versionsbranch z.B. v2.4 der Fehler enthalten ist und ob der Fehler auch im aktuellen Master Branch behoben werden muss. Im Idealfall korrigiert ihr den Fehler zuerst im Versionbranch testet ihn dort und merged in dann in den Master.
Ein einfaches kopieren der Datei vom Versionsbranch in den Master oder andersherum eignet sich in den meisten Fällen nicht, da im Master die Entwicklung schon weitergelaufen sein könnte und die Datei dann nicht mehr zum Sourcecode des Branchs passen würde.
Habt ihr noch keine Schreibrechte im Admidio-Projekt auf GitHub, so könnt ihr das Repository erst einmal forken und dort die Korrektur vornehmen. Anschließend kann die Korrektur dann über einen Pull Request in den offiziellen Code übernommen werden.