Tartalmi kivonat
Nagy Gusztáv Webes tartalomkezelő rendszerek 0.3 verzió 2008. január 2. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Jogi nyilatkozat Nevezd meg! - Ne add el! 2.5 Magyarország A következőket teheted a művel: • szabadon másolhatod, terjesztheted, bemutathatod és előadhatod a művet • származékos műveket (feldolgozásokat) hozhatsz létre Az alábbi feltételekkel: Jelöld meg! A szerző vagy a jogosult által meghatározott módon kell megjelölni a művet (pl. a szerző és a cím feltüntetésével) Ne add el! Ezt a művet nem használhatod fel kereskedelmi célokra. A szerzői jogok tulajdonosának írásos engedélyével bármelyik fenti feltételtől eltérhetsz. A fentiek nem befolyásolják a szabad felhasználáshoz fűződő, illetve az egyéb jogokat. Ez a Legal Code (Jogi változat, vagyis a teljes licenc) szövegének közérthető nyelven megfogalmazott kivonata. Ez a kivonat a http://creativecommons.org/licenses/by-nc/25/hu/ oldalon
is olvasható A teljes licensz a http://creativecommonsorg/licenses/by-nc/25/hu/legalcode oldalon érhető el E jegyzet hivatalos honlapjáról (http://nagygusztav.hu) tölthető le a mindenkori legfrissebb verzió 3. oldal Bevezetés Ezzel a jegyzettel arra vállalkozok, hogy a Kecskeméti Főiskola GAMF Karán tanuló hallgatók „kezébe” olyan írásos anyagot adjak, amely az előadások és gyakorlatok mellett további segítséget ad a Webes tartalomkezelő rendszerek (CMS-ek) megismerésére. Ennek megfelelően a jegyzet zöme nem csupán webfejlesztőknek szól, hanem bárkinek, aki aktívan hozzá szeretne járulni egy honlap működéséhez. A jelen jegyzetben nem tárgyalt webfejlesztői ismeretek megismerésére a Web programozás című jegyzetemet1 ajánlom. Nem utolsó sorban e jegyzetnek az is célja, hogy a webfejlesztők számára gyakran nehéz terhet jelentő végfelhasználói kézikönyv létrehozásához támpontokat adjon. A jegyzet feltételezi a mai
korszerű böngészők, a webalkalmazások, valamint egy irodai programcsomag középszintű ismeretét. Ezek hiányában az anyag elsajátítására több időt kell fordítani. Kecskemét, 2008. január a szerző 1 A legfrissebb változat letölthető a http://nagygusztav.hu oldalról 4. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Köszönetnyilvánítás A nyílt forráskód (open source) filozófiája, és a benne „hívő” szakemberek munkája tette lehetővé, hogy a nyílt forráskódú Drupal tartalomkezelő rendszert megismerjem, és a magam és mások tapasztalatait egy nyílt forráskódú irodai programcsomaggal (OpenOffice.org) leírjam és közkinccsé tegyem A Drupal megismerésében nagy segítségemre volt a hazai Drupal közösség (drupal.hu) által szervezett konferenciákon túl a fórumokon tapasztalt hihetetlen segítőkészség. Igazából sok nevet ki kellene emelnem, hogy kifejezzem hálámat, de csak néhányra van lehetőségem: Goba
(Hojtsy Gábor) http://hojty.hu A Drupal 6 kiadásáért felelős társfejlesztője, a felület fordítást lehetővé tevő alrendszer kezelője, a magyar Drupal fordítási csoport vezetője. A Weblabor egyik vezéralakja Nemzetközi PHP és tartalomkezeléssel foglalkozó konferenciák előadója. pp (Palócz István) http://palocz.hu/ Az NJSZT Webalkalmazások Fejlesztése Szakosztály alapító tagja és elnöke. A PHP Konferencia és Web Konferencia egyik főszervezője Az ezekhez kapcsolódó RoadShow-k ötletgazdája és lelkes résztvevője Ideje nagy részében Drupal és PHP oktatással valamint tanácsadással foglalkozik. Nevéhez fűződik a Drupal Mozikönyv chx (Négyesi Károly) http://drupal4hu.com Részt vett a drupal.hu elindításában Korábban a Drupal biztonsági csapatát vezette, amelynek jelenleg is tagja. A Drupal menürendszerének és űrlap kezelő alrendszerének a felelőse. Edit (Illyés Edit) http://www.oriolainfo A drupal.hu lelkes
cikkírója, valamint oktatóvideók készítője CCK és Views témakörökben Jelentős számú fórum kérdés megoldója pataki (Paksi Attila) http://www.attilapaksihu Portálépítés a gyakorlatban címmel tart kurzust az Eötvös Loránd Tudományegyetemen. A hallgatói által készített leírások egy része a jegyzet részévé vált Papszy (Pap-Szigeti Róbert) http://pap-szigeti.hu/ A GAMF-on főleg PHP-t és adatbázis-kezelést tanít műszaki informatikai szakos hallgatóknak. Szakmai konzulens, oktató-társ, tanuló-társ és szobatárs 5. oldal Tartalomjegyzék 1. Alapfogalmak8 1.1 Honlap típusok8 1.11 Klasszikus céges weboldalak8 1.12 Közösségi oldalak9 1.13 Blogok10 1.2 Tartalomkezelő rendszerek10 1.21 Melyiket válasszunk?11 1.3 Ellenőrző kérdések11 1.4 Feladatok12 2. Drupal kézikönyv kezdőknek13 2.1 Felhasználókezelés13 2.11 Regisztráció13 2.12 Be- és kijelentkezés16 2.13 Saját adatok módosítása16 2.2 Tartalmak kezelése18 2.21
Tartalmak létrehozása18 2.22 Tartalom szerkesztés, törlés22 2.3 Ellenőrző kérdések23 2.4 Feladatok23 3. A honlap megtervezése24 3.1 A honlap célja24 3.2 Ellenőrző kérdések28 3.3 Feladatok28 4. Telepítés előtt29 4.1 A web működése29 4.2 Alapvető hardver és szoftver szükségletek30 4.3 A Drupal felépítése30 4.4 Szerver kialakítása31 4.41 Az XAMPP integrált telepítő csomag31 4.42 Letöltés34 4.43 Kitömörítés localhost-ra34 4.44 Fájlok feltöltése távoli szerverre35 4.45 Az adatbázis előkészítése38 4.5 Ellenőrző kérdések39 4.6 Feladatok39 5. Telepítés40 5.1 Telepítési profil40 5.2 Adatbázis-kapcsolat41 5.3 Sikeres telepítés42 5.4 Ellenőrző kérdések43 5.5 Feladatok43 6. Első lépések44 6.1 Az adminisztrátor regisztrációja44 6.2 Kezdeti problémák47 6.21 Állapotjelentés47 6.22 Fájlrendszer48 6.23 Időzített feladatok49 6.3 Webhely karbantartás50 6. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 6.4 Webhely
információk51 6.5 Ellenőrző kérdések53 6.6 Feladatok53 7. Az alaprendszer moduljai54 7.1 Útvonal álnevek54 7.2 Dátum és idő55 7.3 Keresés beállításai56 7.4 Rövid webcímek57 7.5 Teljesítmény beállítások58 7.51 Gyorstárazás58 7.6 Ellenőrző kérdések60 7.7 Feladatok60 8. Tartalmak61 8.1 Beviteli formák61 8.2 Tartalmak beállításai63 8.3 Tartalom típusok63 8.4 Tartalom beküldése65 8.5 A tartalmak megtekintése67 8.6 Ellenőrző kérdések68 8.7 Feladatok68 9. A honlap kialakítása69 9.1 Alapkérdések69 9.2 Menük és blokkok kialakítása70 9.21 Elsődleges menü70 9.22 Navigációs menü71 9.23 A blokkok beállítása72 9.24 A főmenü elkészítése75 9.3 Ellenőrző kérdések76 9.4 Feladatok76 10. További modulok kiválasztása, telepítése78 10.1 A Hungarian modul78 10.2 A Poormanscron modul79 10.3 A Pathauto modul80 10.4 FCKEditor80 10.5 Az IMCE modul81 10.6 Az Image modul83 10.7 A Simplemenu modul84 10.8 További modulok85 10.9 Ellenőrző
kérdések86 10.10 Feladatok86 11. Látogatók az oldalon87 11.1 Felhasználókezelés87 11.2 Blog oldal kialakítása90 11.21 Tartalmaink címkézése90 11.22 A Tagadelic modul92 11.23 A Comment modul94 11.24 Védekezés a spam hozzászólások ellen96 11.3 Közösségi oldal kialakítása 97 11.31 A Forum modul97 11.32 A Poll modul98 11.33 A Book modul99 11.4 Ellenőrző kérdések99 7. oldal 11.5 Feladatok99 12. A tartalom megjelenítése100 12.1 RSS100 12.11 Az Aggregator modul100 12.2 Sminkek telepítése101 12.3 Ellenőrző kérdések102 12.4 Feladatok102 13. Az MVC modell103 13.1 Az MVC szerepe a Drupalban103 14. A Views modulok104 14.1 Telepítés104 14.2 Kezdőoldal104 14.3 További lehetőségek108 14.4 Ellenőrző kérdések108 15. CCK modulok109 15.1 Telepítés109 15.2 Mező létrehozása111 15.3 Mezők menedzselése115 15.4 Mezők megjelenése115 15.5 Ellenőrző kérdések115 16. CCK és Views esettanulmányok116 16.1 Programok időrendben116 16.2 Online konferencia
jelentkezés120 16.3 A GAMF Kar honlapjának információs struktúrája123 16.4 Feladatok126 16.41 Hírek és archív hírek126 16.42 Nyelviskola127 17. Drupal esettanulmányok128 17.1 Bárányka Keresztyén Óvoda128 17.11 Tervezés128 17.12 Telepítés129 17.2 Poli-Tech 2005 Kft131 17.21 Alkalmazott modulok131 17.22 Oldalfelépítés132 17.23 Felhasználói adatok133 17.24 Hírlevelek135 18. Adminisztrációs feladatok137 18.1 Biztonsági mentés137 18.11 A fájlok elmentése137 18.12 Az adatbázis mentése139 18.2 Honlap átköltöztetése, visszaállítása139 18.21 A settingsphp szerkesztése140 18.22 A fájlok feltöltése140 18.23 Az adatbázis importálása140 18.3 Frissítés140 8. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 1. Alapfogalmak E jegyzet nem vállalkozhat arra, hogy az internet, és különösen a web használatát az alapoktól részletesen bemutassa. Arra azonban igen, hogy a webes tartalom-előállítás értő művelői számára szükséges
ismereteket bemutassa. Megjegyzés: A szerző vágya, hogy a GAMF Karon végzett hallgatók a majdani munkahelyükre vigyék el az itt tanultakat, és a cégük oldalának kialakításában, üzemeltetésében aktívan vegyenek részt. Kezdjük tehát a ma jellemző kis-közepes méretű honlapok jellemző típusainak, főbb szolgáltatásainak áttekintésével. 1.1 1.11 Honlap típusok 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 (1990-es évek első fele) 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. (A szerző még emlékszik olyan weboldalra, ahol az egész „honlap” egyetlen képállomány megjelenítéséből állt.) 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 komolyabban 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. 1.1 ábra: Céges honlap 1.Alapfogalmak 9. oldal Példaként nézzünk meg a Koch Sándor Csongrád Megyei Tudományos Ismeretterjesztő Társulat oldalát (1.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 lehető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ülönösen a webtől idegenkedő vezetők szokták a webes jelenlétet fokozatosan növelni 1.12 Közösségi oldalak Ma, a (sokak által vitatott) Web 2.0 korszakában közösségi oldalak alatt az olyan
„nagyokat” szokás érteni, mint pl az iwiw2 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 részterület alapján gyűlnek össze a szakértők és az érdeklődők. 1.2 ábra: Weblabor Példaként érdemes megnézni két szakmai portál, a Weblabor3 (1.2 ábra) és a Programozói portál4 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 száz 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. Tipikus jellemzőjük tehát e közösségi oldalaknak a valamilyen rendezőelv (pl. már meglévő kapcsolatok egy ifjúsági egyesület vagy gyülekezet oldalán; vagy a közös érdeklődési kör) való rendeződés. 2 http://iwiw.hu 3 http://weblabor.hu 4
http://prog.hu 10. oldal 1.13 Webes tartalomkezelő rendszerek (0.3 verzió) Blogok A weblogok, vagyis webes naplók (legalábbis magyar nyelvterületen) viszonylag újdonságnak számítanak. A gyökereket exhibicionista („magamutogató”) fiatalok személyes, sőt sokszor bizalmas5 naplóinál kell keresni. 1.3 ábra: Doransky - Dobó Mátyás blogja Mára a helyzet jelentősen átalakult. Nem szűntek meg ugyan a személyes (én) blogok, de a jegyzet célját tekintve sokkal nagyobb jelentőségűek az egy-egy független szakértő által fenntartott (pl. Doransky6 a webes trendek világban, 13 ábra), vagy éppen a vállalatokhoz kapcsolódó blogolás Ez utóbbi akár a a cég egészét megjelenítő (ún céges blog), akár a nagyobb vállalatok meghatározó személyiségeinek önálló blogjai. Utóbbira példa olyan neves vállalatok, mint a Sun, Mozilla vagy Microsoft vezető fejlesztőinek blogjai, ahol a legfrissebb szakmai információkat lehet megismerni.
1.2 Tartalomkezelő rendszerek A Wikipédia definíciója szerint 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 – a jelen jegyzet 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észben igényelnek webfejlesztői közreműködést. A honlap fenntartását akár tel- 5 „Nem mondhatom el senkinek, elmondom hát mindenkinek” érzés. 6 http://doransky.hu 1.Alapfogalmak 11. oldal jes egészében meg tudja oldani, aki az e jegyzetben foglaltakat megfelelő szinten megismeri. 1.21 Melyiket
válasszunk? Tartalomkezelő rendszerből sokféle van. Vannak fizetősek és ingyenesek/nyílt forrásúak7 egyszerűbbek és komplexebbek különböző szerver környezeten üzemeltethetők kezdetlegesek és jól kiforrottak magyarul elérhetők, vagy csak más nyelven tudók. 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, ezért e jegyzet a Drupal segítségével történő tartalom-előállításra koncentrál. A választáshoz nem utolsó szempont, hogy ki tudjuk-e próbálni a CMS-t a 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 Award8 oldalon bárki kipróbálhatja. Ezen kívül (angol nyelven) még több rendszer kipróbálható az OpensourceCMS9 oldalán.
További nem elhanyagolható szempont, ha egy CMS aktív felhasználóiból álló magyar közösség is elérhető. A legfontosabb CMS-ek esetén ez szintén megfigyelhető Nehezen vitatható, hogy a magyar felhasználók között a három legnépszerűbb CMS: Drupal (http://drupal.hu) Joomla(http://joomla.hu) Wordpress (http://word-press.hu) Míg a Wordpress blogok esetén a legnépszerűbb, a másik két rendszer az általános kategóriában küzd10. Ebben a jegyzetben természetesen nincs arra lehetőségünk, hogy 2-3 fontosabb CMS-t egymással is összehasonlítva bemutassunk. Ezért e jegyzet a Drupalról fog szólni 1.3 Ellenőrző kérdések Mik a céges oldalak jellemzői? Mik a közösségi oldalak jellemzői? 7 Éremes 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. 8 http://www.cmsawardhu 9 http://opensourcecms.com/
10 „Első helyet ért el Packt Publishing kiadó szavazásán a Drupal! A versenyt öt kategóriában hirdették meg, ebből háromban indulhatott a Drupal. A legjobb PHP alapú nyílt forráskódú tartalomkezelő és a legjobb nyílt forráskódú közösségi tartalomkezelő kategóriában második helyezést ért el, az általános versenyt, vagyis a legjobb nyílt forráskódú tartalomkezelő kategóriát pedig megnyerte!” forrás: http://drupal.hu/hirek/20071104/packtnyertes 12. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Mik a blogok jellemzői? Soroljon fel 5 nyílt forrású tartalomkezelő rendszert! Milyen típusú honlapokhoz ajánlható a WordPress? Hol (és hogyan) keresne az interneten „magyarul beszélő” tartalomkezelő rendszereket? 1.4 Feladatok Keressen néhány blogot, például a http://blog.hu/ vagy a http://blogterhu/ segítségével Keresse fel a fenti három CMS oldalát, és próbálja ki. (Természetesen mindhárom
honlap a saját motorjával készült.) Regisztráljon a CMSAward oldalon, és próbálja ki a fenti rendszerek adminisztrációs oldalait is! Keresse fel az OpensourceCMS oldalt, ahol regisztráció nélkül (bár angol nyelven) tudja a rendszereket kipróbálni. 2.Drupal kézikönyv kezdőknek 13. oldal 2. Drupal kézikönyv kezdőknek Ez 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), hogyan 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átogatók számára. Nem kell a technikai részletekkel foglalkoznunk, csupán 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ő szerepkö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” olvasni van lehetősége az oldalakat. (Bár ez utóbbi sem mindig így van, hiszen lehetnek zárt oldalak 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 jogosult arra, hogy a honlapon olyan feladatokat is elvégezzen, amelyek senki másnak nem engedélyezettek, például egy regisztrált felhasználó jogosultságainak pontos beállítása. 2.1 Felhasználókezelés 2.11 Regisztráció A Drupal oldalakon a tartalmak beküldése (létrehozása), szerkesztése általában csak regisztrá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 megjegyzések beküldése esetén ezt bárki számára meg szoktuk engedni) A regisztráció alapvetően 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 (21 ábra) 14. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 2.1 ábra: Felhasználó létrehozása link A linkre kattintva megjelenik a Felhasználói adatok oldal (2.2 ábra), ahol a kívánt felhasználói név, e-mail cím, és a jelszó kétszeri megadása minden esetben 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 lehet szükség például a Captcha11 ellenőrzés beiktatására 2.2 ábra: Regisztráció (Ha az ábrán látható oldalon a jelszó megadására nincs lehetőség, akkor ennek egy további biztonsági oka van, hamarosan visszatérünk erre az esetre.) 11 „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://huspamwikiacom/wiki/Captcha) 2.Drupal kézikönyv kezdőknek 15. oldal A felhasználói név megválasztásánál egyre elterjedtebb megoldás a saját nevünket alkalmazni, főleg olyan oldalaknál, ahol a honlap látogatói nem csak virtuálisan (a honlap látogatóiként), hanem fizikai valójukban is találkozhatnak, ismerhetik egymást. A jelszó kiválasztásánál12 érdemes a következőket figyelembe venni: olyan jelszót válasszunk, amelyik nem található ki könnyen 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ó feliratú gombra kattintva el nem küldjük azokat a honlapot kiszolgáló webszervernek. A weboldal adminisztrátora szigorúbb lépéseket is beiktathat a fenti regisztrációs folyamatba. 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ó.) Ebben az esetben a jelszót nem tőlünk várja a weboldal (23 ábra), hanem később tudjuk azt beállítani. 2.3 ábra: Regisztráció 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
felhasználóval rendelkezünk, az adminisztrátor engedélye után pedig Aktív felhasználóvá válunk. (Aktív felhasználónak tehát azt tekintjük, aki be tud jelentkezni az oldalra.) 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 12 A jelszó természetesen utólag is megváltoztatható. 16. oldal Webes tartalomkezelő rendszerek (0.3 verzió) értesíti a leendő felhasználót a regisztráció megtörténtéről. Ennek előnye, hogy a felhasználó megfelelő jogosultságait már ekkor megkaphatja Zárt oldalakra többnyire csak így lehet bekerülni. 2.12 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) felhasználóként tudjuk az oldalt használni. Ha ki akarjuk használni a
regisztrált felhasználói azonosítónkkal járó plusz szolgáltatásokat, akkor mindenképpen be kell jelentkeznünk A bejelentkezés legegyszerűbb módja, hogy az 2.1 ábrán látható űrlapon megadjuk a felhaszná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ü, amelynek 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óbbira kattintva ismét névtelen felhasználóvá válunk a Drupal alapú oldal számára. 2.4 ábra: Navigációs menü 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 netkávézóban, iskolai gépteremben nem szabad elmentenünk, mert akkor illetéktelenek
használhatják a honlapot a mi nevünkben és jogosultságunkkal. Ha engedélyeztü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 a korábbi adatokat, így azokat nem kell újra begépelnünk. Biztonsági okokból lehetőleg mindig lépjünk ki a Kilépés link segítségével. Kivételt képezhet az az eset, ha a számítógépünkhöz illetéktelen személyek nem férhetnek hozzá. 2.13 Saját adatok módosítása A regisztrált felhasználók saját adataikat megváltoztathatják a Saját adatok (2.4 ábra), linkre, majd a Szerkesztés fülre kattintva. Az e-mail cím és a jelszó megváltoztatása minden esetben lehetséges. Az adminisztrá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ünket. 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. 2.Drupal kézikönyv kezdőknek 17. oldal 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 alapértelmezetten megjelenő aláírás szöveget is megadhatunk. 2.5 ábra: Saját adatok szerkesztése 18. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 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.21 Tartalmak létrehozása Amennyiben rendelkezünk megfelelő jogosultságokkal, a navigációs menün megjelenik a Tartalom beküldése link. 2.6 ábra: Tartalom beküldése Itt olyan tartalom típusok közül választhatunk, amelyek beküldésére jogunk van. (A 26 ábra esetén csak Oldal típusú tartalmat tudunk beküldeni.) 2.7 ábra: Oldal beküldése A Cím a beküldött oldal címét, míg a Törzs a tartalom érdemi részét várja. A Törzs mező alatt pontos információkat kaphatunk arra nézve, hogy e beküldendő tartalmat hogyan kell megadnunk. Az ábrán is látható például, hogy a web és e-mail címek automatikusan linkként fognak megjelenni. Ezen túl a HTML nyelv itt felsorolt tagjait is 2.Drupal kézikönyv kezdőknek 19. oldal használhatjuk. Nem kell azonban megijedni, az adatbevitelre többnyire jobb eszközök is a rendelkezésünkre állnak. (Lásd 27 ábra) Mindenképpen figyelembe kell azonban venni, hogy a weboldalak
szövegformázásának logikája (az eltérő megjelenítési logika miatt) eléggé eltér a hagyományos, papír alapú szövegszerkesztéstől. Előfordulhat, hogy a Beküldé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 Beküldés gombot. Vizuális szerkesztő A következő á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övegszerkesztőnkben is megszokhattuk: 2.8 ábra: Oldal beküldése vizuális szerkesztővel Érdemes azonban figyelembe venni, hogy egy weboldal – eltérően egy nyomtatásra szánt, szövegszerkesztőben készített dokumentumhoz képest, – 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. Leginkább pedig az ajánlható, hogy – egyszerűbb oldalak kivételével – a kedvenc
szövegszerkesztőnkben állítsuk össze az oldal törzsét, csak a legalapvetőbb formázásokat, és inkább a beépített stílusokat alkalmazva. Végül a vágólapon keresztül illesszük a tartalmat a weboldalunkba (Még egyszer érdemes megemlíteni, hogy a weboldal nem pontosan úgy fog kinézni, mint a szövegszerkesztőnkben) Előnézet Előnézet kérése esetén megtekinthetjük (2.5 ábra), milyen lesz az oldalunk, ha véglegesen beküldjük (Ha most kilépnénk a szerkesztési oldalról, és nem a Beküldés gombra kattintanánk, akkor az eddig bevitt tartalom elveszne.) 20. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Az oldal Bevezető előnézete tipikusan akkor fog szerephez jutni, ha az éppen beküldés alatt álló tartalom a kezdőoldalon is megjelenő hír lesz. Általában a Teljes tartalom előnézetével kell elsősorban foglalkoznunk Itt még szükség esetén módosíthatjuk az oldal tartalmát, majd ha kész vagyunk, Beküldés. Ezután a
tartalmunk kész 2.9 ábra: Tartalom beküldése közben előnézet 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 lehetőség. Néhány eset ezek közül: Fórum téma beküldése esetén kiválaszthatjuk, hogy melyik fórumhoz tartozzon: 2.Drupal kézikönyv kezdőknek 21. oldal 2.10 ábra: Fórum téma beküldése Bizonyos esetekben (tipikusan hírek esetén) megadhatunk egy vagy több kulcsszó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 egymástól elválasztani 2.11 ábra: Tartalom beküldése témamegjelöléssel Az így beküldött tartalmak esetén megjelennek a témák is: 2.12 ábra: Tartalom a témák listájával 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ípuskorlátozás lehet érvényben.) 22. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 2.13 ábra: Csatolt állomány feltöltése Az állomány helyét és nevét a Tallózás gombbal adhatjuk meg. A Csatol gomb elvégzi a tényleges feltöltést, majd Leírást adhatunk meg, ami a fájlnév helyett lesz elérhető. 2.14 ábra: Csatolt állomány feltöltése után leírást adhatunk meg Megjegyzés: egyenlőre nem foglalkozunk azzal a kérdéssel, hogy az adott oldal hol (pl. milyen menüpontban) lesz elérhető a honlapunkon 2.22 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: 2.15 ábra: Megjelent a Szerkesztés fül A Szerkesztés fülön a beküldéshez hasonlóan
módosítani vagy akár törölni tudjuk a tartalmunkat. Figyelem! A tartalom törlése nem visszavonható művelet! 2.Drupal kézikönyv kezdőknek 23. oldal 2.3 Ellenőrző kérdések Melyik a http://drupal.hu honlap legaktívabb része? Hogyan definiálná a tartalomkezelő rendszer fogalmát? Mikor és miért szükséges a látogatók azonosítása? Mi a regisztráció célja? Hogyan történik a felhasználó regisztrációja? Miért kell a felhasználó e-mail címét tárolnunk? Mi az adminisztrátor joga/feladata? Hogyan történik a bejelentkezés? Mi a bejelentkezés következménye? Mit értünk tartalom beküldés alatt? Mi az előnye, ha tartalom beküldésekor vizuális szerkesztőt használatunk? Tartalom beküldésekor miért érdemes megnéznünk az előnézetet? 2.4 Feladatok Ha eddig még nem tette meg, regisztráljon a GAMF honlapján. Figyelje meg, milyen plusz szolgáltatásokat érhet el bejelentkezés után!
Keressen egy tetszőleges Drupal oldalt a http://drupal.hu/linkek/cimkek oldalon, majd ott is regisztráljon, és próbálja ki az alapszolgáltatásokat! 24. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 3. A honlap megtervezése 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 anyagi kárt okozhat. 3.1 A honlap célja 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érendő 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) Természetesen a kérdések akkor is alkalmazhatók, ha a saját vagy cégünk honlapját szeretnénk megvalósítani. Mi a célunk a honlappal? Legelőször tisztáznunk kell, mi a célunk a honlappal, mit akarunk elérni a segítségével. Egy céges oldal esetén általában a következők szoktak megfogalmazódni: Bemutatkozás: kik vagyunk Tevékenység: mit kínálunk (termékek, szolgálatatások) Elérhetőség, kapcsolatfelvétel Közösségi oldalnál a kommunikáció megvalósítása szokott a középpontban megjelenni, míg blog oldalnál a célok között szerepelhet pl. a szakértői tekintély megszerzése Kik lesznek a látogatóink? Tartalomközpontú oldalak esetén olvasóként tekintünk a látogatóinkra. A szolgáltatások, termékek eladásával kapcsolatban érdeklődőként, potenciális vagy tényleges vevőként közelítjük meg a látogatókat. Cél lehet a látogatók törzsvevővé
való „fejlesztése” is. Ha a látogatóknak interakciós lehetőségeket is nyújtani szeretnénk, akkor a közösségi tartalmat előállító szerzőként is tekinthetünk rájuk. Mit szeretnénk bemutatni? Ez a kérdés elsősorban a honlapra kerülő információtömeg struktúráját próbálja felderíteni. Szakmai megfogalmazásban akár adatbázis-tervezésnek13 is mondhatjuk A hangsúly tehát a struktúrán van: milyen tartalmaink lesznek, és milyen kapcsolatok lesznek közöttük. 13 A szerző véleménye szerint ekkor az ún. egyed-kapcsolat diagramm alkalmazása a legmegfelelőbb 3.A honlap megtervezése 25. oldal Információ-központú oldal esetén (mint amilyen például a GAMF honlapja) erősen megjelenhet a cég/intézmény struktúrája, bár ez nem mindig célravezető. Fontos, hogy elsősorban a látogatók fejével, az ő igényeiket „kitalálva” tervezzünk. Céges oldal esetén a termékek, szolgálatatások lesznek a középpontban. Ekkor a
látogatók legfontosabb igénye a korrekt és részletes információközlés, sőt on-line vásárlás, tehát ezt kell a végletekig kiszolgálnunk Ugyanakkor a cég belső struktúrája a látogatók domináns részét nem érdekli, így semmiképpen sem szabad például az egyes vezetők, részlegek bemutatását központi szerepbe állítani. Mik a kulcsfontosságú funkciók? Egy honlap funkciói alatt azt értjük, hogy milyen típusfeladatokat kell megoldania. Az információk közlése legtöbbször szükséges funkció. Ehhez persze áttekinthető struktúra és többféle navigációs lehetőség, legelőször is „szabad szavas” keresési funkció jár. Persze minél többféle igényt kielégítő alternatív navigációs funkciókra is érdemes gondolni, például a címkék (tagok) alkalmazására. Speciálisabb igény a közösségi tartalom-előállítás, aminek hagyományos eszközei a fórumok, hozzászólási lehetőségek biztosítása. A válasz második
szintje akár egy konkrét funkciólista is lehet, pl. több szintű fórum hírlevél RSS csatornák stb. Ilyen megközelítésben azonban érdemes azt is tisztáznunk a megrendelővel, hogy az egyes funkciók alatt ki mit ért. Milyen visszajelzéseket várunk a látogatóinktól? Nehéz elképzelni egy komoly honlapot visszajelzési lehetőség nélkül. Offline lehetőségek A cég vagy személy megnevezése nélkül a honlap komolytalan lesz, hagyományos (postai) cím, vagy telefonszám megadás nélkül pedig hiteltelen. Az e-mail cím megadása általánosnak tekinthető, de sokszor csak egy webmesteri elérhetőséget találunk. A látogatók bizalmát azzal építhetjük, ha szituációkhoz/feladatokhoz kapcsolódó választékot nyújtunk, például megrendelés, reklamáció, webmester és cégvezető címet adunk meg. Szituációfüggő ugyan, de a cég alkalmazottainak személyenkénti elérhetősége sokszor nem célravezető, hiszen a látogatót nem az
érdekli, hogy ki a vezérigazgató-helyettes, hanem a kérdését/problémáját szeretné kielégítően lerendezni. Technikai oldalról érdemes azt is átgondolni, hogy nem jó megoldás az e-mail címet közvetlenül a honlapon (a spam robotok számára elérhető módon) megjeleníteni. Ehelyett egyre gyakrabban kapcsolatfelvételi űrlapot (3.1 ábra) szokás a honlapra elhelyezni 26. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 3.1 ábra: Kapcsolatfelvétei űrlap Online lehetőségek Klasszikus visszajelzési lehetőségek közé tartozik a hozzászólási lehetőség, és bizonyos esetekben a fórum vagy vendégkönyv is. Ma már azonban ennél sokkal több lehetőségünk van Sok látogató nem fogja a fáradságot venni, hogy hosszú szöveges válasz formájában reagáljon a honlapra. (A szerző tapasztalatai szerint ezt a látogatóknak csak néhány százaléka teszi meg) Ennél sokkal kevesebb befektetést igénylő, ugyanakkor mégis hasznos
információkkal szolgáló lehetőség a szavazás (Itt komoly ösztönző tényező lehet, hogy a szavazat „leadása” után szokás egy szavazási állást is megmutatni.) A szavazás egy speciális esete az értékelés. Bizonyos közösségi oldalak központi szolgáltatása a látogatók által egy skálán, valamint szövegesen is értékelt áru/termék Tapasztalatok szerint a látogatók örömmel vesznek részt a tartalom előállításában ajánlók beküldésével. Részt vesznek-e a látogatóink a tartalom előállításában? Az előbb említett ajánló „klasszikus” esete a link ajánlat beküldése. Megfelelő motivációval (például pontrendszer; a „hónap dolgozója” mintájára a hónap fórumozója) azonban a látogatók aktív részvételre ösztönözhetők. Miben fog a tartalom és a szolgáltatások fejlődni (pl. 1 hónap múlva, 1 év múlva)? Ennek a kérdésnek elsősorban az a célja, hogy az esetleges jövőbeli továbbfejlesztések a
időben kiderüljenek. Itt is találó példát vehetünk az építőiparból: a több ütemben való építkezés esetén is meg kell terveznünk az egész épületet, még ha nem is olyan részletességgel, mint az első ütem részeit. Fontos tehát, hogy a perspektívát is alaposan felmérjük 3.A honlap megtervezése 27. oldal Ki fogja az oldalt karbantartani? Nap mint nap könnyedén bukkanhatunk olyan céges weboldalakra, amelyeken jól látszik a több-kevesebb gondossággal és több-kevesebb anyagi ráfordítással egyszer elkészített weboldal, de ugyanakkor süt a folyamatos karbantartás, aktualizálás hiánya. Az ilyen oldalak esetén a látogató hamar lemond a cégről is, amelyben nincs annyi igényesség, sőt előzékenység a látogatók felé, hogy a Friss hírek oldala ne egy hónapokkal azelőtt lejárt érvényességű témával kezdődjön. A honlapok magára maradásának egyik jellemző oka, hogy nincs a honlapon megjelenő hírekért felelőssé
tett ember, esetleg maga a honlap is alkalmatlan a laikus felhasználók által való aktualizálásra. Tisztáznunk kell tehát, hogy a honlap mely részeinek kell változtathatónak lenni, mely részeit és ki fogja karbantartani Milyen csoportos és személyes jogosultsági körökre lesz szükség? A jogosultsági köröket két részre kell bontanunk. A honlap látogatói és üzemeltetői alapvetően más célból fogják az oldalt felkeresni A látogatók esetén a legtipikusabb használati esetek: tartalmak megtekintése hozzászólások megtekintése, hozzászólás lehetősége fórum téma létrehozása Mindezen esetekre minimálisan el kell dönteni, hogy regisztráció nélkül vagy csak regisztráció és belépés után engedélyezzük. Esetleg a regisztrált látogatók jogait alcsoportonként finomíthatjuk Üzemeltetők esetén tipikus feladatok (az elnevezések ettől eltérők is lehetnek): moderátor: a hozzászólások, fórumok felügyelete
hírszerkesztő: hírek beküldése, saját hírek szerkesztése szerkesztő: saját statikus oldalak szerkesztése, oldalak létrehozása adminisztrátor: majdnem14 mindent megtehet, amit a tartalomkezelő rendszer megenged Hol és hogyan szeretnék a honlapot az interneten „reklámozni”? A honlapunk kapcsolatok (linkek) nélkül lényegében elérhetetlen lesz a potenciális látogatók számára. Ezért elemi érdekünk, hogy jó minőségű, tartalmilag releváns oldalakon próbáljunk a honlapunkra mutató linkeket elhelyeztetni. Ehhez először is össze kell gyűjteni ezeket az oldalakat. Az összegyűjtött oldalakat a saját honlapunkon is érdemes elhelyezni, pl. Ajánlott oldalak címmel Ennek két oka: 14 Egy honlap értékét növeli a témához kapcsolódó minőségi oldalak link gyűjteménye. A szerző véleménye szerint mindenkinek csak annyi jogot szabad adni az oldalhoz, ami elengedhetetlenül szükséges. Éppen ezért még az „adminisztrátor”
sem feltétlenül kell, hogy mindent megtehessen Például egy céges oldal esetén a fejlesztő (egyeztetve a megrendelővel) kialakítja a látogatók jogosultságrendszerét Ezt jó eséllyel soha nem kell megváltoztatni, ezért felesleges a téves használat kockázatát felvállalva az oldal tulajdonosának ezeket a jogokat átadni. 28. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A másik oldal szerkesztőjét eleve azzal illik/érdemes megkeresni, hogy mi már kitettük a linket, csak viszonzást szeretnénk kérni. Látogatottsági statisztikákat szeretnének-e megismerni? Igazából ez egy költői kérdés. Célja, hogy a megrendelő átgondolja: mennyire fontos információk nyerhetők ki a honlap látogatottsági statisztikáiból (Megjegyzés: az oldallátogatási statisztikák többsége nem túl sok információt nyújt. Igazán komoly eredményekhez speciális szoftver és speciális tudású szakember szükséges) A honlaptervezés következő
lépését később tesszük meg. 3.2 Ellenőrző kérdések Miért érdemes a honlap fejlesztése előtt tervezni? Mit tart a legfontosabb tervezési kérdésnek a honlap fejlesztése előtt? Kik a GAMF honlap látogatói csoportjai? Mit értünk egy honlap funkciói alatt? Mik a céges weboldalak tipikus funkciói? Mik a közösségi oldalak tipikus funkciói? Mik a blog oldalak tipikus funkciói? Milyen visszajelzésekre lehet szükség weboldalak esetén? Miért fontos, hogy egy honlapnak legyen karbantartója? Soroljon fel legalább 5-féle tipikus felhasználói feladatkört! 3.3 Feladatok Válasszon ki 2-3-at kedvenc weboldalai közül (lehetőleg ne egy összetett portált), és próbáljon a fenti kérdésekre válaszolni, mintha most kellene a weboldalt megterveznie. Valószínűleg nem fog tudni minden kérdésre válaszolni, de ez nem is baj. Találjon ki és tervezzen meg egy még nem létező weblapot a fenti kérdések
megválaszolásával. Lehet saját weblap, saját blog, rajongói (közösségi) oldal, ismerős/családtag, vagy akár „fantom” cég vállalkozása is. 4.Telepítés előtt 29. oldal 4. Telepítés előtt Előismeretként szükséges, hogy áttekintsük a web működésének alapjait. 4.1 A web működése A következő ábra sokat segíthet a további információk megértésében. 4.1 ábra: A kliens-szerver architektúra 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 ugyanazokat az állományokat tudta kiszolgálni, amiket a háttértárain elhelyeztek. (Ez tulajdonképpen statikus tartalmat eredményez, vagyis az ilyen tartalom alapvetően nem változik.) Bizonyos esetekben ez ma is így van:
például egy honlapba 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öszsze vissza kell adni azt válaszul. Később azonban 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 (leggyakrabban15) 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. 15 Mivel jegyzetünk elsősorban a Drupalt ismerteti meg, ezért a szerver felépítését is a Drupalt kiszolgáló
konfigurációra specializáljuk. Más tartalomkezelő-rendszerek jelentősen eltérő konfigurációt is igényelhetnek 30. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 4.2 Alapvető hardver és szoftver szükségletek A jelenleg forgalmazott webtárhelyek többsége megfelel a Drupal 5.x verzió 16 futtatása alapvető követelményeinek. (Az ingyenes tárhelyek eset általában ez nem mondható el: kisebb nagyobb nehézségekbe a legtöbb szolgáltatónál ütközhetünk.) Ezen kívül akár a saját Windows vagy más operációs rendszerrel meghajtott PC-nken is letesztelhető. (Lásd Web programozás jegyzet17). Szerver A minimális követelmények tehát (lsd. 41ábra): webszerver (Apache vagy IIS) PHP 4.33 vagy újabb verzió adatbázis-szerver (MySQL vagy PostgreSQL) Nem nélkülözhetetlen, de ajánlott: PHP levélküldés PHP 5-ös verzió GD library mod-rewrite, .htaccess támogatás cron támogatás 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 az ingyenes Firefox18 a legjobb választás. 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 tökéletesen meg fog felelni a méltán népszerű Total Commander19 (A webszerver és a PHP értelmező által elérhető helyre kell juttatni a Drupal forráskódját és kiegészítő állományait.) 4.3 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 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ékonyan fogja össze. Garantált, hogy az itt található kódok alaposan teszteltek, az ese16 Jelenleg az 5.3-as a legfrissebb
elérhető stabil verzió Az 5x megnevezés arra utal, hogy az 5-ös sorozat bármelyik tagjára lehet gondolni, bár általában a legfrissebb stabil verziót érdemes használni. 17 http://nagygusztav.hu/?q=web programozas jegyzet 18 http://firefox.hu 19 http://totalcommander.hu 4.Telepítés előtt 31. oldal tek döntő többségében korrektek és használhatóak, valamint a Drupal alapkoncepciójához illeszkednek. Kiegészítők A Drupal közösség által beküldött kiegészítő funkcionalitások (modulok), megjelenések (sminkek), felület fordítások és dokumentációk itt találhatóak. Jellegénél fogva nincs olyan erős irányítás alatt, mint a motor, ezért nem feltétlenül csak tökéletesen működő komponenseket találhatunk itt. 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 tehát minden további nélkül alkalmazhatók, de éles környezetben inkább korábbi, stabil változatot használjunk.) 4.4 Szerver kialakítása A Drupal tartalomkezelő a telepítést és a frissítést lehetővé tevő grafikus telepítővel rendelkezik. Ennek működéséhez azonban célszerű egy megfelelő környezetet összeállítanunk, 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ünkön (un. localhost-on) akarjuk végrehajtani, vagy egy tárhelyszolgáltatónál Előbbi esetben (megfelelő szakértelemmel) gyors hatást tudunk gyakorolni a rendszerre, a szükséges beállításokat hamar el tudjuk végezni. Utóbbi esetben viszont lehet olyan szerencsénk, hogy a beállítások megfelelnek a telepítéshez, é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 kezdjünk neki! 4.41 Az XAMPP integrált telepítő csomag Mivel a szerver alkalmazások önálló telepítése nem mindig egyszerű feladat, próbálkozhatunk előre csomagolt, és minden szükséges alkalmazást telepítő és bekonfiguráló programokkal is. Ezek közül csak egyet nézünk meg közelebbről, a többi alkalmazása hasonló. A szolgáltatások körében lehetnek jelentősebb eltérések is A szerző által leginkább ajánlott csomag az XAMPP20. Ennek segítségével ki tudunk alakítani egy a Drupal számára megfelelő futtatókörnyezetet (szervert) A letöltött telepítőprogram lényegében a telepítéskor szokásos kérdéseket teszi fel. Legfontosabb a telepítés helye: 20 http://www.apachefriendsorg/ 32. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 4.2 ábra: A telepítés helye 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. Az ábrán látható, hogy az Apache és a MySQL futtatását kell kezdeményeznünk: 4.3 ábra: XAMPP Control Panel A telepítés után a feltelepült rendszer kipróbálása és a MySQL jelszó megadása célszerű a Security oldalon. Gépeljük be a böngészőnk cím sorába a localhost elérési útvonalat 4.Telepítés előtt 33. oldal 4.4 ábra: MySQL jelszó megadása Adjuk meg a MySQL root nevű felhasználójának (általunk kitalált) jelszavát. Ha nem változtatjuk meg, akkor marad az üres jelszó. Érdemes még megemlíteni, hogy a webszerver a telepítéskor megadott könyvtáron (4.2 ábra) belül létrejött az xampp/htdocs alkönyvtár. E könyvtár tartalmát tekintjük a webszerver dokumentum-könyvtárának, vagyis (elsősorban) e könyvtár tartalmát tudja a webszerver statikus vagy dinamikus módon kiszolgálni. 4.5 ábra: Az
xampphtdocs könyvtár telepítés után A Drupal kipróbálásához itt érdemes például egy drupal nevű alkönyvtárat létrehozni. 34. oldal 4.42 Webes tartalomkezelő rendszerek (0.3 verzió) Letöltés A http://drupal.hu oldalról le kell töltenünk a Drupal alap és a nyelvi csomag legfrissebb verzióit21: 4.6 ábra: A telepítőcsomag letöltése A letöltött állományok .targz 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 4.43 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 (4.5 ábra) létrehozott drupal alkönyvtárba fogjuk bemásolni a tömörített állomány tartalmát. Keressü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 állomá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 ehhez hasonlót kell látnunk: 4.7 ábra: Kitömörítés után 21 2008 elején ez az 5.6-os verziót (drupal-56targz) és az 51-es fordítást (hu-51targz) jelentette 4.Telepítés előtt 35. oldal 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. Gondoskodjunk arról, hogy a magyar fordítás csomag tartalmát is a Drupal könyvtárába másoljuk. 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árt: 4.8 ábra: Nyelvi fájlok kitömörítése Ennek eredményeképpen egy olyan könyvtár rendszert kell kapnunk, amelyben a Drupal alapcsomagjának könyvtárai
és fájljai mellett a magyar csomagban érkezett autolocale modulnak is meg kell jelennie. A továbbiakban az itt látható (webről elérhető) könyvtárat nevezzük Drupal könyvtárunknak. 4.44 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 érdemes kipróbálni 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. (Mivel minden szolgáltató más és más adminisztrációs felületet alkalmaz, és a kapcsolódási információkat is máshogyan közli, ezért itt csupán illusztrációs példákat tudunk közölni.) A Total Commanderben először is 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 új kapcsolatot: 36. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 4.9 ábra: Új FTP kapcsolat létrehozása Kapcsolat neveként bármit megadhatunk, ez a kapcsolatok közötti későbbi eligazodásunkat segíti. A kiszolgáló neve, felhasználói név és jelszó a regisztrációkor/szerződéskötéskor válik elérhetővé Példaként nézzük meg az Extra Technikai beállítások22 oldalát: 4.10 ábra: Az Extra FTP kapcsolatának adatai A CWI esetén az Információk23 oldal mutatja a kiszolgáló nevét, a felhasználónév és jelszó pedig a regisztrációkor megadott. 22 http://extra.hu/front/techfaq 23 http://cwi.hu/admin/informaciok 4.Telepítés előtt 37. oldal 4.11 ábra: A CWI kapcsolat alapadatai Más szolgáltatók esetén is hasonló adatokat kell keresnünk. Ha sikeresen beállítottuk az FTP kapcsolatunkat, akkor a Kapcsolódás gombbal felépíthetjük az FTP kapcsolatot, és
másolhatjuk is az állományainkat a szerverre. Ingyenes szolgáltatók használata Érdemes ismét felhívni a figyelmet arra, hogy az ingyenes szolgáltatók többnyire erősen korlátozott színvonalú szolgáltatást nyújtanak. Ráadásul minden szolgáltató esetén más-más problémák lehetnek Jellemző probléma, hogy a rejtett fájlokat nem mindig mutatják ezek a programok, és a .htaccess ilyennek minősül Ezért külön figyeljünk arra oda, hogy ezt is sikerült-e feltöltenünk Sajnos az ingyenes szolgáltatók nagy része ezt nem engedi, ott nem fogjuk tudni ezt a fájlt feltölteni. Érdekes a helyzet az Extrán. A htaccess fájlt ugyan engedi feltölteni, de a Drupal működéséhez szükséges további funkciók már nem elérhetőek Ráadásul a Total Commanderrel nem is látjuk a zavart okozó rejtett fájlokat, így törölni se tudjuk azokat Ezért az Extra esetén a htaccess fájlokat nem szabad feltölteni Ha esetleg mégis megtennénk, a 4.10 ábrán
látható Webes FTP kliens programunkat itt érheted el linket követve törölhetjük az állományt 38. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 4.12 ábra: Webes FTP felület az Extrán Jogosultságok beállítása Unix rendszeren a bemásolt állományok alapértelmezett jogosultsága alapesetben (a gyakorláshoz) megfelelő lesz24. Hozzunk létre a Drupal telepítési könyvtárában egy files nevű mappát. Ebben fogja a Drupal tárolni a feltöltött állományokat, ezért a webszerver felhasználójának joga kell legyen a könyvtárba történő állomány mentésre. A telepítés során szükség lesz arra, hogy a sites/default/settings.php fájlt a telepítő írni tudja. Addig nem tudjuk megkezdeni a telepítést, amíg ez a fájl nem írható, ezért a telepítés előtt a PHP számára ezt ugyancsak írhatóvá kell tennünk Annak érdekében, hogy a telepítés után ne felejtsük el ezt a jogosultságot visszavonni, a Drupal figyelmeztetni fog
bennünket a telepítés végén az írhatóság megszüntetésére. 4.45 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 megoldható. Adjuk meg az adatbázis nevét, és hozzuk létre az adatbázist: 24 Éles környezetben a nagyobb biztonság érdekében ennél szigorúbb beállításokat kell alkalmazni, de ez már inkább rendszergazdai feladat, és túlmutat a tantárgyunk keretein. 4.Telepítés előtt 39. oldal 4.13 ábra: Adatbázis létrehozása Az adatbázishoz a root nevű felhasználó jelszó nélkül hozzáférhet. Ha szolgáltatónk biztosítja számunkra az adatbázist, akkor a szolgáltatótól kell megtudnunk a használható adatbázis nevét, illetve a műveletek végzésére jogosult felhasználó nevét és jelszavát. Extra esetén pl. az FTP kapcsolat oldalán
(410 ábra) találhatjuk meg az adatbázis adatait is 4.5 Ellenőrző kérdések Mik a Drupal használatának szoftver követelményei a kliens oldalon? Mik a Drupal használatának szoftver követelményei a szerver oldalon? Hogyan tudunk legegyszerűbben meggyőződni arról, hogy a saját számítógépünkön fut-e webszerver? Lehet-e adatbázis-kezelő rendszer nélkül Drupalt működtetni? Indokolja! Mit értünk a Drupal magja (Drupal core) alatt? Írjon két példát Drupal kiegészítőre! Mit jelent a dev megnevezés egy telepítőcsomag nevében? Mikor érdemes alkalmazni a dev csomagokat? 4.6 Feladatok Ha van lehetősége, alakítson ki saját számítógépén szerver környezetet. Regisztráljon valamelyik ingyenes tárhelyszolgáltatónál, és készítse elő telepítésre a tárhelyét. 40. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 5. Telepítés Miután előkészítettük a fájlrendszert és az adatbázis-rendszert, már
csak a webes telepítőt kell futtatnunk, amely beállítja a Drupal számára a használt adatbázist, felhasználót, illetve létrehozza az alapértelmezésben alkalmazott adatbázis-szerkezetet. Ennek elindításához látogassunk el webböngészőnkkel a http://examplecom/drupal/installphp címre, ahol a http://example.com/drupal/ az a hoszt illetve könyvtár webszerveren elérhető címe, ahova a fájlokat előkészítettük (Saját gépünk esetén például localhost vagy localhost/drupal lesz a szerver címe.) 5.1 Telepítési profil Ha a magyar nyelvi fájlokat is felmásoltuk, akkor most egy telepítési profil választó képernyő fogad bennünket (angol nyelven). Csak a második profilt (Drupal localized) választva van lehetőségünk a teljesen magyar nyelvű telepítést követően azonnal magyar nyelven használni a rendszert, ezért válasszuk ezt (5.1 ábra) Az első profil a Drupal rendszerrel alapkiépítésben jár, ez nem fogja a Drupal felületét a
telepítés során magyarítani. 5.1 ábra: Telepítési profil választása A profil választást követően a profilhoz elérhető nyelvet is ki tudjuk választani. Itt a magyar mellett döntsünk (52 ábra) 5.2 ábra: A telepítési nyelv beállítása Innentől kezdve magyarul szól hozzánk a telepítő. Ha valamit elrontottunk az előkészítésben (például nem írható a telepítő számára a sites/all/defaultphp fájl), akkor itt fog figyelmeztetni bennünket arra, hogy addig nem folytathatjuk a telepítést, amíg a hibát el nem hárítjuk. 5.Telepítés 41. oldal 5.2 Adatbázis-kapcsolat A korábban ismertetett lépéseket követve azonnal az adatbázis-beállító képernyőt kell kapnunk (5.3 ábra) 5.3 ábra: Adatbázis beállítás Itt alapértelmezésben csak a felső űrlapelem csoport látható, az alsót nekünk kell lenyitnunk, ha a számunkra fontos adatokat csak ott tudjuk beállítani (5.4 ábra) Sok webszerveren az aktuális 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) Ilyenkor a haladó beállításokkal nem kell törődni, csak a használt adatbázis típust, adatbázis nevet, felhasználói nevet és jelszót kell megadni a korábban beállított vagy a szolgáltatótól kapott adatok szerint. 42. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 5.4 ábra: Haladó beállítások Továbblépve a rendszer megpróbálja ellenőrizni, hogy minden szükséges adatbázis művelet 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 meg kell oldanunk. Ha azonban minden jól megy, akkor a telepítő beállítja a
tábláinkat, és a magyar nyelvű felülethez szükséges szövegeket is az adatbázisba tölti.25 5.3 Sikeres telepítés A telepítés sikerességét mutató képernyő (5.5 ábra) fogad bennünket 5.5 ábra: Sikeres telepítés 25 Ennek hátterében a magyar fejlesztésű autolocale modul áll. 5.Telepítés 43. oldal Nem szabad elfelejtenünk a beállítási fájl (sites/default/settings.php) írási jogának viszszavonását, ha ezt a telepítő nem tudná megtenni Most már a működő webhelyre léphetünk. Itt a Drupal alapértelmezett Garland nevű megjelenése (sminkje) fogad bennünket (5.6 ábra) 5.6 ábra: A telepítés elkészült 5.4 Ellenőrző kérdések Mi annak az előfeltétele, hogy a Drupal már a telepítés közben is magyarul kommunikáljon? Mire szolgálnak a telepítési profilok? Honnan tudhatjuk, hogy a telepítés hiba nélkül megtörtént? 5.5 Feladatok A saját számítógépén telepítse a Drupalt! Egy szolgáltatói
tárhelyen telepítse a Drupalt! 44. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 6. Első lépések 6.1 Az adminisztrátor regisztrációja Az Drupal beköszöntő képernyője (5.6 ábra) információt ad arról, hogy mi a teendőnk a telepítés utáni továbblépéshez. Először is létre kell hoznunk egy felhasználót, amely a továbbiakban minden jogosultsággal rendelkezni fog a rendszer adminisztrációját illetően Ez lesz az első számú felhasználó26. Létrehozására a más webhelyeken megszokott regisztrációs lépéseket kell megtennünk A bejelentkező mezők alatt található egy Felhasználó létrehozása feliratú link, melyre kattintva a kívánt felhasználói nevet és email címünket kell megadnunk(6.1 ábra) A megadott felhasználónév a belépéshez lesz szükséges, de a további látogatók is ezen a néven fognak bennünket látni. (Itt érdemes hangsúlyozni, hogy a magyar helyesírás szabályai szerint érdemes a nevünket leírni)
Az e-mail cím nem fog az oldalon publikusan megjelenni, maga a Drupal rendszer küldhet rá fontos üzeneteket, vagy kapcsolati űrlapon keresztül feladott üzenetek lesznek erre a címre elküldve. 6.1 ábra: Adminisztrátor létrehozása Ezzel létre is jön az első számú felhasználó, és a visszakapott oldal a számunkra generált jelszavunkat is közli némi köszöntés kíséretében (6.2 ábra) Ez valójában annyira „zagyva” jelszó, hogy célszerű a következő megjelenő oldalon megváltoztatnunk egy számunkra megjegyezhetőbbre Az Aktív Állapot azt jelenti, hogy a felhasználó beléphet az oldalra. Ez jó lehetőség lesz az adminisztrátor kezében, hogy esetleg kitiltson valakit az oldalról, de pl. saját maga kizárása súlyos problémát okozna A felhasználói felület nyelve a menüpontok, súgó szövegek stb nyelvét jelentik Megadhatjuk a hozzászólásaink végére automatikusan kikerülő aláírásunkat is Végül beállíthatjuk a saját
időzónánkat is, hogy az időpontok helyesen jelenjenek meg számunkra a továbbiakban A módosítások elküldésével a beállításaink mentésre kerülnek. Tesztelésként akár ki is léphetünk az adminisztrátori jogosultságunkból (bal oldal: Kilépés), majd a Felhasználónév és jelszó megadása után ismét adminisztrátori jogosultságokkal látjuk a honlapot. 26 Adatbázis-szinten is ő az 1-es kódú felhasználó. 6.Első lépések 45. oldal Az ábra bal oldalán a Navigáció nevű bal oldali menüblokk jelent meg, bár bejelentkezett felhasználóként a blokk címeként az azonosítónkat (az ábrákon Nagy Gusztáv) láthatjuk. Itt érhetjük el a mostantól sokat használt Adminisztráció menüpontot és almenüit 46. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 6.2 ábra: Adminisztrátor létrehozása 6.Első lépések 47. oldal 6.2 Kezdeti problémák Amikor megkíséreljük első alkalommal megtekinteni a webhely
adminisztrációs oldalát, biztosan egy piros dobozban írt figyelmeztetés fogad majd bennünket az oldal tetején (6.3 ábra) Ez figyelmeztet arra, hogy még nincs minden rendben a Drupal webhelyünk beállításával. 6.3 ábra: Adminisztráció oldal Itt legalább egy, az időzített feladatokkal kapcsolatos hibát fogunk kapni, ami felhívja a figyelmünket, hogy nem állítottuk még be az időzített feladatokat. De ugyanitt kapunk figyelmeztetést akkor is, ha a korábbi lépésekben a beállítás fájlt nem tettük újra írásvédetté, vagy a fájlok feltöltésére használt könyvtárat nem állítottuk be. Ez a képernyő tulajdonképpen a Drupal környezetének megfelelőségéről ad egy áttekintő jelentést számunkra 6.21 Állapotjelentés Nézzük először az Állapotjelentést. Valamilyen rendszerhiba esetén az adminisztrációs oldal tetején kapunk egy figyelmeztetést (6.3 ábra) Az állapotjelentés oldal a rendszer korrektül működő és hibás
jellemzőire egyaránt rámutat (6.4 ábra) 48. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 6.4 ábra: Állapot jelentés hibákkal Esetünkben az állapotjelentés elsőként a fájlrendszer problémáját mutatja: a rendszer számára nélkülözhetetlen files könyvtár még nem létezik. Ez a könyvtár a rendszer által kezelt fájlok tárolási helyének könyvtára a szerver fájlrendszerében. A megadott könyvtárnak létezni kell és írhatónak kell lennie a Drupal számára 6.22 Fájlrendszer Kattintsunk a felajánlott fájlrendszer beállítások linkre, és a megoldás már meg is érkezik, amennyiben van joga könyvtárat létrehozni a webszervert futtató felhasználónak (6.5 ábra) Amennyiben nincs, a korábban ismertetett módon „kézzel” kell azt létrehoznunk, és esetleg a jogokat beállítanunk 6.Első lépések 49. oldal 6.5 ábra: Fájlrendszer beállításai Ezen kívül beállíthatjuk az ideiglenes fájlok könyvtárát. Ez az a
hely, ahova a feltöltött fájlok kerülnek az előnézet során, és szintén írhatónak kell lennie a webszerver számára. (Linux alatt erre a célra a /temp könyvtár szolgál: a könyvtár tartalmát bármikor, indok nélkül törölheti pl. a rendszergazda) Végül választhatunk a nyilvános vagy a privát letöltési mód között. Figyelem: ezt a beállítást a rendszer működése közben (ha már csatoltunk állományt valamelyik tartalomhoz) nem célszerű megváltoztatni, mivel ennek módosítása problémákat okozhat Privát módot akkor érdemes választani, ha bármilyen letöltendő állománynál esetleg elő fog fordulni, hogy nem mindenki számára szeretnénk elérhetővé tenni, vagy épp a letöltések számát szeretnénk megtudni. Ha egyik ok miatt sem szükséges módosítanunk, hagyhatjuk a nyilvános beállítást 6.23 Időzített feladatok Egy webhely karbantartása során gyakran felmerülnek olyan feladatok, melyeket rendszeresen végre kell
hajtani. A Drupal például rögzíti a rendszerben történt fontosabb eseményeket és az azokhoz kapcsolódó információkat. Ha ez az eseménynapló folyamatosan csak nőne, akkor egyrészt nehéz lenne megtalálni az utóbbi idők fontosabb eseményeit egy esetleges hiba felderítésekor, másrészt az adatbázisunk kezelése is feleslegesen lassulna, a rendelkezésre álló hely pedig egy idő után elfogyna. Ezért célszerű időről-időre kitörölni a régebbi naplóbejegyzéseket Természetesen még számos ilyen időzített feladat van illetve lehet egy Drupal webhelyen, például a változott tartalmak újraindexelése a kereső számára, vagy egy bizonyos időpontban megjelenítendő tartalom közzététele. Az alapproblémát egy böngészőből történő futtatás (6.4 ábra, az időzítő böngészőből is futtatható) időlegesen megoldja. De keressük meg a teljes megoldást is 50. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A Drupal modulok
időzített feladatait a cron.php futtatja le, melynek neve a Unix/Linux rendszereken elérhető cron27 szolgáltatás nevére utal. Amennyiben kiszolgálónkon elérhető ez a szolgálatatás, akkor érdemes ennek segítségével beállítani, hogy adott időközönként lefusson a cronphp Attól függően, hogy milyen szolgáltatónál helyeztük el webhelyünket, különböző módja lehet az időzített feladatok beállításának. Lehetséges, hogy e-mailben kell felkeresnünk a rendszergazdát, előfordulhat, hogy webes felületen tudjuk menedzselni az időzítéseket (ilyen még akár ingyenes szerveren is előfordulhat). Példaként nézzünk meg egy adminisztrációs felületet, más szolgáltatók hasonló adatok megadását engedélyezhetik: 6.6 ábra: Cron beállítás a szolgáltatónál Ha semmilyen módon nem tudjuk a cront futtatni, akkor egy kevésbé elegáns megoldással is megoldhatjuk. (A megoldást később, a 102 fejezetben mutatjuk be) 6.3 Webhely
karbantartás Ha a honlapot nyilvános helyen fejlesztjük, célszerű azt offline állapotba helyezni, és csak a honlap publikálható állapotba kerülésekor visszahelyezni online állapotba (6.7 ábra). 27 „A cron egy háttérfolyamat, amely szabályos időközönként programo(ka)t futtat (például: minden percben, naponta, hetente vagy havonta).” Forrás: http://wikihuphu/indexphp/Cron 6.Első lépések 51. oldal 6.7 ábra: Karbantartás Mindezt a Webhely karbantartás adminisztrációs oldalon tehetjük meg (6.8 ábra) Az offline kapcsolón túl a látogatók számára megjelenítendő üzenetünket is megfogalmazhatjuk. Megjegyzés: A szerző személyes véleménye szerint nagyon káros, ha egy ilyen üzenetben nem szerepel az időpont, amikortól a honlap ismét üzemel majd. Célszerű ezért legalább hozzávetőlegesen meghatározni a nyitás időpontját. 6.8 ábra: Karbantartás Az oldal offline állapotára folyamatosan figyelmeztet bennünket a Drupal
oldalunk: minden oldal tetején olvashatjuk az „Offline módú működés” feliratot (6.9 ábra) Az offline állapotnak még „veszélye” az is, hogy kilépés után maga az adminisztrátor sem fog tudni a szokásos módon belépni, hiszen a nyitóoldalon csak az offline üzenet olvasható, nincs lehetőség a belépésre. Ezért érdemes megjegyezni, hogy ha bármilyen szituációban begépelhetjük a ?q=user szöveget a honlap URL-jének végére a böngészőnk cím sorába, máris kapunk egy belépési lehetőséget. Megjegyzés: A szerző saját oldalán jelenleg nem is jelenik meg a belépésre használható oldalsó blokk, hanem csak az erre az útvonalra illesztett menüpont Belépés címmel. 6.4 Webhely információk A webhely információk oldalán (6.9 ábra) néhány, a honlapunk egészére hatással levő beállítást végezhetünk el. 52. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A webhely neve nemcsak az oldal felső részén, a logó mellett
jelenik meg, hanem a böngésző címsorában is. Az email cím mezőben megadott cím fog feladóként szerepelni minden olyan levélben, amelyet a rendszer küld (pl. regisztrációkor) Másrészt közvetlen erre a címre fogja küldeni a tájékoztató vagy hibaüzeneteket is Esetleg erre a címre fog válasz is érkezni a látogatók részéről A következő három mező (jelmondat, misszió, lábléc üzenet) sminkfüggő, hogy megjelenik-e. Bizonyos sminkek megjelenítik ezeket a szövegeket az oldalon A névtelen felhasználó megnevezése pl. névtelen megjegyzésekkor lesz érdekes, ugyanis az oldalunk név híján ezt a szót fogja a tartalom vagy megjegyzés „tulajdonosaként” megjeleníteni. A node alapértelmezett címlapot csak akkor szokás megváltoztatni, ha a kezdőoldalt nem a friss hírekkel akarjuk megtölteni. 6.9 ábra: Webhely információk 6.Első lépések 53. oldal 6.5 Ellenőrző kérdések Mikor és hogyan lehet adminisztrátor jogú
felhasználót létrehozni? Kit értünk Drupalban zárolt felhasználó alatt? Mikor szokott ez az állapot előfordulni? Hogyan tudunk időzített feladatokat futtatni Drupal alatt? Írjon két példát, milyen feladatokat kell rendszeresen (időzített feladatként) futtatni Drupal alatt! Mi a files alkönyvtár szerepe Drupal alapú honlap esetén? Mire szolgál az ideiglenes fájlok könyvtára? Mikor érdemes egy webhelyet offline állapotba kapcsolni? Mit értünk Drupal esetén alapértelmezett címlap alatt? Hogyan adhatjuk meg az oldal jelmondatát? 6.6 Feladatok Hozzuk létre az adminisztrátor felhasználót! Jelentkezzünk ki, majd be! Változtassuk meg a jelszavunkat, majd ismét lépjünk ki és be! Nézzük meg az Állapotjelentést! Hárítsuk el az esetleges problémákat! (Az időzített feladatot mindenképpen futtassuk le egyszer a linkre kattintva!) Nézzük meg, hogy szolgáltatónk nyújt-e Cron futtatási lehetőséget! Ha
igen, állítsuk be megfelelően! Kapcsoljunk offline állapotba, majd jelentkezzünk ki! Lépjünk ismét be, és kapcsoljunk online állapotra! Állítsuk be az oldalunk legalapvetőbb jellemzőit a Webhely információk oldalon! 54. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 7. Az alaprendszer moduljai A Drupal alapvető funkcióit a modulok segítségével lehet kibővíteni. Ezen az oldalon lehet engedélyezni a már telepített modulokat (Most egyenlőre csak az alaprendszer moduljaival foglalkozunk, a kiegészítő modulok telepítése és alkalmazása későbbi témánk lesz.) Az engedélyezést követően a modul beállításához az Adminisztráció menü megfelelő pontját kell kiválasztani. Egy engedélyezett modul új felhasználói jogosultságok beállítását is igényelheti Az alaprendszer szükséges (vagyis kikapcsolhatatlan) moduljait csak egy gyors lista erejéig vegyük szemügyre: Block Az oldalak fő tartalma körül megjelenő
dobozokat (ún. blokkokat) kezeli Filter A tartalmak szűrésének kezelését végzi, megjelenítésre előkészítve azokat. Node Tartalmak beküldését és megjelenítését lehetővé tevő alapmodul. System A webhely általános beállításait kezeli, az adminisztrátorokat segítve. User Felhasználók regisztrációját és beléptetését teszi lehetővé. Watchdog A rendszer által kiadott üzeneteket naplózza. A lista jól mutatja, mik azok az alapszolgáltatások, amit minimálisan kell tudni egy tartalomkezelő rendszernek. A többi modul ki-be kapcsolása egyszerű művelet: az Adminisztráció/Modulok oldalon a jelölőnégyzet segítségével, majd a beállítások mentésével véglegesíthetjük. Természetesen a modulok bekapcsolás után még konfigurációt is igényelhetnek Most pedig nézzük meg az alaprendszer „nem szükséges” moduljait. (Talán érdemes úgy gondolni ezekre a modulokra, hogy ugyan nem létszükséglet a használatuk, de
többségüket igen gyakran alkalmazzuk.) A sorrend kicsit önkényes, más beállítási sorrendek is logikusak lehetnek 7.1 Útvonal álnevek Az útvonal (Path) modullal a Drupal webcímeihez álnevek rendelhetőek. Ezek az álnevek javíthatják a webcímek olvashatóságát, és segíthetnek az internetes keresőknek a tartalom hatékony indexelésében28. Egynél több álnév is rendelhető egy adott útvonalhoz (bár ez általában nem célravezető megoldás) 28 Ez a sokat emlegetett és sokszor félremagyarázott SEO egyik fontos alapelve. 7.Az alaprendszer moduljai 55. oldal Néhány példa az útvonal álnevekre user/login belepes image/tid/16 aruhaz taxonomy/term/7+19+20+21 aruhaz/termekek/kiegeszitok node/3 kapcsolat Az útvonal modul a megfelelő jogosultsággal rendelkező felhasználók számára egy kiegészítő mezőt jelenít meg a tartalmak beküldési és szerkesztési űrlapján, mely segítségével a tartalom útvonalát elfedő álnév
közvetlenül megadható. Emellett saját felületet nyújt a már meglévő álnevek megtekintésére és szerkesztésére. Így az Adminisztráció/Útvonal álnevek oldalt közvetlenül ritkán használjuk, akkor is elsősorban áttekintő listaként. 7.2 Dátum és idő A dátum és idő megjelenítésével kapcsolatos beállítások, valamint a rendszer alapértelmezett időzónája állíthatók be (7.1 ábra) 7.1 ábra: Dátum és idő A beállítási lehetőségek magukért beszélnek. Regisztrált felhasználók számára akkor érdemes engedélyezi az időzóna testreszabását, ha előfordulhat, hogy a szerver és a látogatók más időzónába tartoznak. 56. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A három dátumforma beállításánál csak nagy vonalakban tudjuk elérni a magyar nyelvtannak megfelelő formát. Erre végleges megoldást egy külső modul29 telepítése fog jelenteni, amire később fogunk visszatérni A hét első napjának
beállítása naptár jellegű megközelítés esetén lesz fontos. 7.3 Keresés beállításai Ritka kivételtől eltekintve nem érdemes a keresés funkciót (Search modul) kikapcsolni, hiszen nagyon hasznos szolgáltatást nyújthatunk minimális költségért cserébe (7.2 ábra) 7.2 ábra: Keresés űrlap A kereső modul kulcsszavak kereshetőségével ruházza fel a rendszert. Egy nagy webhelyen a kereső használata gyakran az egyetlen módja egy tartalom megtalálásának A kereső segítségével felhasználók és tartalmak egyaránt megtalálhatóak kulcsszavak alapján A keresőmotor a webhelyen közzétett tartalmak és felhasználói adatok alapján felépített index segítségével működik. A modul beállításaival szabályozható az index feltöltésének módja. Az időzítő (cron) beállítása és rendszeres futtatása szükséges a kereső működéséhez Az index százaléka adja meg az időzítő egyszeri lefutásakor leindexelendő tartalmak számát. Az
érték alacsonyra állításával elkerülhető, hogy az időzítő túllépje a maximális futási időt, vagy kifogyjon a rendelkezésre álló memóriából Az alapbeállításokhoz képest talán a sorba rendezés szempontjainak súlyozását érdemes átgondolni. Megjegyzés: A modul csak egész szavakat indexel, így szótöredékekre sajnos nem tudunk vele keresni. 29 Hungarian modul 7.Az alaprendszer moduljai 57. oldal 7.3 ábra: Keresés beállításai 7.4 Rövid webcímek Lehetőség van rövid webcímek használatára, azaz a ?q= webcím résztől való megszabadulásra. A rövid webcímek bekapcsolása előtt egy kis ellenőrzést kell futtatni annak érdekében, hogy a kiszolgáló megfelelő beállítását a rendszer ellenőrizze E szolgálatatás megfelelő működése érdekében a webszerver konfigurálásához kell nyúlnunk, ami jellemzően a rendszergazda feladata, és túlmutat a jelen jegyzet keretein is. Itt mi csupán a bekapcsolás lehetőségét
tudjuk megnézni, amennyiben ez technikailag lehetséges (7.4 ábra) 58. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 7.4 ábra: Rövid webcímek Ha a Rövid webcímek tesztjének futtatása gombra kattintva újra ez az oldal jelenik meg, a fenti lehetőségek átállíthatóak lesznek. Ha azonban egy Az oldal nem található üzenet jelenik meg, a kiszolgáló beállítását módosítani kell. Az ábrán az Engedélyezett kapcsoló nem kiválasztható (szürke), ami mutatja, hogy a rövid webcímek ezen a szerver konfiguráción (itt és most) nem érhetők el. 7.5 Teljesítmény beállítások A Drupal több lehetőséget is ad az oldalunk teljesítményének finomhangolására. Természetesen ezek a gyorsítási funkciók hátrányokkal is járhatnak, ezért óvatosan kell velük bánnunk. 7.51 Gyorstárazás A gyorstár bekapcsolása jelentős teljesítmény javulást eredményezhet. A Drupal képes az anonim felhasználók (látogatók) által kért webcímeket
illető tömörített gyorstárazott oldalak tárolására és küldésére. A gyorstárazás használatával a Drupal-nak nem kell minden oldallekérésnél előállítania a weblapot, hanem azt a gyorstárból (cache-ből) tudja kiszolgálni. A gyorstárazási módot ajánlott Normál-ra állítani, aminek még nem lehetnek mellékhatásai (7.5 ábra) Minimális gyorstár élettartam Nagy forgalmú webhelyek esetén szükséges lehet a gyorstár élettartamának minimális értéket adni. A gyorstár minimális élettartama az az idő, aminek el kell telnie azelőtt, hogy a gyorstár kiürítésre majd újra feltöltésre kerülne. A hosszabb minimális gyorstár élettartam jobb teljesítményt nyújt, azonban a felhasználók hosszabb ideig nem látják majd a legfrissebb tartalmakat. Fejlesztés esetén érdemes az alapértelmezett 0 értéket meghagyni. 7.Az alaprendszer moduljai 59. oldal 7.5 ábra: Teljesítmény beállítások Sávszélesség optimalizálás A Drupal
alapú honlapunk jó eséllyel több CSS állomány letöltését is szükségessé teszi a dizájn korrekt megjelenítéséhez. A következő lehetőség a webhely felé irányuló kérések számának és méretének csökkentését is lehetővé teszik. Ez csökkentheti a szerver terhelését, a használt sávszélességet, és az oldalak betöltődésének átlagos idejét Ennek a beállításnak az engedélyezése fejlesztés közben nem javasolt Nem kapcsolható be ez a lehetőség, ha a fájl feltöltésekre használt könyvtár nincs bekapcsolva, vagy privát letöltési módot használ a webhely. Az alábbi ábrákon láthatjuk a két mód közti különbséget a generált HTML kimenetet tekintve. 60. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 7.6 ábra: A HTML kimenet a CSS fájlok összevonása nélkül 7.7 ábra: A HTML kimenet a CSS fájlok összevonása esetén Fejlesztés alatt hagyjuk ezt a lehetőséget Tiltott állapotban. 7.6 Ellenőrző kérdések
Mit értünk a Drupal alaprendszer „szükséges” moduljai alatt? Írjon példát a Drupal alaprendszer „szükséges” moduljai közül! Mi az útvonal álnevek használatának előnye? Mi a rövid webcímek használatának előnye? Mit értünk gyorstárazás alatt? Milyen előnyei vannak a gyorstárazás használatának? Milyen hátrányai vannak a gyorstárazás használatának? 7.7 Feladatok Engedélyezze az ismertetett modulokat, és konfigurálja a fenti módon! 8.Tartalmak 61. oldal 8. Tartalmak 8.1 Beviteli formák A tartalomkezelő rendszerek alapvető célja, hogy a tartalom előállításához ne legyen szükség komolyabb webfejlesztői ismeretekre. Ezért a tartalom felviteléhez, formázásához a felhasználók számára olyan segítséget kell nyújtanunk, ami a szövegszerkesztők használatához hasonló, de a felhasználónak ne legyen lehetősége az oldal dizájnjának „tönkretételéhez”. A beviteli formák a felhasználók
által megadható szövegek különböző feldolgozási módjait határozzák meg. A szűrők alkalmazását illetően minden beviteli forma saját lehetőségekkel rendelkezik, segítségükkel többek közt kiszűrhetők a rosszindulatú HTML elemek, vagy automatikusan kattinthatóvá tehetők a beírt webcímek (81 ábra) 8.1 ábra: Beviteli formák Tartalom beküldésekor a felhasználók a számukra megfelelő beviteli formát választhatják ki az engedélyezettek közül. A beviteli formák használata csoportokhoz köthető, és egy alapértelmezett forma is kiválasztható, amely minden látogató számára elérhető lesz. Ezért célszerű alapértelmezettként a lehető legkevesebbet megengedő formát választani Alapértelmezett beviteli forma Először a Filtered HTML formát állítsuk be (beállítás művelet). Változtassuk meg a szűrő nevét a felhasználók számára jobban érthető HTML alap-ra (82 ábra) 62. oldal Webes tartalomkezelő rendszerek (0.3
verzió) 8.2 ábra: Alapértelmezett beviteli forma A csoportok jogosultságát itt nem szűkíthetjük, hiszen az alapértelmezett formának mindenki számára elérhetőnek kell lennie. A szűrők közül a Sortörés átalakítót kapcsoljuk ki, a később beállításra kerülő vizuális szerkesztő (FCKEditor) ugyanis így fog a céljainknak megfelelően működni. A HTML szűrés segítségével korlátozható a felhasználók HTML beküldési lehetősége, ezt mindjárt finomhangolni is fogjuk. Az URL szűrő átalakítja a web és email címeket kattintható linkekké, hagyhatjuk ezt is bekapcsolva. A Beállítás fülön elvégezhetjük a finomhangolást is. Most mindössze egyetlen beállítást változtassuk meg: Az Engedélyezett HTML elemek közé vegyük fel a következőket (8.3 ábra): <h3> <h4> <p> <br> <table> <tr> <td> <img> Így az alapértelmezetten elég csupasz formázási lehetőségeket komolyabban
kibővítettük a hosszabb szöveges oldalaknál elengedhetetlen címek, bekezdések, valamint a táblázatok és képek beviteléhez. 8.Tartalmak 63. oldal 8.3 ábra: Engedélyezett HTML elemek Mielőtt tényleges tartalommal töltenénk fel a honlapunkat, állítsuk be a tartalmaink jellemzőit is. 8.2 Tartalmak beállításai Ezen az oldalon először is beállíthatjuk, hogy pl. a kezdőoldalon hány tartalom előzetes (tipikusan hír) jelenjen meg egyszerre (8.4 ábra) Itt a 10 egy szokásos érték, általában nem szükséges megváltoztatni. 8.4 ábra: Tartalmak beállításai A bevezető hossza szintén egy általában megfelelő 600-as értéket tartalmaz, nem szükséges megváltoztatnunk. (A HTML tartalmi egységeket nem fogja „kettévágni” ez a határ, tehát ténylegesen nem 600 karakter lesz a bevezető hossza) Az előnézet szükségességét azonban érdemes bekapcsolni. Ennek hatására a felhasználónak a tartalom beküldésekor mindenképpen meg kell
néznie a készülő oldal előnézetét Ez különösen kezdő felhasználók esetén fontos.30 8.3 Tartalom típusok A tartalom típusok arra szolgálnak, hogy a különböző jellegű tartalmakat logikailag el tudjuk egymástól különíteni, illetve a későbbi munkát a jellemzőik testreszabásával jelentősen meggyorsítani. (Hamarosan látni fogjuk ennek előnyeit) Alapértelmezetten a Drupal két tartalomtípust ismer: Írást és Oldalt. E kettő között az alapbeállítások esetén az az egyetlen különbség, hogy az Írás alapértelmezetten megjele30 A szerző egyedül az oldal kezdő-, a mások számára nem elérhető fázisában szokta kikapcsolni a gyorsabb tömeges feltöltés érdekében. 64. oldal Webes tartalomkezelő rendszerek (0.3 verzió) nik a kezdőoldalon, az időbeli aktualitással rendelkező tartalmak között, míg az Oldal alapértelmezetten nem. A szerző véleménye szerint logikusabb, ha az Írást átnevezzük Hírre, kifejezve annak
időponthoz szorosan kapcsolódó jellegét (8.5 ábra), az Oldal elnevezés alatt pedig a statikus, ritkán vagy soha nem változó oldalakat (például Kapcsolat) értjük 8.5 ábra: Hír tartalomtípus beállítása A Név mezőn kívül állítsuk be a Típust is, és adjunk egy rövid leírást is a leendő felhasználóinknak. Például: A hír tartalom típus időponthoz köthető információk megjelenítéséhez használható. Rendelkezik címmel, bevezetővel és hosszabb tartalommal. 8.Tartalmak 65. oldal A Törzs mezőnél szintén célravezetőbb a Tartalom megnevezés, és kitölthetjük a beküldési irányelveket is, hogy instrukciókkal lássuk el a hírbeküldőket. Ennek pontos megfogalmazásának elsősorban akkor van jelentősége, ha sokan fognak tartalmat beküldeni Az egyik legérdekesebb részhez érkeztünk: az Alapértelmezett beállítások határozzák meg, hogy a beküldött tartalmakkal mi történjen. A tartalmak adminisztrációja
jogosultsággal rendelkező felhasználók befolyásolhatják ezeket a beállításokat A Közzétett kapcsoló azt határozza meg, hogy a beküldött tartalom a nyilvánosság számára elérhető-e. Ha ezt kikapcsoljuk, akkor tulajdonképpen piszkozatot, félkész tartalmat hozunk létre, amit persze később megváltoztatva a tartalom publikussá válik Itt, az Alapértelmezett beállításoknál ezt nem kell kikapcsolnunk. A Hír és az Oldal között itt következik a leglényegesebb különbség: a Címlapra kerül kapcsoló befolyásolja, hogy a tartalom alapból kikerüljön-e a címlapra, vagy ne. Hírnél ezt persze hagyjuk bekapcsolva. A címlapon a tartalmak alapértelmezetten fordított időrendben jelennek meg, vagyis a legfrissebb hír legfelül. Ez alól kivételt tehetünk: ha bekapcsoljuk a Kiemelt, az oldal tetejére kapcsolót, akkor a későbbi hírektől függetlenül ez a hír lesz a legelső Végül az Új verzió készítése kapcsoló akkor hasznos, ha a
tartalom módosításakor meg akarjuk őrizni az előző verziót is, hogy esetleg később vissza lehessen rá térni. Enélkül egy tartalom módosítása végérvényesen felülírja az előző verziót. Az eddigiek alapján módosíthatjuk az Oldal tartalomtípusunk beállításait is, elsősorban a szövegeket. A későbbiekben pedig találkozni fogunk más tartalomtípusokkal is, mint pl. Könyv, Blogbejegyzés, Fórum téma, sőt magunk is definiálhatunk egyedi tartalomtípusokat31 8.4 Tartalom beküldése Sok előkészítés után elérkeztünk oda, hogy beküldjük az első, tesztelésre szolgáló tartalmunkat. Az eddigi ábrákon is jól látható volt a Navigáció nevű bal oldali menüblokk, bár bejelentkezett felhasználóként a blokk címeként az azonosítónkat (az ábrákon Nagy Gusztáv) láthattuk. Itt most a Tartalom beküldése menüponton kell kattintanunk Mind a menüben, mind az oldalon választhatunk a rendelkezésre álló tartalomtípusok közül (8.6
ábra) Ez utóbbinál megjelenik a korábban megadott leírásunk is 8.6 ábra: Tartalom beküldése 31 Ennek elsősorban a CCK modulok használata esetén lesz jelentősége. 66. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A kipróbálás kedvéért küldjünk be egy hírt a honlap fejlesztésével kapcsolatban (8.7 ábra) Elsőre csak a hír címét és tartalmát töltsük ki 8.7 ábra: Hír beküldése Ahogy az ábrán is látszik, csak az Előnézet gombbal tudunk továbblépni. A kapott hibaüzenetnek megfelelően (A beküldött Hír szövegtörzse túl rövid. Legalább 10 szóból kell állnia.) bővítsük a szöveget, és nézzük meg a Közzétételi beállítások oldalrészt Jól látszik, hogy a Hír tartalomtípusnál beállítottak szerint a Közzétett és a Címlapra kerül kapcsoló van bekapcsolva Ezt akár felül is bírálhatjuk32 erre a hírre nézve: kapcsoljuk ki a Közzétett kapcsolót. Újabb Előnézet után már látszik, hogyan is fog
a hírünk kinézni. Akár korrigálhatjuk is az elírásokat, végül a Beküldés gombbal mentsük el a hírünket. A mentett hír innentől kezdve létezik (Hír létrejött, 8.8 ábra) Ha pl az előnézetek sorozatában korábban egy másik oldalra navigáltunk volna, akkor a félkész tartalmunk elveszett volna Emiatt a tartalom beküldésekor nagy figyelemmel kell dolgoznunk, illetve a példánkhoz hasonlóan csak piszkozatként (nem Közzétett) is beküldhetjük a tartalmat, amit később tovább bővíthetünk, majd közzétehetünk. 32 Más tartalombeküldők esetén nem biztos, hogy engedélyezni fogjuk az alapbeállítások módosítását. Például erre a lehetőségre építve megoldható, hogy a beküldött híreket a szerkesztő moderálni tudja 8.Tartalmak 67. oldal 8.8 ábra: A beküldött Hír létrejött Jól látszik az ábrán, hogy a tartalmaink megtekintésekor az alapértelmezett Megtekintés mellett szerepel a Szerkesztés lehetősége is. Ez utóbbi
hatására visszajutunk a szerkesztési felülethez, ahol módosítani, bővíteni, törölni, illetve a hír teljes elkészülésekor közzétenni tudjuk azt Ez utóbbit próbáljuk is ki: a Szerkesztés gomb után a Közzétett kapcsolót kapcsoljuk be, majd Beküldés. 8.5 A tartalmak megtekintése Jogos az igényünk, hogy a beküldött tartalmainkat a későbbiekben is bármely látogató megtalálhassa. Ha azonban vadul elkezdünk kattintgatni a honlapunkon, nem mindig egyszerű a hírünket megtalálni. Címlap A figyelmes olvasó azt várja, hogy a hír a kezdőoldalon (a Címlapon) jelenjen meg. Erre azonban az offline működés miatt hiába számítunk. Egy érdekességet azonban kihasználhatunk: A Drupal alatt a tartalmakat ún node-okba szervezve kezelhetjük Innen is sejthető, hogy a következő URL végződés a majdani, publikus címlapot mutatja: ?q=node Ebből is látszik, hogy a Drupal a kezdőoldalnak a jelenlegi beállításoknál a node oldalt tekinti. (Ez a 69
ábra alján, az Alapértelmezett címlapnál is jól látszott) Tartalmak keresése Természetesen van más lehetőségünk is egy tartalom megkeresésére. Korábban is láttunk már, hogy a honlapunkon elérhető egy Keresés mező, amiben kulcsszavak alapján kereshetünk. Természetesen itt csak a publikus és már leindexelt tartalmaink között kereshetünk Az Adminisztráció menüben is van lehetőségünk keresni, itt már az összes tartalom között kereshetünk, például a közzé nem tett piszkozataink között is. A jelen esetben ugyanakkor a legkézenfekvőbb a Tartalom menüpont, ahol listázhatjuk, szűrhetjük az eddigi tartalmakat. 68. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 8.9 ábra: Tartalmak listázása, szűrése A táblázatban közvetlen szerkesztési linket is találhatunk. A Frissítési lehetőségek között válogatva akár csoportosan is végezhetünk műveleteket a tartalmainkkal (Frissítés). A teszt hírünket most már
kikapcsolhatjuk, vagy akár véglegesen törölhetjük is. 8.6 Ellenőrző kérdések Mit értünk alapértelmezett beviteli forma alatt? Kinek van joga használni? Mit értünk HTML szűrés alatt? Miért érdemes használni? Mik az előnyei, hogy Drupalban különböző tartalomtípusokkal dolgozhatunk? Tartalom beküldésekor mi a szerepe a Címlapra kerül kapcsolónak? Tartalom beküldésekor mi a szerepe a Közzétett kapcsolónak? Tartalom beküldésekor mi a szerepe a Kiemelt, az oldal tetejére kapcsolónak? Mi alapján dönti el a Drupal, hogy mi és milyen formában kerüljön a címlapra? 8.7 Feladatok A honlapjára küldjön be különböző típusú, különböző formázásokat tartalmazó tartalmakat! Próbálja ki a különböző beviteli formákat is! Küldjön be nem megengedett HTML tagokkal és Szűrt HTML beviteli formával tartalmat, majd vizsgálja meg a megjelenített tartalom HTML forrását! Állítsa át a Közzétételi
beállításokat, és így is küldjön be újabb tartalmakat! Változtassa meg a tartalomtípusok beállításait, és ismét küldjön be tartalmakat! Változtassa meg egyes tartalmak beküldési idejét és közzétételi beállításait, majd figyelje meg a címlapon történő változásokat! 9.A honlap kialakítása 69. oldal 9. A honlap kialakítása Ha már tudjuk, mi a célunk a honlapunkkal, akkor kezdjünk bele az oldal kialakításába. Ehhez meg kell válaszolnunk még a következő kérdéseket. 9.1 Alapkérdések 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 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 professzionális eszköz, a GUI Design Studio33 példáját: 9.1 ábra: Navigáció tervezés 33 http://www.carettasoftwarecom/gds/ 70. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Az ábra lényeges mondanivalója, hogy meg kell terveznünk, mely oldalakról mely másik oldalakra navigálhatunk. Az oldalakon milyen blokkok legyenek? Itt már az oldal funkcionális látványterve készül. A fő kérdés az, hogy a klasszikus 1,2 vagy 3 oszlopos oldalelrendezés közül melyiket választjuk, és melyik szélső oszlopban milyen tartalmú dobozokat szeretnénk elhelyezni. Ráadásul még a dobozok sorrendjét is meg kell terveznünk. Milyen menüket, milyen menüpontokat szeretnénk alkalmazni? Fontos tisztáznunk, hogy a hagyományos felső vagy oldalsó menüt, esetleg mindkettőt alkalmazzuk. A menüpontok sorrendje, hierarchiája szintén nem közömbös Jól át kell hát gondolnunk, hogy a látogatóink számára leglogikusabb, legáttekinthetőbb
struktúrát tudjuk nyújtani. Az alapkérdések tisztázása után vágjunk bele ismét a Drupal alkalmazásába. 9.2 Menük és blokkok kialakítása A legritkább eset, amikor az oldal menüpontjai egy mindössze néhány elemű listába helyezhetők. Sokkal gyakoribb, hogy almenükben, illetve többféle34 menüben kell gondolkodnunk A Drupal a menüpontokat technikailag kétféle módon teszi használhatóvá. Egyrészt a többnyire (de nem kizárólag) vízszintes felső menüként szereplő Elsődleges menü (Primary links), másrészt a többnyire valamelyik oldalsávon (oszlopban) megjelenő menüblokkokban. Az utóbbira már eddig is láthattunk (sőt használhattuk is) egy példát, ez pedig a Navigációs menü 9.21 Elsődleges menü Először az Elsődleges menü (Primary links) összeállítását érdemes megtanulnunk, hiszen egyszerűbb esetekben ezzel minden oldalt közvetlenül elérhetővé lehet tenni. Az Elsődleges menü megjelenése és a megjelenés helye
smink kérdése35 Itt most számunkra legfontosabb előnye, hogy a menü már létezik, csak menüpontokkal kell feltöltenünk. (Hamarosan látni fogjuk, hogy más menüket először létre kell hoznunk) Ha beküldünk egy Oldal típusú tartalmat, akkor megfigyelhetjük a Menü beállítások eddig nem használt részt (9.2 ábra) 34 A szerző a lehetőségek közül eleve kizárja az ún. legördülő menüket, amelyeknek egy honlapon (ergonómiai okok miatt) általában semmi helyük Kivételt esetleg az adminisztrációs felület kialakításánál érdemes tenni 35 Bizonyos sminkek nem jelenítik meg az Elsődleges menüt, más sminkek akár a másodlagos stb. menüt is megjelenítik. 9.A honlap kialakítása 71. oldal 9.2 ábra: Oldal elhelyezése az Elsődleges menüben A Cím a menüben megjelenő feliratot fogja jelenteni, a Leírás pedig a szükség esetén megjelenő felugró szöveget. A Szülő menüpont segítségével állíthatjuk be a menüpontnak a
menühierarchiában betöltött helyét. (Az oldalunkon elérhető több menü egy közös fába szervezve jelenik meg, a megfelelő pont kiválasztásával tehát a menüt, és az azon belüli pozíciót is meg tudjuk határozni. Végül a Súly az egy helyen (egy szülő alatt) levő menüpontok relatív sorrendjét szabályozza. (A nagyobb számokkal ellátott „nehezebb” menüpontok lesüllyednek) 9.22 Navigációs menü Ebben a menüben jelennek meg a legalapvetőbb navigációs lehetőségeken (pl. Kilépés, Saját adatok) kívül a honlap fejlesztéséhez, adminisztrálásához szükséges menüpontok. (9.3 ábra) 72. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 9.3 ábra: Navigáció menü szerkesztése Az ábrán jól megfigyelhető, hogy a Navigáció menü beállításainak megfelelően jelennek meg a bal oldali menüpontok: A nem engedélyezett (szürkével szereplő) Keresés menüpont nem jelenik meg a navigációs menüben, viszont a (kékkel
szereplő) Saját adatok igen. Ráadásul a sorrendben és a hierarchiában is könnyen megfigyelhető az összefüggés (Az ábrán terjedelmi okok miatt nem szerepel a teljes Navigáció menü) Jól látszik, hogy pl. a Saját adatok menüpont nem kikapcsolható (blokkolt), illetve a nem engedélyezett menüpontok könnyen bekapcsolhatók a mellettük levő engedélyezés linkkel. A Menüpont hozzáadása linkkel új menüpontokat is felvihetnénk, de most ezt ne tegyük meg: a szerző véleménye szerint a Navigáció menüt érdemes csak az adminisztrátoroknak fenntartani, a többi látogatónak pedig más menüket biztosítani. 9.23 A blokkok beállítása A menük (a Prymary links kivételével) blokkokban elhelyezve jelennek meg az oldalon. Ezért meg kell néznünk, hogy mit is tehetünk a blokkjainkkal. (Blokkokban nem csak menük jelenhetnek meg, ahogy azt később látni fogjuk.) Nézzük meg a Blokkok adminisztrációs oldalát (9.4 ábra) Az oldal furcsasága a csak
ezen adminisztrációs oldalra jellemző, szaggatott szegéllyel jelzett régió-feliratok megjelenése. E feliratok (fejléc, bal oldalsáv, jobb oldalsáv, tartalom, lábléc) azt jelzik, hogy az oldal (egész pontosan a smink) milyen helyekre tud blokkokat helyezni. (Egyes sminkek akár egész más nevű és helyű régiókat is tartalmazhatnak.) 9.A honlap kialakítása 73. oldal 9.4 ábra: Blokkok adminisztrációja Az ábrán mindössze két bekapcsolt és öt Tiltott blokkot láthatunk. Már ezen az összefoglaló oldalon is beállíthatjuk, hogy melyik blokk hol jelenjen meg, és hozzárendelhetünk súlyokat is a blokkjainkhoz. Ez utóbbi az azonos régióba kerülő blokkokban határozza meg a megjelenítési sorrendet: a könnyebb blokk fentebb, a nehezebb lentebb fog megjelenni. Jelen esetben a részletesebb beállításokra lesz szükségünk, kattintsunk a Navigáció blokk melletti beállítás linkre (9.5 ábra) 74. oldal Webes tartalomkezelő rendszerek
(0.3 verzió) 9.5 ábra: Navigáció blokk A blokk címe mezőbe írt szöveg felülbírálja a blokk „örökölt” címét (például a Navigáció szó a menü neve, amit a blokkban meg akarunk jeleníteni), de akár cím nélküli blokkot is meghatározhatunk, ha <none> szöveget írunk bele. Beállíthatjuk, hogy a felhasználók testre szabhassák-e az oldalukat a blokk kikapcsolásával. (Ez elsősorban a sok időt honlapon töltő felhasználóknál érdekes, például közösségi oldalak esetén.) A blokk megjelenését köthetjük jogosultsághoz is. Drupal alatt a jogosultságkezelés alapvetően csoportos szinten működik, vagyis megjelenítést felhasználói csoportonként engedélyezhetjük. Alapértelmezetten a blokkok mindenki számára elérhetők, de a Navigáció menü esetén a szerző gyakorlata, hogy ezt csak a legbelső szerkesztői körköz tartozó csoport számára teszi elérhetővé (Az ábrán látható Szerkesztő csoportról a későbbiekben
lesz szó, itt most csak ők kapnak jogot a Navigáció menü eléréséhez) A megjelenést akár útvonalakhoz is köthetjük. Ekkor a blokk csak az útvonalak által meghatározott, vagy ellenkezőleg: azok által kizárt oldalakon fog megjelenni. (Ezt kisebb oldalaknál ritkábban használjuk.) 9.A honlap kialakítása 9.24 75. oldal A főmenü elkészítése A demonstrációs célokra használt Poli-Tech 2005 oldal esetén egyetlen menüblokkra van szükségünk, ami a Menü nevet fogja kapni. Nézzük meg, hogyan is alakítsuk ki a menünket. Először is menjünk vissza a Menü adminisztrációs oldalra. Hozzunk létre egy új menüt (9.6 ábra) 9.6 ábra: Menü létrehozása Ez után hozzunk létre egy menüpontot a kezdőoldalra mutató linkkel, Hírek címmel. (9.7 ábra) 76. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 9.7 ábra: Menüpont hozzáadása A cím alatt megadhatnánk egy leírást, ami kis súgó szövegként fog megjelenni, ha az
egérmutatót a menüpontra visszük. Útvonalként a címlapra kerülő tartalmak megjelenítéséért felelős node oldalt adjuk meg. Megadhatjuk a szülő menüpontot (esetünkben Menü) és a súlyt is Menünk még mindig nem látszik sehol, ugyanis a Menü blokkot az alapértelmezett Tiltott állapotból még nem billentettük ki. Tegyük be bal oldalra a Blokkok adminisztrációja oldalon, a 94 ábrának megfelelően Ezek után a Menünknek meg kell jelennie az oldalon A menüblokkokban szereplő (statikus) menüpontok kialakításával további oldalakat fűzhetünk be az oldal menüszerkezetébe. 9.3 Ellenőrző kérdések Mit értünk Elsődleges menü alatt? Logikailag miben tér el más menüktől? Írjon két példát blokk alkalmazására! Miért adunk meg a blokkok adminisztrációs oldalon súlyokat? Mik egy új menü létrehozásának és beüzemelésének főbb lépései? Lehet-e egy oldalt több menübe is elhelyezni? Indokolja! 9.4 Feladatok A 3.
fejezetben megtervezett honlapjával kapcsolatban ismét válaszoljon a fejezet kérdéseire! Hozzon létre az elsődleges menüben 2-3 menüpontot! 9.A honlap kialakítása 77. oldal Hozzon létre egy másik menüt, jelenítse meg jobb oldalt, és helyezzen el benne is menüpontokat! Kapcsoljon be minden blokkot, amit a rendszer jelenleg nyújtani tud! Állítson be olyan sorrendet, amelyik a legszimpatikusabb! 78. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 10.További modulok kiválasztása, telepítése Ahogy az eddigiekben láthattuk, a Drupal alapcsomagjában található alap (core) modulok segítségével igen sok szolgálatatáshoz jutunk. A Drupal erejét tovább növeli, hogy az 5-ös sorozathoz sok száz kiegészítő modul érhető el. Természetesen ezen modulok minőségében nem bízhatunk meg ugyanúgy, „vakon”, mint az alap modulok esetén, de körültekintő alkalmazásukkal hihetetlen sok programozói munkától kímélhetjük meg
magunkat Most néhány olyan kiegészítő modullal folytatjuk ismerkedésünket, amelyek általánosan használhatóak, és a szerző saját tapasztalatai szerint is megfelelnek az elvárásoknak. Modulok letöltése A Drupal hivatalos webhelyén, a http://drupal.org/project/Modules oldalon igen nagyszámú, és sokféle funkciót megvalósító modult találhatunk A letöltés előtt érdemes megfontolni a következőket: A kiegészítő modulok helyes működése nem garantált A fejlesztői (dev) változatokat csak nagy körültekintéssel érdemes éles környezetben alkalmazni A modul letöltése előtt válasszuk ki az alapcsomagunkhoz illő verziót A modulok között lehetnek ú.n függőségek, amelyek miatt egyes modulok csak más modulokkal együtt lesznek használhatóak. Modulok telepítése A kiegészítő modulokat .targz kiterjesztéssel tölthetjük le E tömörített állomány tartalmát kell a szerverre feltöltött Drupal alkalmazásunk
sites/all/modules alkönyvtárába másolnunk. A legtöbb modul tartalmaz READE.txt és/vagy INSTALLtxt fájlt Ekkor elsődlegesen e leírás szerint kell eljárnunk. A legtöbb esetben a következő lépésekre lesz szükségünk A modulunk annak engedélyezéséig még használhatatlan marad. Egy modul működését engedélyezni, vagy éppen letiltani az Adminisztráció menü Modulok oldalán tudjuk. (Ténylegesen itt többről is szó lehet, mint engedélyezésről, de a háttérben végbemenő folyamatok ismertetése túlmutat e jegyzet keretein. Részletes információk a modul dokumentációjából és forrásának tanulmányozásából nyerhetők) A modul tényleges használata előtt még konfigurálhatjuk is. Ez többnyire az Adminisztráció oldalon megjelenő újabb menüpontok segítségével tehetjük meg Érdemes azonban a modulban található readmetxt és/vagy installtxt fájlokat is alaposan áttanulmányozni, egyes modulok esetén bonyolultabb lehet a beüzemelés
folyamata Kezdjük a sort néhány már beígért modullal. 10.1 A Hungarian modul A Hungarian modul két mini szolgálatatása közül most csak az egyikkel foglalkozunk. Ez lényegében abból áll, hogy a korábban dátumformátumnál tapasztalt problémát kezelni tudja. A modul bekapcsolása után a Dátum és idő dátumformái között megjelenik 10.További modulok kiválasztása, telepítése 79. oldal a Magyarországon használatos formátum is (10.1 ábra) (Ha eddig nem változtattuk meg az alapértelmezett formákat, akkor itt az ábrán látható beállítások automatikusan megtörténnek.) A modul további beállítást nem igényel. 10.1 ábra: Dátumforma 10.2 A Poormanscron modul A Poormanscron modul lehetővé teszi időzített feladatok futtatását akkor is, ha a szolgáltató egyébként nem nyújt cron futtatási lehetőséget. Az időzített feladatokból ugyanis kisebb, még nem zavaró részletekben a felhasználói kéréseket terheli meg. Többek
között szabályozhatjuk a két futtatás közötti minimálisan eltelt időt, valamint a naplózás lehetőségét is. Általában a következő beállítások megfelelőek: 10.2 ábra: Poormanscron beállítások 80. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 10.3 A Pathauto modul A tartalmaink útvonalának (URL) egységes kezelése nem egyszerű feladat: sok-sok gépelésre ítél bennünket. E modul igen sokféle módon teszi lehetővé az útvonalaink automatikus előállítását A modul működésének alapelve, hogy a cím alapján generál kisbetűs és ékezetek nélküli útvonalat. Ehhez a modul könyvtárában található i18n-asciiexampletxt állományt i18n-ascii.txt névre kell rövidítenünk, hogy a benne található megfeleltetések alapján tudja az ékezetes betűk ékezet nélküli verzióit meghatározni. Az adminisztrációs oldal igen sok beállítást tartalmaz, néhány lényegesebbet vizsgáljunk meg. Ezen kívül a szóközöket is
átalakítja valamilyen elválasztó karakterre (leggyakrabban vagy – karakter szokott előfordulni). Nézzünk meg pár tipikus beállítást, ami alapján a további beállítások kikövetkeztethetők. Alapvetően a tartalmak esetén: [title] Blog esetén: blog/[user] Fórum esetén: [vocab]/[catpath] Figyelembe lehet venni a generáláskor pl. a dátumot is 10.4 FCKEditor Ha fontos számunkra a szövegek gyorsan formázhatósága, akkor nem mondhatunk le valamilyen vizuális szerkesztőről sem. Az itt bemutatásra kerülő modul mellett a TinyMCE-t szokták még sokan ajánlani Az FCKEditor modul lehetővé teszi, hogy a Drupaltól függetlenül fejlesztett FCKEditor-t (10.3 ábra) a Drupal alatt használjuk Itt tehát két dolgot kell letöltenünk: a Drupal moduljaként elérhető illesztő modult, és a http://wwwfckeditornet/ oldalról letölthető független szerkesztőt. 10.További modulok kiválasztása, telepítése 81. oldal 10.3 ábra: Az FCKEditor
működés közben Az editor használata hasonlít az ismert szövegszerkesztők működésére, de azért a felhasználók részéről gyakorlási időt is rá kell szánni. A kettős letöltés előrevetíti, hogy ennek a modulnak a telepítése nem lesz egyszerű feladat, a szokásosnál mélyebben bele kell néznünk a dolgok működésébe: akár forráskód szinten is szerkesztenünk kell az editort. A szerkesztésre esélyes fájlok: modules/fckeditor/fckeditor.configjs modules/fckeditor/fckeditor/fckconfig.js Végül meg kell említenünk, hogy a Beviteli formák között beállítható Sortörés-átalakítást érdemes kikapcsolnunk, ha az FCKEditor használatát minden felhasználónak engedélyezzük. A fent említett fájlok szerkesztése pedig mindenképpen szükséges lesz, ha az FCKEditor menüsorát és a beviteli formánkat szinkronba akarjuk hozni. Ez azonban már jelentősen meghaladja a jegyzetünk lehetőségeit. 10.5 Az IMCE modul Az IMCE modul a fájl
feltöltések kezeléséhez ad extra szolgálatatásokat. Alapvetően elérhető vele, hogy a szerverre feltöltsünk állományokat az általunk meghatározott könyvtárstruktúrába, és a feltöltött fájlokat többféle módon felhasználjuk. (Például lehetőségünk lesz egy feltöltött képet átméretezni, és később akár több oldalba is beilleszteni a kép újabb feltöltése nélkül.) A beállítások között legfontosabb az FCKEditorral való integráció engedélyezése. Ekkor az editor kép beszúrás ikonjára kattintva a Kép tulajdonságai (10.4 ábra) ablakon megjelenik a Böngészés a szerveren gomb is 82. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 10.4 ábra: FCKEditor kép beszúrás E gomb használatára az IMCE ablakát láthatjuk (10.5 ábra) Így nem csak a saját gépünkről tölthetjük fel a fényképeinket, hanem a szerver fájlrendszerébe egyszer feltöltött képeket utólag is szerkeszthetjük, és többször is
felhasználhatjuk. 10.5 ábra: IMCE ablak 10.További modulok kiválasztása, telepítése 83. oldal 10.6 Az Image modul Az Image modul lehetővé teszi, hogy képeket küldjünk be tartalomként, azokat galériába szervezzük, a képeket más tartalomtípusokhoz kapcsoljuk, vagy akár tömeges importálást is végezhetünk. Ennek megfelelően a modul négy részre osztható: 10.6 ábra: Image modulok bekapcsolása Az alap Image modulra három kiegészítő modul épül. Az Image Attach engedélyezése esetén a tartalmainkhoz (hasonlóan a csatolt állományokhoz) képeket is csatolhatunk. (Ehhez a tartalomtípus beállításait is frissítenünk kell.) 10.7 ábra: Kép csatolása tartalom beküldésekor Az Image Gallery bekapcsolása után beállíthatjuk az egy oldalon megjelenő képek számát, majd keressük meg a Kategóriák adminisztrációs oldalt. Itt a modulunk elkészített a képeink számára egy Galéria nevű kategóriát, amit először is
konfigurálhatunk a szó- 84. oldal Webes tartalomkezelő rendszerek (0.3 verzió) tár szerkesztése linken. (Az alapértelmezésekhez képest a többszörös hierarchiát érdemes átgondolni) Ettől kezdve egy Kép tartalom beküldésekor egyből megadhatjuk azt is, hogy melyik kategóriába tartozik. A végeredmény magáért beszél: téma szerint böngészhető galéria oldalakat kaptunk (10.8 ábra) Az Image Import modul segítségével képek tömeges importálását oldhatjuk meg. Ehhez először is a Kép importálás (Webhely beállítása) adminisztrációs oldalon be kell állítanunk azt a könyvtárat, amelyikbe FTP eléréssel a képeket fel akarjuk tölteni, majd a Kép importálás (Tartalom kezelés) adminisztrációs oldalon folytassuk a tömeges importálást. Itt egy listát kapunk a könyvtárban talált fájlokról (amit az FTP kapcsolatunkkal közben feltöltöttünk), amiből kiválaszthatjuk, hogy melyeket akarjuk importálni, melyik galériába
kerüljenek a képek, és szövegeket is kapcsolhatunk a képeinkhez. 10.8 ábra: Galéria navigáció 10.7 A Simplemenu modul A modul segítségével megadhatunk egy olyan (akár többszintű) menüsort, amelyet minden oldalra elhelyezhetünk a Drupal rendszerünkön belül. A menü JQuery-t használ, a pozícióját és egyéb jellemzőit (szín, méretek, stb.) a hozzáillesztett CSS fájl segítségével adhatjuk meg. 10.További modulok kiválasztása, telepítése 85. oldal 10.9 ábra: A Simplemenu működés közben A modul telepítése a más moduloknál megszokottak alapján könnyen elvégezhető. A telepítés után az adminisztráció / webhely beállítás menüpont alatt megjelenik egy lehetőség: Simplemenu. Itt megadhatjuk azt a menüt (főmenüt, menüpontot) amit a Simplemenu segítségével szeretnénk megjeleníteni. Praktikus először átgondolni, hogy pontosan milyen menüpontokat és almenüpontokat szeretnénk elhelyezni a Simplemenu-ben, majd azokat
egy menübe foglalni, és azt megadni ezen a felületen. Azt is érdemes átgondolni, hogy melyik felhasználói csoport(ok)nak engedélyezzük a menü megjelenítését. A szerző személyes véleménye, hogy legördülő menüt a kizárólag néhány felhasználó által gyakran használt adminisztrációs funkciók esetén szabad használni. A 109 ábrán az látszik, hogy a (csak az adminisztrátorok számára engedélyezett) navigációs menüt jelenítjük meg. 10.8 További modulok Az Admin Message modul A modul segítségével rövid üzeneteket küldhetünk a felhasználóknak. Az üzenetek bejelentkezés után a főoldalon jelennek meg,melyeket a felhasználónak lehetősége van a Bezárás gombbal eltüntetni, így azok a legközelebbi alkalommal nem jelennek meg. Természetesen lehetőségünk van állandó üzenet megjelenésre is Ilyen lehetőség pl új felhasználó üdvözlése Az Automated Logout modul A modul a segítségével beállíthatjuk, hogy a rendszer
mennyi idő elteltével léptesse ki automatikusan a bejelentkezett felhasználót. A Captcha modul A Captcha modul sem egy, hanem három, egymásra épülő modul. Célja, hogy a honlapokat linkekkel teleszemetelő robotok ellen védelmet nyújtson Legelterjedtebb megoldása egy képre generált ellenőrző kód alapján működik 86. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Az External Links modul Az External links modul a honlapról kifelé mutató linkekhez egy képet jelenít meg. A modul egy szűrőt definiál, működéséhez a beviteli formákhoz engedélyezni kell. A Lightbox2 modul A Lightbox2 modul segítségével képeink megjelenítését a látványos Lightbox36 effektusával fűszerezhetjük. A modul Kép tartalomhoz készült, de kisebb HTML trükkel37 más képeink megjelenítéséhez is használhatjuk. A SpamSpan modul A SpamSpan modul a szövegekben megjelenő e-mail címek elrejtéséért felelős. Különösebb konfiguráció nélkül képes
arra, hogy a spam robotok elől elrejthessük e-mail címeinket 10.9 Ellenőrző kérdések Honnan tudunk kiegészítő modulokat letölteni? Kiegészítő modul kiválasztásánál/alkalmazásánál mire érdemes figyelni? Írja le a kiegészítő modulok telepítésének legfontosabb (általános) lépéseit! Mi a Poormanscron modul szolgáltatása? Mi a Pathauto modul szolgáltatása? Mi az FCKEditor modul telepítésének nehézsége? Mi az IMCE modul szolgáltatása? Mi az Image modul alapszolgáltatása? Az Image modulok kívül milyen modul szükséges kategorizálható képgalériák létrehozásához? 10.10Feladatok A fejezet moduljai közül válogassa ki a honlapja számára fontosakat! Keresse meg és töltse le a legfrissebb stabil verziókat! Telepítse és alkalmazza a modulokat a honlapjához! Keressen további hasznos modulokat, és tesztelje azokat! 36 http://www.huddletogethercom/projects/lightbox2/ 37 Lightbox telepítése
esetén a linkhez adnunk kell egy rel=”lightbox” attribútumot. 11.Látogatók az oldalon 87. oldal 11. Látogatók az oldalon 11.1 Felhasználókezelés A honlapunk kialakításában eddig egyedüli szereplőként vettünk részt. A látogatók viszszajelzéseire számítva, vagy ha nem mindenki számára szeretnénk minden tartalmat publikálni, elengedhetetlen lesz a felhasználók kezelésével foglalkoznunk. Jelenleg tehát kétféle felhasználóval találkozott az oldalunk: Névtelen, nem azonosított felhasználó, aki minden publikus tevékenységet megtehet az oldalon. Adminisztrátor felhasználó (mi magunk), aki mindent megtehet az oldallal. Felhasználók létrehozása Először is el kell döntenünk, hogy a felhasználók regisztrációját szeretnénk engedélyezni, vagy a felhasználó létrehozás jogát magunknak akarjuk megtartani. (A kettő közötti átmeneti állapot az adminisztrátori elfogadáshoz kötött regisztráció.) Hasznos az is, ha a
regisztráció során „kikényszerítjük” egy valódi e-mail cím megadását, hogy szükség esetén meg tudjuk keresni a felhasználóinkat. (Ez esetben az oldalunknak kell tudni levelet küldeni.) 11.1 ábra: Felhasználó beállítások Érdemes kitölteni a regisztrációs irányelveket is a későbbi félreértések elkerülése érdekében. Ez után különböző, a rendszer által (az adminisztrátor nevében) küldött e-mail üzenetek szövegét fogalmazhatjuk át. 88. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A felhasználók egy része barátságos gesztusnak veszi, ha regisztrált felhasználóként személyessé tehetik a felhasználói megjelenésüket. Éppen ezért hasznos lehet a felhasználóknak engedélyezni az arcképük feltöltését 11.2 ábra: Felhasználói képtámogatás A beállítások mentése után a regisztrált látogatók a saját adataik között megadhatják a fényképüket is. Felhasználók kezelése A létező
felhasználóink adatait adminisztrátorként bármikor módosíthatjuk. Ha sok felhasználónk van, akár név szerint is kereshetünk közöttük, de még hasznosabb szolgáltatásokat érhetjük el a Felhasználók adminisztrációs oldalon. Itt felhasználót létrehozni, felhasználókat listázni, szűrni, vagy akár csoportos műveletet végrehajtani is tudunk 11.Látogatók az oldalon 89. oldal 11.3 ábra: Felhasználók Jogosultságkezelés A látogatók regisztrációjának legfontosabb oka, hogy az egyes látogatóknak pont annyi jogot tudjunk adni, mint amennyire (a honlap tulajdonosa szerint) szüksége van. Mivel egy honlap esetén akár sok ezer felhasználó is lehet, lehetetlen lenne (de kisebb létszám esetén sem lenne célszerű) a jogokat felhasználónként meghatározni. Ehelyett a látogatóinkat csoportonként fogjuk jogosultságokkal ellátni (Természetesen egy látogató több csoportnak is tagja lehet, ekkor a kapott jogok összeadódnak.)
Alapértelmezésben két csoport létezik a Drupalban, melyek nem is törölhetők: Anonim felhasználók: nem regisztrált, illetve nem belépett felhasználók, vagy más néven látogatók. Azonosított felhasználók: ebbe a csoportba kerül automatikusan minden regisztrált felhasználó. Ezen kívül szerepkörönként újabb csoportokat is létrehozhatunk. A tényleges jogokat tehát csoportoknak (vagyis a csoport tagjainak) engedélyezhetjük. A teljesség igénye nélkül következzen egy (a szerző által általában38 javasolt) jogosultságbeállítás. (A nem említett jogokat most ne adjuk meg senkinek) 38 Az oldal típusa és a tulajdonos céljai ezt módosítani szokták. 90. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Névtelen Azonosított fckeditor modul, use default fckeditor igen igen node modul, tartalmak hozzáférése igen igen search modul , tartalmak keresése igen igen user modul , felhasználói név megváltoztatása igen
11.2 Blog oldal kialakítása A blog oldal alapvető funkciói közé az időrendben megjelenő bejegyzések és a hozzáfűzött megjegyzések tartoznak. Éppen ezért az oldal kialakításához megfelel akár az alapértelmezett Írás tartalomtípus is, esetleg Bejegyzésre (vagy Post-ra) módosítva 11.21 Tartalmaink címkézése Blog oldalak esetén tipikusnak számít a címkék (más néven) tagok alkalmazása. Ennek érdekében az alaprendszer moduljai közül a már megismert Taxonomy modult kell használnunk. Először is hozzunk létre a Kategóriák adminisztrációs oldalon egy új szótárat, például Témák névvel, majd finomhangoljuk a szótár szerkesztése oldalon (11.4 ábra) A legfontosabb a következők bekapcsolása: Szabad címkézés Többszörös választás Szükséges (A szabad címkézés elvi kérdéseihez tartozik, hogy egy tartalom esetén hány címkét is használjunk. Az egyik véglet szerint egy is elegendő, a másik szerint akár 8-10
is elfogadható A szerző véleménye szerint a 2-5 közötti címke-számot csak ritkán érdemes túllépni) 11.Látogatók az oldalon 91. oldal 11.4 ábra: Kategória szerkesztése a címkékhez E beállítások hatására a tartalmaink beküldésekor a Cím mező után megjelenik a Témák mező is, amibe legalább egy kapcsolódó címkét be kell írnunk: 11.5 ábra: Címkék megadása A beírásnál eddig még nem használt címkéket is definiálhatunk, de akár egy korábban használt címkét is kereshetünk. Ez utóbbi esetben elég néhány betűt begépelni a címkénkből, és máris elkezd animálni a sor végén található kis (eddig üres kört formázó) képünk (A háttérben aszinkron kérések futnak le a szerver felé, az AJAX technológiát felhasználva) A találati listából már könnyedén választhatunk (116 ábra) 92. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 11.6 ábra: Korábbi címkék közötti keresés Érdemes még
megemlíteni, hogy a címkéket egymástól vessző karakterrel kell elválasztanunk. A címkézéssel nem csak egyszerű információt közöltünk a látogatóinkkal, hanem egy újabb navigációs lehetőséget is nyújthatunk: a kész tartalmaink valamelyik címkéjére kattintva a választott címkéhez tartozó összes bejegyzés listája jelenik meg: 11.7 ábra: Kategória listázása 11.22 A Tagadelic modul Az előbb bemutatott navigációt kicsit tovább viszi a Tagadelic külső modul. Ennek lényege, hogy a címkéket egy (tartalomjegyzékhez hasonló, ún címkefelhő) oldalra összegyűjti, és a címkékhez tartozó bejegyzések számosságát betűmérettel szimbolizálja (118 ábra). 11.Látogatók az oldalon 93. oldal 11.8 ábra: Címkefelhő Nézzük meg a modul beállításait is: 11.9 ábra: Tagadelic beállítások Természetesen a modul tud blokkot is szolgáltatni, amit a blog oldalon valahol fixen elhelyezhetünk: 11.10 ábra: Tagadelic blokk az
oldalon 94. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Jól látszik az ábrán, hogy nem szerencsés túl hosszú, több szóból álló címkéket alkalmazni. Néha azonban nehéz elkerülni is 11.23 A Comment modul A blog oldalaknál nagy jelentőséggel bír a látogatók interakciójának lehetősége: ez először is a hozzászólások lehetőségében nyilvánul meg. Kapcsoljuk be a Comment rendszermodult, majd konfiguráljuk a Hozzászólások adminisztrációs menü Beállítások fülén (11.11 ábra) Itt csupán néhány beállítást szükséges magyaráznunk. A megjelenési mód beállításánál választható Beágyazott mód időrend helyett beljebb kezdve, az érkezett válaszok szerint csoportosítva történő megjelenítést teszi lehetővé. Ezt a megközelítést még elég kevés oldalon használják, pedig a szerző véleménye szerint sokkal jobban követhetővé teszi a hozzászólások olvasását. Természetesen nem szabad arról sem
megfeledkeznünk, hogy a hozzászólások beküldésének még további feltételei is vannak: Az adott tartalom beküldésekor a Hozzászólás beküldési beállítások dobozban az Olvasható/Írható beállítás szerepeljen. (A Csak olvasható beállítás például egy lezárt fórum témánál felelne meg.) A Hozzáférés szabályozás adminisztrációs oldalon a hozzászólások hozzáférése (megjelenítése) mellett a beküldésére is adjunk lehetőséget, lehetőleg adminisztrátori elfogadás nélkül is (11.12 ábra) 11.Látogatók az oldalon 95. oldal 11.11 ábra: Hozzászólások beállítása 96. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 11.12 ábra: Hozzáférés szabályozása A konfiguráció elvégzése után várhatjuk oldalunkhoz a hozzászólásokat. Érdemes még megemlíteni, hogy a Hozzászólások adminisztrációs oldal alapértelmezett (Listázás) fülén hasonló listázási és tömeges módosítási lehetőségeik vannak,
mint a Tartalom adminisztrációs oldalon a tartalmainkra nézve. 11.24 Védekezés a spam hozzászólások ellen Ha nem regisztrált látogatók számára engedélyezzük a hozzászólások beküldését, akkor van esélye, hogy spam hozzászólások célpontjává válik oldalunk. (Itt a spamelők célja olyan kulcsszavak és kifelé mutató linkek elhelyezése az oldalon, amelyekkel a saját oldaluk keresőoldalakon való pozícióját emelni szeretnék. Pl 1113 ábra) 11.13 ábra: Spam hozzászólás (részlet) A védekezésnek több lehetséges módja is van. Kikapcsoljuk a hozzászólások lehetőségét (nem megoldás) Kikapcsoljuk a névtelen hozzászólás lehetőségét (nem megoldás) ○ A kapcsolati adatok megadását letiltjuk (11.11 ábra) Alkalmazunk valamilyen spam szűrő modult Alkalmazunk valamilyen captcha modult. Az utolsó két lehetőséget érdemes alaposabban átgondolni, és kipróbálni a lehetőségeket. Itt most mindkettőre egy-egy
példa modul kerül bemutatásra A Spam modul A Spam modul a hozzászólást beküldése után ellenőrzi, és teszi „karanténba”, ha például gyanúsnak találja. A konfigurálásánál tudjuk meghatározni, hogy mitől is tekintünk egy hozzászólást gyanúsnak: például 10 külső link van benne, duplikált hozzászólás, vagy éppen egy adott IP-ről korábban már spamnek ítélt újabb hozzászólás érkezett. Eldönthetjük, hogy a rendszerünk milyen automatikus tevékenységet hajtson végre: 11.Látogatók az oldalon ne jelenítse meg (karanténba kerüljön) figyelmeztesse a beküldőt az adminisztrátort e-mailben értesítse egy idő után automatikusan törölje 97. oldal A karantén a Hozzászólások oldalon a fülek segítségével érhető el. A Captcha modul A Captcha modul működése egy másik ponton próbál a folyamatba beavatkozni: megpróbálja megakadályozni, hogy a bot programok39 regisztrálni, vagy névtelenül
hozzászólást beküldeni tudjanak. Ez az előzőnél hatásosabb, de ugyanakkor a látogatók számára kényelmetlenebb lehetőség 11.3 Közösségi oldal kialakítása A közösségi oldal – jegyzetünk szempontjából – elsősorban a közösségi tartalom-előállítás, és csak másodsorban a közösségi kapcsolatok alakítása köré épülő szolgáltatásokat jelenti. A közösségi oldalaknál az előbb bemutatott Comment modul alapvető jelentőségű. A szintén alapvetőnek tekinthető fórum szolgáltatáshoz is elengedhetetlen. 11.31 A Forum modul A Forum modul célját talán nem érdemes túlságosan részletezni, a témakörökbe osztható, Téma mentén szerveződő többszereplős beszélgetéseket értjük alatta. A Forum alapmodul, és a Comment modul bekapcsolása szükséges a működéséhez A modul engedélyezésekor automatikusan létrejön a Fórum téma tartalomtípus, amit céljainknak megfelelően konfigurálhatunk. Ezen kívül létrejön a
kategóriák között is egy új szótár Fórumok néven. Ennek a szótárnak a használatával tudjuk meghatározni a klasszikus fórumok működésénél megszokott témakörök rendszerét. A szótárt szerkesztve láthatjuk, hogy a fórum néhány területen korlátozza a szokásos kategória-beállításokat: például nem engedélyezi egy téma több kifejezéshez kapcsolását, vagy a szabad szavas témamegjelölést. Plusz szolgáltatásként viszont keressük meg az Adminisztráció menü Fórum menüpontját. Itt a beállítások fülön néhány – magáért beszélő – beállítást tehetünk meg Az igazi érdekesség viszont, hogy a fórumainkat itt listázva megjelenik a csoport (container) fogalma. Itt tehát olyan fórum csoportokat tudunk létrehozni, amelyek csak a tartalmazott fórumok miatt vannak, közvetlen témát indítani nem tudunk bennük. (Példának tökéletesen megteszi egy Állás csoport, amely a tartalmazott Állást keres és Állást kínál
fórumokon keresztül lesz használható, de közvetlenül nem) Amennyiben nem szimpatikus ez a megközelítés, törölhetjük a Fórumok nevű szótárunkat, és létrehozhatunk helyette egy másik, a céljainkban megfelelően konfigurálható szótárt. 39 A spam hozzászólásokat bizonyos intelligenciával rendelkező programok küldik, többnyire zombi gépekről (a gép tulajdonosának tudta nélkül). 98. oldal 11.32 Webes tartalomkezelő rendszerek (0.3 verzió) A Poll modul A Poll modul segítségével klasszikus szavazás bonyolítható le. A modul a Drupal alapmoduljai között bekapcsolható, ezután egy új tartalomtípusként jelenik meg Küldjünk be egy új szavazást: 11.14 ábra: Szavazás beküldése A szavazás beküldésekor a szokásos cím mező átértékelődik Kérdéssé. Alapértelmezetten 5 válasz lehetőséget adhatunk meg, de ez bővíthető Érdemes az ábrán megfigyelni, hogy a szavazási lehetőségek szövegén kívül a szavazatok
alapértelmezett számát (0) is módosíthatjuk. (Itt nem feltétlenül csalási lehetőségre kell gondolni, akár egy máshol elkezdett szavazást is lehet ilyen módon folytatni) A beküldéskor beállíthatjuk a szavazás időtartamát, illetve bármikor kézzel is lezárhatjuk a szavazást, ha utólag szerkesztjük. Nem szabad elfeledkezni arról sem, hogy a szavazást és a szavazás eredményének megtekintését kinek is engedélyezzük: a Hozzáférés szabályozása oldalon ezt is beállíthatjuk. 11.Látogatók az oldalon 11.33 99. oldal A Book modul A Book modul segítségével a tartalmainkat (node-okat) hierarchiába szervezhetjük (mint egy könyv fejezetei és alfejezetei). A Book alapmodul engedélyezése után megjelenik a Könyv tartalomtípus, amelynek újdonsága lesz a plusz hierarchia szerinti navigáció felépítése és alkalmazása. A Könyvlap beküldésekor megjelenik a Szülő lista is, ahol beállíthatjuk a könyvlap szülő elemét. Másrészt
a kész könyvlap esetén megjelenik a Gyermek lap hozzáadása szerkesztési link is, amivel a szülő kiléte is egyértelművé válik Végül meg kell még említeni, hogy egy könyvlap gyermekeként tetszőleges más típusú tartalom is beszerkeszthető. Ehhez a beillesztendő tartalmat megnyitva megjelenő Vázlat fület kell alkalmaznunk. A blokkok között megjelenő Könyv navigáció blokk nagyon szépen áttekinthető menüt ad a navigációhoz. 11.4 Ellenőrző kérdések Hogyan tudunk egy felhasználónak pl. az Írás tartalomtípushoz tartalombeküldési jogot adni? Van-e a Drupalban olyan regisztrált felhasználó, amelyik nem tagja semelyik csoportnak? Indokolja! Mit értünk címkézés (tag-elés) alatt? Hogyan tudjuk használatba venni a blog oldalaknál tipikus címkézést? Sorolja fel a legfontosabb lépéseket! Hogyan lehet az egy címkéket tartalmazó tartalmakat kilistázni? Mit jelent megjegyzések listázásánál a beágyazott mód?
Mi a spam hozzászólások célja? Hogyan tudunk ellene védekezni? Hogyan tudunk az ellen védekezni, hogy az oldalunkon megjelenő e-mail címek a spam robotok áldozatául essenek? Mi a Captcha modul célja? Hogyan éri el azt? Fórum használata esetén mi a szerepe egy szótár létrehozásának? Hogyan tudjuk megoldani, hogy az oldalunk rendszeres látogatói könnyen követhessék az új fórum témákat és az új hozzászólásokat? Mi a Book modul specialitása? Hogyan aktiválhatunk/deaktiválhatunk egy felhasználót? Hogyan állíthatjuk be a regisztráció módját? 11.5 Feladatok Bővítse honlapját a célkitűzéseinek megfelelő modulokkal! Hozzon létre olyan közösségi oldalt, ahol a szerkesztők csoport tagjainak blogolása adja a fő tartalmat! 100. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 12.A tartalom megjelenítése 12.1 RSS A kezdőoldalon is megjelenő tartalmaink megosztására könnyedén tudunk szolgáltatást
nyújtani. Ennek legegyszerűbb módja a Tartalom megosztása blokk bekapcsolása, aminek hatására elérhetővé válik egy RSS ikon, amihez az rssxml útvonal van rendelve Ezen kívül bizonyos sminkek speciálisabb RSS csatornákhoz is adhatnak linkeket, pl. a Kategóriák alapján (pl. taxonomy/term/31/feed útvonal), vagy a Blog modul csoportosítása szerint (blog/1/feed) Természetesen az RSS csatornákat nem a smink állítja elő, csak az útvonalakat leshetjük el belőle. 12.11 Az Aggregator modul Az Aggregator modul lehetővé teszi, hogy a honlapunkon más honlapok RSS kimeneteit tartalomként automatikusan megjelenítsük. Ehhez először is a modult le kell töltenünk és telepítenünk kell, majd az adminisztrációs oldalon (Hírolvasó) konfigurálnunk. Csatorna létrehozása A csatorna egyetlen RSS forrás definiálását, a letöltések elvégzését és publikálását teszi lehetővé. Működéséhez cron futtatás szükséges, hiszen nem állandóan, csak
bizonyos időközönként van szükség (és lehetőség) a távoli szerver meglátogatására, a csatorna tartalmainak letöltésére. Hozzunk létre egy új csatornát: 12.1 ábra: Csatorna létrehozása A címen kívül természetesen az URL-t és a frissítési időt is meg kell adnunk. (Ez utóbbi az az idő, amennyi maximális késéssel az RSS tartalmak megjelennek az oldalunkon.) A csatorna kimenetét a hozzá tartozó blokk bekapcsolásával tekinthetjük meg: 12.A tartalom megjelenítése 101. oldal 12.2 ábra: Aggregator blokk Az ábrán érdemes még megfigyelni, hogy (megfelelő jogosultságokkal) lehetőségünk van egyetlen gombnyomással (b) a tartalomra reflektálva saját tartalmat létrehozni: 12.3 ábra: Aggregator tartalom alapján blogbejegyzés További érdekes lehetőségeket nyújt a kategóriák használata, amivel több RSS csatorna tartalmát együtt tudjuk kezelni. 12.2 Sminkek telepítése A modulokhoz hasonlóan külső sminkeket is
telepíthetünk Drupal honlapunk alá. Ehhez a letöltött smink állomány tartalmát a themes alkönyvtárba kell másolnunk, majd a sminket engedélyezni a Sminkek adminisztrációs oldalon. Jó azonban tudni, hogy a sminkek minősége jelentősen eltérhet egymástól. Itt nem csak a vizuális megjelenésre, vagy a HTML/CSS szabványosságra, hanem további tipikus hibákra is érdemes felkészülni. Például: nem lefordítható szövegek kerültek a sminkbe 102. oldal Webes tartalomkezelő rendszerek (0.3 verzió) bizonyos (a Drupal által ismert) kimeneti információkat nem jelenít meg (pl. az új jelzés a tracker modul működése esetén) bizonyos moduloktól a smink szétesik A megfelelő smink kiválasztása után a sminkünket testre is szabhatjuk: 12.4 ábra: Smink beállítások A sminkek nem minden (egyébként a Drupal által konfigurálható) tartalmi elemet tudnak figyelembe venni. A fenti ábra bal oldalán minden kiválasztható, de egyes sminkek
esetén lehetnek szürke elemek is. Az ábra jobb oldalán látható, hogy tartalomtípusonként lehet a beküldési információk (név, dátum) megjelenítéséről dönteni. (Például hírek esetén megjeleníteni, de oldalak esetén nem.) 12.3 Ellenőrző kérdések Mely tartalmak fognak megjelenni az RSS csatornán? Hogyan lehet egy más által készített sminket használatba venni? Mik a drupal.org-on található sminkek használatának hátrányai? 12.4 Feladatok Keressen egy a honlapja számára megfelelő sminket! Telepítse, majd a lehető legtöbb szituációban tesztelje a sminket! Hozzon létre egy teszt felhasználót, akinek engedélyezze a smink használatát! 13.Az MVC modell 103. oldal 13.Az MVC modell (Az elméleti bevezető Bártházi András Ruby on Rails cikke40 alapján készült.) Az MVC rövidítés a model, view, controller szavakból származik. Egyike a legjobban kipróbált, legrégebb óta használt tervezési mintáknak Az MVC
célja, hogy az alkalmazás funkcionális részeit egymástól szétválasztva jobban tervezhető és karbantartható alkalmazást kapjunk. Model (Modell) A model feladata definiálni a webalkalmazás által használt adatstruktúrákat, illetve azokat a szabályokat, amely alapján hozzáférünk ezekhez, illetve módosíthatjuk őket. View (Nézet) A view feladata a model tartalmának bemutatása, a webalkalmazás kimenetének generálása. Az adatokhoz csak a modelen keresztül férhetnek hozzá Könnyen előfordulhat, hogy rendszerünket többféle interfészen keresztül (böngésző, RSS olvasó) használják, így többféle kimenetre (HTML, XML) lehet szükség. Itt jelentkezik az MVC használatának előnye, ha egy új interfész típust kell támogatnunk, akkor csak egy új view-t kell készítenünk, ami a már meglévő modelt használja Controller (Vezérlő) Ez az alkalmazás lelke. Ez köti össze a modelt és a viewkat A felhasználó által eszközölt akciót (form
elküldése, kattintás egy linkre, stb.) lefordítja egy a model által végrehajtandó akcióra Ezután szintén a controller dolga, hogy az akció lefutásának eredményétől függően megjelenítse a szükséges viewt 13.1 Az MVC szerepe a Drupalban Az eddigi munkánk során már részben megfigyelhettük a fenti elvek működését. A tartalmak esetére konkretizálva: Modell: A beküldött tartalmak, hozzászólások (adatbázisban tárolva) Nézet: A tartalmaknak láttuk előnézetét és teljes nézetét, valamint az RSS kimenetben való megjelenését Vezérlő: A Drupal motor, és elsősorban a Node modul. Természetesen a téma több szinten és sokkal összetettebb módon is megjelenik a Drupalban, itt csak a téma felületét érintjük. Jegyzetünkben a továbbiakban az e modell mentén szerveződő Views és CCK (Content Construction Kit) modult (illetve a szorosan kapcsolódó modulokat is ide értve modulokat) alaposan megvizsgáljuk. 40
http://weblabor.hu/cikkek/rubyonrails 104. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 14.A Views modulok A Views modul a tartalmaink listázására szolgál. Az alapbeállítások szerinti Drupal rendszer által nyújtott szolgáltatás (kezdőoldal a friss „Címlapra kerül” tartalmakkal) is megvalósítható, sőt továbbfejleszthető a Views modul segítségével. A modul használatával az adminisztrátor olyan oldalakat és blokkokat tud létrehozni, amelyekkel bizonyos tartalmak (pl. fórum témák vagy blog bejegyzések) teljes vagy szűrt listájának időrendben, abc szerinti, vagy akár más sorrendben történő megjelenítését teszi lehetővé. 14.1 Telepítés E modul használatba vételét is a modul letöltésével és a fájlok bemásolásával kell kezdenünk. Ezután kapcsoljuk be a Views modult (A további három modulra egyenlőre nem lesz szükségünk.) Az adminisztrációs menü Nézetek linkje a nézeteink kezelését és létrehozását
lehetővé tevő oldalra vezet. Nézzük meg először az Alapértelmezett nézeteket 14.1 ábra: Alapértelmezett nézetek 14.2 Kezdőoldal A frontpage oldal szerkesztésével (Hozzáadás) betekintést nyerhetünk a nézetek működésébe. Nézzük meg, hogyan is áll elő az alapértelmezett kezdőoldalunk 14.A Views modulok 105. oldal 14.2 ábra: Alapvető információ Az Alapvető információ részben a nézetünknek olyan egyedi nevet adhatunk, amellyel a rendszer azonosítja azt. (Ez a név a látogatók előtt rejtve marad) Megadhatjuk (Hozzáférés), hogy kik használhassák majd a nézetet, majd szöveges leírást is adhatunk hozzá (Ez is a listázás oldalon fog megjelenni.) Egy nézet alapvetően oldal vagy blokk formában szokott megjelenni. Jelen esetben az Oldal részben (14.3 ábra) határozhatjuk meg, milyen oldalként is kell a nézetünknek megjelenni. (Az Oldal nézet megvalósítása az oldalként való megjelenésnek előfeltétele) 106. oldal
Webes tartalomkezelő rendszerek (0.3 verzió) 14.3 ábra: A Nézet Oldal megvalósítása Az URL mezőben a nézetet megjelenítő oldal útvonalát határozhatjuk meg. A nézet típusa alapvetően négyféle lehet: Teljes tartalmak (blog oldalaknál szokásos) Előzetesek (a kezdőoldal alapbeállítása) Táblázat (az összetettebb tartalomtípusokhoz fogjuk majd használni) Lista (a címek listája) Megadhatjuk az oldal címét, engedélyezhetjük a lapozó használatát, és az egy oldalon megjelenő tartalmak maximális számát. Végül fejlécet, láblécet is írhatunk, vagy akár az üres nézet esetén megjelenő általános szöveget is megfogalmazhatjuk. (A kezdőoldal fejlécébe például egy köszöntőt is tehetünk) A Blokkok és Mezők lehetőségeire egyenlőre nincs szükségünk, a Paraméterek használatára pedig később fogunk kitérni. 14.A Views modulok 107. oldal Ha nem szűrnénk a tartalmainkat, akkor az összes tartalom (node)
megjelenne a nézetünkben. Nézzük meg, mire is kell a kezdőoldalon szűrnünk: 14.4 ábra: Szűrők definiálása Jól látszik, hogy csak a Címlapra kerül és Közzétett tartalmak fognak megjelenni. Végül láthatjuk, hogy először a Kiemelt jellemző, majd a létrehozás ideje alapján rendezzük a tartalmainkat. Így először a kiemelt tartalmak, majd a többi tartalom fog időrendben megjelenni 14.5 ábra: Rendezési jellemzők A frontpage nézet létrehozásával akár testre is szabhatjuk és le is cserélhetjük a kezdőoldalt az Alapértelmezett címlap beállításával (6.9 ábra) 108. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Hírek megjelenítésének időzítése A Drupalt használva felmerülhet az az igényünk, hogy tudjunk olyan tartalmakat is beküldeni, amelyek nem azonnal, hanem csak egy bizonyos idő elteltével jelenjenek meg az oldalon. Felmerülhet az ötlet, hogy adjunk meg olyan beküldési időt, ami csak a jövőben fog
bekövetkezni. Ez azonban önmagában még nem hozza a várt eredményt, hiszen az előbb láttuk, hogy pontosan milyen tartalmak fognak a kezdőoldalon megjelenni. Kis trükkel azonban megoldhatjuk, ha egy újabb szűrőt veszünk fel a fronpage nézethez a Tartalom: létrehozás idejéhez: 14.6 ábra: Újabb szűrő a frontpage nézethez Természetesen ez a megoldás csak a kezdőoldalon nem jeleníti meg a megadott időpontig a tartalmainkat, de más módon a tartalom elérhető marad. A legegyszerűbben például a most leváltott node útvonalon (Ezt azonban a legtöbb látogató nem fogja ismerni :-) 14.3 További lehetőségek A frontpage áttekintése során találkozhattunk olyan lehetőségekkel, amelyeket még nem használtunk ki. Következzék néhány ezek közül: Táblázatos nézet esetén érdemes mezőket is felvinni, így tudjuk megadni a táblázatba kerülő információkat. A szűrők megfelelő alkalmazásával készíthetünk például testreszabott
listákat. A Views RSS modul segítségével egyedi RSS csatornát is készíthetünk a nézetünkből. Az Insert View modul segítségével az oldalunk szövegébe tudunk egy nézetet beszúrni. A modulok igen sokféle felhasználására hamarosan további példákat fogunk látni. 14.4 Ellenőrző kérdések Mi a Views modul feladata? Hogyan lehet a kezdőoldalon táblázatosan megjeleníteni a friss tartalmakat? 15.CCK modulok 109. oldal 15.CCK modulok A CCK modulcsalád a tartalomtípusokra koncentrál. A Drupal alapcsomaggal létrehozott tartalomtípusok csak két mezőt tartalmaznak: a címet és a törzset. A CCK (egész pontosan a Content) modul legfontosabb szolgáltatása, hogy lehetővé teszi a tartalomtípusok bővítését további mezőkkel. Az egyes mezők speciális típusokkal és jellemzőkkel írhatók le 15.1 Telepítés Az alap CCK modulok telepítését a szokásos módon kezdjük: másoljuk a letöltött41 és kitömörített cck könyvtárat
a sites/all/modules alkönyvtárba. Minden további modul függ a Content-től, ezért ezt mindenképpen, és általában az alábbiakat érdemes engedélyezni: 15.1 ábra: CCK alap modulok engedélyezése 41 http://drupal.org/project/cck 110. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Ekkor a következő mezőtípusok válnak elérhetővé: Node Reference Egy másik node-ra való hivatkozás (megjelenni általában link formában fog) Integer, Decimal Szám Text Tetszőleges szöveg User Reference Egy felhasználóra való hivatkozás (általában ez is link lesz) A típusokat tovább specifikálhatjuk, illetve megadhatjuk a bevitel módját is. Például reference típusoknál Select List és Autocomplete Text Field közül választhatunk Nézzünk példát mindkettőre, nézzük meg, hogy az Informatika Szakcsoport vezetőjét és adminisztrátorát hogyan adhatjuk meg: 15.2 ábra: Select List alkalmazása 15.3 ábra: Autocomplete Text Field alkalmazása
15.CCK modulok 111. oldal Szövegek és számok bevitelénél a következő lehetőségeink vannak: Select list Előre megadott értékek közül választhatunk Check boxes/radio buttons Előre megadott értékek közül választhatunk Single on/off checkbox Egyetlen jelölőnégyzetet kapcsolhatunk ki-be Text Field A szöveget gépeléssel vihetjük be További CCK modulok telepítésével újabb mezőtípusok is elérhetővé válnak: például dátum, link, kép. 15.2 Mező létrehozása A mezők létrehozását a kiválasztott tartalomtípus szerkesztési oldalán kezdhetjük az Add field gombbal. Először meg kell adnunk az új mező gépi vagy belső (csak az adminisztrációnál használatos) nevét, és a korábbiaknak megfelelően választanunk kell a mezőtípusok közül Végül a Create field gombbal a második oldalra léphetünk (A második lépés felépítése sok mindenben függ attól, hogy milyen típusú mezőt választottunk.) 112. oldal Webes
tartalomkezelő rendszerek (0.3 verzió) 15.4 ábra: Mező létrehozása - 1 lépés Példaként egy gyakran előforduló esetet, egy teljesen általános szöveges mezőt hozzunk létre. A (gépi) Név legyen szoveges, típusa pedig Text/Text field A Create field gomb hatására már létre is jön az új mezőnk (bár a testreszabás még hátravan): 15.CCK modulok 113. oldal 15.5 ábra: Mező létrehozása - 2 lépés 114. oldal Webes tartalomkezelő rendszerek (0.3 verzió) A Címke szövege az emberek számára olvasható nevet jelenti. Megadhatjuk, hogy hány soros beviteli mezőt szeretnénk (Rows) mi legyen a mező alapértelmezett kezdőértéke (Default value) milyen információ jelenjen meg a leendő tartalombeküldőknek erről a mezőről (Rövid leírás) kötelező legyen-e kitölteni a mezőt (Szükséges) lehessen-e több értéket adni neki (Multiple values) sima szövegként, vagy beviteli formával szűrten legyen a szöveg kezelve
(Text processing)42 milyen hosszú lehessen (Maximum length) milyen szövegeket fogadjon el (Allowed values list) Az egyes információk esetén összefüggések is lehetnek. Például ha felsorolunk Allowed values list-et, akkor az alapértelmezett érték kiválasztásához menteni kell a beállításokat, és csak újabb szerkesztés (beállítás) esetén tudjuk azt kiválasztani. Összességében elmondható, hogy igen sok próbálgatásra, kísérletezésre van szükség a lehetőségek alapos megismeréséhez. Természetesen más típusú mezőknél ez az űrlap jelentősen eltérhet. (Később további példákat fogunk még látni.) Nézzük meg, hogy a tartalom beküldésekor hogyan fog változni az űrlapunk: 15.6 ábra: A Szöveges mező tartalom beküldéskor Érdemes megfigyelni, hogy a Content modul telepítésével a Törzs mező már nem kötelezően kitöltendő. 42 Egy Város mező esetén az előző, míg egy Levelezési cím mezőnél inkább az utóbbi
célszerű. 15.CCK modulok 115. oldal 15.3 Mezők menedzselése A mező elmentése után a Manage fields oldalra jutunk. 15.7 ábra: Mezők menedzselése Ezen az oldalon tudjuk a mezők súlyozásával a megjelenés sorrendjét befolyásolni, a létrehozott mezőket szerkeszteni, törölni (beállítás, remove), csoportokat létrehozni (Add group), mezőket csoportokba tenni vagy kivenni (Group oszlop). A csoportosítás sok mezőt tartalmazó típusok esetén lesz különösen hasznos: vizuális összetartozást eredményez. 15.4 Mezők megjelenése A Display Fields oldalon a mezők megjelenését tudjuk szabályozni rövid előnézet (Teaser) és teljes nézet (Full) esetén. Az alapértelmezett (Default) helyett különböző jellegű redukálást (Plain text: csak szöveg formázások nélkül; Trimmed: rövidített szöveg), vagy nem megjelenítést választhatunk. A mező feliratának megjelenését is befolyásolhatjuk. 15.5 Ellenőrző kérdések Mi a
CCK modul feladata? Milyen mezőket vehetünk fel a tartalomtípusainkhoz a CCK moduljait telepítve? Milyen CCK kiegészítő modulokat ismer? 116. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 16.CCK és Views esettanulmányok Az e fejezetben bemutatásra kerülő példák az életből származnak, konkrét megrendelői igényt elégítenek ki. Éppen ezért az ismertetésük is célirányos: a feladatok és megoldásuk lesz a középpontban Érdemes azt is megjegyezni, hogy a megoldások nem teljesek és nem is feltétlen a legjobb megközelítést alkalmazzák, de a fenti modulok bemutatására megfelelőek. 16.1 Programok időrendben43 A kezdőoldalon megjelenő hírek praktikusak, mivel a rendszeres látogatónak lehetősége van egyszerűen áttekinteni, melyek az általa még nem olvasott tartalmak. Vannak azonban olyan esetek, amikor nem a beküldés ideje, hanem sokkal inkább a hírben szereplő időpont sorrendje lenne a praktikus. A példa bemutatását
kezdjük a végénél: először is nézzük meg, mit is szeretnénk az oldalon látni. 16.1 ábra: A program-ajánló működése Az ajánlott programok növekvő időrendben és táblázatos formában jelennek meg. Tartalomtípus Létre kell hoznunk egy új Program ajánló tartalomtípust, amihez a szükséges mezőket felvehetjük. 43 A példa http://kbgy.hu-ról származik, bár sok más honlapon is hasznos lehet(ne) 16.CCK és Views esettanulmányok 117. oldal 16.2 ábra: Tartalomtípus létrehozása Ha az alap CCK modult telepítettük, akkor a Mező hozzáadása menüpont segítségével további mezőket adhatunk a tartalomtípushoz. A feladatunk szempontjából legfontosabb, hogy dátum/idő értéket tudjunk kezelni. (Ehhez a Date modult is telepítenünk kell) Adjunk tehát egy új mezőt a tartalomtípushoz Első lépésben válasszuk ki a mező típusát (Date, Select List), majd második lépésként a Dátum mezőre jellemző adatokat adhatjuk meg Igen
összetett, sok beállítási lehetőséggel rendelkező oldalt kaptunk, így csak a lényegesebb dolgokat nézzük meg: Adjunk nevet (Label) a mezőnek Tegyük kötelezővé a kitöltést (Szükséges) Válasszuk ki a dátum/idő szükséges elemeit (Granularity; itt az évtől a percig bezárólag mindenre szükségünk lesz) Válasszuk ki az alapértelmezett dátum formátumot Az adatok elmentése után hozzunk létre egy szöveges mezőt is a Hely tárolására. (A lehetőségek közül most a Text/Text field típust válasszuk ki Ha az eddigiekkel kész vagyunk, akkor a következőhöz hasonlót kell látnunk: 118. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 16.3 ábra: Mezőkkel kiegészült a tartalomtípus Mentés után akár be is küldhetjük az első program-ajánlóinkat. Az Esemény dátumát és a Helyet is könnyedén megadhatjuk: 16.4 ábra: Program ajánló beküldése A tartalom beküldése után már meg is tekinthetjük a
programajánlónk teljes nézetét. A programajánlók listázása Térjünk vissza arra a kérdésre, hogy hogyan is áll elő a 16.1 ábra listája Hozzunk létre egy új nézetet, és töltsük ki az esetünkben szükséges mezőket. 16.CCK és Views esettanulmányok 119. oldal 16.5 ábra: Oldal nézet megvalósítása Töltsük ki a Név mezőt (például programajanlo). Ez nem tartalmazhat ékezetes betűket, szóközöket, de ez nem is lesz probléma, mert ezt a nevet csak mint szerkesztők fogjuk látni Ezzel a névvel tudunk a későbbiekben a nézetünkre hivatkozni Valósítsuk meg az oldal nézetet, adjunk meg egy URL-t, ahol a nézet megtekinthető lesz, állítsunk be táblázatos nézetet, és állítsuk be a lapozót (16.5 ábra) A táblázat oszlopaiként vegyük fel az ábrán látható mezőket, rendezéshez pedig válaszszuk ki a dátumot: 16.6 ábra: Mezők beállítása Szűrjünk tartalomtípus és idő szerint. (Ez utóbbi az aktuális időpont alapján
történik) 120. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 16.7 ábra: Szűrési feltételek Kész is vagyunk. Megtekinthetjük a kész programajánlót a 165ábrán megadott URL-en 16.2 Online konferencia jelentkezés Nem ritka, hogy különböző események, programok szervezői a részvételt minimum egy előzetes regisztrációhoz kötik. Ilyen esetekben hagyományos megoldások közé tartozik, hogy a jelentkezést e-mailben, vagy postai úton lehet megtenni. Mi sem természetesebb azonban annál, hogy erre a helyzetre is találhatunk megoldást Dupal alapú honlapunkhoz. (Az itt bemutatott megoldás alternatívájaként a Webform modult is lehetne alkalmazni.) Kezdjük azzal, hogy milyen adatokat szeretnénk a jelentkezőktől gyűjteni: 16.CCK és Views esettanulmányok 121. oldal Az ábrán jól látható (*), hogy szinte minden mező kitöltése kötelező Hozzuk létre először az új tartalomtípust. A fontosabb beállítandók: 16.8 ábra:
Tartalomtípus beküldési űrlap beállítások Így a törzs mezőt nem kérjük megjeleníteni. Fontos, hogy a közzétett bejegyzést, és minden további beállítást kapcsoljunk ki. Vegyünk fel (add group) két csoportot Munkahely és Kapcsolat névvel. Vegyünk fel további mezőket, hogy a bevitelhez legyenek megfelelő mezőink A mezők mind szövege- 122. oldal Webes tartalomkezelő rendszerek (0.3 verzió) sek lesznek. Igény szerint a mező létrehozásakor a megfelelő csoportba is helyezzük a mezőt. 16.9 ábra: Mezők hozzáadása után A Hozzáférés szabályozása oldalon mind regisztrálatlan, mind regisztrált látogatóinknak engedélyezzük (node modul) a tartalomtípus beküldését, és tiltsuk le a tartalmak adminisztrációját. (Így nem tudja pl Közzétett beállítással „elrontani” a folyamatot) Végül készítsünk egy olyan nézet oldalt, amelyet csak egy konferenciaszervezéssel megbízott felhasználói csoport számára ad engedélyt
a megtekintésre. 16.CCK és Views esettanulmányok 123. oldal 16.3 A GAMF Kar honlapjának információs struktúrája A honlapon sok szöveges információ mellett igen sok strukturált információt is meg kell jeleníteni. Ezen információk szerkezetének leírására egyik legjobb44 megoldás az Egyedkapcsolat diagram alkalmazása Nézzünk egy részletet a teljes 45 információs struktúrából: Szervezeti egység dolgozik Oktató felelős tanít Tantárgy vezeti része ábra 16.10: Egység - Oktató - Tantárgy egyedek és kapcsolataik Megjegyzés: Az ábrán nem szerepelnek a kapcsolat számosságára vonatkozó információk, természetesen a kivitelezéskor ezt is figyelembe kell venni. A megvalósítás részletes leírása túlmutat a jegyzetünk keretein, de a következő néhány ábra a legfontosabb információkat bemutatja. 44 A szerző véleménye szerint nem szerencsés például a sokak által ismert relációs adatmodellezés . 45 A honlap 2007
elején 12 tartalomtípusból épül fel. 124. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 16.11 ábra: Szervezeti egység mezői 16.CCK és Views esettanulmányok 125. oldal 16.12 ábra: Oktató mezői 126. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 16.13 ábra: Tantárgy mezői 16.4 Feladatok 16.41 Hírek és archív hírek Alakítsuk át a kezdőoldalunkat, hogy azon csak az 1 hónapon belüli hírek jelenjenek meg lapozás nélkül. Az oldal alján legyen egy link Archív hírek felirattal, ami csak az 1 hónapon túli híreket jeleníti meg, szükség esetén lapokra tördelve 16.CCK és Views esettanulmányok 127. oldal 16.42 Nyelviskola Hozzunk létre Tanfolyamtípus nevű tartalomtípust. (Pl „Angol kezdő”, „Német újrakezdő”), amelyeket évente többször is indítanak Rendeljünk hozzá tematikát, árat, tehát olyan információkat, amelyek hosszú távon érvényesek. Hozzunk létre 2-3 tartalmat Hozzunk létre
Tanfolyam tartalomtípust, amely egy konkrét futó tanfolyamot valósít meg. Lehessen megadni a kezdés idejét, típusát (Tanfolyamtípus), állapotát (tervezett/futó/befejezett). Hozzunk létre 4-5 tartalmat Hozzunk létre egy menüpontot, ahol időrendben böngészhetünk a tervezett és futó tanfolyamok között. 128. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 17.Drupal esettanulmányok Ebben a fejezetben néhány Drupal alapú honlap fejlesztését: a tervezés és kivitelezés fontosabb lépéseit követhetjük végig. 17.1 Bárányka Keresztyén Óvoda A Bárányka Keresztyén Óvoda46 a Kecskeméti Baptista Gyülekezet által létrehozandó és üzemeltetendő, keresztény szellemiségű, de mindenki számára nyitott óvoda lesz. Az óvoda honlapjának létrehozása előtt nézzük át a tervezés legfontosabb lépéseit. 17.11 Tervezés A honlap jelenlegi elsődleges célja, hogy a leendő óvoda iránt érdeklődő szülőket megfelelően
tájékoztassa. A látogatói célcsoport is könnyen beazonosítható: az érdeklődő szülők lesznek a legtöbben, de természetesen az óvoda munkatársai a tartalom feltöltésében részt kell hogy vegyenek. A honlap a közeljövőben jelentősen bővülni fog. Először az építkezés folyamatának bemutatása fogja a tartalmat bővíteni, majd a működés megkezdése után az óvoda mindennapjainak bemutatása kerül a középpontba (Megfelelő részvétel és igény esetén akár komoly interakciókkal, nem mindenki számára elérhető tartalmakkal is bővülhet az oldal.) Érezhető tehát, hogy 3 egymást követő (bár nem teljesen szétválasztható) időszakban a honlap célja, így szerkezete is más-más lesz. A kivitelezéskor tehát figyelembe kell venni, hogy az egyes honlap-funkciók nem egyszerre és nem is feltétlenül teljes körűen fognak jelentkezni. A honlap látogatói a következő csoportokba fognak tartozni: szerkesztő: (nem teljes körű)
adminisztrációs feladatok ellátása építő: az építkezés folyamatáról beszámoló személy nevelő: az óvodapedagógusok, további alkalmazottak szülő: az óvodás gyermekek szülei érdeklődő: aki az óvoda működéséről, az építkezésről általános információkat szeretne megtudni; akár leendő szülőként További specialitás, hogy egy lényegében egyoldalú információközlésre építő korábbi verzió (17.1 ábra) már elkészült, de most Drupal alapon ismét el kell az oldalt készíteni Ráadásul a szerkesztőnek úgy kell szerkesztési lehetőséget adni az oldalakhoz, hogy a készülő oldalt más ne láthassa. 46 A honlap a http://baranykaovi.kbgyhu/ címen érhető el 17.Drupal esettanulmányok 129. oldal 17.1 ábra: Bárányka Keresztyén Óvoda korábbi honlapja 17.12 Telepítés A Drupal 5.5-ös verziója magyar fordítással a szokásos módon telepítésre került Létrejött az admin felhasználó Ugyanígy a
legalapvetőbb beállítások is elkészültek: Az oldal offline módra lett kapcsolva. A tartalomtípusok Oldal és Hír néven specifikáltak. A látogatók adminisztrátori elfogadás nélkül, de e-mail ellenőrzéssel regisztrálhatnak, akár fényképet is feltölthetnek magukról. A modulok közül a következőket kapcsoltuk be és konfiguráltuk. Alapmodulok Book: könyvlapok Comment: megjegyzések Contact: kapcsolatfelvétel Forum: szülőkkel való kommunikáció Path: útvonal álnevek Search: kereshetőség Statistics: látogatottsági adatok Taxonomy: kategorizálás Tracker: követés Upload: mellékletek feltöltése 130. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Külső modulok Hungarian: magyar dátumok PoormansCron: időzített feladatok URLify: a path automatikus generálásához FCKEditor: vizuális szerkesztés SpamSpan: e-mail címek elrejtése Image, IMCE, Lightbox2, JQuery Update: kép
tartalmak, galériák (építkezésről, óvodai életről) Oldalak létrehozása Talán nem triviális, miért is hasznos az Oldal helyett a Könyv modult használni egyes tartalmak esetén. Az első fázisban központi jelentésű oldalak (Az oviról, Előzmények, Küldetésünk, Céljaink) a főmenüből valószínűleg ki fognak kerülni. Ekkor elképzelhető, hogy Az oviról oldal gyermekeivé kerül a másik három oldal, így a főmenüben csak egy helyet foglal el, de a könyv navigáció miatt mégis könnyedén elérhető marad a többi oldal is. Ez az átszervezés a Könyv modullal könnyedén megoldható lesz a későbbiekben, ha Az oviról oldal könyvlap lesz. (A leendő gyermekei más típusú tartalmak is lehetnek) A korábban említett három fő funkcióból pillanatnyilag két menüblokk valósul meg. A smink nélküli „végeredmény”: 17.Drupal esettanulmányok 131. oldal 17.2 ábra: http://baranykaovikbgyhu Végül meg kell jegyezünk, hogy a honlap a
tartalom és funkcionalitás kialakítása után az eredeti kinézetét is „visszakapta” az eredeti dizájn sminkké fejlesztésével. 17.2 Poli-Tech 2005 Kft A Poli-Tech 2005 Kft.47 honlapja sem volt előzmények nélküli Statikus HTML tartalom alkotta – mindenféle interakciós lehetőség nélkül. Ehhez képest sokféle egyéb szolgáltatást szerettek volna a tulajdonosok megvalósítani A legfontosabb igények: Elérhetőségi információk Termék-, és szolgáltatási információk Referencia munkák, cégek bemutatása Álláshirdetések Hírek, azokra megjegyzési lehetőség Kapcsolat-űrlap Fórum Hírlevél RSS A honlap látogatóit ösztönözni szeretnénk a regisztrációra, ezért bizonyos szolgáltatásokat csak nekik engedélyezünk. 17.21 Alkalmazott modulok Az oldal elkészítéséhez a következő modulokat használjuk: 47 http://politech2005.hu/ 132. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Alapmodulok
Book: könyvlapok, hierarchikus navigációhoz Comment: megjegyzések Contact: kapcsolatfelvétel Forum: fórum kommunikáció Path: útvonal álnevek Poll: szavazás Profile: további információk a látogatókról Search: kereshetőség Statistics: látogatottsági adatok Taxonomy: kategorizálás Tracker: követés Upload: mellékletek feltöltése Külső modulok Hungarian: magyar dátumok PoormansCron: időzített feladatok FCKEditor: vizuális szerkesztés SpamSpan: e-mail címek elrejtése Image, IMCE, Lightbox2: kép tartalmak, galériák (termékekről) User Node, Node Profile: a felhasználók adatainak komplex kezeléséhez Simple News: Hírlevelek küldése Subform Element: Űrlap szolgáltatások External links: külső linkek jelzése Extended user status notifications: a látogató értesítése az állapotváltozásáról Views: különféle listák CCK (Content, Fieldgroup, Image, Link, Node
Reference, Option Widgets, Text, User Reference): a különféle tartalomtípusokhoz 17.22 Oldalfelépítés Az oldal felépítése a szokásos szerkezetre épül: hírek a kezdőoldalon, főmenük fent és oldalt, és „közösségi” menük jobb oldalt. 17.Drupal esettanulmányok 133. oldal 17.3 ábra: A Poli-Tech 2005 Kft honlap kezdőoldala 17.23 Felhasználói adatok A honlap készítésekor fontos igény volt, hogy a regisztrált felhasználókról nyilván tudjunk tartani bizonyos információkat. Ehhez az alap Profile modul mellett a User Node és Node Profile kiegészítő modulokat is igénybe kellett venni. Nézzünk meg először egy regisztrációt. A szokásos név és e-mail megadásán túl a következőket kérjük kitölteni: 17.4 ábra: Bővített regisztráció 134. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Ezen adatok egy része csupán megjelenik a későbbi oldalakon, már részeit viszont aktívan fel fogjuk használni. A fenti
adatok létrehozása érdekében a Profilok adminisztrációs oldalon a következő mezőket hoztuk létre: 17.5 ábra: Profilok adminisztrációs oldal Nézetek A felhasználókról két nézetet hoztunk létre. A Kollégák című nézet csak névtelen látogatók számára jelenik meg, tartalma pedig a listában való megjelenést engedélyező (17.4 ábra utolsó sora) felhasználók neveire korlátozódik Most csak néhány – talán az eddigiek alapján nem triviális – beállítás következik. Csak névtelenül lehessen megnézni: 17.6 ábra: Nézet névteleneknek A táblázatos nézetbe csak a név mező került bele, de nem kattintható, csak szöveges (normat text) formában. Végül az aktív látogatókra szűrünk: 17.Drupal esettanulmányok 135. oldal 17.7 ábra: Csak aktív tagok A másik nézet csak regisztráltaknak, és jóval több információt tartalmaz, de ez az eddigi példák alapján könnyedén összeállítható. 17.24 Hírlevelek A
Hírlevelek kezeléséhez a SimpleNews modult alkalmazzuk. Először is létrehoztunk különböző témaköröket, amikre a felhasználók külön-külön feliratkozhatnak: 17.8 ábra: Hírlevél Igazából (a fórum működéséhez hasonlóan) itt se egy teljesen új dologgal állunk szemben, hanem egy új, Hírlevelek nevű kategória kifejezéseit hozhatjuk ilyen módon létre. A megfelelő jogosultságok megadása után a látogatók már fel tudnak iratkozni az egyes témákra a Saját adatok oldalunkon: 17.9 ábra: Feliratkozás hírlevélre A Szerkesztők (megint csak a jogosultságok megkapása után) tudnak a tartalom beküldésénél hírlevelet létrehozni, és megfelelő kategóriába sorolva elküldeni. 136. oldal Webes tartalomkezelő rendszerek (0.3 verzió) 17.10 ábra: Hírlevél létrehozása A cím alatt kiválaszthatjuk, hogy melyik hírlevél témakört szeretnénk megcélozni. Az üzenet alatt olvashatjuk, milyen speciális szövegek beillesztését
kérhetjük. Végül a Hírlevélküldés beállításai is magukért beszélnek, értelem szerűen, a céljainknak megfelelően tölthetjük ki azokat 18.Adminisztrációs feladatok 137. oldal 18.Adminisztrációs feladatok Drupal alapú honlapunk létrehozásával még nem értek véget feladataink. (A java csak most következik :-) Saját honlap esetén a honlap tartalmának előállítása, a honlap menedzselése lesz komoly feladat. Ha más(ok) számára hoztuk létre az oldalt, akkor a tulajdonos, a tartalom előállítók betanítása, folyamatos segítése lesz nagy feladat. Bármelyik esetről legyen is szó, az oldal karbantartása mindenképpen rendszeres feladatot fog jelenteni. Következzenek tehát a karbantartási funkciók 18.1 Biztonsági mentés A biztonsági mentés célja, hogy egy esetleges meghibásodás esetén a biztonsági mentés felhasználásával az elmentett állapot reprodukálható legyen. (Meghibásodás oka lehet a szolgáltatónál előálló
hardver hiba, egy hacker támadás, egy vírustámadás, de akár az adminisztrátor egy „rossz mozdulata” is.) Ideális esetben a tárhelyszolgáltató gondoskodik a rendszeres biztonsági mentésről. Sok esetben azonban az adminisztrátor feladata ennek elvégzése. Hasonló lépéseket kell akkor is követnünk, ha a honlapunkat át akarjuk költöztetni egy másik tárhelyre (például a lokális gépünkről egy ingyenes tárhelyszolgáltatóhoz). Ezért e fejezet azok számára is hasznos lehet, akinek más készít biztonsági mentést. A biztonsági mentés idejére érdemes a honlapot offline állapotba kapcsolni. 18.11 A fájlok elmentése A fájlok mentéséhez az FTP kliensünket (például Total Commandert) ugyanúgy csatlakozzunk a szolgáltatónkhoz, mint a telepítésnél, majd az összes ott található fájlról készítsünk egy másolatot. 18.1 ábra: Fáljok biztonsági mentése 138. oldal Webes tartalomkezelő rendszerek (0.3 verzió) Ha nem első
alkalommal készítjük a mentésünket, akkor nem kell feltétlenül mindent újból lemásolnunk: a Total Commander kiváló szolgáltatást nyújt nekünk a Parancsok/ Könyvtárszinkronizálás menüponttal. A két panel megfelelő beállítása után keressük meg a fenti menüpontot, majd kezdjük el az összehasonlítást a következő beállításokkal: 18.2 ábra: Könyvtárszinkronizálás Az Összehasonlítás gomb lenyomása után egy teljes összehasonlítás történik, amiről a következőhöz hasonló48 eredményt kell kapnunk: 18.3 ábra: Az Összehasonlítás eredménye Érdemes megfigyelni, hogy a Látható elemekkel összhangban van a találati lista megjelenítése. Következő lépésként a Szinkronizálás gombra kattintsunk. Ennél a lépésnél különösen legyünk óvatosak, mert itt is tönkretehetjük az oldalunkat. 18.4 ábra: Szinkronizálás 48 Az ábra egy olyan helyzetben készült, amikor a hálózati kapcsolat megszakadása miatt a fájlok
mentése csak részben történt meg, a folytatást pedig ugyanezzel a módszerrel kezdeményeztük. 18.Adminisztrációs feladatok 139. oldal A másolás irányaként érdemes csak a szerver felől a mentés helye szerint (az ábrán Balról jobbra) engedélyezni a másolást, és a Felülírás megerősítését is meghagyni. A másolás megtörténte után a TC ismét összehasonlítja a két oldal tartalmát. Ha esetleg valamilyen ok miatt a két fájl nem egyezik meg, akkor még inkább fontos tisztában lennünk azzal, hogy melyik irányban kell másolnunk. 18.12 Az adatbázis mentése Legtöbb tárhelyszolgáltató az adatbázishoz való hozzáférést a phpMyAdmin segítségével teszi lehetővé. Az adatbázis kiválasztása után az Export fület kell keresnünk. Itt biztonsági mentés esetén az alapbeállítások többnyire megfelelőek, költöztetéskor azonban probléma forrása lehet például az eltérő verziójú szoftver. (Ekkor először az SQL export
kompatibilitás-t érdemes megnézni.) A Végrehajt gombra kattintás előtt érdemes még a „gzip-pel tömörítve” lehetőséget is kijelölni. Így egyetlen tömörített fájlt kell letöltenünk a teljes adatbázismentéshez 18.5 ábra: Adatbázis exportálás 18.2 Honlap átköltöztetése, visszaállítása Akármelyik esetről is legyen szó, az utolsó biztonsági mentésünket kell elővennünk. A legegyszerűbb esetben mindössze két vagy három egyszerű lépést kell követnünk: 140. oldal 18.21 Webes tartalomkezelő rendszerek (0.3 verzió) A settings.php szerkesztése Átköltöztetés esetén itt adhatjuk meg az új szerver környezet azon adatait, amire a PHPnek az adatbázis eléréséhez van szüksége. Keressük meg a sites/default/settings.php állományt Szerkesszük egy tetszőleges programozói editorral49, amelyik megfelelően tudja a Unix sortöréseket kezelni Keressük meg az a sort, amelyik így kezdődik: $db url. Például: $db url =
mysql://root@localhost/gamf4; Néhány sorral fentebb láthatjuk a magyarázó szövegben, hogy hogyan kell módosítanunk ezt a sort. A minta: $db url = mysql://username:password@localhost/databasename; Természetesen a szöveg mind az öt részét (mysql, username, password, localhost, databasename) a saját szerverünknek megfelelően kell módosítanunk. 18.22 A fájlok feltöltése Total Commander a szokásos módon nagyon egyszerűen megoldja a feladatot. (A telepítéskor megtett lépéseket érdemes mintául venni) 18.23 Az adatbázis importálása A phpMyAdmin SQL fülét keressük meg. A korábban lementett gz kiterjesztésű állományunkat kell a Tallózás-sal megkeresni A beállítások után pedig Végrehajthatjuk az importálást 18.3 Frissítés A honlap elkészítése, beüzemelése után sem hagyhatjuk magára a honlapot. Nem ritka, hogy a Drupal újabb verziója jelenik meg. Az új verzió megjelenésének két fő oka lehet: Hibajavítás esetén az új
kiadás az előző verzióban talált hibát javítja. Ekkor – értelemszerűen – alapvető biztonsági cél a frissítés elvégzése Új funkcionalitás esetén a szolgáltatási kör bővülése, valamint az újabb modulok verzió-igénye miatt lesz a frissítés előbb-utóbb elengedhetetlen. Amennyiben van rá lehetőségünk, érdemes a szerver rendszergazdáját/üzemeltetőjét „elérhető közelségben” tudni. Minden alapcsomag tartalmazza az UPGRADE.txt állományt, ami a frissítés javasolt menetét mutatja be A fontosabb lépések: 1. Készítsünk biztonsági mentést az adatbázisról és a fájlokról 2. Lépjünk be adminisztrátorként a honlapra 3. Kapcsoljuk a Drupalt offline állapotba 49 A Jegyzettömbnél alig kell többet tudnia. Megfelel például: http://notepad-plus.sourceforgenet/hu/sitehtm 18.Adminisztrációs feladatok 141. oldal 4. Kapcsoljuk ki a kiegészítő modulokat, és váltsunk vissza az alapértelmezett sminkre. 5. Írjuk
felül az újabb verzió fájljaival az eredetieket, kivéve a settingsphp fájlt 6. Kapcsoljuk ki az alapmodulokat is 7. Futtassuk az updatephp fájlt értelem szerűen 8. Kapcsoljuk be a modulokat 9. Kapcsoljuk a Drupalt online állapotba Ideális esetben a frissítés hiba nélkül megtörténik