Szállj be a Drupal 8 fejlesztésébe! Könnyebb mint hinnéd!

2013 áprilisában Hojtsy Gábor az iránt érdeklődött a Twitteren, vajon ki állította, hogy a Drupal alaprendszer fejlesztése csak programozóknak való. Tényleg! Ki? S ha nem csak nekik, akkor kinek?

„Who said core developement is only for programmers? here is a CSS bug in Bartik with RTL languages…”

Eric Duran listája…

Nos, azoknak is, akik – hozám hasonlóan – a HTML / (S)CSS világában érzik otthonosan magukat és egyszerűbb jQuery, PHP snippeteknél még nem merészkedtek „messzebbre”. (Sőt, ennyi sem feltétlen kell. Majd meglátod.)

Ma már én is egyike vagyok annak a jelenleg 1849 főt számláló társaságnak, akiknek a kódja a Drupal 8 része lett. És őszintén szólva ez igen jó érzés! Szeretnék segíteni, hogy – ha eddig még nem volt rá módod – Te is megismerd.

Nem minden kezdet nehéz

A twitter üzenet egy CSS hibajegyre mutatott („issue”). Mivel úgy éreztem, hogy meg tudom oldani, magamra szignáltam. (A drupal.org-on bárki, aki regisztrált felhasználó, magára szignálhat hibajegyet. Másra nem.) Ezzel jeleztem, hogy van gazdája a feladatnak és várható a megoldás. Nem is volt más hátra csak javítani a hibát. No igen, de hol?

A Drupal alaprendszer aktuális verziójának beszerzése

Hol, hol? Természetesen a saját gépemen. Ehhez le kellett tölteni a Drupal aktuális fejlesztői verzióját, mégpedig a verziókezelő rendszerből. A szükséges kód az alábbi:

$ git clone --branch 8.x http://git.drupal.org/project/drupal.git

Szerencsére ezt nem kell megtanulni, az információ az alaprendszer projekt oldalán megtalálható a „Version control” fül alatt. (Egyébként ez minden Drupal modul és smink esetében így van.)

core-git-clone

Ha a fent írt rövid kód semmit nem jelent (még) Neked, akkor a Git-nek nézz utána. Ezt a verziókezelőt használják a Drupal fejlesztők a kódváltozások követésére és néhány egyszerű utasítás elsajátítása már bőven elegendő az átlagos mindennapi használatához.

Foltozzunk!

A javítás menete a továbbiakban a következő.

  1. Git-ben létrehozunk egy új ágat.
    $ git checkout -b myfixbranch
  2. Elvégezzük a szükséges kód módosításokat. (Az én esetben meg kellett keresni az érintett CSS filet és kiegészíteni néhány sorral.) Munka közben érdemes figyelni a „coding standards” követésére. (CSS-hez is van!)
  3. Az állapotváltozást rögzítjük Git-ben, és létrehozunk egy ún. foltot („patch”), mivel közvetlenül nem küldhetünk be a szerverre változtatást.Lássuk milyen fájlokat módosítottunk:
    $ git status    

    Nézzük meg konkrétan mi változott:

    $ git diff    

    Adjuk hozzá a változásokat:

    $ git add .    

    Majd rögzítsük is a változást:

    $ git commit -m "Commit message"    

    Végül készítsük el a foltot:

    $ git diff 8.x > [project_name]-[short-description]-[issue-number]-[comment-number].patch
  4. A foltunkat feltöltjük az eredeti hibajegyhez csatolmányként és az állapotot „Needs Review”-ra állítjuk. Ez annyit tesz, hogy “Javítottam, valaki nézze meg legyen szíves, hogy rendben van-e a kód, amit beküldtem.”issue-ptch

Gratulálok!

Ha idáig eljutottál, már csak várnod kell. Előbb-utóbb valaki (vagy valakik) ellenőrzik a beküldött kódodat. Ha esetleg módosítani való akad, akkor azt jelzik (előfordulhat pl. hogy mire a foltot ellenőrzik, addigra megváltozik valami kapcsolódó dolog az alaprendszerben). Ilyenkor újabb foltot kell készítened.

Viszont ha minden rendben, akkor a hibajegyet „RTBC” állapotba teszi az ellenőrző személy („Reviewed and Tested By the Community” – Átnézte és tesztelte a közösség).

Végül pedig az alaprendszer kezelésére feljogosított fejlesztők (a „core maintainer”-ek) egyike a foltoddal módosítja az alaprendszert. És innentől Te is a Drupal fejlesztői közé tartozol! Isten hozott a csapatban! Gratulálok! :)

Hogyan tovább?

Rendben, de mi lesz, ha nem küldenek tweet-et arról, mit kellene megoldani? Semmi különös. Az alaprendszer hibajegy sorából („issue queue”) bátran szemezgethetsz! A testreszabott feladat kiválasztását segítik a hibajegyek címkéi, amikre szűrni lehet. (Pl. itt vannak a front-end issue-k.) Sőt pl. a Hojtsy Gábor által vezetett „Multilingual Iniative” – a többnyelvűség továbbfejlesztését segítő kezdeményezés, külön honlapot is üzemeltet.

De persze Te magad is kereshetsz javítani valót, ha a letöltött alaprendszert használatba veszed, teszteled, próbálod, mit, hogyan lehet megoldani vele.

Ha pedig rákaptál az ízére, vegyél részt a kódsprinteken! Például március végén, Szegeden, a Drupal DevDays rendezvényen, ahol nemzetközi csapattal dolgozhatsz együtt!

Megosztó személyiség vagy?

2 thoughts on “Szállj be a Drupal 8 fejlesztésébe! Könnyebb mint hinnéd!

  1. git diff 8.x > [project_name]-[short-description]-[issue-number]-[comment-number].patch
    ez konkrétan mi lesz példánál maradva?

  2. @aboros, itt egy részletesebb magyarázat a folt elnevezésével kapcsolatos elvárásokról: https://drupal.org/node/1054616

    Nálam az első patch konkrétan így jött létre :
    git diff 8.x > fix-broken-layout-rtl-1979392-0.patch

    Ami két ponton eltér a mintától:
    – nincs projekt név (mert ez a core, így nem éreztem feltétlen szükségesnek)
    – a patch a harmadik hozzászólásba került, így „3”-nak kellene szerepelnie a végén nulla helyett.

    De ezek nem olyan dolgok, amik végzetesek lennének… :)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.