Drupal – nem több, nem kevesebb Mikor használd és mikor ne?
Hojtsy Gábor / Goba
Első PHP RoadShow – Dunaújváros, 2004. május 29.
Az előadóról – sok egyéb mellett ● ●
●
●
A weblabor.hu webhely alapító szerkesztője A Drupal rendszer közreműködő fejlesztője 2003 ősze óta A locale.module hivatalos felelőse, több modul karbantartója Elérhető:
[email protected]
Megfelelő rendszert keresve ●
A weblabor.hu PostNuke rendszerét kellett lecserélni –
Nagyon nehezen testreszabható megjelenés, funkció
–
Alapvetően hibás koncepciójú URL paraméterek modules.php?op=modload&name=Submit_News vagy ...&mode=thread&order=0&thold=0
–
Zagyva, szabványoktól távol álló HTML kimenet
–
Következetlen adminisztrációs felület
–
Nagyon lazán összekapcsolt modulok
Követelményeink ●
Legalább azonos szolgáltatáskészlet (meglévő tartalmak, felhasználók importálása)
●
Átlátható programkód
●
Szabványos kimenet (XHTML, CSS)
●
Korrekt URL rendszer (kereső pozícionálás!)
●
Jó kiterjeszthetőség, befolyásolható megjelenés
●
Dinamikus fejlesztés
Drupal további jó paraméterei ●
Teljes egészében GNU GPL licenc alatt
●
Közös CVS szerveren fejlesztett kód –
●
Dinamikusan fejlődő mag –
●
Módosítások, koncepcióváltások gyorsan átvezethetőek a kiegészítő modulokba Nincs motiváció a csapat felbomlására
Kompakt, nem célja a lehengerlés
Mit várhatunk? ●
Nem a legegyszerűbb telepíteni
●
Nem a legegyszerűbb megérteni
●
Mindezek után viszont sokszorosan meghálálja a belé fektetett energiát –
Egységes, könnyen megszokható felület
–
Nagyon könnyen kiterjeszthető
–
Széles határok között változtatható a megjelenés
Varázslók? - Csak terv!
Varázslók? - Csak terv!
Alap konfiguráció - realitás
Mit kell beállítani? ●
Virtuális hoszt vagy könyvtár
●
Adatbázis létrehozása, SQL import
●
Konfigurációs állomány szerkesztés
●
–
Adatbázis elérési adatok (név, jelszó, hoszt, séma)
–
Osztott adatbázishoz tábla előtag beállítása
–
Teljes webes elérési út megadása
–
A támogatni kívánt nyelvek
Minden mást webes felületen kell beállítani
Sikeresen telepítés után
További beállítások böngészőből
Könyvtárstruktúra ●
drupal –
includes – betöltődő állományok
–
modules – modulok, kiterjesztések
–
database – SQL állományok; csak telepítéshez
–
themes
– sminkek
–
misc
– képek, css
–
scripts – csak fejlesztőknek érdekes
Alapvető szolgáltatások ●
●
●
Felhasználók kezelése (user) –
Egyes számú felhasználónak mindenhez joga van
–
Csoportok, lapos jogosultság rendszer
–
Felhasználói profilok
Felület különböző nyelvekre fordítása (locale) –
Magyar fordításhoz kell a localegettext kiterjesztés is
–
Nem jelent tartalom fordíthatóságot
Házörző (naplózás), egyszerű statisztika
Tartalmak kezelése ●
Tartalom bevitel csomópont (node) alapú –
Szerző, dátum, hozzászólások szabályozása
–
Illeszkedik a taxonómia (~kategorizálási) rendszerbe
–
Verziókezelést támogat
–
Nagyon könnyen kiterjeszthető, a legtöbb tartalom node alapú ●
●
Szavazás, fórum, statikus oldalak, blog bejegyzések, történetek Számos kiterjesztés erre épül (linkek, képgaléria, stb)
Taxonómia - kategorizálás ●
A rendszerezés tudománya http://en.wikipedia.org/wiki/Taxonomy
–
A Drupalban minden kategorizálás ezen keresztül történik (rovatok, fórum csoportok, stb)
–
Lehetővé teszi a lapos, faszerű és hálós rendezést is
–
Ha egyszer megértjük, minden csoportosítást be tudunk állítani
–
Minden elemhez automatikusan rendelődik egy RSS csatorna is
További beépített extrák ●
●
●
A követő (tracker) lehetővé teszi, hogy a legutóbb módosult tartalmakat tudjuk követni, ezzel be tudunk hamar kapcsolódni az aktuális témákba A visszafogó (throttle) a túl agresszívan indexelő keresők és a DOS támadások ellen védi webhelyünket A blogapi modul blogger API kliensekből teszi lehetővé tartalmak bevitelét
És ha még nem lett volna elég! ●
●
●
Beépített RSS aggregátor más webhelyek csatornáinak olvasásához Elosztott felhasználó azonosítás Drupal webhelyek között Kollaboratív könyv szerkesztés bármely tartalom típussal kombinálhatóan
●
Webhely szintű keresés
●
Bevitt tartalmak várakozási sora
URL generálás és feldolgozás ●
●
●
●
Alapbeállításban /index.php?q=tracker típusú URL-eket használ URL rewrite bekapcsolásával a generált címek rövidebbek lesznek: /tracker Álnevek rendelhetőek egyenként a különböző címekhez: /koveto Programból is generálhatóak az álnevek, pl: /node/view/14 helyett /tartalom/14
Néhány hasznos kiterjesztés ●
Project – ezt használják a Drupal fejlesztők is
●
Ecommerce – önmagában moduláris ebolt
●
Groups – összetett jogosultságkezelés
●
Banner – reklámok megjelenítése
●
Subscriptions – feliratkozás a webhely változásaira emailben
Szűrők alkalmazása ●
●
Általában nem praktikus közvetlen HTML bemenetet engedélyezni A beépített szűrők ezt csak korlátozni tudják, de nem adnak alternatívát, ezért kell kiterjesztést telepíteni, például: –
bbcode – fórumok megszokott leíró nyelve
–
urlfilter – klikkelhető URL-ek
–
textile
–
smileys – mosolygós arcokat képekre cseréli
– egyszerű szöveg formázó nyelv
Kinek nem ajánlott? ●
●
Kezdőknek tapasztalat kérdése –
A telepítéshez SQL és parancssori ismeretekre van szükség
–
A kiterjesztések többségének telepítéséhez hasonlóan
Fejlesztőknek idő kérdése –
A saját modulok, sminkek, felület fordítások újbóli rendszerhez igazítása sok munkát igényelhet egy-egy új (nem hibajavító) kiadásnál
Összegzés ●
●
Elsősorban –
fejlesztők által készített rendszer,
–
egyre több felhasználói felület specialistával,
–
kevés grafikus tervezővel.
Ennek megfelelően –
Jól átgondolt, konzisztens, „karcsú”
–
Jó értelemben változékony, fejlődőképes
–
Nagyon kevés Drupalhoz készült kész smink van
Ajánlás ●
●
Használják –
Blogok
–
Híroldalak
–
Elektronikus boltok
–
Személyes oldalak
–
És még számos más webhely működtetésére
Mindig az adott feladat figyelembevételével kell eldönteni, hogy megfelelő-e
Köszönöm a figyelmet! Kérdések?