Az alaprendszer és kiegészítői

Amikor egy Drupal alapú webhelyet alakítunk ki, több részből állítjuk össze a kész megoldást. Biztosan szükségünk lesz az alaprendszerre, az igényeinknek megfelelő kiegészítőkre, valamint egy általunk választott megjelenésre (amit magyarul sminknek nevezünk). Ezeket magunk is összeválogathatjuk, vagy választhatjuk a közösség által már összeállított csomagok egyikét kiindulásképpen.

Az alaprendszer és a kiegészítők

A Drupal fejlesztők egy központi szolgáltatás csomagot használnak a fejlesztések koordinálására, mely segít a változások követésében, a hibák megvitatásában és javításában. Itt két fő területen találhatóak a Drupal rendszerhez kapcsolódó állományok:

Drupal Core - a Drupal alaprendszer
A Drupal alapfunkcionalitásait megvalósító motor. Önmagában rendkívül sok szolgáltatásssal bír (ezen kézikönyvet működtető modul is ebben található), mégis alapvetően az a feladata, hogy a különböző funkciókat hatékonyan fogja össze. Bárki javasolhat módosításokat, amelyeket a fejlesztő közösség véleményez, de a forráskódba ezeket csak néhány személy vezetheti át. Ez biztosítja, hogy az itt található kódok mindig korrektek és használhatóak, valamint egy koncepcióhoz illeszkednek. Az alaprendszert minden Drupal felhasználó futtatja, ezért ez a legjobban tesztelt, így a legbiztonságosabb és legstabilabb is.
Drupal Contributions - a közösség munkaterülete
A közösség által beküldött kiegészítő funkcionalitások, megjelenések (sminkek), felület fordítások, telepítési profilok (lásd később) és dokumentációk itt találhatóak. Röviden minden amit az alaprendszeren kívül használni fogunk, és a drupal.org-ról gyűtjük be innen származik. Jellegénél fogva nincs olyan erős irányítás alatt, mint az alaprendszer, ezért bizonyos esetekben a stabilitása, biztonságossága elmaradhat attól.

Drupal alapú webhelyünk kialakításánál a következő komponensekből építkezhetünk:

  • A Drupal alaprendszer (a címlapon letölthető)
  • Kiegészítő modulok. Ha az alaprendszer képességei az adott webhely kialakításához nem elegendők, a kiegészítő modulok között találhatunk számunkra megfelelő elemeket.
  • Sminkek. A webhely megjelenítését megváltoztató komponenseket sminkeknek nevezzük. Az alaprendszerben is található néhány, de számos más smink is elérhető. Egyes sminkek illesztő programok (úgynevezett smink motorok) segítségét igényelhetik a működésükhöz. Az azonban nagyon ritka, hogy ilyet telepítenünk kellene.
  • Fordítások. Mind az alaprendszer, mind a kiegészítők több nyelvű felületet is tudnak biztosítani. Míg a modulok és sminkek fordítása azok csomagjában érkezik, az alaprendszer fordítását külön kell beszereznünk (a magyar fordítás a címlapon letölthető).

A fenti komponensekből tehát igényeinknek megfelelő webhelyet tudunk kialakítani. Ha valamilyen jellemző típus-webhelyre lenne szükségünk, a telepítési profilok lehetnek segítségünkre. Ezek az alaprendszert konkrét modulokkal és/vagy sminkkel és/vagy fordításokkal kombinálják, így adva egy előre elkészített receptet egy-egy webhely típusra. Mivel ezek az egyenként is elérhető komponenseket használják, ugyanazt a kiterjeszthető környezetet biztosítják, mintha magunk állítottuk volna össze a rendszerünket, tovább bővíthetőek, alakíthatóak. A Drupal magyar nyelvű telepítése az 5.0-s kiadás óta is ennek az alrendszernek a kihasználásával valósítható meg a legkönnyebben.

Melyik verziót használjam?

A Drupal fejlesztése folyamatos, mind az alaprendszerben, mind a közösségi területen. Annak érdekében, hogy a felhasználók életét megkönnyítsék, rendszeresen kiadásokat jelentetnek meg a Drupal motorból, illetve a közösségi területen kezelt projektekből.

  • Amikor például a közösség valamely tagja egy modult fejleszt, és ezt közzé szeretné tenni, el kell döntenie, hogy mely Drupal alaprendszer verzióval együttműködő (kompatibilis) változatot hoz nyilvánosságra. Mivel egy modulnak több különböző Drupal alapverzióval együttműködő változata is lehetséges (pl. 5.0 és 6.0 verziókkal kompatibilisek) ezért egy modul fejlesztése több ágon folytatódhat. Ezeken az ágakon a fejlesztők közzé tudnak tenni fejlesztői kiadásokat, melyeknél a kiadás (csomag) neve -dev útótagra végződik. Ilyen például a simplenews-6.x-1.x-dev.tar.gz, mely a Drupal 6.x-szel kompatibilis simplenews modul első saját kiadásának fejlesztői verziója. Ezek a verziók tulajdonképpen teszt szerepet játszanak: a közösség kipróbálhatja, hogy az adott Drupal alaprendszerrel valóban együtt tud-e működni a modul. Ugyanígy a Drupal alaprendszernek is vannak hasonló fejlesztői kiadásai, melyek az új funkciók és változtatások kipróbálását teszik lehetővé a közösség számára.
  • Ahogy egy modul a kiadáshoz közeledik, alfa, béta, RC kiadások jelenhetnek meg, melyek ugyan még nincsenek kész, de már azt mutatják, hogy kevesebb ismert vagy ismeretlen hiba van a kódban.
  • Amint egy modul képességei és az együttműködési készsége kielégítőek, egy stabil kiadást jelentethet meg a fejlesztő. Ilyenkor a csomag nevében a Drupal alaprendszert (amellyel együtt tud működni a modul) és a konkrét modul kiadás sorszámát látjuk. Ilyen például a simplenews-6.x-1.0.tar.gz, mely az 6.x-es sorozattal kompatibilis, és önmagában a modul 1.0-ás kiadása. Természetesen az alaprendszernek is időről-időre megjelennek újabb kiadásai. Itt az 5.0 megjelenése óta a fő verziószám az első számjegy, a második számjegy változása pedig a hibajavító kiadások közzétételét jelzi. Korábban három jegyű verziószámok voltak használatban, és az első két szám változása jelzett új funkciókat, a harmadik volt fenntartva hibajavító kiadásoknak.

Általánosságban elmondható, hogy az alaprendszer fejlesztői változata stabilnak tekinthető, a kiegészítő modulok és sminkek fejlesztői kódja azonban ritkábban működik különösebb problémák nélkül. Ezért kevés programozói tapasztalattal rendelkező felhasználóknak a számozott kiadások alkalmazása javasolt.

Fontos megjegyezni, hogy a fenti együttműködési képesség a Drupalban közel sem állandó dolog. Egy Drupal 5.x-hez készült modul biztosan nem fog a Drupal 6.x-szel együttműködni módosítás nélkül. A Drupal úgy teszi lehetővé saját dinamikus fejlődését, hogy nem áldoz a visszafelé kompatibilitás megőrzésére erőforrásokat. A hibajavító kiadások célja azonban a visszafelé kompatibilitás megtartása, így egy Drupal 6.0-hoz letöltött modul szinte biztos, hogy Drupal 6.1-gyel is sikeresen együtt tud majd működni, és külön nem lesz szükség a modul frissítésére az alaprendszer frissítése miatt. Amennyiben mégis valamilyen frissítési eljárás szükséges, azt mindig megtaláljuk az új változat bejelentésében.