„Who said core development is only for programmers? Here is a CSS bug in Bartik with RTL languages…”
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.
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?
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.
A javítás menete a továbbiakban a következő.
Git-ben létrehozunk egy új ágat.
git checkout -b myfixbranch
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
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!
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!