január 2011

Hogyan készítsünk Drush kompatibilis modult, vagyis CLI-ből elérhető Drupal funkciókat

Egy korábbi RSS modult továbbfejlesztve gondoltam érdekes lehet, ha leírom hogyan kell a benne lévő funkciókat elérhetővé tenni CLI-ből a Drush segítségével. Először azt hiszem egy pár sorban összefoglalnám mi is az a Drush és mire jó.

A Drush-ról

A Drush egy olyan eszköz a Drupal-hoz ami megkönnyíti a fejlesztők és a rendszergazdák dolgát azzal, hogy rengeteg Drupal funkciót elérhetünk parancssorból. Ezzel a folyamatokat automatizálhatjuk és különböző kérésekhez nem kell a weboldalon ügyködnünk.
Többek között olyan funkciókat lehet vele elérni mint

  • cache törlés
  • cron lefuttatása
  • kereső indexelése
  • php parancs vagy script fájl futtatása a Drupal környezetben
  • változók betöltése, beállítása és törlése
  • napló listázása, törlése
  • modulok és sminkek bekapcsolása, kikapcsolása
  • modulok és sminkek letöltése és telepítése
  • Drupal core és contrib modulok, sminkek frissítése
  • adatbázis-műveleteket futtathatunk
  • felhasználói adminisztrációt végezhetünk
  • stb.

Én úgy gondolom nagyon hasznos kiegészítés már akkor is ha csak a core műveleteket biztosítaná, úgy meg hogy saját modulunkkal is kiegészíthetjük pedig kifejezetten érdemes odafigyelni rá.

Egy egyszerű modul portolása Drupal 7-re

Most, hogy megjelent a Drupal 7-es verziójának hivatalos kiadása elérkezett az ideje, hogy szépen fokozatosan frissítsem a moduljaimat. Úgy gondoltam először egy elég egyszerűvel kezdek, pár sorban leírom a lényegét:

A modul a user agent alapján megnézi, hogy a felhasználó milyen böngészőt, platformot és operációs rendszert használ, majd a kapott eredményeket beteszi a body osztályai közé. Tartalmaz egy beállítási felületet ahol ki lehet választani, hogy mindig JavaScript segítségével tegye ezt meg, vagy csak akkor ha be van kapcsolva a page cache. Ha a JavaScript nélküli opció fut le, akkor a page.tpl.php-ból elérhető $body_classes változót egészíti ki.

NetBeans beállítása Drupal fejlesztéshez

A NetBeans egy platformfüggetlen JAVA alapú opensource fejlesztőkörnyezet (IDE), melyet eleinte JAVA fejlesztésre optimalizáltak, majd a különböző nyelvek elterjedésével bővítették tudását és mára kiválóan alkalmas Drupal modul- és sminkfejlesztésre is.

Én gyorsasága és refactoring tuljdonságain kívül azért ajánlom, mert nagyon könnyen beállíthatóak rajta a következő dolgok:

  • Drupal Coding Standars-re formázza a kódot
  • Felismerje a Drupal specifikus fájl típusokat is (info, module, install stb)
  • A tab-oka space-szel helyettesítse
  • Az új sorokat unix formátumban tárolja
  • A fájlok karakterkódolása UTF-8 legyen
  • Ismerje a Drupal core fgv-eket és kiegészítse a gépelésünk alapján (auto complete)
  • A Drupal hook rendszer könnyen integrálható template-ként
  • A CVS és a Git verziókezelők támogatása