nagy gusztáv drupal 6 alapismeretek · alapismeretek 1.1.3. blogok a weblogok, vagyis webes...

277
Nagy Gusztáv Drupal 6 alapismeretek

Upload: others

Post on 19-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

  • Nagy GusztávDrupal 6 alapismeretek

  • Nagy Gusztáv

    Drupal 6 alapismeretek

    Ad Librum KiadóBudapest, 2010

  • Szerző: Nagy Gusztáv

    2010. július

    CC – Néhány jog fenntartva

    A műnek erre a változatára a Nevezd meg!-Ne add el!-Ne változtasd! licenc feltételei1 ér-vényesek: a művet a felhasználó másolhatja, többszörözheti, továbbadhatja, amennyiben feltünteti a szerző nevét és a mű címét, de kereskedelmi célra nem használhatja fel.

    A könyv elektronikus változata letölthető a http://nagygusztav.hu/ oldalon.

    A kiadvány létrejöttét a Neumann János Számítógép-tudományi Társaság2 és a Kecskeméti Főiskola3 Gépipari és Automatizálási Műszaki Főiskolai Kar4 támogatta.

    Kiadó: Ad Librum Kft.

    1107 Budapest, Mázsa tér 2-6.

    http://www.adlibrum.hu [email protected]

    E könyv megrendelhető a kiadótól: http://www.adlibrum.hu/Drupal

    Nyomda: Litofilm Kft.

    Borító terv: Várhegyi Attila

    ISBN 978-615-5014-43-7

    A Drupal Dries Buytaert5 bejegyzett védjegye.

    1 http://creativecommons.org/licenses/by-nc-nd/2.5/hu/ 2 http://www.njszt.hu/ 3 http://www.kefo.hu/ 4 http://www.gamf.hu/ 5 http://buytaert.net/

    http://creativecommons.org/licenses/by-nc-nd/2.5/hu/http://buytaert.net/http://www.adlibrum.hu/Drupalmailto:[email protected]://www.adlibrum.hu/http://www.gamf.hu/http://www.kefo.hu/http://www.njszt.hu/http://nagygusztav.hu/

  • Ajánló

    Egy igazán hiánypótló és nagyszerű művet tart kezében az olvasó, hisz magyar nyelvű Drupal könyv ezidáig még nem jelent meg nyomtatásban, és olyan könyvet sem tarthatott a kezében az Olvasó amely komolyabban foglalkozik a webes alkalmazások tervezésének metodikájával.

    Gusztávot a Harmadik PHP Konferencián ismertem meg, ahol az általa megvizsgált web-oldal tervezési metodikák közül mutatott be egyet részletesen. Igencsak meglepett mennyi-re széles látókörrel rendelkezik az adott területen és a hatalmas tudásanyag lényegi részét milyen könnyedén és közérthetően adja elő magával ragadó stílusában.

    Megvallom őszintén, amikor először hallottam arról, hogy Webes tartalomkezelő rendsze-rek címmel könyvet akar írni, nem hittem el, hogy valaha is sikerülhet ez neki. Egyrészt a vázolt tartalomjegyzék hatalmas témakört ölelt fel. Másrészt ezen a területen olyan gyor-san változnak a dolgok, úgy gondoltam igen nehéz lesz egy időtálló művet alkotni.

    Legnagyobb meglepetésemre a könyv – Drupal 6 alapismeretek címmel – elkészült. Öröm-mel tapasztaltam, hogy a könyv az írójára jellemző szakmai precizitással és közérthető fo-galmazással készült el. Nem telt el hét, hogy ne ajánlottam volna két-három embernek ezt a nagyszerű alkotást.

    Amikor egy beszélgetés alkalmával megemlítettem neki, hogy jó lenne nyomtatásban is megjelentetni a könyvet, kiderült nyitott kapukat döngetek és már csak egy kis segítség hi-ányzik az álom megvalósulásához. Szerencsére a Neumann János Számítógéptudományi Társaság és annak Webalkalmazás Fejlesztés Szakosztálya örömmel támogatta a kiad-ványt.

    Fogadják hát szeretettel ezt a művet. Köszönjük Gusztáv!

    Palócz István6

    6 http://palocz.hu/

    http://palocz.hu/

  • Köszönetnyilvánítás

    „A szabad vagy nyílt forráskódú szoftverek (FLOSS) szabadon használható, másolható, terjeszthető, tanulmányozható és módosítható számítógépes programok. Ilyen például a Linux operációs rendszer, a Mozilla Firefox bön-gésző vagy az OpenOffice.org irodai csomag.”7

    A nyílt forrás (open source) és a szabad szoftver (free software) filozófiája, és a benne „hí-vő” szakemberek munkája tette lehetővé, hogy a Drupal8 tartalomkezelő rendszert Ubuntu9 Linux operációs rendszeren és a Mozilla Firefox10 böngészőt használva megismerjem, vala-mint a magam és mások tapasztalatait az OpenOffice.org11 irodai programcsomaggal és Magyar Linux Libertine betűtípussal12 leírjam, és közzé tegyem.

    Köszönettel tartozom a Drupal alaprendszer és a kiegészítő modulok, sminkek lelkes fej-lesztői, valamint a fordítások készítői részére is.

    A Drupal megismerésében nagy segítségemre volt a hazai Drupal közösség által szervezett konferenciákon túl a fórumokon tapasztalt hihetetlen segítőkészség. Célom, hogy ezt a hozzáállást én is továbbadjam másoknak.

    Ezen kívül szeretném megköszönni a Neumann János Számítógép-tudományi Társaság,13, és a Webalkalmazások Fejlesztése Szakosztály14 szakmai és anyagi támogatását, amely hoz-zájárult e könyv megjelenéséhez.

    7 Forrás: http://hu.wikipedia.org/wiki/Szabad_szoftver 8 http://drupal.hu/ 9 http://ubuntu.hu/ 10 http://www.mozilla-europe.org/hu/firefox/ 11 http://hu.openoffice.org/ 12 http://hup.hu/cikkek/20100316/magyar_linux_libertine 13 http://www.njszt.hu/ 14 http://wfsz.njszt.hu/

    http://wfsz.njszt.hu/http://www.njszt.hu/http://hup.hu/cikkek/20100316/magyar_linux_libertinehttp://hu.openoffice.org/http://www.mozilla-europe.org/hu/firefox/http://ubuntu.hu/http://drupal.hu/http://hu.wikipedia.org/wiki/Szabad_szoftver

  • Tartalomjegyzék1.Alapismeretek........................................13

    1.1.Honlap típusok..............................131.2.Hogyan olvasunk a weben?.......171.3.Webes tipográfiai alapismeretek................................................................171.4.Keresőoptimalizálási alapismeretek......................................181.5.A web működése..........................181.6.A honlap célja...............................221.7.A honlap megtervezése...............231.8.HTML alapismeretek...................251.9.Tartalomkezelő rendszerek jellemzői...............................................321.10.Mi a Drupal?...............................34

    2.Drupal kézikönyv kezdőknek.............352.1.Felhasználókezelés.......................362.2.Tartalmak kezelése.......................41

    3.Szerver és kliens kialakítása...............493.1.Az XAMPP integrált telepítő csomag..................................................493.2.Telepítés Linux alatt.....................533.3.Letöltés...........................................543.4.Kitömörítés localhost-ra.............553.5.Fájlok feltöltése távoli szerverre................................................................563.6.Az adatbázis előkészítése............58

    4.Telepítés..................................................594.1.Nyelv választás.............................594.2.Adatbázis-kapcsolat.....................604.3.Webhely beállítása.......................614.4.Problémák telepítés után............664.5.Webhely karbantartás..................714.6.Webhely információk..................73

    5.Tartalmak................................................755.1.Beviteli formák.............................755.2.Tartalmak beállításai...................785.3.Tartalom típusok...........................795.4.Tartalom beküldése......................835.5.A tartalmak megtekintése..........88

    5.6.Jogosultságok................................896.Menük és blokkok kialakítása............91

    6.1.Elsődleges linkek menü...............926.2.Navigáció menü............................936.3.A blokkok beállítása....................946.4.Részletesebb beállítások..............966.5.A főmenü elkészítése...................986.6.Kétszintű felső menü...................996.7.Jogosultságok..............................100

    7.Az alaprendszer szolgáltatásai.........1017.1.Dátum és idő...............................1017.2.Teljesítmény beállítások............1027.3.RSS közzététel.............................1057.4.Hibajelentések beállításai.........1067.5.Képkezelő eszközkészlet...........1077.6.Rövid webcímek.........................108

    8.Az alaprendszer moduljai.................1098.1.A Book modul.............................1108.2.A Contact modul........................1138.3.A Database logging modul.......1188.4.A Help modul..............................1208.5.A Locale és Content translation modulok.............................................1208.6.A Path modul..............................1288.7.A Search modul..........................1298.8.A Statistics modul......................1338.9.A Taxonomy modul...................1348.10.A Throttle modul......................1398.11.A Tracker modul.......................1408.12.A Trigger modul.......................1408.13.Az Update status modul.........1438.14.Az Upload modul.....................1448.15.További fejezetekben bemutatásra kerülő alapmodulok. 1478.16.Részletesen nem tárgyalt modulok.............................................148

    9.Felhasználókezelés..............................1499.1.Felhasználók létrehozása..........1499.2.Felhasználók menedzselése......151

  • 10. oldal CC – Néhány jog fenntartva

    9.3.Jogosultságkezelés......................1529.4.Jogosultságok..............................154

    10.Blog oldal kialakítása.......................15510.1.Tartalmaink címkézése............15510.2.A Comment modul..................157

    11.Közösségi oldal kialakítása ............15911.1.A Profile modul........................15911.2.A Forum modul........................16411.3.A Poll modul.............................16611.4.A Blog modul............................16811.5.Tartalmak megosztása RSS csatornákon.......................................17011.6.Az Aggregator modul.............170

    12.További modulok kiválasztása, telepítése..................................................173

    12.1.Bevezető.....................................17312.2.Az Administration Menu modul..............................................................17512.3.A Backup and Migrate modul..............................................................17612.4.A BUEditor modul...................17712.5.A Captcha modul.....................17912.6.A Content Access modul........18212.7.Az External Links modul........18412.8.Az FCKEditor modul...............18512.9.A Global Redirect modul........18512.10.A Google Analytics modul. .18612.11.Az Image modul.....................18712.12.Az IMCE modul.....................19312.13.A Lightbox2 modul................19412.14.A Pathauto modul..................19512.15.A Poormanscron modul........19712.16.A Simplenews modul............19712.17.A SpamSpan modul...............19812.18.A Tagadelic modul.................19912.19.Az Ubercart modul................20112.20.A Webform modul.................209

    12.21.A Wysiwyg modul.................21412.22.További modulok....................218

    13.Sminkek használata..........................22113.1.Az adminisztrációs smink......22113.2.A Color modul..........................22213.3.A sminkek telepítése................22313.4.Jogosultságok............................22513.5.Sminkek módosítása................22513.6.Új sminkek létrehozása...........231

    14.A Views modulok.............................23714.1.Views alapmodulok..................23714.2.A Views UI felépítése..............23814.3.A Simple views modul............23914.4.Gyári nézetek............................24314.5.Nézetek létrehozása.................24914.6.Kapcsolódó kiegészítő modulok..............................................................254

    15.A CCK modulok...............................25515.1.Elméleti háttér: Egyed-kapcsolat modell.................................................25515.2.Telepítés......................................25715.3.Használható mezőtípusok és felületi elemek...................................25815.4.Mezők megjelenítése...............26215.5.További, CCK-ra épülő modulok..............................................................263

    16.Esettanulmány..................................26516.1.Miért kell új verzió?................26516.2.Látogatói csoportok.................26616.3.Felhasználói csoportok............26716.4.Hírek és címoldal.....................26916.5.Szervezetek................................270

    17.Adminisztrációs feladatok..............27317.1.Biztonsági mentés....................27317.2.Honlap átköltöztetése, visszaállítása......................................27717.3.Frissítés.......................................277

  • 11. Alapismeretek

    Ezt a fejezetet ajánlom minden olvasóm figyelmébe. Azok számára is, akik számára isme-rősek a fejezet témái, és azok számára is, akik nem foglalkoztak még ezekkel a kérdésekkel.

    Egyes témákat alaposabban meg fogunk vizsgálni, más témákhoz pedig további anyagok forrásait fogjuk megnézni.

    1.1. Honlap típusok

    Nézzük meg röviden a mai weboldalak néhány típusát.

    1.1.1. Klasszikus céges weboldalak

    E honlapok eredetét a régóta ismert céges szóróanyagok, brosúrák, valamint a cégtáblák környékén kell keresnünk. A web hőskorában (az 1990-es évek eleje-közepe) az a néhány vállalat, amelyik egyáltalán belekezdett a „web meghódításába”, többnyire e szóróanyagok webre vitelét hajtotta végre.

    Később a céges oldalak a puszta elérhetőségi adatok, a cégvezető/tulajdonos fényképe és a cégprofil közlése mellett a nyújtott szolgáltatások, termékek bemutatását is egyre komo-lyabban vették. Sok oldal még ma is elsősorban ezt a modellt követi.

    Megjegyzés: Bizonyos esetekben ennél több nem is várható el egy cégtől, illetve nincs is feltétlenül többre szüksége.

    Példaként nézzünk meg a Koch Sándor Csongrád Megyei Tudományos Ismeretterjesztő Társulat15 oldalát (1. ábra). A cég fő profilja a tanfolyamok szervezése, így a legtöbb oldal a tanfolyami tematikákat, és kapcsolattartási információkat tartalmazza.

    Megjegyzés: Jogos a felvetés, hogy itt sok lehetőség lenne még az információk bemutatására, interakciók lehe-tőségének (pl. előjelentkezés webes felületen, hírlevél, hozzászólási lehetőségek, fórum stb.) kiaknázására. Kü-

    15 http://www.titszeged.hu/

    http://www.titszeged.hu/

  • 14. oldal 1. Alapismeretek

    lönösen a webtől idegenkedő vezetők szokták a webes jelenlétet apró lépésekben, a konkurenciától lemaradva növelni.

    A Hírös Táncsport Egyesület16 honlapja is hasonló célokat tűzött ki maga elé, de itt a tarta-lom dinamikusan, időszerű információkkal bővül (2. ábra).

    16 http://hirostanc.hu/

    1. ábra: Céges honlap: Koch Sándor Csongrád Megyei TIT

    2. ábra: Céges honlap: Hírös Táncsport Egyesület

    http://hirostanc.hu/

  • 1.1. Honlap típusok 15. oldal

    1.1.2. Közösségi oldalak

    Ma, az – egyesek által még mindig vitatott – Web 2 korszakában közösségi oldalak alatt az olyan „nagyokat” szokás érteni, mint pl. az iwiw17. Pedig a néhány nagy árnyékában sok száz/ezer honlap van, ahol nem a személyes, magánéleti kapcsolatok, hanem valamilyen szakmai vagy egyéb téma alapján gyűlnek össze a szakértők és az érdeklődők, és végeznek közösségi tartalom-előállítást.

    Példaként érdemes megnézni két szakmai portál, a Weblabor18 (3. ábra) és a Programozói portál19 felépítését. Mindkettőre jellemző, hogy vannak ugyan a szűk körű szerkesztőségi csapat részéről mértékadó anyagok, de a tartalom jelentős, sőt domináns része a napi több ezer látogató által a fórumokon és (a Weblabor esetén blogmark, de akár hír küldése által is) összegyűjtött tartalom.

    Nézzünk egy újabb példát, amely céljaiban, szolgáltatásaiban az iwiw-szerű oldalakhoz hasonlítható. A felsofok.com20 Berka Viktor szakdolgozati feladata (4. ábra).

    17 http://iwiw.hu/ 18 http://weblabor.hu/ 19 http://prog.hu/ 20 http://felsofok.com/

    3. ábra: Weblabor szakmai-közösségi oldal

    http://felsofok.com/http://prog.hu/http://weblabor.hu/http://iwiw.hu/

  • 16. oldal 1. Alapismeretek

    1.1.3. Blogok

    A weblogok, vagyis webes naplók (legalábbis magyar nyelvterületen) viszonylag újdon-ságnak számítanak. A gyökereket exhibicionista („magamutogató”) fiatalok személyes, sőt sokszor bizalmas21 naplóinál kell keresni.

    Mára a helyzet jelentősen átalakult. Nem szűntek meg ugyan a személyes (én) blogok, de okkal nagyobb jelentőségűek az egy-egy független szakértő által fenntartott (pl. Dorans-ky22 a webes trendek világban), vagy éppen a vállalatokhoz kapcsolódó blogolás. Ez utóbbi akár a cég egészét megjelenítő, ún. céges blog, akár a nagyobb vállalatok meghatározó munkatársainak (különösen az ún. evangelistáknak23) önálló blogjai is lehetnek. Utóbbira példa olyan neves vállalatok, mint a Sun24, Mozilla25 vagy Microsoft26 vezető fejlesztőinek blogjai, ahol a legfrissebb publikus szakmai információkat lehet megismerni.

    21 „Nem mondhatom el senkinek, elmondom hát mindenkinek” életérzés.22 http://doransky.hu/ 23 Az eredetileg keresztény fogalmat ma már az egyes vállalatokat és/vagy termékeket népszerűsítő, nagy

    tekintélyű munkatársakra is alkalmazzuk.24 http://blogs.sun.com/ 25 http://blog.mozilla.com/ 26 http://blogs.msdn.com/

    4. ábra: A felsofok.com közösségi honlap

    http://blogs.msdn.com/http://blog.mozilla.com/http://blogs.sun.com/http://doransky.hu/

  • 1.2. Hogyan olvasunk a weben? 17. oldal

    1.2. Hogyan olvasunk a weben?

    Ha weboldal készítésére adjuk a fejünket, akkor jó, ha tisztában vagyunk a látogatói szoká-sokkal. E témát egyre többen és egyre átfogóbban kutatják. Itt most csak egy rövid ajánló erejéig foglalkozunk a témával. Legalább a következő cikkek elolvasása célszerű a tovább-haladás előtt:

    Hogyan olvasunk a weben?http://www.agent.ai/main.php?folderID=4&articleID=2217&ctag=articlelist&iid=1

    Kámán Veronika: A jelen forradalma: olvasás a weben http://krono.inaplo.hu/index.php/inter/weblibrary/816-a-jelen-forradalma-olvasas-a-weben

    Kovács Balázs: Írás és olvasás a webenhttp://www.carnation.hu/hirl_cikk.php?id=47&cid=1

    1.3. Webes tipográfiai alapismeretek

    Sokunkba próbálták jól-rosszul beleverni a szövegszerkesztési alapismereteket. Azonban a papíralapú szövegszerkesztéssel kapcsolatos tapasztalataink néha hátrányunkra válnak, ha nem értjük meg a papír és a weboldal közötti különbségeket. bevezetésként egy gondolat:

    A webes tipográfia korlátai27

    A hagyományos nyomdászoknak kismillió lehetőség áll a rendelkezésükre, amikor szóba kerül a tipográfia, mint például a betűkészletek puszta száma vagy az elrendezési lehetősé-gek széles skálája. A webes tipográfia ennél sokkal korlátozottabb, mivel olyan típusokkal és elrendezéssel kell dolgozzunk, amelyről tudjuk, hogy elérhető és használható lesz azo-kon a gépeken is, amelyeken az olvasók megnyitják a lapot – senki nem fejleszt csak saját magának weboldalt.

    A webes tipográfia korlátai többek között a következők:

    Korlátozott betűkészlet.

    Nincs elválasztás, így a sorkizárt elrendezés csúnya lesz keskenyebb oszlopok ese-tén.

    Nincs befolyásunk az alávágásra (a szóközökkel való feltöltésre).

    Nem lehet tudni, hogy hol és hogyan nézik majd meg a munkát, így a dizájnereknek minden képernyőméretre, felbontásra és környezetre gondolniuk kell.

    27 Az első olvasmány, Paul Haine cikkéből.

    http://www.carnation.hu/hirl_cikk.php?id=47&cid=1http://krono.inaplo.hu/index.php/inter/weblibrary/816-a-jelen-forradalma-olvasas-a-webenhttp://krono.inaplo.hu/index.php/inter/weblibrary/816-a-jelen-forradalma-olvasas-a-webenhttp://www.agent.ai/main.php?folderID=4&articleID=2217&ctag=articlelist&iid=1

  • 18. oldal 1. Alapismeretek

    Ennek megértésére a következők olvasása javasolt:

    Paul Haine: Tipográfia a webenhttp://dev.opera.com/articles/view/11-tipografia-a-weben/

    rrd (Radharadhya dasa): Web tipográfia 1http://webmania.cc/web-tipografia-1/ http://webmania.cc/web-tipografia-2/ http://webmania.cc/web-tipografia-3/

    1.4. Keresőoptimalizálási alapismeretek

    Ha egy weboldalt fáradságos munkával elkészítünk, szeretnénk, ha minél több látogató megtalálná az oldalunkat. Aki elolvassa a cikkeinket, hozzászól a blogunkhoz, vásárol a termékeink közül.

    A látogató „szerzése” minden honlapnak célja. Ezért e témával is foglalkozunk néhány ajánlott irodalom elejéig. A látogatószerzés klasszikus módja a keresőmotorokban (pl. Go-ogle) való megjelenés.

    Bár a témával foglalkozó írások, weboldalak, vállalkozások nem mindig tesznek különbsé-get a keresőoptimalizálás és keresőmarketing között, itt ezt megtesszük.

    A keresőoptimalizálás a saját oldalunk fejlesztésével történik. Emiatt minden web-oldal-tulajdonosnak szüksége van rá. Mi itt erre tudunk koncentrálni.

    A keresőmarketing sok egyéb eszközt (pl. hírlevél, fizetett hirdetések) is felhasznál, amelyek nem képezik a weboldalunk részét.

    Néhány hasznos információforrás:

    Google keresőmotor-optimalizálási útmutató kezdőknekhttp://googlewebmastercentral.blogspot.com/2009/06/seo-starter-guide-now-available-in-40.html

    Jároli József: Mi a keresőoptimalizálás (Keresőmarketing)?http://webni.innen.hu/Keres_c5_91optimaliz_c3_a1l_c3_a1s

    Longhand: Keresőoptimalizáláshttp://longhand.hu/keresooptimalizalas

    Érdemes azonban megjegyezni, hogy a keresőmarketing területén sok „sarlatán” is vadá-szik a pénzünkre.

    1.5. A web működése

    Az 5. ábra sokat segíthet a további információk megértésében.

    http://longhand.hu/keresooptimalizalashttp://webni.innen.hu/Keres_c5_91optimaliz_c3_a1l_c3_a1shttp://googlewebmastercentral.blogspot.com/2009/06/seo-starter-guide-now-available-in-40.htmlhttp://googlewebmastercentral.blogspot.com/2009/06/seo-starter-guide-now-available-in-40.htmlhttp://webmania.cc/web-tipografia-3/http://webmania.cc/web-tipografia-2/http://webmania.cc/web-tipografia-1/http://dev.opera.com/articles/view/11-tipografia-a-weben/

  • 1.5. A web működése 19. oldal

    A felhasználó, aki a web szolgáltatásait ki akarja használni, megteheti ezt egy tetszőleges modern webböngészővel. (E két „szereplőt” együttesen a kliens oldalnak tekintjük.)

    A felhasználó a böngészőt használva kezdeményezheti egyes weboldalak letöltését. A web kezdeti időszakában a webszerver azokat az állományokat tudta kiszolgálni, amiket a hát-tértárain elhelyeztek. (Ez tulajdonképpen statikus tartalmat eredményez, vagyis az ilyen tartalom jellemzően nem változik.) Bizonyos esetekben ez ma is így van: például egy hon-lapba illesztett kép nem fog megváltozni, akárhányszor töltjük is le, ezért a webszervernek a böngésző kérésére mindössze vissza kell adni azt válaszul.

    Később egyre nagyobb igény lett a dinamikus tartalmak iránt, amikor a tartalom már a látogató tevékenységei, vagy más okok miatt színesebb, változóbb lehet. Ebben az esetben a webszerver nem önmaga válaszol a böngésző kérésére, hanem (leggyakrabban) PHP nyelvű program állítja elő a választ, amit a webszerver csak továbbít.

    Tovább növelheti az oldal dinamizmusát, ha a tartalmak előállításához szükséges adatokat (legalább részben) adatbázisban tároljuk. Ekkor a PHP nyelvű forrásprogram az adatbá-zis-szerverrel kapcsolatot épít fel, és adatbázisból származó információkat is felhasznál a válasz elkészítéséhez, illetve a felhasználók válaszait is eltárolja az adatbázisban.

    1.5.1. Webszerver

    A webkiszolgáló/webszerver egy kiszolgáló, mely elérhetővé teszi a helyileg (esetleg más kiszolgálón) tárolt weblapokat a HTTP protokollon keresztül. A webszerverekhez webbön-gészőkkel lehet kapcsolódni.

    Bár a webszerverek többnyire különböznek a részletekben, az alapvető funkcióik azonosak. Minden webszerver HTTP kéréseket fogad a hálózatról, és HTTP válaszokat küld vissza. A

    5. ábra: A kliens-szerver architektúra

  • 20. oldal 1. Alapismeretek

    HTTP válasz az esetek többségében egy HTML dokumentum, de lehet még egyszerű szö-veges fájl, kép, vagy más típusú fájl is.

    1.5.2. Webtárhely

    A mai weboldalak kis hányada igényli, hogy egy vagy esetleg több (ún. dedikált) szerver teljes egészében a weboldal kiszolgálását végezze. Éppen ezért a legtöbb honlap más hon-lapokkal osztozik egy webtárhely erőforrásain.

    A virtuális webtárhely szolgáltatás alatt egy olyan internetes szolgáltatást értünk, ahol egy webszerver erőforrásait több felhasználó/honlap között osztják fel. Minden felhasználó egy a rendszer által dedikált tárhelyet foglal el, aminek nyilvános tartalma egyedi domén néven érhető el. Kisebb forgalmú weboldalt költséghatékonyan lehet bérelt webtárhelyen üzemeltetni. Tárhelyet ún. tárhelyszolgáltatóktól28 bérelhetünk.

    A webtárhely szolgáltatás általában tartalmaz egy adminisztrációs felületet (pl. cPanel29), hogy a bérlő a tárhelyét menedzselni tudja.

    Osztott tárhelyszolgáltatók rendszerint az egyes szolgáltatásokat fizikailag elkülönített ki-szolgáló rendszereken oldják meg, az ügyfélkiszolgáló és adminisztrációs rendszer, a leve-lező kiszolgáló, az adatbázis szerver, a webszerver fizikailag elkülönített kiszolgálókon mű-ködik. A legtöbb webkiszolgáló alacsony költségű Linux vagy FreeBSD operációs rendszer alapú LAMP szerver.

    Az egyes operációs rendszerekre épített szolgáltatások lényegében meghatározzák a fel-használó által elérhető technológiák csoportját is. Windows alapú webhosting esetén a fel-használó választhat akár ASP.NET és Microsoft SQL Server, de akár PHP és MySQL Server támogatást is; míg LAMP szerver esetén csak PHP nyelvű weboldalakat készíthetünk MySQL Server támogatással.

    1.5.3. URL

    A böngészőnk minden egyes weboldal-kérést egy URL formájában állítanak össze. Pl. http://drupal.hu/tracker. Ebben az esetben a http://drupal.hu azt mondja meg a böngé-szőnknek, hogy a drupal.hu domént kiszolgáló webszervert kell megkérnie a kérés kiszol-gálására. Ami viszont a domén név után szerepel (/tracker), azt értelmezés nélkül a web-szervernek továbbítja.

    A web kezdeti korszakában ezeket az információkat egyszerűen a webszerver alkönyvtára-inak és állományainak kellett megfeleltetni. Pl. a /terkep/kecskemet.html kérés ténylegesen egy terkep alkönyvtárban található kecskemet.html állomány megkeresését és kiszolgálását rótta feladatul a webszerver számára. Az ilyen weboldalakat statikus oldalaknak nevez-zük.

    28 http://tarhely.lap.hu/ 29 http://www.cpanel.net/

    http://www.cpanel.net/http://tarhely.lap.hu/

  • 1.5. A web működése 21. oldal

    Ma azonban, amikor a weboldalak dinamikusan, a kérés pillanatában generálódnak, az URL végén nehezen értelmezhető technikai információk látszhatnak. Pl. a comments.php?mid=9546&id=33 kérést a webszerver a comments.php (PHP programozási nyelven írt) ál-lománynak adja át. A ? utáni résszel csak a comments.php fog valamit kezdeni. Drupal alatt egy klasszikus kérés így néz ki: http://drupal.hu/index.php?q=tabor/2010 Mivel az in-dex.php minden kérésben előfordul, ezért általában elhagyható, vagyis a kérés egyszerűsö-dik: http://drupal.hu/?q=tabor/2010 A mai technológiák segítségével azonban megoldható az is, hogy a ?q= rész is elhagyható legyen, vagyis a http://drupal.hu/tabor/2010 cím ele-gendő. Ez a cím hasonlít egy hagyományos statikus kérésre, de mégsem az.

    1.5.4. Alapvető hardver és szoftver szükségletek

    Nézzük meg közelebbről, hogy a Drupal használatához milyen erőforrásokra van szüksé-günk.

    A jelenleg forgalmazott webtárhelyek többsége megfelel a Drupal 6.x verzió futtatása alapvető követelményeinek. Ezzel szemben az ingyenes tárhelyek többnyire alkalmatlanok az alapvető futtatásra is, gyanúsan olcsó szolgáltatóknál pedig fejlesztés vagy üzemeltetés közben fog kiderülni, hogy rosszul választottunk.

    Ezen kívül akár a saját Windows vagy más operációs rendszerrel meghajtott PC-nket is szerverré alakíthatjuk. A saját gép szerverként való használatának egyik legnagyobb hát-ránya, hogy nehéz a Drupal közösségtől30 segítséget kérni a tanulás kezdeti fázisánál.

    Szerver

    Az alábbi követelményeket a saját Windows alapú gépünkön (pl. XAMPP segítségével), Linux alapú gépünkön saját konfigurálással és telepítésével könnyedén teljesíthetjük. A lis-ta inkább tárhelyszolgáltató választásához lesz érdekes.

    A minimális követelmények tehát:

    webszerver (Apache 2)

    PHP 5.2 (az 5.3 nem alkalmas)

    adatbázis-szerver (MySQL 5)

    phpMyAdmin

    (A tanuláshoz) nem nélkülözhetetlen, de ajánlott:

    mod-rewrite, .htaccess támogatás

    cron támogatás

    HTTP kérések engedélyezése (hogy a futó PHP kód más weboldalak szolgáltatásait igénybe tudja venni)

    30 http://drupal.hu/

    http://drupal.hu/

  • 22. oldal 1. Alapismeretek

    PHP konfigurációs követelmények:

    memória limit: 64-128Mb (a használni kívánt modulok memóriaigényétől függően)

    feltöltési méret: amekkorát a honlap célja megkövetel (minimum 8-16Mb)

    levélküldési lehetőség (PHP mail vagy SMTP támogatás)

    GD library

    kikapcsolt register_globals és safe_mode

    Kliens

    A munka nagy része a böngésző használatával fog zajlani. Itt is meg kell említeni, hogy a szerző (és sok más webfejlesztő) véleménye szerint ehhez a Chrome31, Firefox32, Opera33 és Safari34 a legjobb választások.

    Ezen kívül néha szükség lesz valamilyen FTP kliensre az állományok szerverre feltöltésé-hez. Erre a célra meg fog felelni a méltán népszerű Total Commander. (Még jobb, ha ismer-jük a FileZilla35 alkalmazást.)

    1.6. A honlap célja

    Mielőtt egy honlap kivitelezésébe belekezdenénk, érdemes minél alaposabban megtervezni azt. Képzeljük el, mi lenne, ha egy felhőkarcoló építésébe tervrajzok és előzetes (például statikai) számítások nélkül kezdenénk bele. Egy rossz honlap esetén ugyan nem lesznek emberáldozatok, de a célját biztosan nem fogja betölteni, és végső soron jelentős (pl. anya-gi) kárt okozhat.

    A szerző a megrendelővel való kommunikációt egy interjú formájában javasolja kezdeni, a következő kérdésekkel.

    A kérdésekre adott válaszok között persze nagy lehet az átfedés, az interjú célja az eléren-dő célok teljes körű feltérképezése. (Egy konkrét esetben tehát bizonyos kérdéseket ki is hagyhatunk, ha azok feleslegesnek, értelmetlennek tűnnek.)

    Mi a célunk a honlappal?

    Kik lesznek a látogatóink?

    Mit szeretnénk bemutatni?

    Mik a kulcsfontosságú funkciók?

    31 http://www.google.com/chrome/ 32 http://www.mozilla-europe.org/hu/firefox/ 33 http://www.opera.com/ 34 http://www.apple.com/safari/ 35 http://filezilla-project.org/

    http://filezilla-project.org/http://www.apple.com/safari/http://www.opera.com/http://www.mozilla-europe.org/hu/firefox/http://www.google.com/chrome/

  • 1.6. A honlap célja 23. oldal

    Milyen visszajelzéseket várunk a látogatóinktól?

    Részt vesznek-e a látogatóink a tartalom előállításában?

    Miben fog a tartalom és a szolgáltatás fejlődni (pl. 1 hónap, 1 év múlva)?

    Ki fogja az oldalt karbantartani?

    Milyen csoportos és személyes jogosultsági körökre lesz szükség?

    Hol és hogyan szeretnék a honlapot az interneten reklámozni?

    Látogatottsági statisztikákat szeretnénk-e megismerni?

    Természetesen a kérdések akkor is alkalmazhatók, ha a saját vagy cégünk honlapját szeret-nénk elkészíteni.

    További részletek a szerző honlapján találhatóak:

    http://nagygusztav.hu/honlap-interju-mi-az-oldal-celja

    1.7. A honlap megtervezése

    Ha már tudjuk, mi a célunk a honlapunkkal, akkor kezdjünk bele az oldal megtervezésébe. Ehhez meg kell válaszolnunk még a következő kérdéseket.

    Milyen oldalaink lesznek?

    A válasz egy konkrét, tételes lista legyen. Például:

    kezdőoldal (hírekkel)

    kapcsolat

    termékkategóriák tartalomjegyzéke

    termékkategóriák oldalai

    termékek oldalai

    vendégkönyv oldal

    stb.

    Milyen viszonyban állnak az oldalak egymással?

    Itt az alá-fölé rendeltségi viszonyon kívül gyakori a mellérendelt kapcsolat is. A válasz az oldal navigációjának kitalálásában fog segíteni.

    Illusztrációként nézzünk meg egy zenei együttes honlapjának oldaltérképét36 (6. ábra).

    36 Forrás: http://dev.opera.com/articles/view/6-informacios-architektura-egy-website-t/

    http://dev.opera.com/articles/view/6-informacios-architektura-egy-website-t/http://nagygusztav.hu/honlap-interju-mi-az-oldal-celja

  • 24. oldal 1. Alapismeretek

    Ezután nevezzük el az oldalainkat, és írjuk hozzá rövid tartalmi összefoglalókat.

    Hogyan épüljenek fel az oldalaink?

    Az oldal funkcionális látványtervét tervezve el kell döntenünk, hogy

    a klasszikus 1, 2 és 3 oszlopos oldalelrendezés közül melyiket választjuk,

    hova kerüljön a logó, főcím, lábléc stb.

    hogyan épüljön fel a navigációs struktúra (felső menü, bal oldali menü, kenyérmor-zsa menü, címkefelhő, stb.)

    a menük egy vagy többszintűek legyenek

    melyik szélső oszlopban milyen tartalmú dobozokat és milyen sorrendben szerepel-jenek

    Jól át kell gondolnunk, hogy a látogatóink számára leglogikusabb, legáttekinthetőbb struk-túrát tudjuk nyújtani.

    Az oldalelrendezés megtervezéséhez igen hasznos a Paper prototyping módszere (7. ábra).

    6. ábra: Oldaltérkép

  • 1.7. A honlap megtervezése 25. oldal

    További információk:

    http://dev.opera.com/articles/view/6-informacios-architektura-egy-website-t/

    http://www.alistapart.com/articles/paperprototyping

    1.8. HTML alapismeretek

    A HTML nyelv alapfokú ismerete igen hasznos, ha Drupal alapú weboldalt szeretnénk lét-rehozni. A következőkben csak néhány alapfogalmat tudunk tisztázni37.

    1.8.1. Mi az a HTML?

    A HTML a Hyper Text Markup Language rövidítése

    A HTML állomány egyszerű szövegállomány, amely rövid jelölő tagokat tartalmaz

    A jelölő tagok alapján tudja a böngésző, hogyan kell megjelenítenie az oldalt

    A HTML állomány html kiterjesztéssel rendelkezik

    A HTML állományt egyszerű szöveges (editor) programokkal (pl. Jegyzettömb) is létrehozhatunk

    Egy minimális HTML oldal a következőképpen néz ki:

    37 Komolyabb ismerkedéshez a http://dev.opera.com/articles/view/12-a-html-alapjai/ cikksorozatot javasoljuk.

    7. ábra: Paper prototyping példa

    http://dev.opera.com/articles/view/12-a-html-alapjai/http://www.alistapart.com/articles/paperprototypinghttp://dev.opera.com/articles/view/6-informacios-architektura-egy-website-t/

  • 26. oldal 1. Alapismeretek

    Az oldal címe Ez az első honlapom. Ez a szöveg kiemelt.

    A példa magyarázata

    A dokumentum első tagja a . A böngésző erről fogja tudni, hogy hol kezdődik a HTML oldal. Az utolsó tag a , itt ér véget a dokumentum a böngésző számára.

    A és tagok közötti rész a fejléc információ. Az itt megjelenő szöveget a böngésző nem jeleníti meg közvetlenül.

    A tagok közötti szöveget a böngésző a címsorában jeleníti meg.

    A tagok közötti szöveg jelenik meg a böngésző ablakában.

    A és tagok hatására a szöveg kiemelten jelenik meg.

    1.8.2. Tagok

    A HTML állomány egyszerű szövegállomány, amely rövid jelölő tagokat tartalmaz.

    A HTML tagok segítségével elemek definiálhatók.

    HTML tagok jellemzői

    A HTML tagok jelölik ki a HTML elemeket

    A HTML tagot a < és > írásjelek veszik körül (ezek az írásjelek az egyszerű szöve-gekben nem engedélyezettek)

    A HTML tagok általában párban vannak, mint a és

    A pár első tagja a kezdő, a második a záró tag

    A szöveg (tartalom) a kezdő és a záró tag között helyezkedik el

    HTML elemek

    Az előző példában az alábbi egy elem:

    Ez a szöveg kiemeltA HTML elem kezdő tagja , a tartalmazott szöveg Ez a szöveg kiemelt, és a záró tag .

    A következő is egy HTML elem:

  • 1.8. HTML alapismeretek 27. oldal

    Ez az első honlapom. Ez a szöveg kiemelt.

    Az elem kezdő tagja és a záró tagja .

    1.8.3. Tag tulajdonságok (attribútumok, jellemzők)

    A tagok tartalmazhatnak tulajdonságokat is. Ezek a jellemzők járulékos információk az elem egészére nézve.

    Például az tag egy kép beszúrását teszi lehetővé. Ebben az esetben meg kell adnunk, hogy mi a neve a letöltendő képnek. De megadhatjuk a kép helyettesítő szövegét is:

    A tulajdonságok név-érték párokkal adhatók meg, egymástól szóközzel elválasztva akár több is.

    1.8.4. Alapvető HTML tagok

    A HTML legalapvetőbb és leggyakrabban használt tagjai azok, amelyek segítségével címe-ket, bekezdéseket és sortöréseket lehet létrehozni.

    Címek38

    A címek a … tagok segítségével adhatók meg. a legnagyobb (legfelsőbb szintű) címet jelenti, pedig a legkisebbet. (Általában egy oldalon legfeljebb 2-3 szintet indokolt alkalmazni, ekkor pl. a h1 és h2 alkalmazható.) A következő példa bemutatja a cí-mek hierarchiáját:

    Szöveges részek megjelölése HTML-ben valamilyen szöveg Bevezető valamilyen szöveg Általános bekezdések valamilyen szöveg Space — az űr a legvégső határ valamilyen szöveg Blokk szintű elemek valamilyen szöveg A lap szakaszcímei valamilyen szöveg Általános bekezdések valamilyen szöveg

    Bekezdések

    A bekezdéseket a

    taggal lehet definiálni:

    38 Bővebben: http://dev.opera.com/articles/view/15-szoveges-reszek-megjelolese/

    http://dev.opera.com/articles/view/15-szoveges-reszek-megjelolese/

  • 28. oldal 1. Alapismeretek

    Ez egy bekezdés

    Ez egy másik bekezdés

    A bekezdésekhez a böngésző alapértelmezetten térközöket is kapcsol.

    A következő példában hiába szerepel az 'új sor' és több szóköz karakter, a böngésző minden elválasztó karakter-sorozatot egy szóközként értelmez és jelenít meg. A tényleges tördelést a böngésző ablakmérete és a benne levő szöveg határozza meg.

    Ez egy több sorból álló és sok szóközt tartalmazó bekezdés.

    Sortörések

    A
    tag használható, ha új sort szeretnénk kezdeni, de nem akarunk új bekezdést kezde-ni. A
    kikényszeríti a sortörést.

    Ez itt
    egy több
    sorra tördelt bekezdés

    Folyó szövegben használható tagok39

    Kiemeli a szöveget

    Erősebb kiemelés

    Alsó indexet definiál

    Felső indexet definiál

    Beszúrt szöveget jelöl

    Törölt szöveget jelöl

    Linkek40

    A HTML linkeket (hivatkozásokat) használ arra, hogy az oldalunkhoz más tartalmakat kapcsolhassunk.

    Egy link hivatkozni tud egy tetszőleges webes erőforrásra, pl. egy HTML oldalra, egy kép-re, zenére stb.

    A link szintaxisa a következő:

    Megjelenő szövegA href tulajdonsághoz rendelt érték határozza meg, hogy a böngésző hogyan reagáljon a link kattintására. A kezdő és a záró tag közötti szöveg (vagy akár bonyolultabb tartalom) lesz kattintható, és (alapértelmezetten) kék színű, aláhúzott link.

    39 Bővebben: http://dev.opera.com/articles/view/21-kevesse-ismert/ 40 Bővebben: http://dev.opera.com/articles/view/18-html-hivatkozasok/

    http://dev.opera.com/articles/view/18-html-hivatkozasok/http://dev.opera.com/articles/view/21-kevesse-ismert/

  • 1.8. HTML alapismeretek 29. oldal

    A következő példa egy linket definiál a Weblabor honlapjára:

    A Weblaborhonlapja.

    Táblázatok41

    Táblázatokat a tag segítségével lehet létrehozni. Egy tábla sorokat tartalmaz ( tag), és minden sor cellákat ( tag). A tábla cellái szöveget, képet, bekezdést, listát, űrla-pokat, újabb táblázatokat is tartalmazhatnak.

    Nézzünk egy egyszerű, 2•2 cellás táblázatot:

    1. sor, 1. cella 1. sor, 2. cella 2. sor, 1. cella 2. sor, 2. cella

    Listák42

    A HTML támogatja a számozott, felsorolt és definíció-listák létrehozását.

    Felsorolt lista

    A felsorolt listák olyan elemeket tartalmaznak, amelyeket nem kell számozással azonosíta-nunk, ehelyett egy felsorolási szimbólum (alapértelmezetten egy fekete karika) jelzi vizuá-lisan a listaelemek kezdetét.

    A felsorolt lista az elemmel írható le, a lista elem pedig elemmel.

    Kávé Tea

    Számozott lista

    A számozott listák elemei (többnyire) számmal azonosítottak.

    A számozott listát taggal kell létrehozni, a lista elemek az előzőhöz hasonlóan -vel definiálhatók.

    Kávé Tea

    41 Bővebben: http://dev.opera.com/articles/view/19-html-tablazatok/ 42 Bővebben: http://dev.opera.com/articles/view/16-html-listak/

    http://dev.opera.com/articles/view/16-html-listak/http://dev.opera.com/articles/view/19-html-tablazatok/

  • 30. oldal 1. Alapismeretek

    Képek43

    A HTML nyelvben az tag segítségével tudunk képeket definiálni. Ez az elem üres, és nincs záró tagja sem (hasonlóan a
    elemhez).

    A kép megjelenítéséhez először is meg kell adni a src tulajdonságot, vagyis az állomány helyét és nevét. A szintaxis a következő:

    Az url lehet abszolút vagy relatív megadású is. Abszolút:

    A következő abszolút hivatkozás a szerver gyökerében keres:

    A következő hivatkozás relatív. A képet ugyanabban a könyvtárban keresi, ahol a HTML állomány is van:

    Az alt tulajdonság

    Az alt tulajdonság alternatív szöveg definiálását teszi lehetővé. A szabvány szerint tehát ennek a szövegnek akkor kell a böngészőben láthatóvá válni, ha a kép valamilyen oknál fogva nem jeleníthető meg (pl. még nem töltődött le, nem érhető el, vagy eleve ki van kap-csolva a képek letöltése).

    Megjegyzés: a Microsoft Internet Explorer akkor is megjeleníti ezt a szöveget, ha az egérkurzort visszük a kép fölé, de ez eltér a HTML eredeti céljától.

    Méret megadása

    A böngésző ugyan a méret megadása nélkül is meg tudja jeleníteni a képet, mégis célszerű a width és height tulajdonságokat megadni. Lassú kapcsolat vagy sok nagy kép esetén ki-mondottan zavaró lehet, amikor egy újabb kép letöltődésekor – az ekkor ismertté vált mé-ret adatok alapján – a félig megjelent oldal „ugrik”.

    Természetesen a kép fizikai méretétől eltérő méretek is megadhatók, ekkor kicsinyítés, na-gyítás, vagy akár torzítás is lehet az eredmény.

    Kép használata linkként

    Link aktív felületéhez szöveg mellett vagy helyett kép is rendelhető. Erre mutat példát a következő kód:

    43 Bővebben: http://dev.opera.com/articles/view/17-kepek-a-htmlben/

    http://dev.opera.com/articles/view/17-kepek-a-htmlben/

  • 1.8. HTML alapismeretek 31. oldal

    Űrlapok44

    Az űrlapokat arra használhatjuk, hogy különböző módokon lehetőséget adjunk a látogató-nak visszajelzésre, vagyis adatok megadására.

    A elem más elemeket tartalmaz. Ezek az űrlap elemek teszik lehetővé az adatbevi-telt. A leggyakrabban használt elem az . A type tulajdonságával állítható be, hogy pontosan milyen adatbeviteli módot szeretnénk (pl. checkbox, password, radio, text).

    Példaként egy egyszerű hozzászólás űrlap:

    Név: E-mail: Megjegyzés:

    1.8.5. Hogy nézzük meg egy oldal HTML kódját?

    Gyakran előfordul, hogy a weben böngészve megtetszik egy oldal, és szeretnénk megnézni a forrását. (A szerző véleménye szerint ez az egyik legjobb módszer a tanulásra, hiszen ek-kor nem külső, hanem belső motiváló erő hat.) De az is gyakori, hogy a készülő Drupal ol-dalunk HTML/CSS kódját kellene alaposabban megértenünk, a lehetséges hibákat kijavíta-nunk. Hogyan tehetjük ezt meg?

    Egyszerűbb megoldásként keressük meg a böngészőnk Nézet menüjét, majd Forrás, vagy Oldal forrása (vagy valami hasonló nevű) menüpontot.

    A hatékonyabb megoldás viszont a Firefox nevű böngésző használata (amely eleve web-fejlesztők számára lett kifejlesztve, és sok kiterjesztése eleve a HTML forrás könnyen átte-kinthető megjelenítését szolgálja). A kiegészítők közül elegendő a Firebuggal45 megismer-kednünk.

    A 8. ábra jól mutatja, hogyan láthatjuk a kész oldal és a HTML struktúra összefüggéseit.

    44 Bővebben: http://dev.opera.com/articles/view/20-html-urlapok/ 45 http://getfirebug.com/

    http://getfirebug.com/http://dev.opera.com/articles/view/20-html-urlapok/

  • 32. oldal 1. Alapismeretek

    A következő videókkal alaposabban megismerhetjük a Firebug szolgáltatásait:

    rrd (Radharadhya dasa): Firebug 10 percbenhttp://webmania.cc/firebug-10-percben/ http://webmania.cc/firebug-10-percben-2/ http://webmania.cc/firebug-10-percben-3/

    1.9. Tartalomkezelő rendszerek jellemzői

    A Wikipédia szerint46

    „a tartalomkezelő rendszer (angolul Content Management System, CMS) olyan szoftverrendszer, amely nem strukturált információk, mint például az internetes portálok, akár több felhasználó általi elkészítését, kezelését, és tárolását segíti. Továbbá gondoskodik a tartalmak strukturált megjeleníté-séről, statisztikák készítéséről, kiegészítő funkciók integrálásáról.”

    E definícióhoz – könyvünk szempontjából – legfontosabb kiegészítés, hogy tartalomkezelő rendszerek használata esetén a kis-közepes méretű honlapok nem, vagy csak kisebb rész-ben (elsősorban a honlap elindításánál) igényelnek webfejlesztői, programozói közreműkö-dést. A honlap fenntartását akár teljes egészében meg tudja oldani, aki az e könyvben fog-laltakat megfelelő szinten megismeri.

    46 http://hu.wikipedia.org/wiki/Tartalomkezelő_rendszer

    8. ábra: Firebug működés közben

    http://hu.wikipedia.org/wiki/Tartalomkezel%C5%91_rendszerhttp://webmania.cc/firebug-10-percben-3/http://webmania.cc/firebug-10-percben-2/http://webmania.cc/firebug-10-percben/

  • 1.9. Tartalomkezelő rendszerek jellemzői 33. oldal

    1.9.1. Melyiket válasszunk?

    Tartalomkezelő rendszerből sokféle van. Vannak

    fizetősek és ingyenesek/nyílt forrásúak47

    egyszerűbbek és komplexebbek

    különböző szerver környezeten (pl. Java, .Net, PHP, Python, Ruby platformon) üze-meltethetők

    kezdetlegesek és jól kiforrottak

    magyarul elérhetők, vagy csak más nyelven (általában angolul) használhatók

    általános célúak és specializáltak (pl. e-learning, e-commerce, fórum , blog stb.)

    A választáshoz hasznos, ha ki tudjuk próbálni a CMS-t döntés előtt. Itt mutatkozik meg a nyílt forrású rendszerek nagy előnye: akár online, előre telepített módon is kipróbálhatjuk őket. A magyar nyelven is használható, nyílt forrású CMS-ek legtöbbjét a CMS Award48 ol-dalon bárki kipróbálhatja. Ezen kívül (angol nyelven) még több rendszer kipróbálható az OpensourceCMS49 oldalon.

    További nem elhanyagolható előny, ha egy CMS aktív felhasználóiból álló magyar közös-ség is működik. A magyar felhasználók között legnépszerűbb CMS-ek aktív közösséggel rendelkeznek:

    Drupal (http://drupal.hu)

    Joomla (http://www.joomla.org.hu/)

    Moodle (http://moodle.org)

    Wordpress (http://word-press.hu)

    Míg a Moodle oktatási oldalaknál, Wordpress blogok esetén a legnépszerűbb, a Drupal és Joomla az általános kategóriában küzd50.

    Jól látszik, hogy ez alapján nem könnyű a választás. A szerző véleménye azonban az, hogy a Drupal a legtöbb felmerülő szempont szerint előnyös választás.

    47 Érdemes megemlíteni, hogy az ingyenes és a nyílt forrású fogalom nem ugyanazt jelenti. Sokszor azonban, és a CMS-ek esetén különösen sokszor az ingyenesek egyben nyílt forrásúak is.

    48 http://www.cmsaward.hu/ 49 http://opensourcecms.com/ 50 Pl. http://drupal.hu/hirek/20071104/packtnyertes

    http://drupal.hu/hirek/20071104/packtnyerteshttp://word-press.hu/http://moodle.org/http://www.joomla.org.hu/http://drupal.hu/http://opensourcecms.com/http://www.cmsaward.hu/

  • 34. oldal 1. Alapismeretek

    1.10. Mi a Drupal?

    Néhány alapfogalmat érdemes tisztázni a Drupallal kapcsolatban is.

    1.10.1. A Drupal felépítése

    Drupal oldalunk építésekor a CMS motor központi mag része (core) és a kiegészítők (cont-ributions) között különbséget kell tennünk.

    Drupal Motor

    A Drupal alapfunkcionalitásait megvalósító alkalmazás. Már önmagában is rendkívül sok szolgáltatással bír, mégis alapvetően az a feladata, hogy a különböző funkciókat hatéko-nyan fogja össze. Garantált, hogy az itt található kódok alaposan teszteltek, az esetek dön-tő többségében korrektek és használhatóak, valamint a Drupal alapkoncepciójához illesz-kednek. A felfedett hibákra igen gyorsan újabb kiadással reagálnak.

    Kiegészítők

    A Drupal közösség által beküldött kiegészítő funkcionalitások (modulok), kinézetek (smin-kek), felület fordítások és dokumentációk tartoznak ide. Jellegénél fogva nincs olyan erős irányítás alatt, mint a motor, ezért nem csak tökéletesen működő komponenseket talál-hatunk itt. Sajnos előfordul, hogy a kiegészítők fejlesztője egy idő után már nem tartja karban a projektjét.

    Körültekintéssel kell tehát a kiegészítőket használnunk.

    Másrészt tudnunk kell, hogy a fejlesztők (mind a mag, mind a kiegészítők esetén) megkü-lönböztetnek stabil és fejlesztői (dev jelöléssel ellátott) változatot. Az utóbbiakat csak óvatosan, nagy körültekintéssel szabad használni. (Tanuláshoz esetleg alkalmazhatók, de éles környezetben inkább korábbi, stabil változatot használjunk.)

    1.10.2. Ingyenes a Drupal?

    Bizonyos értelemben igen, ingyenes. Más értelemben már nem.

    A Drupal fejlesztői a mai napig ingyen teszik közzé a munkájukat, az alaprendszert és a ki-egészítőket. Mára sok ezren vesznek részt az alaprendszer, és a kiegészítők fejlesztésében, a fordítások készítésében, közösségi tudásbázis építésében vagy éppen népszerűsítő előadá-sok tartásában. A Drupal tehát nem ingyen van, sok ember szabadidejébe került. Érdemes tehát minden alkalommal erre gondolni, amikor a Drupalt alkalmazzuk.

    Aki ebbe a közösségi szellembe belekóstol, egy idő után nem tud csak passzív fogyasztója lenni a közösségnek. Érdemes idejében felkészülni arra, hogy bennünket is meg fog fertőz-ni a szellemisége :-)

  • 22. Drupal kézikönyv

    kezdőknekEz a fejezet segíteni fog a Drupal alapú weboldalak használatában. Bemutatja, hogyan hozzunk létre felhasználói azonosítót (másként fogalmazva: hogyan regisztráljunk), ho-gyan lépjünk be, hogyan állítsuk be személyes adatainkat, és végül, hogyan hozzunk létre tartalmakat (weboldalakat).

    A Drupal egy tartalomkezelő rendszer. Célja, hogy egyszerűen lehessen tartalmakat (szövegeket, képeket, csatolt állományokat, stb.) felvinni, és azokat elérhetővé tenni a láto-gatók számára. Nem kell a technikai részletekkel (túl sokat) foglalkoznunk, elsősorban a tartalmakra kell koncentrálnunk.

    A Drupal a tartalmakat adatbázisban tárolja, ahonnan – a felhasználó böngészőjének kéré-sére – a tartalmakat közzéteszi.

    Természetesen a Drupal lehetőséget ad arra, hogy a weboldal látogatói különböző szerep-körökben és különböző jogosultságokkal használhassák a weboldalunkat. Van, akinek tartalmakat feltölteni, másoknak szerkeszteni, a legtöbb látogatónak pedig „csupán” olvas-ni van lehetősége az oldalakat. (Bár ez utóbbi sem mindig így van, hiszen lehetnek zárt ol-dalak is, amelyeket csak bizonyos látogatók tekinthetnek meg.)

    Ahhoz, hogy minden látogató pontosan azt (nem többet és nem kevesebbet) tehesse meg a honlapon, amire az oldal tulajdonosa vagy adminisztrátora fel akarja jogosítani, bizonyos esetekben elengedhetetlen a látogató személyének beazonosítása. Ennek régóta bevált módszere, hogy a felhasználók számára azonosítót hozunk létre (más néven regisztrálunk), amihez jogosultságokat rendelünk, a felhasználó pedig a honlap későbbi használatai esetén a felhasználónevének és jelszavának megadásával azonosítja magát (bejelentkezik).

    Bevezetésként még érdemes megemlíteni, hogy a Drupal weboldal adminisztrátora jogo-sult arra, hogy a honlapon olyan feladatokat is elvégezzen, amelyek senki másnak nem en-gedélyezettek, például egy regisztrált felhasználó jogosultságainak pontos beállítása.

  • 36. oldal 2. Drupal kézikönyv kezdőknek

    2.1. Felhasználókezelés

    A felhasználó azonosítása azért szükséges, hogy a Drupal el tudja dönteni: mihez van joga a látogatónak.

    2.1.1. Regisztráció

    A Drupal oldalakon a tartalmak beküldése (létrehozása), szerkesztése általában csak re-gisztrált, és bejelentkezett látogatók számára (vagy azok közül is csak némely szűkebb csoport számára) engedélyezett. (Speciális esetekben a látogatók bejelentkezés nélkül is küldhetnek be tartalmakat: tipikusan fórum bejegyzések, illetve hozzászólások esetén szo-kás ezt engedélyezni.)

    A regisztráció – az oldal üzemeltetőjének döntése alapján – kétféle módon történhet:

    saját magunkat regisztráljuk, vagy

    az adminisztrátor regisztrál.

    Saját magunk regisztrálása

    A látogatók maguk végezhetik el a regisztrációt. Ennek módja, hogy a honlap belépésre szolgáló részén megkeressük a Felhasználó létrehozása linket (9. ábra).

    A linkre kattintva megjelenik a Saját adatok oldal (10. ábra), ahol a kívánt Felhasználói név és az E-mail cím megadása szükséges. Ezen kívül további adatok megadására is lehet szükség, illetve lehetőség, az adminisztrátor által meghatározott módon. Sajnos egyre gyakrabban van szükség például a Captcha51 ellenőrzés beiktatására.

    51 „A captcha vagy CAPTCHA (magyarosan kapcsa) egy 2000-ben megjelent védekezési módszer a spamek, közelebbről a kommentspamek ellen. A módszer lényege, hogy a hozzászóláshoz a képen látható szót is be kell írni, ez azonban a képfájlon torzítva jelenik meg, tehát a spamrobot nem ismeri föl.” forrás: http://hu.spam.wikia.com/wiki/Captcha

    9. ábra: Felhasználó létrehozása link

    http://hu.spam.wikia.com/wiki/Captcha

  • 2.1. Felhasználókezelés 37. oldal

    Megjegyzés: Ha az ábrán látható oldalon a jelszó megadására nincs lehetőség, akkor ennek biztonsági oka van, és a jelszó a megadott e-mail címre fog érkezni. Hamarosan visszatérünk erre az esetre.)

    A felhasználói név megválasztásánál egyre elterjedtebb megoldás a saját nevünk alkalma-zása, főleg olyan oldalaknál, ahol a honlap látogatói nem csak virtuálisan (a honlap látoga-tóiként), hanem fizikai valójukban is találkozhatnak, ismerhetik egymást.

    A jelszó kiválasztásánál érdemes a következőket figyelembe venni:

    olyan jelszót válasszunk, amelyik nem található ki a személyünk ismeretében sem,

    minden honlapon más jelszót használjunk,

    a jelszó lehetőleg tartalmazzon számokat, nagybetűket és írásjeleket is, és legalább 6-8 karakterből álljon.

    Fontos megjegyezni, hogy az űrlapokon begépelt adatoknak nem lesz végleges hatásuk, amíg az űrlap alján található Beküldés, Mentés vagy hasonló (jelen esetben Felhasználó létrehozása) feliratú gombra kattintva el nem küldjük azokat a honlapot kiszolgáló web-szervernek.

    A weboldal adminisztrátora szigorúbb lépéseket is beiktathat a fenti regisztrációs folya-matba. Ez azonban az adminisztrátornak csupán lehetősége, nem minden esetben él vele. Ilyen lépések lehetnek például:

    A regisztráció során megadott e-mail címre automatikusan érkezhet egy levél, amelyben a leírt teendőket követve véglegesíthetjük a regisztrációt. (E lépés célja, hogy korrekt, működő e-mail címmel rendelkezzen minden regisztrált látogató.) Eb-ben az esetben a jelszót nem tőlünk várja a weboldal, hanem később tudjuk azt be-állítani.

    A regisztráció adminisztrátori elfogadáshoz kötött is lehet. Ekkor az adminisztrá-tor elfogadásáig csak zárolt (vagyis pillanatnyilag nem használható) regisztrált fel-használóval rendelkezünk, az adminisztrátor engedélye után pedig Aktív felhaszná-

    10. ábra: Felhasználó létrehozása

  • 38. oldal 2. Drupal kézikönyv kezdőknek

    lóvá válunk. (Aktív felhasználónak tehát azt tekintjük, aki be tud jelentkezni az ol-dalra.)

    Az adminisztrátor regisztrál

    Előfordulhat, hogy az adminisztrátor maga hoz létre a felhasználók számára felhasználói azonosítót. Ebben az esetben a Drupal (vagy az adminisztrátor) egy e-mailben értesíti a le-endő felhasználót a regisztráció megtörténtéről. Ennek előnye, hogy a felhasználó megfele-lő jogosultságait már ekkor megkaphatja. Zárt oldalakra csak így lehet bekerülni.

    Az OpenID használata

    Technikailag létező, de Magyarországon alig ismert megoldás az OpenID használata. A Wi-kipédia52 szerint „az OpenID egy nyílt, decentralizált, ingyenes internetes szolgáltatás, ami lehetővé teszi a felhasználók számára, hogy egyetlen digitális identitással lépjenek be kü-lönböző oldalakra”. Természetesen a Drupal alkalmas az OpenID bejelentkezések kezelésé-re.

    2.1.2. Be-, és kijelentkezés

    Addig, amíg az oldalra be nem jelentkezünk a felhasználónév és jelszó megadásával, mind-össze azonosítatlan (anonymous, a továbbiakban névtelen vagy vendég) felhasználóként tudjuk az oldalt használni. Ha ki akarjuk használni a regisztrált felhasználói azonosítónk-kal járó plusz szolgáltatásokat, akkor mindenképpen be kell jelentkeznünk.

    A bejelentkezés legegyszerűbb módja, hogy a 9. ábrán látható űrlapon megadjuk a felhasz-nálónevünket és a jelszavunkat, majd a Belépés gombra kattintunk.

    A sikeres belépésre utal többek között, hogy az eddig látható Belépés űrlap (célja nem lé-vén) nem lesz látható. Látszik viszont helyette az ún. Navigációs menü (11. ábra), amely-nek címe a saját felhasználói nevünk. Itt található a Saját adatok és a Kilépés link, ez utób-bira kattintva ismét névtelen felhasználóvá válunk a Drupal alapú oldal számára.

    A böngészőnk (beállításaitól függően) felajánlhatja, hogy a begépelt adatokat elmenti. Ezt csak akkor fogadjuk el, ha a számítógéphez fizikailag más nem tud hozzáférni. Például net-

    52 http://hu.wikipedia.org/wiki/OpenID

    11. ábra: Navigációs menü

    http://hu.wikipedia.org/wiki/OpenID

  • 2.1. Felhasználókezelés 39. oldal

    kávézóban, iskolai gépteremben nem szabad elmentenünk, mert akkor illetéktelenek hasz-nálhatják a honlapot a mi nevünkben és jogosultságunkkal.

    Ha engedélyezzük a belépési adatok elmentését, akkor a legközelebbi látogatáskor a böngé-szőnk fel fogja ajánlani (12. ábra) a korábbi adatokat, így azokat nem kell újra begépel-nünk.

    Biztonsági okokból lehetőleg mindig lépjünk ki a Kilépés link (11. ábra) segítségével.

    2.1.3. Saját adatok módosítása

    A regisztrált felhasználók saját adataikat megváltoztathatják a Saját adatok (11. ábra) link-re, majd a Szerkesztés fülre kattintva.

    Az e-mail cím és a jelszó megváltoztatása minden esetben lehetséges (13. ábra). Az admi-nisztrátor beállításaitól függ, hogy pontosan ezen kívül mit tudunk az oldalon beállítani. A következők szoktak előfordulni:

    Ha engedélyezve van, megváltoztathatjuk a felhasználónevünket53.

    Ha engedélyezve van, itt feltölthetünk egy saját arcképet, ami például a beküldött tartalmaink, hozzászólásaink mellett jelenhet meg.

    Többnyelvű oldal esetén a felhasználói felület nyelvét megváltoztathatjuk.

    Ha engedélyezve van, az időzóna megadásával korrigálhatjuk a szerver és a mi szá-mítógépünk közötti esetleges időzóna-eltérést.

    53 Ezt ritkán szoktuk engedélyezni, inkább az adminisztrátor hatáskörében szokás hagyni.

    12. ábra: A böngésző ajánlata

  • 40. oldal 2. Drupal kézikönyv kezdőknek

    Ha az oldal többféle kinézettel (sminkkel) rendelkezik, beállíthatjuk a számunkra megfelelőt.

    Ha engedélyezve van, a hozzászólásainknál megjelenő aláírás szöveget is megad-hatunk.

    13. ábra: Saját adatok szerkesztése

  • 2.2. Tartalmak kezelése 41. oldal

    2.2. Tartalmak kezelése

    A Drupal tartalomkezelő rendszer fő célja, hogy a honlap tartalmait (oldalait) kezelje, vagyis lehetővé tegye az oldalak létrehozását, módosítását, törlését, megtekintését. (Termé-szetesen a szolgáltatásokat csak az adott feladat ellátására jogosult felhasználók érhetik el.)

    2.2.1. Tartalmak megtekintése

    Ez az a funkció, amit minden webet használó jól ismer. Az egyes oldalak tartalmait többfé-le módon érhetjük el. Tipikus lehetőségek:

    A címlapon találhatóak általában a legfrissebb tartalmak címei, bevezetői. (Blogok esetén nem csak bevezető, hanem a teljes tartalom megjelenítése is szokásos.)

    Jellemzően felül és bal oldalt megjelenő menüpontok közvetlenül vagy közvetve újabb oldalakra vezethetnek.

    Egyre jellemzőbb, hogy többféle úton is elérhetünk egyes tartalmakat, és ebben többféle navigációs eszköz is a segítségünkre lehet.

    2.2.2. Tartalmak létrehozása

    Amennyiben rendelkezünk megfelelő jogosultságokkal, a navigációs menün megjelenik a Tartalom beküldése link (14. ábra).

    Itt olyan tartalom típusok közül választhatunk, amelyek beküldésére jogunk van. (A 14. ábra esetén csak Oldal típusú tartalmat tudunk beküldeni.)

    A Cím a beküldött oldal címét, míg a Törzs a tartalom érdemi részét várja (15. ábra).

    14. ábra: Tartalom beküldése

  • 42. oldal 2. Drupal kézikönyv kezdőknek

    Összefoglaló és teljes nézet

    A tartalmunk beküldésekor gondoljunk arra, hogy egyes esetekben (pl. címlapra küldött tartalom esetén) nem a teljes tartalom, hanem annak csak egy összefoglalója/előnézete je-lenik meg.

    A törzs megadása felett az összefoglaló és a teljes nézet viszonyát adhatjuk meg. Az alap-értelmezett esetben (a 15. ábra szerint) az összefoglaló a teljes nézetben is megjelenik, tehát mintegy előzetes funkcionál.

    Hogy a tartalomnak mennyi része legyen az összefoglaló, az több módon is eldőlhet. Az alapbeállítások szerint néhány száz karakternyi szöveg kerül automatikusan az összefogla-lóba. Ha nem szeretnénk ezt az automatizmust hagyni, akkor az Összefoglaló elválasztása a kurzornál gombbal ezt kikapcsolhatjuk, és mi magunk dönthetünk róla (16. ábra).

    15. ábra: Oldal beküldése

  • 2.2. Tartalmak kezelése 43. oldal

    Beviteli forma

    A Törzs mező alatt (15. ábra) pontos információkat kaphatunk arra nézve, hogy e bekül-dendő tartalmat hogyan kell megadnunk.

    Szituációtól függően sokféle eset lehetséges. A Drupal alapértelmezett beállításai a 15. áb-rán láthatóak.

    Ahogy láthatjuk, az alapbeállítások szerint néhány HTML tagot is használhatunk a szöve-günk formázására és tagolására. (Nem kell azonban megijednünk, az adatbevitelre több-nyire kényelmesebb, kevesebb szaktudást igénylő eszközök is a rendelkezésünkre állnak.) A leírásban nem szereplő HTML tagok kiszűrésre fognak kerülni.

    Mindenképpen figyelembe kell azonban venni, hogy a weboldalak szövegformázásának lo-gikája (az eltérő megjelenítési logika miatt) eléggé eltér a hagyományos, papír alapú szö-vegszerkesztéstől. Ezért egy kicsit el kell felejtenünk a szövegszerkesztőnk papír alapú logi-káját, és meg kell tanulnunk, mit is jelent a felbontásfüggetlen tipográfia.

    Előfordulhat, hogy a Mentés nem, csak az Előnézet gomb látható. Ez arra utal, hogy az elő-nézet használata kötelező, csak második lépésben fogjuk megtalálni a Mentés gombot.

    Vizuális szerkesztő

    Ha az oldal adminisztrátora engedélyezi, akkor lehetőségünk van ún. vizuális szerkesztő (WYSIWYG54 editor) használatára is. A 17. ábrán látszik, hogy a tartalmak bevitele a vizu-ális szerkesztő segítségével hasonló módon oldható meg, mint ahogy azt a szövegszerkesz-tőnkben is megszokhattuk.

    54 http://hu.wikipedia.org/wiki/WYSIWYG

    16. ábra: Oldal beküldése leválasztott összefoglalóval

    http://hu.wikipedia.org/wiki/WYSIWYG

  • 44. oldal 2. Drupal kézikönyv kezdőknek

    Érdemes azonban figyelembe venni, hogy egy weboldal – eltérően egy nyomtatásra szánt, szövegszerkesztőben készített dokumentumtól, – akár minden látogató esetén máshogy fog kinézni. Ezért érdemes csupán alapvető formázási tevékenységre szorítkozni. (Egy jól beál-lított weboldal esetén csak az engedélyezett elemeknek megfelelő gombok használhatók a vizuális szerkesztőn.)

    Előnézet

    Előnézet kérése esetén megtekinthetjük (18. ábra), milyen lesz az oldalunk, ha véglegesen beküldjük. (Ha most kilépnénk a szerkesztési oldalról, és nem a Mentés gombra kattinta-nánk, akkor az eddig bevitt tartalom véglegesen elveszne.)

    Az oldal Bevezető előnézete akkor fog szerephez jutni, ha az éppen beküldés alatt álló tar-talom a kezdő oldalon (vagy más hasonló listázó oldalon) is megjelenő tartalom lesz. Álta-lában a Teljes tartalom előnézetével kell elsősorban foglalkoznunk.

    Az ismét megjelenő szerkesztőben még szükség esetén módosíthatjuk az oldal tartalmát, majd ha kész vagyunk, kattintsunk a Mentés gombra. Ezzel a tartalmunk elkészült.

    17. ábra: Oldal beküldése vizuális szerkesztővel

  • 2.2. Tartalmak kezelése 45. oldal

    A Mentés után a tartalmunk létrejön, amit a tájékoztató üzenet is megerősít (19. ábra).

    18. ábra: Oldal beküldése vizuális szerkesztővel

  • 46. oldal 2. Drupal kézikönyv kezdőknek

    További információk megadása

    Bizonyos esetben a címen és a törzsön kívül további információk megadására is van lehe-tőség. Néhány eset ezek közül:

    Ha van jogunk hozzá, a tartalmat valamelyik menübe is elhelyezhetjük.

    Fórum téma beküldése esetén (20. ábra) kiválaszthatjuk, hogy melyik fórumhoz tartoz-zon.

    Bizonyos esetekben (tipikusan hírek esetén) megadhatunk (21. ábra) egy vagy több kulcs-szót (más néven címkét vagy jelölőt), amellyel a tartalom témáját jelöljük. A kulcsszavakat (még pontosabban kulcskifejezéseket, mivel több szavasak is lehetnek) vesszővel kell egy-mástól elválasztani.

    20. ábra: Fórum téma beküldése témamegjelöléssel

    19. ábra: A tartalom sikeresen beküldve

  • 2.2. Tartalmak kezelése 47. oldal

    Az így beküldött tartalmak esetén a címen és a törzsön kívül megjelennek (22. ábra) a té-mák is.

    A téma felirata linkként is működik, rákattintva a témához tartozó tartalmak listája érhető el.

    Egyes esetekben (tartalomtípustól és jogosultságoktól függően) a tartalom mellékleteként csatolt állományok is alkalmazhatók. A melléklet állományokra nézve méret- és típuskor-látozás lehet érvényben.

    Az állomány helyét és nevét a Tallózás gombbal adhatjuk meg (23. ábra). A Csatol gomb elvégzi a tényleges feltöltést, majd Leírást adhatunk meg, ami a fájlnév helyett lesz látható.

    Figyelem! Ha az Előnézet gombot használjuk, a megjelenő előnézetben nem szabad a csa-tolmányok linkjére kattintani! Ekkor a csatolmány még nincs a végleges helyén, csak a tartalom beküldésekor fog oda kerülni.

    21. ábra: Tartalom beküldése témamegjelöléssel

    22. ábra: Beküldött tartalom a témák listájával

  • 48. oldal 2. Drupal kézikönyv kezdőknek

    Megjegyzés: egyelőre nem foglalkozunk azzal a kérdéssel, hogy az adott oldal hol (pl. milyen menüpontban) lesz elérhető a honlapunkon.

    2.2.3. Tartalom szerkesztés, törlés

    Ha később visszalátogatunk az előzőleg létrehozott oldalunkra, akkor az oldal címe mellett az aktuális Megtekintés fül mellett a Szerkesztés fület is megfigyelhetjük (19. ábra).

    A Szerkesztés fülön a beküldéshez hasonlóan módosítani vagy akár törölni tudjuk a tar-talmunkat.

    Figyelem! A tartalom törlése nem visszavonható művelet! Ezért inkább a tartalom el-rejtését szokás végezni a tényleges törlés helyett.

    23. ábra: Csatolmányok feltöltése és kezelése

  • 33. Szerver és kliens

    kialakításaA Drupal tartalomkezelő a telepítést és a frissítést lehetővé tevő grafikus telepítővel ren-delkezik. Ennek működéséhez azonban célszerű egy megfelelő környezetet összeállíta-nunk, amely a Drupal számára a lehető legjobb futási feltételeket biztosítja.

    Egyáltalán nem mindegy, hogy a Drupal telepítését a saját, szerverré kinevezett gépün-kön (ún. localhost-on) akarjuk végrehajtani, vagy egy tárhelyszolgáltatónál. Előbbi eset-ben (megfelelő szakértelemmel) gyors hatást tudunk gyakorolni a rendszer konfigurációjá-ra, a szükséges beállításokat (pl. fájl jogosultságok megadása) hamar el tudjuk végezni. Utóbbi esetben viszont lehet olyan szerencsénk, hogy a beállítások megfelelnek a telepítés-hez, és így akár könnyebb dolgunk is lehet; előfordulhat azonban, hogy a rendszergazdá-val kell egyeztetnünk bizonyos módosítások érdekében.

    Tanuláshoz (először) az első eset ajánlható. Nézzük meg, hogyan tudjuk a Windows (3.1. fejezet), illetve Linux (3.2. fejezet) alapú gépünket szerverré alakítani.

    3.1. Az XAMPP integrált telepítő csomag

    Mivel a szerver alkalmazások önálló telepítése nem mindig egyszerű feladat, próbálkozha-tunk előre csomagolt, és minden szükséges alkalmazást telepítő és bekonfiguráló progra-mokkal is. Ezek közül csak egyet nézünk meg közelebbről, a többi alkalmazása hasonló55. A szolgáltatások körében lehetnek jelentősebb eltérések is.

    A szerző által (Windows használata esetén) leginkább ajánlott csomag az XAMPP56. Ennek segítségével ki tudunk alakítani egy a Drupal számára megfelelő futtatókörnyezetet (szer-vert).

    55 A http://www.szgti.bmf.hu/~gtoth/wiki/index.php/Drupal_telepítés_és_konfigurálás oldalon a WAMP szerverrel és az az alatti Drupal telepítéssel ismerkedhetünk.

    56 http://www.apachefriends.org/

    http://www.apachefriends.org/http://www.szgti.bmf.hu/~gtoth/wiki/index.php/Drupal_telep%C3%ADt%C3%A9s_%C3%A9s_konfigur%C3%A1l%C3%A1s

  • 50. oldal 3. Szerver és kliens kialakítása

    Figyelem! Az XAMPP újabb verziói a PHP 5.3-as verzióját tartalmazzák, ami nem alkal-mas egyes Drupal modulok futtatására. Emiatt az XAMPP 1.7.1-es verzióját érdemes letöl-teni a http://sourceforge.net/projects/xampp/files/ címről.

    Letöltésre a következő három közül válasszunk:

    xampp-win32-1.7.1-installer.exe: hagyományos, Windowsos telepítő, itt ezt fogjuk használni

    xampp-win32-1.7.1.exe: önkicsomagoló tömörített állomány; nem telepít, csak ki-csomagol

    xampp-win32-1.7.1.zip: hagyományos tömörített állomány; nem telepít, csak kicso-magol

    3.1.1. Telepítés

    A letöltött telepítőprogram lényegében a telepítéskor szokásos kérdéseket teszi fel. Legfon-tosabb a telepítés helye (24. ábra). Célszerű a C:\xampp, esetleg a C:\Program Files\xampp\ könyvtárat használnunk.

    A telepítés után a Start menüből és parancssorból is vezérelhetjük az alkalmazásokat, de legegyszerűbb az XAMPP Control Panel alkalmazása. A 25. ábrán látható, hogy az Apache és a MySQL futtatását kell kezdeményeznünk.

    24. ábra: A telepítés helye

    http://sourceforge.net/projects/xampp/files/

  • 3.1. Az XAMPP integrált telepítő csomag 51. oldal

    A telepítés után a feltelepült rendszer kipróbálása (böngészőnk cím sorába: localhost) és a MySQL jelszó megadása célszerű a Security oldalon.

    26. ábra: MySQL jelszó megadása

    25. ábra: XAMPP Control Panel

  • 52. oldal 3. Szerver és kliens kialakítása

    Adjuk meg a MySQL root nevű felhasználójának (általunk kitalált) jelszavát57. Ha nem vál-toztatjuk meg, akkor marad az üres jelszó.

    3.1.2. Alap konfigurálás

    Érdemes még megemlíteni, hogy a webszerver a telepítéskor megadott könyvtáron (24. áb-ra) belül létrejött a htdocs nevű alkönyvtár. (Az egyszerűség kedvéért a továbbiakban a C:\xampp\htdocs könyvtárról fogunk beszélni.) E könyvtár tartalmát tekintjük a webszer-ver dokumentum-gyökerének, vagyis (elsősorban) e könyvtár tartalmát tudja a webszerver statikus vagy dinamikus módon kiszolgálni.

    Megjegyzés: Az Apache komplexebb konfigurálásával más könyvtárak is elérhetővé válnak. Pl. a 26. ábrán lát-szik a Security oldal http://localhost/security/index.php útvonala. Ez a fájlrendszerben a C:\xampp\security\htdocs\index.php helyen található.

    A Drupal kipróbálásához itt érdemes például egy drupal nevű alkönyvtárat létrehozni. Eb-ben az esetben a Drupal a localhost/drupal címen lesz elérhető a böngészőnkből. E megol-dás előnye még, hogy így több alkönyvtárban több Drupal oldalt párhuzamosan helyezhe-tünk el, és a phpMyAdmin alkalmazás is elérhető marad a localhost/phpmyadmin címen.

    Szintén egyszerűen kezelhető megoldás, ha a htdocs könyvtárat átnevezzük valami másra, és mi magunk hozzuk létre az üres htdocs könyvtárat. Ekkor a Drupal a localhost címen lesz elérhető a böngészőnkből. (Emiatt a PhpMyAdmin elérése problémás lehet, vagyis csak hozzáértőknek ajánljuk e megoldást.)

    57 A MySQL jogosultságkezelését a http://weblabor.hu/cikkek/mysqltelepites cikkből is megismerhetjük.

    27. ábra: Az xampp\htdocs könyvtár telepítés után

    http://localhost/security/index.phphttp://weblabor.hu/cikkek/mysqltelepites

  • 3.1. Az XAMPP integrált telepítő csomag 53. oldal

    3.1.3. További konfigurálás

    Apache szerverünk finomabb konfigurálása az xampp\apache\conf\httpd.conf állomány szerkesztésével58 végezhető. Szerkesztés után a webszervert mindenképpen újra kell indí-tanunk (Stop, majd Start, 25. ábra).

    Másik könyvtár használata

    Keressük meg a DocumentRoot bejegyzést, és írjuk át a könyvtár elérési útvonalát arra, amelybe a web oldalunkat fejlesztjük. (Fontos, hogy a Linux világában szokásos hagyomá-nyos / jelet, és ne a fordított \ jelet használjuk!)

    Eredeti állapot például:

    DocumentRoot "C:/xampp/htdocs"Új állapot például:

    DocumentRoot "C:/munka/wwwroot"Ezen kívül még keressük meg a

    sort, és ezt is cseréljük le:

    Rövid webcímek használata

    Drupal oldalunk használatához kényelmesebb, és sok szempontból előnyösebb a rövid webcímek59 használata. Ezért keressük meg a konfigurációs fájlban a

    LoadModule rewrite_module modules/mod_rewrite.sosort, és ha # (megjegyzés) jellel kezdődik, töröljük a # karaktert.

    3.2. Telepítés Linux alatt

    Telepítéshez60 mindenképpen a disztribúció saját csomagkezelőjét érdemes használni. Tele-pítsük a következő csomagokat:

    apache2

    php5

    mysql-server

    58 Szerkesztés előtt érdemes biztonsági másolatot készítenünk az állományról.59 A http://localhost/?q=kapcsolat helyett a http://localhost/kapcsolat forma.60 További információk: pl. http://www.tanarurkerem.hu/node/101

    http://www.tanarurkerem.hu/node/101http://localhost/kapcsolathttp://localhost/?q=kapcsolat

  • 54. oldal 3. Szerver és kliens kialakítása

    php5-mysql

    phpmyadmin

    php5-gd

    Ubuntu esetén pl. a /var/www könyvtár a beállított DocumentRoot. Ebbe a könyvtárba fog-juk a Drupal telepítő állományait felmásolni, és később a Drupal is hoz itt létre/módosít fájlokat. Emiatt szükséges, hogy a könyvtár tulajdonosát, vagy hozzáférési jogait megfele-lően állítsuk be.

    Megjegyzés: Most még nem látszanak a konkrét teendők. De érdemes megjegyezni, hogy a későbbi telepítési problémáknál ide kell majd visszalépnünk.

    Figyelem! Itt nincs lehetőségünk biztonsági és hálózati beállításokról tanulnunk. Egy pub-likus webszerver biztonságos beüzemelése már rendszergazdai feladat.

    3.3. Letöltés

    A http://drupal.hu oldalról le kell töltenünk a Drupal alap és a nyelvi csomag legfrissebb verzióit61 (28. ábra).

    A letöltött állományok .tar.gz kiterjesztésétől nem kell megijedni: Total Commanderrel lé-nyegében ugyanolyan egyszerűen kezelhető tömörített formátum, mint a jól ismert .zip.

    61 2010 tavaszán ez a 6.16-os verziót (drupal-6.16.tar.gz) és a 6.x-es fordítást (hu-6.x-1.1.tar.gz) jelentette.

    28. ábra: A telepítőcsomag letöltése

    http://drupal.hu/

  • 3.4. Kitömörítés localhost-ra 55. oldal

    3.4. Kitömörítés localhost-ra

    Ha a saját gépünket szerverré alakítottuk, akkor a htdocs alkönyvtárban korábban (27. áb-ra) létrehozott drupal alkönyvtárba fogjuk bemásolni a tömörített állomány tartalmát. Ke-ressük meg tehát Total Commanderrel az alkönyvtárunkat.

    A másik panelben keressük meg a letöltött állományunkat, lépjünk bele a tömörített állo-mányba kétszer, majd az alkönyvtárba is, jelöljük ki a fájlokat és alkönyvtárakat, majd másoljuk át azokat a htdocs/drupal alkönyvtárunkba. Végeredményként a 29. ábrához ha-sonlót kell látnunk.

    Ugyanebbe a könyvtárba kell kitömörítenünk a magyar fordításban kapott fájlokat is. A magyar csomag úgy van kialakítva, hogy egyrészt a meglévő Drupal könyvtárrendszerbe helyezi saját fájljait, másrészt egy új telepítési profilt is ad a rendszerhez.

    A tömörített fájl paneljén keressük meg a fordítás állományát is, és ugyanide másoljuk át a három könyvtárat. (A 30. ábrán jobb oldalon kijelölt könyvtárakat másoljuk a bal oldalra.)

    29. ábra: Kitömörítés után

    30. ábra: Nyelvi fájlok kitömörítése

  • 56. oldal 3. Szerver és kliens kialakítása

    Ennek eredményeként egy olyan könyvtár struktúrát kell kapnunk, amelyben a Drupal alapcsomagjának könyvtárai és fájljai mellett a magyar csomagban érkezett nyelvi állomá-nyokat is tartalmazza.

    3.5. Fájlok feltöltése távoli szerverre

    E megoldás elsősorban akkor javasolható, ha a saját gépen beüzemelt Drupal működtetésé-ben bizonyos gyakorlatot szerzünk. Legelső alkalommal inkább az előző megoldást érde-mes kipróbálni.

    Mielőtt tovább haladnánk, érdemes megállni egy kérdésre:

    3.5.1. Miért nem jók az ingyenes szolgáltatók?

    Az ingyenes szolgáltatók által nyújtott tárhely általában egyszerű weboldalak tesztelésére alkalmas. A szolgáltatók igazából csak egyfajta ismertséget akarnak maguknak szerezni ezen az áron. Nekik nem az elégedett ügyfél a céljuk, hanem sok olyan ügyfél, aki az in-gyenes szolgáltatás hiányosságait felismerve, fizetős szolgáltatásra vált át.

    A Drupal használatához sok speciális paraméterrel kell rendelkezni a szervernek. Ezek kö-zül a legtöbb ingyenes szolgáltatónál jó néhány nem teljesül. Még ha kisebb-nagyobb problémákon átverekedve magunkat, sikeresen telepítenénk is, az oldal kialakítása közben nagy eséllyel futunk bele valamilyen komoly korlátba.

    Ráadásul az ingyenes szolgáltatók semmilyen garanciát nem vállalnak arra, hogy a szol-gáltatás akár még egy hét múlva is üzemelni fog62, vagy az addig épphogy elegendő szol-gáltatások a jövőben is elérhetőek lesznek.

    3.5.2. FTP kapcsolat

    Szükségünk lesz egy FTP programra, amivel a fájlokat fel tudjuk tölteni a szerverre. Ez nem probléma, a Total Commander el tudja látni az FTP kliens feladatát.

    Megjegyzés: Aki hosszabb távon gondolkozik weboldalak készítésében, mindenképpen érdemes egy célszoft-vert, pl. a FileZillát megismernie.

    A Total Commanderben létre kell hoznunk egy FTP kapcsolatot. (Ezt később többször is használhatjuk, de most egyszer létre kell hoznunk.) Ehhez keressük meg az eszköztár FTP gombját. A felugró ablakon hozzunk létre egy Új kapcsolatot (31. ábra).

    62 A CWI 2008-ban, az Extra 2010-ben egy csapásra megszüntette ingyenes szolgáltatását.

  • 3.5. Fájlok feltöltése távoli szerverre 57. oldal

    A Kapcsolat neveként bármit megadhatunk, ez a kapcsolatok közötti későbbi eligazodásun-kat segíti. A kiszolgáló neve, felhasználói név és jelszó a regisztrációkor/szerződéskötéskor közölt adatokat jelenti.

    Ha sikeresen beállítottuk az FTP kapcsolatunkat, akkor a Kapcsolódás gombbal felépíthet-jük az FTP kapcsolatot, és másolhatjuk is az állományainkat a szerverre.

    Szolgáltatótól függően, van, amikor az FTP bejelentkezés után a gyökér könyvtárunkba kell másolni az állományokat, de igen gyakori, hogy egy public_html nevű könyvtárba.

    Meg kell még jegyezni, hogy egyes szolgáltatóknál további probléma lehet azzal, hogy a fájlok feltöltése után nincs jogunk annak a jogait változtatni(pl. 644 helyett 444 jogosult-ság, vagy tulajdonosváltás beállítása63). Ebben az esetben ezt a lehetőséget a szolgáltatóval kell egyeztetni.

    63 Elméleti háttér pl.: http://www.slackware.hu/node/444

    31. ábra: Új FTP kapcsolat létrehozása

    http://www.slackware.hu/node/444

  • 58. oldal 3. Szerver és kliens kialakítása

    3.6. Az adatbázis előkészítése

    Amennyiben saját gépünket használjuk szerverként, mindenképpen létre kell hoznunk a Drupal számára egy adatbázist.

    E művelet az XAMPP részeként feltelepülő phpMyAdmin segítségével könnyedén megold-ható. A http://localhost/phpmyadmin címen adjuk meg az adatbázis nevét, és hozzuk létre a drupal nevű adatbázist (32. ábra).

    Az adatbázishoz a root nevű felhasználó jelszó nélkül hozzáférhet, ha a telepítés után (26. ábra) nem adtunk meg jelszót.

    Ha a szolgáltatónk biztosítja számunkra az adatbázist, akkor a szolgáltatótól kell megtud-nunk a használható adatbázis nevét, illetve a műveletek végzésére jogosult felhasználó ne-vét és jelszavát.

    32. ábra: Adatbázis létrehozása

    http://localhost/phpmyadmin

  • 44. Telepítés

    Miután előkészítettük a fájlrendszert és az adatbázist, már csak a webes telepítőt kell fut-tatnunk, amely beállítja a Drupal számára a használt adatbázist, felhasználót, illetve létre-hozza az alapértelmezésben alkalmazott adatbázis-szerkezetet. Ennek elindításához láto-gassunk el webböngészőnkkel a http://example.com/drupal/install.php címre, ahol a http://example.com/drupal/ annak a hosztnak, illetve könyvtárnak webszerveren elérhető címe, ahova a fájlokat előkészítettük. (Saját gépünk esetén például http://localhost vagy http://localhost/drupal lesz a szerver címe.)

    4.1. Nyelv választás

    Ha a magyar nyelvi fájlokat is felmásoltuk (30. ábra), akkor most egy nyelvválasztó képer-nyő fogad bennünket angol nyelven (33. ábra).

    Innentől kezdve magyarul szól hozzánk a telepítő. A Drupal egyből kéri (34. ábra), hogy másolással hozzuk létre a sites/default/settings.php állományt.

    33. ábra: Nyelv választás

  • 60. oldal 4. Telepítés

    Figyelem! Nem átnevezni, hanem lemásolni kell a default.settings.php állományt! Addig nem folytathatjuk a telepítést, amíg mindkét állomány a szükséges helyen meg nem talál-ható.

    Szükség lesz még a sites/default/files alkönyvtár létrehozására, valamint a files és sett-ings.php írhatóságára.

    Megjegyzés: Ez Windows alatt, saját gépen csak annyit jelent, hogy ne legyen Írásvédett. Linux alatt az szük-séges, hogy a webszervert futtató felhasználónak legyen joga írni azokat. Gyakorló honlapon a 777 jog meg-adása nem jelent különösebb kockázatot.

    Ha a szükséges lépéseket elvégeztük, az érdemes újra próbálkozni linkkel indítsuk újra az ellenőrzést.

    4.2. Adatbázis-kapcsolat

    A korábban ismertetett lépéseket követve azonnal az adatbázis-beállító képernyőt kell kap-nunk (35. ábra). Kezdjük az Alapvető beállítások csoporttal.

    Az elérhető adatbázis-kezelők listáját (mysql, mysqli, pgsql) csak akkor látjuk, ha a telepítő többféle lehetőséget is felderít.

    XAMPP esetén a 32. ábrán megadott adatbázis nevet, a root felhasználónevet és a beállított jelszavunkat kell megadnunk.

    Legtöbb esetben a webszervert tartalmazó gépen (localhost) találjuk az adatbázis kiszolgá-lót is (a szolgáltató adja meg a pontos információkat), és nem használunk speciális portot vagy táblázat név előtagokat. (Ez utóbbit akkor célszerű alkalmazni, ha az adatbázisunkat más célra is szeretnénk használni.) Ha bármelyik értéke nem megfelelő a számunkra, a Haladó beállítások alatt módosíthatjuk.

    34. ábra: A settings.php másolása szükséges

  • 4.2. Adatbázis-kapcsolat 61. oldal

    Továbblépve a rendszer megpróbálja ellenőrizni, hogy minden szükséges adatbázis műve-let elvégezhető-e. Ha a telepítéshez elengedhetetlen műveletek valamelyikére a megadott adatbázis felhasználó nem jogosult, vagy valamilyen adatot hibásan adtunk meg, akkor erre figyelmeztet, és a hibát el kell hárítanunk. Ha minden előzetes beállítást elvégeztünk, akkor a telepítő létre