Bringen Sie Ihren Code in das Projekt ein

Vielen Dank für die Unterstützung: 

Sie können bereits jetzt dieses Kapitel sponsern!

Pull Request

Irgendjemand muss den Code für Joomla! schreiben, aber wir bringt man ihn in das Projekt ein?

Zunächst mal - Der gesamte Code des  CMS und der Platform liegt hier https://github.com/joomla

Das Joomla! Project betreibt eine Website für Entwickler die in erster Linie dazu dient, allen Entwicklern, die daran interessiert sind, das Joomla! System zu erweitern und zu verbessern, Informationen über Road Maps und verfügbare Ressourcen anzubieten - http://developer.joomla.org/.

Nachdem ich mich auf der Seite umgeschaut habe, ist mir klar geworden, dass ein Anfänger wie Sie (und ich auch) schlicht verloren ist  :)

Was habe ich herausgefunden?

Es war für mich schwer, herauszufinden, wie man denn nun seinen Code in das Projekt bringt und es scheint mir, dass es keinen klar definierten Weg dafür gibt. Falls es einen Weg gibt, habe ich ihn nicht gefunden :( Ich fragte viele Bekannte und erhielt unterschiedliche Antworten. Daher entschied ich mich für diesen Kapitel, einfach meine Erfahrungen zu dokumentieren. Zuerst wollte ich die Strukturen des Joomla! Projektes verstehen. Also los!

Wenn Sie diese Kapitel lesen, ist vielelicht schon alles anders :). Ich schrieb es vom 13.-16. Dezember 2011.

Joomla Leadership

Das Wort Leadership ist auf Deutsch noch am Besten mit Führung zu überstzen.

Der Begriff Führung hat die neuhochdeutsche Bedeutung von „leiten“, „die Richtung bestimmen“ oder „in Bewegung setzen“ und kommt in zahlreichen Wissenschaften vor. In den Sozialwissenschaften bezeichnet dieser Begriff planende, koordinierende und kontrollierende Tätigkeiten in Gruppen und Organisationen (engl. leadership). Wikipedia

Das Joomla Leadership Team setzt sich zusammen aus den Leitern der Joomla Production und der Joomla Community Workgroups. Wenn es um das Hinzufügen von Code geht, müssen wir einen näheren Blick auf die Production Workgroup werfen.

Production Working Group

Quelle: http://www.joomla.org/about-joomla/the-project/project-teams.html

  • Aufgabe:
    Erstellt Software, die frei, sicher und von hoher Qualität ist -
    Create software that is free, secure and of high-quality. Das umfasst alles, was in das finale Produkt geht, also nicht nicht Code, sondern auch Dokumentation, Internationalisierung und Loakisierungsbemühungen jeder Art.
  • Leiter: Chris Davenport, Christophe Demko,  Mark Dexter, Andrew Eddie, Louis Landry, Ian MacLennan, Sam Moffatt, Omar Ramos, Ron Severdia, Jean-Marie Simonet, Andrea Tarr
  • Verantwortlichkeit: Core code development, patches, Joomla Labs, Joomla Bug Squad, localization, internationalization, Joomla Documentation, security, Google Summer of Code
  • Öffentliche Diskussionsliste: Group: http://groups.google.com/group/joomla-wg...

Productions Leadership Team (PLT)

Das PLT ist ein Teil der Production Working Group. Mitglieder sind 

  • Christophe Demko
  • Mark Dexter
  • Sam Moffat
  • Omar Ramos
  • Ron Serverdia
  • Andrea Tarr

(http://www.joomla.org/about-joomla/the-project/leadership-team.html)

Das PLT selbst besteht aus dem Development Team und dem Bug Squad Team.

Ich versuchte herauszufinden wer, welche Aufgaben hat und wie die Abläufe organisiert sind.

Ich habe mal angefangen ein Diagramm zu erstellen. Es ist sicherlich nicht 100 % richtig, aber schon ein guter Anfang (Abbildung 1).

cocoate.com/node/9581

Abbildung 1: 1. Versuch einer Struktur

Einen sehr guten Überblick über die Situation bietet das Video einer Session von Louis Landry, anlässlich des Joomla! Tages in Süd Afrika im  August 2011. Sehen Sie es sich an!

Development Team

Dieses Team wird manchmal auch Core Committers genannt. Einige der Mitglieder sind auch im Core Team, der Begriff Core Comitter bezeichnet Mitglieder mit vollen Zugriff auf das zentrale Joomla! Code Verzeichnis.

The Development Work Group aims at the development of a cutting edge, state of the art Web Content Management application framework. This workgroup is the driving force behind new versions, and building it. Along with the other working groups we try to realize this ambition (http://docs.joomla.org/Development_Team).

Bug Squad Team

Die Aufgabe des Bug Squad Teams ist es Fehler in Joomla! zu idenfizieren und zu beheben

Ich habe ein Webinar, aufgenommen von Mark Dexter (Leiter der Bug Squad Group) im Juni 2009 gefunden. Es ist schon ein wenig älter in Bezug auf die Joomla! Version aber ich finde, es zeigt ganz gut die Idee des Joomla! Bug Squads. Für mich war ein ein wenig kompliziert anzusehen, da es in einem eingenartigen Format war und ich noch zusätzliche Software downloaden musste um es überhaupt ansehen zu können. Daher habe ich beschlossen es zu konvertieren auf auf Vimeo zu stellen. Die originale Aufnahme finden Sie unter http://docs.joomla.org/Webinar:_Overview_of_Tracker_Process.

Code beisteuern in technischer Hinsicht

Joomla! wird auf GitHub gespeichert. Sie können das Repository forken, sich den Code ansehen, etwas ändern und einen sogenannten Pull Request anstossen.

Sie können alle offenen Pull Requests auf https://github.com/joomla/joomla-cms/pulls sehen. Jemand muss sich diese Requests ansehen in das zentrale Verzeichnis einbringen. Sie können sogar die Änderungen sehen, die in diesen Pull Requests vorgenommen worden sind.

Beispiel: okonomiyaki3000 wants someone to merge 3 commits into joomla:master from okonomiyaki3000:master (Abbildung 2)

okonomiyaki3000 wants someone to merge 3 commits into joomla:master from okonomiyaki3000:master 
cocoate.com/node/9581

Abbildung 2: Ansicht der Unterschiede eines Pull Requests auf GitHub

Das bedeutet, dass wirklich jeder, der daran interessiert ist an eine öffentlichen Diskussion teilnehmen kann. Es existiert eine App, die alle offenen Pull Requests gegen das Joomla! CMS und die Platform automatisch testet. Danach muss dann ein Mitglied der oben beschriebenen Infrastruktur über die Aufnahme entscheiden - durch einen Klick auf den Merge Button! 

NOCH NIEMALS WAR ES SO EINFACH CODE IN DAS PROJEKT EINZUBRINGEN! VERSUCHEN SIE ES!

Eine gute Beschreibung, wie Sie Pull Requests erstellen, finden Sie hier: http://docs.joomla.org/Working_with_git_and_github/My_first_pull_request.

Neue Features vorschlagen

Es ist natürlich notwendig über neue Features zu diskutieren. Das beste Weg dafür ist die Mailing Liste. Alle Posts sind öffentlich und als Beispiel hier ein Vorschlag für ein neues Feature. Sie können die Nachricht und die anschlessende Diskussion selbst lesen (A notification center for Joomla!) (Abbildung 3) und Sie sich natürlich auch selbst dafür engagieren und das alles mal ausprobieren (https://github.com/juliopontes/joomla-notification-center).

cocoate.com/node/9581

Abbildung 3: Vorschlag für ein neues Feature in Joomla!

Bitte schreiben Sie einen Kommentar, wenn Sie weitere Links finden, mehr wissen oder Ideen haben - Ich suche immer noch ...

Quellen: