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

2014. Feb. 4. · 3 min read
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 development is only for programmers? Here is a CSS bug in Bartik with RTL languages…”

Eric Duran listája…

Nos, azoknak is, akik – hozzá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 (szakzsargonban: „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 https://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.)

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.”

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!