Académique Documents
Professionnel Documents
Culture Documents
Webes
tartalomkezelő
rendszerek
1.0. verzió
2009. szeptember
2. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Jogi nyilatkozat
Az alábbi feltételekkel:
Nevezd meg! A szerző vagy a jogosult által meghatározott módon fel kell
tüntetned a műhöz kapcsolódó információkat (pl. a szerző nevét vagy álne
vét, a Mű címét).
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-nd/2.5/hu/ oldalon is olvas
ható. A teljes licensz a http://creativecommons.org/licenses/by-nc-nd/2.5/hu/legalcode
oldalon érhető el.
E jegyzet hivatalos honlapjáról (http://nagygusztav.hu) tölthető le a mindenkori leg
frissebb 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 elsősorban webfejlesztőknek szól, hanem bárki
nek, 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ű jegyzete
met1 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 ad
jon.
A jegyzet feltételezi a mai korszerű böngészők, a webalkalmazások, egy irodai program
csomag középszintű, valamint a HTML alapszintű ismeretét. Ezek hiányában az anyag
elsajátítására több időt kell fordítani.
1.0 verzió
A jegyzet 1.0-ás kiadása a Drupal 6-os alapján készült. A verzió fontosabb újdonságai:
a legtöbb alapmodul részletes ismertetése,
a korábbi verziónál részletesebb ismertető a kiegészítő modulokból
a korábbi verziónál részletesebb CCK és Views ismertetés,
esettanulmányok különböző témában.
A jegyzet ára
Sok kritikát kapok az üzleti modellem miatt. Sokan naivnak tartanak, hogy ingyenesen
teszem a jegyzeteimet elérhetővé. Ennek ellenére ragaszkodom az elveimhez. Az ár:
0 Ft annak számára, aki ugyan letölti, de nem találja hasznosnak, illetve a GAMF
nappali vagy levelező tanrendű, a kurzust felvevő hallgatója;
pár szavas hozzászólás a honlapomon annak számára, aki ugyan hasznosnak
tartja, de fizetni nem tud érte;
2.000 Ft annak számára, aki hasznosnak találja és tud is érte fizetni.
Ez utóbbi esetben a nagy.gusztav@gmail.com címre küldött e-mailben lehet jelezni a fi
zetési szándékot a számlázási cím megadásával. Én erre válaszul a bankszámlaszámo
mat, és postai úton a számlát fogom küldeni.
Két személy inspirált abban, hogy ezt az üzleti modellt alkalmazzam:
Jézus Krisztus, akitől (közvetve vagy közvetlen) mindent kaptam,
Muhammad Junusz bangladesi, Nobel-békedíjas közgazdász, aki bebizonyítot
ta, hogy nem csak a vad kapitalista üzleti modellek működhetnek.
1
A legfrissebb változat letölthető a http://nagygusztav.hu oldalról.
4. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Köszönetnyilvánítás
2
Forrás: http://hu.wikipedia.org/wiki/Szabad_szoftver
3
http://drupal.hu/
4
http://ubuntu.hu/
5
http://firefox.hu/
6
http://www.openoffice.hu/
7
Egyszer talán eljutok a Scribus (szintén nyílt forrású) kiadványszerkesztő használatáig is :-)
5. oldal
Tartalomjegyzék
1. Alapfogalmak..........................................7 8.2. Tartalmak beállításai....................58
1.1. Honlap típusok.................................7 8.3. Tartalom típusok...........................58
1.2. Tartalomkezelő rendszerek............11 8.4. Tartalom beküldése.......................61
2. Drupal kézikönyv kezdőknek...............13 8.5. A tartalmak megtekintése.............63
2.1. Felhasználókezelés.........................13 8.6. Jogosultságok................................63
2.2. Tartalmak kezelése........................18 9. Az alaprendszer moduljai....................65
3. A honlap megtervezése........................24 9.1. Az Aggregator modul.....................66
3.1. Mi a célunk a honlappal?..............24 9.2. A Blog modul.................................66
3.2. Kik lesznek a látogatóink?............24 9.3. A Blog API modul..........................66
3.3. Mit szeretnénk bemutatni?...........24 9.4. A Book modul................................66
3.4. Mik a kulcsfontosságú funkciók?..25 9.5. A Color modul...............................70
3.5. Milyen visszajelzéseket várunk a lá 9.6. A Comment modul........................70
togatóinktól?........................................26 9.7. A Contact modul............................70
3.6. Részt vesznek-e a látogatóink a tar 9.8. A Database logging modul............73
talom előállításában?...........................27 9.9. A Forum modul.............................74
3.7. Miben fog a tartalom és a szolgálta 9.10. A Help modul...............................74
tás fejlődni (pl. 1 hónap, 1 év múlva)?. 27 9.11. A Locale és Content translation
3.8. Ki fogja az oldalt karbantartani?. .27 modulok................................................75
3.9. Milyen csoportos és személyes jogo 9.12. A Menu modul.............................81
sultsági körökre lesz szükség?.............28 9.13. Az OpenID modul........................81
3.10. Hol és hogyan szeretnék a honla 9.14. A Path modul...............................81
pot az interneten reklámozni?.............28 9.15. A PHP Filter modul.....................82
3.11. Látogatottsági statisztikákat szeret 9.16. A Ping modul...............................82
nének-e megismerni?...........................29 9.17. A Profile modul............................83
4. Telepítés előtt.......................................30 9.18. A Search modul...........................83
4.1. A web működése............................30 9.19. A Statistics modul........................85
4.2. Alapvető hardver és szoftver szük 9.20. A Syslog modul...........................86
ségletek..................................................31 9.21. A Taxonomy modul.....................86
4.3. A Drupal felépítése........................32 9.22. A Throttle modul........................90
5. Szerver kialakítása...............................33 9.23. A Tracker modul..........................91
5.1. Az XAMPP integrált telepítő csomag 9.24. A Trigger modul..........................91
..............................................................33 9.25. Az Update status modul..............94
5.2. Telepítés Linux alatt......................36 9.26. Az Upload modul........................94
5.3. Letöltés...........................................37 10. Az alaprendszer szolgáltatásai...........98
5.4. Kitömörítés localhost-ra...............37 10.1. Dátum és idő................................98
5.5. Fájlok feltöltése távoli szerverre...38 10.2. Teljesítmény beállítások.............99
5.6. Az adatbázis előkészítése..............40 10.3. RSS közzététel............................102
6. Telepítés................................................41 10.4. Hibajelentések beállításai.........102
6.1. Nyelv választás...............................41 10.5. Képkezelő eszközkészlet............103
6.2. Settings.php és files.......................41 10.6. Rövid webcímek........................103
6.3. Adatbázis-kapcsolat......................42 11. A honlap kialakítása..........................104
6.4. Webhely beállítása........................43 11.1. Alapkérdések..............................104
7. Első lépések..........................................48 11.2. Menük és blokkok kialakítása....106
7.1. Kezdeti problémák.........................48 12. Felhasználókezelés............................115
7.2. Webhely karbantartás...................52 12.1. Felhasználók létrehozása............115
7.3. Webhely információk....................53 12.2. Felhasználók kezelése................116
8. Tartalmak.............................................55 12.3. Jogosultságkezelés......................117
8.1. Beviteli formák...............................55 12.4. Jogosultságok.............................119
6. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
1. Alapfogalmak
E jegyzet nem vállalkozhat arra, hogy az internet, és azon belül a web használatát az ala
poktól részletesen bemutassa. Arra azonban igen, hogy bemutassa a webes tartalom-elő
állítás értő művelői számára szükséges alapismereteket.
A szerző vágya kettős:
hosszú távon: a GAMF Karon végzett hallgatók a majdani munkahelyükre vi
gyék el az itt tanultakat, és a cégük8 oldalának kialakításában, üzemeltetésében
aktívan vegyenek részt,
rövid távon: a hallgatók bekapcsolódhassanak különböző honlapok aktív hasz
nálatába.
Kezdjük a ma jellemző kis-közepes méretű honlapok jellemző típusainak, főbb szolgálta
tásainak áttekintésével.
8
A kis-, és középvállalatok jelentős része igen keveset használ ki a web lehetőségeiből.
9
http://www.titszeged.hu/
8. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
A Bárányka Keresztyén Óvoda10 honlapja is hasonló célokat tűzött ki maga elé, de itt a
tartalom dinamikusan, időszerű információkkal bővül (2. ábra).
10
http://baranykaovi.kbgy.hu/
1. Alapfogalmak 9. oldal
Nézzünk egy másik példát is, amely céljaiban, szolgáltatásaiban az iwiw-szerű oldalak
hoz hasonlítható. A felsofok.com14 Berka Viktor szakdolgozati feladata (4. ábra).
11
http://iwiw.hu/
12
http://weblabor.hu/
13
http://prog.hu/
14
http://felsofok.com/
10. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Tipikus jellemzőjük tehát e közösségi oldalaknak a valamilyen rendezőelv (pl. már meg
lévő kapcsolatok egy ifjúsági egyesület vagy gyülekezet oldalán; vagy a közös érdeklődési
kör) szerint való csoportosulás.
1.1.3. Blogok
A weblogok, vagyis webes naplók (legalábbis magyar nyelvterületen) viszonylag újdon
ságnak számítanak. A gyökereket exhibicionista („magamutogató”) fiatalok személyes,
sőt sokszor bizalmas15 naplóinál kell keresni.
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. Doransky16 a webes trendek világban, 5. ábra), vagy éppen a vállalatok
hoz kapcsolódó blogolás. Ez utóbbi akár a cég egészét megjelenítő (ún. céges blog), akár
a nagyobb vállalatok meghatározó munkatársainak (különösen az un. evangelistáknak17)
önálló blogjai is lehetnek. Utóbbira példa olyan neves vállalatok, mint a Sun18, Mozilla19
vagy Microsoft20 vezető fejlesztőinek blogjai, ahol a legfrissebb publikus szakmai infor
mációkat lehet megismerni.
15
„Nem mondhatom el senkinek, elmondom hát mindenkinek” megközelítés.
16
http://doransky.hu/
17
Az eredetileg keresztény fogalmat ma már az egyes vállalatokat és/vagy termékeket népszerűsítő mun
katársakra is alkalmazzuk.
18
http://blogs.sun.com/
19
http://blog.mozilla.com/
20
http://blogs.msdn.com/
1. Alapfogalmak 11. oldal
21
Éremes megemlíteni, hogy az ingyenes és a nyílt forrású fogalom nem ugyanazt jelenti. Sokszor azon
ban, és a CMS-ek esetén különösen sokszor az ingyenesek egyben nyílt forrásúak is.
12. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
22
http://www.cmsaward.hu/
23
http://opensourcecms.com/
24
„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
2. Drupal kézikönyv kezdőknek 13. oldal
2.1. Felhasználókezelés
2.1.1. 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 bejelentke
zés nélkül is küldhetnek be tartalmakat: tipikusan fórum bejegyzések, illetve megjegy
zések beküldése esetén ezt bárki számára meg szoktuk engedni.)
A regisztráció – az oldal üzemeltetőjének döntése alapján – kétféle módon történhet:
saját magunkat regisztráljuk, vagy
az adminisztrátor regisztrál.
A linkre kattintva megjelenik a Saját adatok oldal (7. ábra), ahol a kívánt Felhasználói
név és az E-mail cím megadása szükséges. Ezen kívül további adatok megadására is le
het szükség, illetve lehetőség, az adminisztrátor által meghatározott módon. Sajnos egy
re gyakrabban van szükség például a Captcha25 ellenőrzés beiktatására.
7. ábra: Regisztráció
(Ha az ábrán látható oldalon a jelszó megadására nincs lehetőség, akkor ennek biztonsá
gi oka van, és a jelszó a megadott e-mail címre fog érkezni. Hamarosan visszatérünk erre
az esetre.)
A felhasználói név megválasztásánál egyre elterjedtebb megoldás a saját nevünk al
kalmazása, főleg olyan oldalaknál, ahol a honlap látogatói nem csak virtuálisan (a hon
lap látogatóiként), hanem fizikai valójukban is találkozhatnak, ismerhetik egymást.
A jelszó kiválasztásánál26 érdemes a következőket figyelembe venni:
olyan jelszót válasszunk, amelyik nem található ki könnyen a személyünk ismere
tében sem,
25
„A captcha vagy CAPTCHA (magyarosan kapcsa) egy 2000-ben megjelent védekezési módszer a spa
mek, közelebbről a kommentspamek ellen. A módszer lényege, hogy a hozzászóláshoz a képen látható
szót is be kell írni, ez azonban a képfájlon torzítva jelenik meg, tehát a spamrobot nem ismeri föl.”
forrás: http://hu.spam.wikia.com/wiki/Captcha
26
A jelszó természetesen utólag is megváltoztatható.
2. Drupal kézikönyv kezdőknek 15. oldal
Az adminisztrátor regisztrál
Előfordulhat, hogy az adminisztrátor maga hoz létre a felhasználók számára fel
használói azonosítót. Ebben az esetben a Drupal (vagy az adminisztrátor) egy e-mailben
értesíti a leendő felhasználót a regisztráció megtörténtéről. Ennek előnye, hogy a fel
használó megfelelő jogosultságait már ekkor megkaphatja. Zárt oldalakra többnyire csak
így lehet bekerülni.
Az OpenID használata
Technikailag létező, de Magyarországon alig ismert megoldás az OpenID használata. A
Wikipédia27 szerint „az OpenID egy nyílt, decentralizált, ingyenes internetes szolgálta
tás, ami lehetővé teszi a felhasználók számára, hogy egyetlen digitális identitással lép
jenek be különböző oldalakra”.
Természetesen a Drupal alkalmas az OpenID bejelentkezések kezelésére.
27
http://hu.wikipedia.org/wiki/OpenID
16. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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ü (8. áb
ra), amelynek címe (felirata) 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.
Biztonsági okokból lehetőleg mindig lépjünk ki a Kilépés link (8. ábra) segítségével.
28
Ezt ritkán szoktuk engedélyezni, inkább az adminisztrátor határkörében szokás hagyni.
18. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Itt olyan tartalom típusok közül választhatunk, amelyek beküldésére jogunk van. (A 11.
ábra esetén csak Oldal típusú tartalmat tudunk beküldeni.)
2. Drupal kézikönyv kezdőknek 19. oldal
A Cím a beküldött oldal címét, míg a Törzs a tartalom érdemi részét várja.
Beviteli forma
A Törzs mező alatt (14. ábra) pontos információkat kaphatunk arra nézve, hogy e bekül
dendő tartalmat hogyan kell megadnunk.
Szituációtól függően sokféle eset lehetséges. A Drupal alapértelmezett beállításai a 14.
ábrán láthatóak.
Vizuális szerkesztő
A 15. ábrán látszik, hogy a tartalmak bevitele a vizuális szerkesztő segítségével hason
ló módon oldható meg, mint ahogy azt a szövegszerkesztőnkben is megszokhattuk.
Érdemes azonban figyelembe venni, hogy egy weboldal – eltérően egy nyomtatásra
szánt, szövegszerkesztőben készített dokumentumtól, – akár minden látogató esetén
2. Drupal kézikönyv kezdőknek 21. oldal
máshogy fog kinézni. Ezért érdemes csupán alapvető formázási tevékenységre szorít
kozni. (Többnyire elég kevés formázási lehetőség engedélyezett a felhasználók számára.)
Előnézet
Előnézet kérése esetén megtekinthetjük (16. ábra), milyen lesz az oldalunk, ha véglege
sen 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 véglegesen elveszne.)
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, kattint
sunk a Beküldés gombra. Ezzel a tartalmunk elkészült.
Bizonyos esetekben (tipikusan hírek esetén) megadhatunk (18. ábra) 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álaszta
ni.
A téma felirata linkként is működik, rákattintva a témához tartozó tartalmak listája ér
hető el.
Egyes esetekben (tartalomtípustól és jogosultságoktól függően) a tartalom melléklete
ként csatolt állományok is alkalmazhatók. A melléklet állományokra nézve méret- és
típuskorlátozás lehet érvényben.
Az állomány helyét és nevét a Tallózás gombbal adhatjuk meg (20. ábra). A Csatol gomb
elvégzi a tényleges feltöltést, majd Leírást adhatunk meg, ami a fájlnév helyett lesz lát
ható.
2. Drupal kézikönyv kezdőknek 23. oldal
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.
A Szerkesztés fülön a beküldéshez hasonlóan módosítani vagy akár törölni tudjuk a tar
talmunkat.
Figyelem! A tartalom törlése nem visszavonható művelet!
24. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
3. A honlap megtervezése
Mielőtt egy honlap kivitelezésébe belekezdenénk, érdemes minél alaposabban megter
vezni azt. Képzeljük el, mi lenne, ha egy felhőkarcoló építésébe tervrajzok és előzetes
(például statikai) számítások nélkül kezdenénk bele. Egy rossz honlap esetén ugyan nem
lesznek emberáldozatok, de a célját biztosan nem fogja betölteni, és végső soron jelentős
(pl. anyagi) kárt okozhat.
A szerző a megrendelővel való kommunikációt egy interjú formájában javasolja kez
deni, 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ése
ket 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 sze
retnénk elkészíteni.
29
„A konverzió éppen azt az eseményt jelenti, aminek a bekövetkezése a tulajdonos szempontjából érté
kes. Egy webshop esetében például a legkézenfekvőbb konverziós esemény maga a vásárlás/megrendelés.”
Forrás: http://www.primodesign.hu/blog/konverzio-mj
3. A honlap megtervezése 25. oldal
30
A szerző véleménye szerint ekkor az ún. egyed-kapcsolat diagramm alkalmazása a legmegfelelőbb.
31
Hogy mennyire nem egyszerű a megrendelővel való kommunikáció, jól mutatja a következő hirdetés:
http://drupal.hu/node/3461. Itt a megrendelő 114 szavas információ alapján vár árajánlatot :-(
Sajnos ez a hozzáállás nem egyedi, hanem gyakran előforduló.
26. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Offline lehetőségek
A cég vagy személy megnevezése nélkül a honlap komolytalan lesz, hagyományos (pos
tai) 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ér
hetőséget találunk. A látogatók bizalmát azzal építhetjük, ha szituációkhoz/felada
tokhoz 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 leren
dezni.
Technikai oldalról érdemes azt is átgondolni, hogy nem jó megoldás az e-mail címet köz
vetlenül a honlapon (a spam robotok számára elérhető módon) megjeleníteni. Ehelyett
egyre gyakrabban kapcsolatfelvételi űrlapot (22. ábra) szokás a honlapra elhelyezni.
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 rea
gáljon a honlapra. (A szerző tapasztalatai szerint ezt a látogatóknak csak néhány százalé
ka teszi meg.) Ennél – a látogatók részéről - sokkal kevesebb befektetést igénylő, ugyan
3. A honlap megtervezése 27. oldal
akkor mégis hasznos információkkal szolgáló lehetőség a szavazás. (Itt ösztönző ténye
ző 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 szol
gáltatása a látogatók által egy skálán, valamint szövegesen is értékelt áru/termék.
Tapasztalatok szerint egyes látogatók örömmel vesznek részt a tartalom előállításában
ajánlók beküldésével.
32
A web hőskorától Utolsó módosítás feliratokkal próbálták a fejlesztők / tulajdonosok bizonygatni az ol
dal információtartalmának frissességét. Ma már csak kevés helyen találkozunk ezzel a nem sokat mondó
formulával, hiszen az esetek döntő többségében az oldal karbantartottsága (vagy annak hiánya) könnye
dén látható.
28. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
33
A szerző véleménye szerint mindenkinek csak annyi jogot szabad adni az oldalhoz, ami elengedhetetle
nül szükséges. Éppen ezért még az „adminisztrátor” sem feltétlenül kell, hogy mindent megtehessen. Ha
egy oldal esetén a fejlesztő (egyeztetve a megrendelővel) kialakítja a látogatók jogosultságrendszerét, azt
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.
3. A honlap megtervezése 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.
A felhasználó, aki a web szolgáltatásait ki akarja használni, megteheti ezt egy tetszőle
ges modern webböngészővel. (E két „szereplőt” együttesen a kliens oldalnak tekint
jük.)
A felhasználó a böngészőt használva kezdeményezheti egyes weboldalak letöltését. A
web kezdeti időszakában a webszerver azokat az állományokat tudta kiszolgálni, amiket
a háttértárain elhelyeztek. (Ez tulajdonképpen statikus tartalmat eredményez, vagyis
az ilyen tartalom jellemzően nem változik.)
Bizonyos esetekben ez ma is így van: például egy honlapba illesztett kép nem fog meg
változni, akárhányszor töltjük is le, ezért a webszervernek a böngésző kérésére mindösz-
sze vissza kell adni azt válaszul.
Később egyre nagyobb igény lett a dinamikus tartalmak iránt, amikor a tartalom már
a látogató tevékenységei, vagy más okok miatt színesebb, változóbb lehet. Ebben az eset
ben a webszerver nem önmaga válaszol a böngésző kérésére, hanem (leggyakrabban34)
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 adato
kat (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 fel
használ a válasz elkészítéséhez, illetve a felhasználók válaszait is beépíti az adatbázisba.
34
Mivel jegyzetünk elsősorban a Drupalt ismerteti, ezért a szerver felépítését is a Drupalt kiszolgáló konfi
gurációra specializáljuk. Más tartalomkezelő-rendszerek jelentősen eltérő konfigurációt igényelhetnek.
4. Telepítés előtt 31. oldal
Szerver
Az alábbi követelményeket a saját Windows alapú gépünkön (pl. XAMPP segítségével,
lsd. 5.1. fejezet), Linux alapú gépünkön saját konfigurálással és telepítésével könnyedén
teljesíthetjük. A lista inkább tárhely szolgáltató választásához lesz érdekes.
A minimális követelmények tehát (lásd 23.ábra):
webszerver (Apache 2 )
PHP 5.2 (az 5.3 nem alkalmas)
adatbázis-szerver (MySQL 5)
phpMyAdmin
(A tanuláshoz) nem nélkülözhetetlen, de ajánlott:
mod-rewrite, .htaccess támogatás
cron támogatás
HTTP kérések engedélyezése (hogy a futó PHP kód más webodalak szolgáltatásait
igénybe tudja venni)
PHP konfigurációs követelmények:
memória limit: 64-128Mb (a használni kívánt moduloktól függően)
feltöltési méret: amekkorát a honlap célja megkövetel (minimum 8-16Mb)
levélküldési lehetőség (PHP mail vagy SMTP támogatás)
GD library
kikapcsolt register_globals és safe_mode
Kliens
A munka nagy része a böngésző használatával fog zajlani. Itt is meg kell említeni, hogy a
szerző (és sok más webfejlesztő) véleménye szerint ehhez a Chrome35, Firefox36, Ope
ra37 és Safari38 a legjobb választás.
35
http://www.google.com/chrome/
36
http://www.mozilla-europe.org/hu/firefox/
37
http://www.opera.com/
38
http://www.apple.com/safari/
32. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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öbbnyire meg fog felelni a méltán népszerű Total Commander39.
(Még jobb, ha ismerjük a FileZilla40 alkalmazást.)
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 ha
tékonyan fogja össze. Garantált, hogy az itt található kódok alaposan teszteltek, az ese
tek döntő többségében korrektek és használhatóak, valamint a Drupal alapkoncepciójá
hoz illeszkednek. A felfedett hibákra igen gyorsan újabb kiadással reagálnak.
Kiegészítők
A Drupal közösség által beküldött kiegészítő funkcionalitások (modulok), kinézetek
(sminkek), felület fordítások és dokumentációk tartoznak ide. Jellegénél fogva nincs
olyan erős irányítás alatt, mint a motor, ezért nem csak tökéletesen működő kompo
nenseket találhatunk itt. Sajnos előfordul, hogy a kiegészítők fejlesztője egy idő után
már nem tartja karban a a projektjét.
Körültekintéssel kell tehát a kiegészítőket használnunk.
Másrészt tudnunk kell, hogy a fejlesztők (mind a mag, mind a kiegészítők esetén) meg
különböztetnek stabil és fejlesztői (dev jelöléssel ellátott) változatot. Az utóbbia
kat csak óvatosan, nagy körültekintéssel szabad használni. (Tanuláshoz esetleg alkal
mazhatók, de éles környezetben inkább korábbi, stabil változatot használjunk.)
39
http://totalcommander.hu
40
http://filezilla-project.org/
5. Szerver kialakítása 33. oldal
5. 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 rendszer
konfigurációjára, a szükséges beállításokat (pl. fájl jogosultságok megadása) hamar el
tudjuk végezni. Utóbbi esetben viszont lehet olyan szerencsénk, hogy a beállítások meg
felelnek 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 tudjuk a Windows (5.1.
fejezet) illetve Linux (5.2. fejezet) alapú gépünket szerverré alakítani.
5.1.1. Telepítés
A letöltött telepítőprogram lényegében a telepítéskor szokásos kérdéseket teszi fel. Leg
fontosabb a telepítés helye (24. ábra).
41
A http://www.szgti.bmf.hu/~gtoth/wiki/index.php/Drupal_telepítés_és_konfigurálás oldalon a
WAMP szerverrel és az az alatti Drupal telepítéssel ismerkedhetünk.
42
http://www.apachefriends.org/
34. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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ó.
A Drupal kipróbálásához itt érdemes például egy drupal nevű alkönyvtárat létrehozni.
Ebben az esetben a Drupal a localhost/drupal címen lesz elérhető a böngészőnkből. E
megoldás előnye még, hogy így több alkönyvtárban több drupal oldalt párhuzamosan
helyezhetünk el, és a phpMyAdmin alkalmazás is elérhető marad a localhost/phpmyad
min címen.
Szintén egyszerűen kezelhető megoldás, ha a htdocs könyvtárat átnevezzük valami más
ra, és mi magunk hozzuk létre az üres htdocs könyvtárat. Ekkor a Drupal a localhost cí
men lesz elérhető a böngészőnkből. (Ekkor a PhpMyAdmin elérése problémás lehet.)
43
További információk: pl. http://tanarurkerem.hu/node/57
5. Szerver kialakítása 37. oldal
php5-mysql
phpmyadmin
php5-gd
Ubuntu esetén pl. a /var/www könyvtár a beállított DocumentRoot.
5.3. Letöltés
A http://drupal.hu oldalról le kell töltenünk a Drupal alap és a nyelvi csomag legfris
sebb verzióit44:
44
2009 nyarán ez a 6.13-as verziót (drupal-6.13.tar.gz) és az 6.x-es fordítást (hu-6.x-1.0.tar.gz) jelentette.
38. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Ennek eredményeképpen egy olyan könyvtár struktúrát kell kapnunk, amelyben a Dru
pal alapcsomagjának könyvtárai és fájljai mellett a magyar csomagban érkezett nyelvi ál
lományoknak is meg kell jelennie. A továbbiakban az itt látható (webről elérhető) könyv
tárat nevezzük Drupal könyvtárunknak.
45
A CWI 2008-ban egy csapásra megszüntette a hasonló szolgáltatását.
40. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
46
Elméleti háttér pl.: http://xubuntu.hu/xubuntu/dokumentacio/desktopguide/hu/linux-
basics.html#permissions
6. Telepítés 41. oldal
6. Telepítés
Miután előkészítettük a fájlrendszert és az adatbázist, már csak a webes telepítőt kell
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://example.com/drupal/install.php címre, ahol
a http://example.com/drupal/ annak a hosztnak illetve könyvtárnak webszerveren elér
hető címe, ahova a fájlokat előkészítettük. (Saját gépünk esetén például http://localhost
vagy http://localhost/drupal lesz a szerver címe.)
6.3. Adatbázis-kapcsolat
A korábban ismertetett lépéseket követve azonnal az adatbázis-beállító képernyőt kell
kapnunk (35. ábra). Az elérhető adatbázis-kezelők listáját (mysql, mysqli, pgsql) csak
akkor látjuk, ha a telepítő többféle lehetőséget is felderít. (Az ábrán nincs lista.)
Kezdjük az „Alapvető beállítások” csoporttal. Legtöbb esetben a webszervert tartalmazó
gépen (localhost) találjuk az adatbázis kiszolgálót is (a szolgáltató adja meg a pontos in
formációkat), és nem használunk speciális portot vagy táblázat név előtagokat. (Ez utób
bit 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, adat
bázis nevet, felhasználói nevet és jelszót kell megadni a korábban beállított vagy a szol
gáltatótól kapott adatok szerint.
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 meg
adott adatbázis felhasználó nem jogosult, vagy valamilyen adatot hibásan adtunk meg,
akkor erre figyelmeztet, és a hibát meg kell oldanunk. Ha minden előzetes beállítást el
végeztünk, akkor a telepítő létrehozza az adatbázis tábláinkat, és a magyar nyelvű felü
lethez szükséges szövegeket is az adatbázisba tölti.47
47
Ennek hátterében a Drupal 5-ig a magyar fejlesztésű autolocale modul áll. A Drupal 6-os óta ez a funk
ció beépült a rendszermagba.
6. Telepítés 43. oldal
48
Adatbázis-szinten is ő az 1-es kódú (UID, user ID) felhasználó.
6. Telepítés 45. oldal
Az ábra bal oldalán a Navigáció nevű bal oldali menüblokk jelent meg, bár bejelentke
zett felhasználóként a blokk címeként az azonosítónkat (az ábrákon Nagy Gusztáv) lát
hatjuk. Itt érhetjük el a mostantól sokat használt Adminisztráció menüpontot és alme
nüit.
Ha most ismét megnézzük az adatbázisunkat a PhpMyAdmin segítségével, jól látszik,
hogy az adatbázis már nem üres, hanem több tucat adattáblát tartalmaz. Ezek a táblák
teszik lehetővé a tartalmak beküldését, felhasznáklók kezelését, stb.
6.4.4. Jogosultságok
A továbbiakban rendszeresen fel fogjuk sorolni a modulokhoz kapcsolódó jogosultságo
kat. Ezek használatáról a 12.3. fejezetben olvashatunk. Az első ismerkedés alkalmával
ezekkel még nem kell sokat foglalkoznunk.
A System modul beállítható ide kapcsolódó jogosultságai:
adminisztrációs oldalak hozzáférése: ki használhassa az admin oldalakat
webhely beállítások adminisztrációja: ki tudja az admin/settings/site-informa
tion oldalt használni
48. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
7. Első lépések
A telepítés befejeztével elvégezhetjük azokat a lépéseket, amelyeket az oldalunk testre
szabása érdekében teszünk.
Amíg a fennálló problémákat meg nem szüntetjük, minden adminisztrációs oldalon látni
fogjuk ezt az üzenetet.
Érdemes még itt megemlíteni, hogy a Feladatonkénti csoportosítás mellett – főleg az
egyes modulok alaposabb megismerésének igénye esetén – érdemes kipróbálni a Modu
lonkénti (admin/by-module oldal) bontást is.
7.1.1. Állapotjelentés
Nézzük először az Állapotjelentést. Rendszerhiba esetén az adminisztrációs oldal tetején
kapunk egy figyelmeztetést (41. ábra).
Az állapotjelentés oldal a rendszer korrektül működő és hibás jellemzőire egyaránt rá
mutat (42. ábra).
49
A továbbiakban az adminisztrációs oldalak relatív URL-jét zárójelben közöljük.
7. Első lépések 49. oldal
50
Különösen ingyenes szolgáltatóknál gyakori, hogy e kézi beállításokra sincs jogosultságunk. De ha fize
tős szolgáltatónál fordul elő, akkor kérni kell az ügyfélszolgálaton, hogy „a webszerver ugyanazon felhasz
náló nevében fusson, mint az FTP-n bejelentkező tulajdonos”.
50. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Be kell állíthatjuk az ideiglenes fájlok könyvtárát is. Ez az a hely, ahova a feltöltött fáj
lok 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 /tmp könyvtár szolgál: a könyvtár tartalmát bármikor, indok
nélkül törölheti pl. a rendszergazda.)
Sok esetben azonban ez nem lesz megfelelő, mert a /tmp könyvtárban nem lesz jogunk
alkönyvtárat létrehozni, pedig egyes modulok ezt igényelnék. Emiatt inkább a sites/de
fault/tmp könyvtárat érdemes használnunk.
Végül választhatunk a nyilvános vagy a privát letöltési mód között. Mi a különbség?
Nyilvános letöltési mód esetén a HTML forráskód direkt linket tartalmaz az ál
lományra, így azt bárki le tudja tölteni a link ismeretében.
Privát letöltési mód esetén az állomány tartalmát egy PHP oldal szolgálja ki, így
illetéktelenek nem jutnak hozzá a fájl közvetlen címéhez. Ha azonban teljes biz
tonságot szeretnénk, a files könyvtárat a dokument root-on kívül kell elhelyez
nünk. Privát módot akkor érdemes választani, ha bármilyen letöltendő állomány
ná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.
Figyelem: ezt a beállítást a rendszer működése közben (ha már csatoltunk állományt va
lamelyik tartalomhoz) nem célszerű megváltoztatni, mivel ennek módosítása problémá
kat okozhat. (A letöltési módot hiába állítjuk vissza publikussá, attól a fájlok nem lesz
nek elérhetőek. Fordítva pedig: a nem megfelelő files beállítások esetén hiába rejtjük el a
már feltöltött fájlokat, attól az még nem fog átkerülni a biztonságos (document root-on
kívüli) helyre.
7. Első lépések 51. oldal
51
„A cron egy háttérfolyamat, amely szabályos időközönként programo(ka)t futtat (például: minden perc
ben, naponta, hetente vagy havonta).” Forrás: http://wiki.hup.hu/index.php/Cron
52. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Ha semmilyen módon nem tudjuk a cront futtatni, akkor egy kevésbé elegáns megoldás
sal (Poormanscron modul) is megoldhatjuk. (A megoldást a 15.14. fejezetben mutatjuk
be.)
A következő három mező (Jelmondat, Küldetés, Lábléc üzenet) sminkfüggő, hogy meg
jelenik-e a publikus oldalakon. Bizonyos sminkek megjelenítik ezeket a szövegeket az ol
dalon, mások nem. A jelmondat egyes sminkeknél a cím alatt, másoknál a böngésző
címsorában jelenik meg. A küldetés a címlapon szokott megjelenni, a hírek felett.
A névtelen felhasználó megnevezése (pl. Névtelen vagy Vendég) névtelen hozzászólá
soknál lesz érdekes, ugyanis az oldalunk név híján ezt a szót fogja a tartalom vagy meg
jegyzé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. Szokás itt egy konkrét tartalmat, (pl. node/1)
vagy egy másféle listázást megvalósító nézetet (Views modul) megjeleníteni.
8. Tartalmak 55. oldal
8. Tartalmak
A tartalomkezelő rendszerek legalapvetőbb fogalma a tartalom. Ilyen értelemben e feje
zet sok olvasó számára talán a legfontosabb lesz.
8.1.3. Jogosultságok
A filter modul beállítható jogosultsága:
szűrők adminisztrációja: ki tudja a szűrőket adminisztrálni
58. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
A bevezető hossza szintén egy általában megfelelő 600-as értéket tartalmaz, nem szük
séges megváltoztatnunk. (A HTML tartalmi egységeket nem fogja „kettévágni” ez a ha
tár, tehát ténylegesen nem 600 karakter lesz a bevezető hossza.) Ha ez az automatikus
vágás nem megfelelő a számunkra, az egyes tartalmak beküldésekor magunk dönthe
tünk a bevezető pontos hosszáról.
Az előnézet szükségességét érdemes bekapcsolni. Ennek hatására a felhasználónak a tar
talom 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.52
52
A szerző egyedül az oldal kezdő-, a mások számára nem elérhető fázisában szokta kikapcsolni a gyor
sabb tömeges feltöltés érdekében.
8. Tartalmak 59. oldal
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ő felhasz
nálóinknak. Például: Időponthoz kötött tartalmak számára. Ez a szöveg a tartalom be
küldésekor (55. ábra) jelenik meg.
53
Ennek most még nem sok értelme látszik, de később, a CCK modulok használatánál (18. fejezet) találha
tunk rá célszerű példákat.
60. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Általános beállítások
Az Alapértelmezett beállítások a majdan beküldendő minden egyes tartalom alapértel
mezése lesz. Persze a tartalmak adminisztrációja jogosultsággal rendelkező felhaszná
lók módosíthatják ezeket a beállításokat az egyes tartalmak beküldésekor.
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 tartal
mat hozunk létre, amit persze később megváltoztatva a tartalom publikussá válik. Itt, az
Alapértelmezett beállításoknál (hacsak nem akarunk erős moderációt alkalmazni) 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 az oda kerülő 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 Ki
emelt, az oldal tetejére kapcsolót, akkor a címlapra kerülő tartalmak időrendjénél erő
sebb sorrendiséget is alkalmazhatunk.
Az Új verzió készítése kapcsoló akkor hasznos, ha a tartalom módosításakor meg akar
juk ő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.
Ha több nyelvű oldalt szeretnénk létrehozni, akkor célszerű a Több nyelv támogatása.
Enélkül az ehhez a típusoz tartozó tartalmakat nem tudjuk több nyelvre lefordítani.
A Csatolmányokat is engedélyezhetünk a tartalomtípusunkhoz.
A Hozzászólások beállításaival a 13.2. fejezetben foglalkozunk.
8. Tartalmak 61. oldal
A kipróbálás kedvéért küldjünk be egy hírt a honlap fejlesztésével kapcsolatban (56. áb
ra). Elsőre csak a hír címét és törzsét töltsük ki.
54
Ennek elsősorban a CCK modulok használata esetén lesz jelentősége.
62. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
55
Más tartalombeküldők esetén nem biztos, hogy engedélyezni fogjuk az alapbeállítások módosítását. Pél
dául erre a lehetőségre építve megoldható, hogy a beküldött híreket a szerkesztő moderálni tudja.
8. Tartalmak 63. oldal
8.5.1. Címlap
Természetesen azok a tarlalmak, amelyek a Címlapra kerül jelzővel küldünk be, a címla
pon (egész pontosan a node útvonalon, ami alapértelmezetten a címlap beállítása is) je
lenik meg az első, vagy valamelyik további oldalon.
8.6. Jogosultságok
A Node modul beállítható jogosultságai:
64. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
9. Az alaprendszer moduljai
A Drupal alapvető funkcióit a modulok segítségével lehet kibővíteni. Az
admin/build/modules oldalon lehet engedélyezni a már telepített modulokat. (Most
egyenlőre csak az alaprendszer egyes moduljaival foglalkozunk. Az alaprendszer további
moduljaival a későbbi fejezetekben fogunk találkozni. A kiegészítő modulok telepítése és
alkalmazása szintén későbbi témánk lesz.)
Egyes modulok igényelhetik más modulok engedélyezését. Pl. a Forum modul Com
mentek nélkül értelmetlen lenne.
Az engedélyezést követően a modul beállításához az Adminisztráció (admin) menü
megfelelő (moduloktól függően más-más) menüpontját (menüpontjait) 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 ere
jéig vegyük szemügyre:
A lista jól mutatja, mik azok az alapszolgáltatások, amit minimálisan kell tudni egy tar
talomkezelő rendszernek.
A többi modul ki-be kapcsolása egyszerű művelet: a Modulok (admin/build/modules)
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.
A további lista választása esetén az adott könyv eddigi lapjainak listáját láthatjuk, mint
az új könyvlapunk lehetséges szülő-lapjait (62. ábra).
A kész könyvlap esetén megjelenik a Gyermek lap hozzáadása szerkesztési link is, ami
vel az aktuális könyvlaphoz hozhatunk létre aloldalt.
A Nyomtatóbarát változat nem csak az aktuális könyvlapot, hanem az összes leszárma
zottat is egyetlen nyomtatható weboldallá fűzi össze.
A blokkok között megjelenő Könyv navigáció blokk nagyon szépen áttekinthető menüt
ad a navigációhoz. Így egy jól szervezett könyv-hierarchia különösebb menükészítés nél
kül is jól navigálhatóvá tehető.
9.4.1. Jogosultságok
A modul beállítható jogosultságai:
nyomtatóbarát változat hozzáférése: ki tudja a könyvlap és gyermekeit egyetlen
nyomtatóbarát oldalként megtekinteni (és akár kinyomtatni)
tartalom könyvekhez csatolása: ki tudja az általa szerkeszthető tartalmakat beil
leszteni valamelyik könyvbe
könyv-vázlatok adminisztrációja: ki tud tetszőleges (pl. általa nem szerkeszthe
tő) könyvlapokat létező könyvbe illeszteni
új könyvek létrehozása: ki tudja a saját tartalmánál az <új könyv létrehozása>
sort kiválasztani
70. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
56
Nem minden szerver alkalmas a levélküldésre, a részleteket a szolgáltatónktól tudhatjuk meg.
9. Az alaprendszer moduljai 71. oldal
9.7.2. Jogosultságok
A modul beállítható jogosultságai:
webhely szintű kapcsolat űrlap elérése: ki tudja használni a kapcsolat űrlapot
webhely szintű kapcsolat űrlap adminisztrációja: ki tudja adminisztrálni az űrla
pokat
Érdemes itt megjegyezni, hogy a regisztrált látogatók maguk dönthetik el, akarják-e má
sok számára közzétenni az űrlapjukat.
A Súgó (admin/help) oldalon minden modulról kaphatunk egy rövid áttekintést (70. áb
ra).
57
Ez a megfogalmazás tudatosan pontatlan, laikus felhasználóknak szól. De jelen esetben a jegyzet céljai
nak jobban megfelel, mint a programozói megközelítés.
9. Az alaprendszer moduljai 77. oldal
#: modules/block/block-admin-display-form.tpl.php:57
msgid "No blocks in this region"
msgstr "Nincs blokk a régióban."
#: modules/block/block.admin.inc:85
msgid "Save blocks"
msgstr "Blokkok mentése"
Ennek a modulnak a fordításai a telepítéskor bekerülnek az adatbázis megfelelő táblái
ba, így eleve magyarul tudjuk használni. (Ezeket a fájlokat hiába változtatjuk tehát utó
lag, az a rendszer működésére nem lesz hatással.)
58
A http://forditas.mindworks.hu/translate/languages/hu/export oldalt kell keresnünk.
78. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Ideális esetben a találati listában (73. ábra) hamar rátalálunk a keresett szövegre, és a
szerkesztés link után már írhatjuk is a fordításunkat. Érdemes azonban megjegyezni,
hogy ez a módszer nem a legszerencsésebb, érdemes az ábrán is látható megjegyzést fi
gyelembe venni.
9. Az alaprendszer moduljai 79. oldal
Harmadik módszerként nézzük meg az importálást is. Akár mi készítjük az import ál
lományt, akár a http://forditas.mindworks.hu/translate/languages/hu/export oldalról
töltjük le, az admin/build/translate/import oldalon kell a .po kiterjesztésű nyelvi állo
mányunkat feltölteni (74. ábra).
80. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Végül meg kell jegyezni, hogy ezzel a módszerrel csak a felület, és nem a tartalmak
lesznek többnyelvűek.
59
A teljes tartalom többnyelvűvé tétele ritkán oldható meg. Például egy fórum kérdést, vagy egy hozzászó
lást ki fordítson le?
9. Az alaprendszer moduljai 81. oldal
9.11.3. Jogosultságok
A modulok beállítható jogosultságai:
nyelvek adminisztrációja: ki tudjon egy adott nyelvet engedélyezni
felület fordítása: ki tudja a felület fordításokat szerkeszteni
tartalom fordítása: ki tudjon a tartalmakhoz fordításokat rendelni
60
http://hojtsy.hu/
61
Ez a sokat emlegetett és sokszor félremagyarázott SEO egyik fontos alapelve.
82. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
user belepes
image/tid/16 tajkepek
taxonomy/term/7+19+20+21 aruhaz/termekek/kiegeszitok
node/3 kapcsolat
9.14.1. Jogosultságok
A modul beállítható jogosultságai:
útvonal álnevek létrehozása: ki tudjon a tartalom beküldésénél útvonal álnevet
megadni
útvonal álnevek adminisztrációja: ki tudjon bármelyik tartalom útvonal álnevén
változtatni
A kereső modul kulcsszavak kereshetőségével ruházza fel a rendszert. Egy nagy webhe
lyen a kereső használata gyakran az egyetlen módja egy tartalom megtalálásának. A ke
reső segítségével felhasználók és tartalmak egyaránt megtalálhatóak kulcsszavak alap
já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 admin/settings/search oldalom végezhetjük el a finomhangolást (78. ábra).
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 fu
tási időt, vagy kifogyjon a rendelkezésre álló memóriából.
62
Sok esetben a Google keresőbe való átirányítás jó választás lehet. De vannak saját, kontrollált keresési
lehetőséget megvalósító külső modulok is. Ezek használata viszont nem egyszerű.
84. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Megjegyzés: A modul csak egész szavakat indexel, így szótöredékekre sajnos nem tu
dunk vele keresni.
9.18.1. Jogosultságok
A modul beállítható jogosultságai:
tartalmak keresése: ki tudja a keresési űrlapot használni
haladó kereső használata: ki tudja a részletes keresés (search/node és
search/user) oldalakat használni
keresés adminisztrációja: ki tudja a modul beállításait szerkeszteni
9.19.1. Jogosultságok
A modul beállítható jogosultságai:
olvasottságmérő megtekintése: ki láthassa a tartalmak letöltésének számát
olvasottsági adatok hozzáférése: ki láthassa, hogy ki és mikor nézett meg egy ol
dalt
Persze a navigáció nem csak a tartalomtól indulhat. Például a Forum modul az összes ki
fejezést felsorolja az összefoglaló oldalon. De mi magunk is használhatjuk linkelésre a
fenti útvonalakat, vagy akár menübe is tehetjük.
9.21.4. Jogosultságok
A modul beállítható jogosultsága:
taxonómia adminisztrációja: ki tudjon szótárakat és kifejezéseket szerkeszteni
Ha még így sem tud a rendszer egy elérhető teljesítményszintet produkálni, akkor a
Webhely karbantartáshoz (45. ábra) hasonló oldalt fognak a látogatók kapni.
9. Az alaprendszer moduljai 91. oldal
Érdemes megfigyelni, hogy a piros színű Biztonsági frissítést igen fontos frissítenünk. A
sárga Frissítés nem kritikus, de azért ajánlott.
A frissítés kivitelezéséről a 20.3. fejezetben olvashatunk.
Több oka lehet annak, hogy a tartalommal együtt egy vagy több csatolt állományt (azaz
csatolmányt) is feltöltsünk. Klasszikus esetben a látogatók számára letölthető állomány
ként szeretnénk elérhetővé tenni (88. ábra). De tipikus az is, hogy a tartalom szövege
között megjeleníthető képet szeretnénk így a webszerverre juttatni.
9.26.5. Jogosultságok
A modul beállítható jogosultságai:
feltöltött fájlok megtekintése: ki láthassa a csatolmányokat
fájlok feltöltése: ki tudjon a tartalma beküldésekor csatolmányokat is feltölteni
98. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
A hét első napjának beállítása naptár jellegű megközelítés esetén lesz fontos.
A formázás a dátumok háromféle megjelenítési beállítását (Rövid, Közepes és Hosszú
dátumforma) szabhatjuk testre. A magyar szokásokhoz leginkább az egyéni dátumforma
használatával, és pl. Y. F j. H:i formátumkóddal idomulhatunk. Ebben az esetben pl. hí
rek esetén a következő dátumot láthatjuk (93. ábra).
10.2.1. Gyorstárazás
A Wikipédia definíciója63 szerint „a gyorsítótár vagy cache [...] az átmeneti információ
tároló elemeket jelenti, melyek célja az információ-hozzáférés gyorsítása. A gyorsítás
egyszerűen azon alapul, hogy a gyorsítótár gyorsabb tárolóelem, mint a hozzá kap
csolt, gyorsítandó működésű elemek, így ha ezen területek tartalma korábban már be
került a gyorsítótárba (mert már valaki/valami hivatkozott rá korábban), az ilyen
adatokat nem a lassú működésű területről, hanem a gyors cache tárolóból lehet előhív
ni.”
A gyorstár bekapcsolása (94. ábra) jelentős teljesítmény javulást eredményezhet. A Dru
pal 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 Drupalnak
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álra állítani, aminek még nem lehetnek mellékha
tásai.
63
http://hu.wikipedia.org/wiki/Gyorstár
100. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Blokk tömörítés
Néha egy-egy blokk generálása erőforrás-igényesebb, mint a tartalom legenerálása. Ép
pen ezért általában érdemes ezt is bekapcsolni (95. ábra).
A 98. és 99. ábrákon láthatjuk a generált HTML kimenetet, a két mód közti különbséget.
Jól látszik, hogy a sok CSS fájl letöltése helyett csak egyre lesz szükség. Ez pedig elő
nyös.
10.4.1. Jogosultságok
A System modul beállítható ide kapcsolódó jogosultsága:
webhely jelentések hozzáférése: ki láthassa a jelentéseket
64
Webfejlesztők számára érdekes információ, hogy az URL-t az index.php?q=... formában is írhatnánk, de
az index.php általában probléma nélkül elhagyható.
104. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
11.1. Alapkérdések
65
http://www.carettasoftware.com/gds/
11. A honlap kialakítása 105. oldal
Az ábra lényeges mondanivalója, hogy meg kell terveznünk, mely oldalakról mely másik
oldalakra navigálhatunk.
66
Egy bevezető a témához: http://www.alistapart.com/articles/paperprototyping
106. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
67
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 érde
mes tenni.
68
Bizonyos sminkek nem jelenítik meg az Elsődleges linkeket, más sminkek akár a másodlagos stb. menüt
is megjelenítik.
11. A honlap kialakítása 107. oldal
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 (Tooltip).
A Szülő menüpont segítségével állíthatjuk be a menüpontnak a menühierarchiában be
tö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.)
Az ábrán mindössze három engedélyezett és négy Tiltott blokkot láthatunk. Már ezen az
összefoglaló oldalon is beállíthatjuk, hogy melyik blokk hol jelenjen meg, és mi legyen a
blokkjaink relatív sorrendje. (Itt a háttérben a korábban már említett súlyozás van, de a
Drupal 6-os verziója itt elrejti ezt előlünk, és akár egérvonszolással is befolyásolható a
sorrend.)
69
A Másodlagos linkek segítségével az Elsődleges linkek közvetlen gyermekei definiálhatók, vagyis csak
két szintű hierarchia hozható létre.
11. A honlap kialakítása 113. oldal
Menünk még mindig nem látszik sehol, ugyanis a Menü blokkot az alapértelmezett Til
tott állapotból még nem billentettük ki. Tegyük be bal oldalra a Blokkok adminisztráci
ója oldalon, a 109. ábrának megfelelően. Ezek után a Menünknek meg kell jelennie az
oldalon.
A menüblokkokban szereplő menüpontok kialakításával további oldalakat fűzhetünk be
az oldal menüszerkezetébe.
A hierarchia kifejezésére a menü pontjait olyan módon kell kialakítani, hogy az első
szint közvetlenül az Elsődleges linkek menübe kerüljön, a második szint menüpontjai
pedig a megfelelő szülő alá.
Ezen kívül az admin/build/menu/settings oldalon mindhárom beállításnál az elsődleges
linkek legyen kijelölve.
Ezen kívül fontos, hogy a smink beállításainál (admin/build/themes/settings/*) enge
délyezve legyen az Elsődleges és Másodlagos linkek is.
11.2.7. Jogosultságok
A modulok beállítható jogosultságai:
blokkok adminisztrációja: ki szerkeszthessen blokkokat, ki állíthassa be a megje
lenési beállításokat
blokk láthatóság beállítása PHP kóddal: ki használhassa url-ek helyett az igen
veszélyes PHP kódot a beállításoknál
menü adminisztrációja: ki szerkeszthesse a menüket, menüpontokat
12. Felhasználókezelés 115. oldal
12. Felhasználókezelés
A honlapunk kialakításában eddig egyedüli szereplőként vettünk részt. A látogatók visz-
szajelzé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 meg
tehet az oldalon.
Adminisztrátor felhasználó (mi magunk), aki mindent megtehet az oldallal.
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.)
Érdemes kitölteni a regisztrációs irányelveket is a későbbi félreértések elkerülése érde
ké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. (A legtöbb esetben erre nincs szükség, az alapbeállítások
megfelelőek.)
116. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
12.3. 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átoga
tó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 (be nem jelentkezett) felhasználók
Azonosított felhasználók
118. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
12.4. Jogosultságok
A User modul beállítható jogosultságai:
felhasználói profilok hozzáférése: ki tudja a felhasználók adatlapkait megnézni
felhasználói név megváltoztatása: ki tudja a saját felhasználónevét megváltoztat
ni
jogosultságok szerkesztése: ki tudja a 118. ábrán látható oldalt elérni
felhasználók adminisztrációja: ki tudja bármelyik felhasználó összes adatát mó
dosítani
120. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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ím
ké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 fel
használva.) A találati listából már könnyedén választhatunk (121. ábra).
Érdemes még megemlíteni, hogy a címkéket egymástól vessző karakterrel kell elválasz
tanunk, és sok más rendszertől eltérően szóközöket is tartalmazhat.
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 (122. ábra).
70
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.
122. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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 egy lezárt fó
rum témánál felel meg.)
A Jogosultságok adminisztrációs oldalon a hozzászólások hozzáférése (megjele
nítése) mellett a beküldésére is adjunk lehetőséget, lehetőleg adminisztrátori el
fogadás nélkül is. Itt a blogokra jellemző beállítások láthatók (124. ábra).
13.2.1. Jogosultságok
A modul beállítható jogosultságai:
hozzászólások hozzáférése: ki lássa a hozzászólásokat
hozzászólások adminisztrációja: ki legyen moderátor
hozzászólások beküldése: ki tudjon hozzászólni (ha a következő jog nincs meg va
lakinek, akkor moderálási sorba fognak kerülni a hozzászólásai)
hozzászólások beküldése elfogadás nélkül: ki tudjon a moderálási sort kihagyva,
egyből megjelenő hozzászólást beküldeni
14. Közösségi oldal kialakítása 125. oldal
A mezőtípusok jelentése:
Ezen kívül létrejön a kategóriák között is egy új szótár Forums 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 (admin/content/taxonomy/edit/vocabu
lary/*) láthatjuk, hogy a fórum néhány területen korlátozza a szokásos (lásd 9.21. feje
zet) kategória-beállításokat: például nem engedélyezi egy téma több kifejezéshez kap
csolását, vagy a szabad szavas témamegjelölést. A szótár nevét mindenképpen érdemes
megváltoztatni, pl. Fórum témára.
Bár elvileg itt is felépíthetjük a fórum kategóriáinkat, célszerűbb az Adminisztráció me
nü Fórum menüpontját (admin/content/forum) megkeresni (131. ábra).
Az elkészült fórumunk a forum útvonalon máris elérhető (133. ábra). Érdemes azonban
egy menüpontként is elhelyezni egy jól látható helyen.
14.2.2. Jogosultságok
A modul beállítható jogosultságai:
fórumok adminisztrációja: ki tudja a fórum csoportokat, kategóriákat szerkeszte
ni
fórumtéma létrehozása: ki tudjon új témát indítani (új Fórum téma tartalmat be
küldeni)
fórumtémák törlése: ki tudjon egy tetszőleges témát (és a rá érkező hozzászóláso
kat) törölni
saját fórumtémák törlése: ki tudja a saját témáját (és a rá érkező hozzászóláso
kat) törölni
fórumtémák szerkesztése: ki tudja bármelyik fórum témát szerkeszteni (vagyis
moderálni)
saját fórumtémák szerkesztése: ki tudja a saját fórum témáját szerkeszteni
132. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
14.3.1. Jogosultságok
A modul beállítható jogosultságai:
szavazás létrehozása: ki tudjon szavazás típusú tartalmat beküldeni
saját szavazás törlése: ki tudja a saját szavazás típusú tartalmát törölni
bármely szavazás törlése: ki tudja bármely szavazás típusú tartalmat törölni
saját szavazás szerkesztése: ki tudja a saját szavazás típusú tartalmát szerkeszte
ni
bármely szavazás szerkesztése: ki tudja bármely szavazás típusú tartalmat szer
keszteni
szavazás: ki tudjon szavazatot leadni
saját szavazat visszavonása: ki tudja szavazatát visszavonni
szavazatok adatainak megtekintése: ki tudja a szavazatokat visszakövetni fel
használónév vagy (nem regisztrált szavazó esetén) IP cím alapján
71
Néhány kiegészítővel akár a http://blog.hu szolgáltatását is megközelíthetjük.
134. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Természetesen itt is linkről van szó, a Nagy Gusztáv blogja linkre kattintva a felhaszná
ló további bejegyzései is elérhetővé válnak. Ehhez hasonló funkciójú hivatkozás kerül a
felhasználói oldalra is (137. ábra).
14.4.1. Jogosultságok
A modul beállítható jogosultságai:
blogbejegyzések létrehozása: ki blogolhasson
bármely blogbejegyzés törlése : ki moderálhasson
saját blogbejegyzések törlése : ki törölhesse a saját bejegyzését
bármely blogbejegyzés szerkesztése : ki moderálhasson
saját blog szerkesztése: ki módosíthassa a beküldés után a saját bejegyzését
14. Közösségi oldal kialakítása 135. oldal
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.)
72
Érdemes az http://itmegoldasok.hu/blog/plugin/tag/rss cikkeket elolvasni.
73
Forrás: http://hu.wikipedia.org/wiki/RSS
136. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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.)
14. Közösségi oldal kialakítása 137. oldal
14.6.2. Jogosultságok
A modul beállítható jogosultságai:
hírcsatornák hozzáférése: ki láthassa az aggregált tartalmakat
hírcsatornák adminisztrációja: ki szerkeszthesse a hírcsatornákat és kategóriá
kat
138. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
74
Elvileg a modules alkönyvtár is alkalmazható a célra, de a Drupal hivatalos ajánlását nem érdemes fi
gyelmen kívül hagyni. (Előbb-utóbb úgyis minden kétkedő megtapasztalja ennek hátrányait.)
140. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
15.2.1. Jogosultságok
A modul beállítható jogosultságai:
access administration menu: ki lássa az admin menüt
display drupal links: ki lássa a drupal.org-ra mutató menüpontokat
75
Az ún. wysiwyg szerkesztők a mai napig hagynak némi kívánnivalót.
15. További modulok választása, telepítése 141. oldal
15.3.1. Használat
A szerkesztés logikája sok szempontból hasonlít az ismert szövegszerkesztőkre.
1. Vigyük a kurzort a kívánt helyre (pl. kép beszúrásához), vagy jelöljük ki a szöveget
(pl. egy link készítéséhez). (Az ábrán ugyan nem látszik, de az utolsó sorban lát
ható korábbi bejegyzésem szöveg lett kijelölve.)
2. Kattintsunk a kívánt gombra. (Pl. az ábrán piros szegéllyel látszó (második) link
ikonra.)
3. Ha szükséges, töltsük ki értelemszerűen a felugró ablak mezőit. (Az ábrán az
URL-t kellett beírni.)
4. Ha szükséges, utólag javítsunk a HTML kódban.
Jól látszik tehát, hogy itt elsősorban a csupasz HTML kód gépelésében kapunk támoga
tást, de a HTML alapismerete nélkül a szerkesztő nem igazán használható.
15.3.2. Konfigurálás
A beviteli formákhoz hasonlóan az editorok is más-más lehetőségeket nyújthatnak a kü
lönböző csoportok számára. Az admin/settings/bueditor oldalon editor-konfigurációkat
állíthatunk össze, amit a csoportokhoz rendelhetünk. Sokszor az alapértelmezett beállí
tások (144. ábra) is megfelelőek lehetnek.
142. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Az Add new editor vagy Szerkesztés linkeken a megjelenő ikonokat állíthatjuk be.
Végül érdemes megemlíteni, hogy a beviteli formákat és az editor beállításokat érde
mes egymáshoz igazítani. Mert ugye semmi értelme olyan HTML tagokat beszúrni a
szövegbe, amelyeket a beviteli forma úgyis kiszűr.
Az editornak nincs ezen kívül jogosultság-beállítási lehetősége az admin/user/permis
sions oldalon.
76
A spam hozzászólásokat bizonyos intelligenciával rendelkező programok küldik, többnyire zombi gépek
ről (a gép tulajdonosának tudta nélkül).
15. További modulok választása, telepítése 143. oldal
15.4.1. Konfiguráció
A konfigurációs oldalon több oldalhoz (pl. regisztráció) beállíthatjuk, hogy melyik capt
cha módot akarjuk használni, vagy akár el is tekinthetünk az oldalon ettől (146. ábra).
15.4.3. Jogosultságok
A modul beállítható jogosultságai:
administer CAPTCHA settings: ki tudja a modult konfigurálni
skip CAPTCHA: kik azok, akik felmentést kapnak az ellenőrzés alól
A szerző véleménye szerint általában elegendő a be nem jelentkezett látogatókat ellen
őrizni. Így aki már a regisztrációnál túljutott az ellenőrzésen, azt többször nem kell za
varnunk.
igények lépnek fel, akkor valamilyen kiegészítő modulra van szükségünk. Ezek közül
egyik legismertebb a Content Access modul.
15.5.2. Konfiguráció
A modul bekapcsolása után egy szokatlan üzenetet kapunk:
A tartalom jogosultságok értékeit újra kell építeni.
Az admin/content/node-settings/rebuild linket követve egy komoly figyelmeztetést ka
punk:
Ez a művelet minden webhelyen található tartalomhoz kapcsolódó jogosultságokat
frissíti, és ez sok időt vehet igénybe. A művelet nem vonható vissza.
A modul beüzemelésének következménye lesz, hogy jelentősen megnőhet az adatbázis
mérete, és valamivel lassulhat a rendszerünk.
A modul beállításai alapvetően tartalom típusonként érvényesülnek, így a konfigurációt
is a tartalom típusoknál keressük. Pl. az admin/content/node-type/oldal/access oldalon
az oldal típusú tartalmak beállításait tehetjük meg (148. ábra).
146. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
77
A szerző személyes véleménye szerint ez inkább a látogatókra kellene bízni, ezért a bekapcsolását nem
javasolja.
78
http://www.fckeditor.net/
148. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
79
http://www.google.com/analytics/
80
forrás: http://hu.wikipedia.org/wiki/Google_Analytics
15. További modulok választása, telepítése 149. oldal
Ezután egy tartalom beküldésekor vagy szerkesztésekor kiválaszthatunk egy már Létező
kép tartalmat, vagy létrehozhatunk és egyúttal be is illeszthetünk egy újat (153. ábra).
Természetesen ebben az esetben a kép tartalom további jellemzőit csak utólag tudjuk
szerkeszteni.
15. További modulok választása, telepítése 151. oldal
Ettől kezdve egy Kép tartalom beküldésekor egyből megadhatjuk azt is, hogy melyik ka
tegóriába tartozik.
A végeredmény magáért beszél: téma szerint böngészhető galéria oldalakat kaptunk
(155. ábra).
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. Itt is beállíthatjuk a
leendő kép tartalmak alapjellemzőit, a kiválasztott galériát.
Ha túl sok nagy képet próbálunk egy lépésben importálni, akkor a PHP memória elfogy
hat. Emiatt érdemes egy lépésben csak néhány tucat képpel próbálkozni.
81
http://www.huddletogether.com/projects/lightbox2/
154. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
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-ascii.example.txt állományt
i18n-ascii.txt névre kell rövidítenünk, hogy a benne található megfeleltetések alapján82
tudja az ékezetes betűk ékezet nélküli verzióit meghatározni.
Az admin/build/path/pathauto oldal (ami az Útvonal álnevek oldal alá épül be) igen
sok beállítást tartalmaz, néhány lényegesebbet nézzünk meg.
Az Általános beállítások alatt két dolgot érdemes minimum beállítani:
Az ékezetes karakterek korrekt kezeléséhez kapcsoljuk be: Transliterate prior to
creating alias, és kapcsoljuk ki: Reduce strings to letters and numbers from AS
CII-96
A törlésre javasolt rövid angol szavakat is érdemes eltávolítani (Strings to Remo
ve).
A Node path settings alatt 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-raw] a címet fogja alapul venni
blog esetén: blog/[user] a felhasználói nevet helyettesíti a blog/ után
fórum esetén: [vocab]/[catpath] a fórum szótár és a fórum téma nevét fogja ala
pul venni
felhasználó esetén: felhasznalo/[user] a felhasználói nevet helyettesíti a felhasz
nalo/ után
Figyelembe lehet venni a generáláskor pl. a dátumot is.
Több blokk esetén van lehetőség használni a Bulk generate aliases kapcsolót. Ebben az
esetben az összes olyan útvonal automatikusan generálásra fog kerülni, ahol még nincs
alias.
A Create feed aliases segítségével az RSS csatornák generálását írhatjuk elő.
Végül a generált Útvonal álnevek listáját az admin/build/path oldalon tekinthetjük
meg.
82
E megfeleltetések nem minden esetben megfelelőek. Például e verzió a ő és ű betűket oe és ue betűkre
cseréli. Ekkor az UTF-8 kódolású fájlt megfelelő editorral (pl. Notepad++) szerkeszthetjük.
15. További modulok választása, telepítése 157. oldal
A modul szerver oldalon így „elrontja” az e-mail címeket, hogy a böngészőben Java
Script segítségével „kijavítsa” azokat. Ebből a látogató semmit nem vesz észre, de a spam
robotok munkáját jelentősen megnehezíti.
A modul működése beviteli szűrőként történik, így a Beviteli formáknál tudjuk konfigu
rálni is (162. ábra):
beviteli formánként tudjuk engedélyezni vagy tiltani
az engedélyezett beviteli formák beállításánál tudjuk finomhangolni (mit mire
cseréljen):
Természetesen a modul tud blokkot is szolgáltatni, amit a blog oldalon valahol elhelyez
hetünk (165. ábra).
Jól látszik az ábrán, hogy nem szerencsés túl hosszú, több szóból álló címkéket alkal
mazni. Néha azonban nehéz elkerülni is.
83
http://drupal.hu/hirek/20090405/15-dug-tolmács-márk-ubercart
162. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Ha úgy gondoljuk, hogy az űrlap kész, akkor közzétehetjük, akár menüpontot is hozha
tunk létre. Ezután a látogatók már használhatják az űrlapot.
Megfelelő jogosultsággal a beküldött adatok megtekinthetők, vagy le is tölthetők további
felhasználásra (171. ábra).
84
Jelenleg a következők támogatottak: FCKeditor 2.6, jWYSIWYG 0.5, markItUp 1.1.5, NicEdit 0.9.0,
openWYSIWYG 1.4.7, TinyMCE 3, TinyMCE 2, Whizzywig 55, WYMeditor 0.5, YUI editor 2.7.0
15. További modulok választása, telepítése 167. oldal
Avatar Selection Saját profil kép helyett előre beállított avatarok használata.
Printer, e-mail and PDF Tartalmakhoz nyomtatás, e-mail küldés és PDF verzió funk
versions ciók.
85
Ezt talán legegyszerűbben úgy lehet megérteni, ha a http://themegarden.org/drupal6/ oldal Next The
me gombjával más-más sminkekkel nézzük meg ugyanazt az oldalt.
174. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
A sminkek nem minden (egyébként a Drupal által konfigurálható) tartalmi elemet tud
nak 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.)
Egy tetszőleges sminket az oldalhoz (többek között) a következők segítségével tudjuk il
leszteni:
logó cseréje
webhely ikon cseréje
Webhely információk oldalon a honlap nevének beállítása (47. ábra)
Természetesen ezzel még csak alkalmaztuk, és nem szabtuk személyre a sminket.
176. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
16.4. Jogosultságok
A System modul beállítható, ide kapcsolódó jogosultsága:
más smink választása: több engedélyezett smink esetén kinek legyen joga saját
kedvencet beállítani
86
A sminkek létrehozásához vagy módosításához a http://drupal.org/theme-guide/6 oldalon találhatunk
elegendő információt.
87
Például Marinelli, Andreas 02, Terrafirma Theme
16. Sminkek használata 177. oldal
88
http://drupal.org/project/glossyblue
89
Például Framework, Zen, Artists C01, Hunchbaque,
178. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
page.tpl.php
Az állomány a minden oldalon egységesen megjelenő HTML keretet és a változó tartal
mak beillesztését megvalósító PHP nyelvű kódokat tartalmazza.
<?php
// $Id: page.tpl.php,v 1.25.2.2 2009/04/30 00:13:31 goba Exp $
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
lang="<?php print $language->language ?>"
xml:lang="<?php print $language->language ?>"
dir="<?php print $language->dir ?>">
A nyelvi beállítások hatással vannak a HTML kimenetre.
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<?php print $head ?>
Pl. a generált meta tagok.
<title><?php print $head_title ?></title>
Az oldal címe és a weboldal neve.
<?php print $styles ?>
<?php print $scripts ?>
</head>
CSS stílusok és Javascript fájlok.
<div class="hide"><a href="#content" title="<?php print t('Skip
navigation') ?>." accesskey="2"><?php print t('Skip navigation')
?></a>.</div>
Böngészőben nem látszó, felolvasó programoknak szóló link a navigációs részek átugrá
sára. Érdemes megfigyelni, hogy a Skip navigation szöveg fordítható (72. ábra), tehát
ideális esetben itt a látogató nyelvén megfogalmazott szöveg lesz.
<table id="primary-menu" summary="Navigation elements."
border="0" cellpadding="0" cellspacing="0" width="100%">
Az elsődleges linkek menü megjelenítése egy táblában.
<tr>
<td id="home" width="10%">
16. Sminkek használata 179. oldal
node.tpl.php
Az állomány a node tartalmát körül vevő tartalmi részeket határozza meg.
<div class="node<?php if ($sticky) { print " sticky"; } ?>
<?php if (!$status) { print " node-unpublished"; } ?>">
Ha kiemelt, vagy nem közzétett egy tartalom, akkor ahhoz CSS class szelektorokat gene
rál.
<?php print $picture ?>
A szerző képe.
<?php if ($page == 0): ?>
<h1 class="title"><a href="<?php print $node_url ?>">
<?php print $title ?></a></h1>
<?php endif; ?>
Ha az oldal tartalma nem jelenik meg, csak a címe, akkor a címet egyszerű linkként ké
szíti el.
<span class="submitted"><?php print $submitted ?></span>
Beküldési adatok (tipikusan a dátum és a beküldő neve).
<div class="taxonomy"><?php print $terms ?></div>
Taxonomy kifejezések.
16. Sminkek használata 181. oldal
comment.tpl.php
Az állomány a megjegyzések megjelenítését határozza meg.
<div class="comment<?php print ' '. $status; ?>">
Ha van speciális státusz, megjeleníti.
<?php if ($picture) : ?>
<?php print $picture ?>
<?php endif; ?>
Ha van kép, akkor megjelenik.
<h3 class="title"><?php print $title ?></h3>
A megjegyzés címe.
<div class="submitted"><?php print $submitted ?>
<?php if ($comment->new) : ?><span class="new"> *<?php print
$new ?></span><?php endif; ?></div>
Ha új, akkor jelezzük.
<div class="content">
<?php print $content ?>
A megjegyzés szövege.
<?php if ($signature): ?>
<div class="clear-block">
<div>—</div>
<?php print $signature ?>
</div>
<?php endif; ?>
</div>
Ha van aláírás, megjelenik.
<!-- BEGIN: links →
<div class="links">» <?php print $links ?></div>
<!-- END: links →
</div>
Linkek (pl. Válasz) megjelenik.
block.tpl.php
Az a fájl a régiókban megjelenő blokkokat definiálja.
<div id="block-<?php print $block->module .'-'. $block->delta; ?
>" class="block block-<?php print $block->module ?>">
Speciális id és class értékeket generál a blokkokhoz.
182. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
90
Forrás: http://drupal.org/node/171194
91
http://drupal.org/project/ninesixtyrobots
92
http://960.gs/
16. Sminkek használata 183. oldal
gamf.info93
Általában érdemes a szülő smink .info állományát lemásolnunk, és azt tovább szerkesz
teni.
Esetünkben a következő adatokat kell megadnunk:
name: a smink neve
core: a drupal verziószáma, amelyikhez a smink készül
engine: melyik smink motorra épít (szinte kizárólag phptemplate szokott lenni)
93
Forrás: http://drupal.org/node/171205
184. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
template.php
Ezt az állományt olyan esetben kell létrehoznunk, ha a smink alapértelmezett működé
sét jelentősen módosítanunk kell.
További állományok
Igen jellemző, hogy a szülő smink style.css állománya mellett vagy helyett a sajátunkat
szeretnénk használni. De a dekorációs képeket is el kell helyeznünk a megfelelő helyen,
többnyire a sminkünk images alkönyvtárában.
Drupalban a sminkeléssel igen jelentősen bele tudunk avatkozni a Drupal működésébe.
Ennek ismertetése azonban túlmutat a jegyzetünk lehetőségein.
További ismereteket szerezhetünk a sminkelésről, ha az általunk jól ismert sminkek for
ráskódját tanulmányozzuk.
17. A Views modulok 185. oldal
Views alapmodulok
Verzió: views-6.x-2.6.tar.gz.
Honlap: http://drupal.org/project/views
A modul telepítéséhez kapcsoljuk be a Views modult, hogy nézeteink lehessenek, és a
Views UI modult, hogy a nézeteket szerkeszthessük, újakat hozhassunk létre. Ez utóbbi
modulra csak a fejlesztés idejére lesz szükségünk, a nézetek elkészülése után javasolt ki
kapcsolni. A Views exporter modul nézetek más honlapra másolásakor lehet segítség.
Az oldal teljesen AJAX működésű, így a kezelése jelentősen eltér a legtöbb korábbi olda
létól. A logikája alapvetően fentről lefelé, és balról jobbra érthető meg.
Először is az 1-es részben mindig a Defaults látszik. Itt ugyanis egy nézet több al-nézetet
(display) is tartalmazhat. A Defaults az alapbeállításokat tartalmazza, a legtöbb alatta
levő csak néhány dologban fog ettől eltérni. Amelyik ezek közül ki van választva, annak a
részletei látszanak a jobbra levő területen.
A következő példákat ennek fényében érdemes tanulmányozni.
17. A Views modulok 187. oldal
Nézzük meg, milyen nézetet generált a Simple views modul (186. ábra).
Page al-nézet
Önálló útvonalon és önálló tartalommal megjelenő nézet (a dőlt részek az alapértelme
zett Defaults beállításoktól öröklődtek).
Basic settings
Legalapvetőbb beállítások
Név: Page, vagyis alapvetően ezen a néven fogjuk látni
Cím: Tartalmak az összes nézetben
Style: Unformatted, vagyis alapértelmezett megjelenítés (lehetne még HTML,
Rács vagy Táblázat)
Row style: Tartalom, vagyis nem valami speciális, hanem a korábban megszokott
előnézet vagy teljes nézet (Emiatt a Fields nem is szerkeszthető)
Use AJAX: Nem, vagyis hagyományos oldal-újratöltődéssel működik
17. A Views modulok 189. oldal
Page settings
Csak oldal al-nézetnél jelenik meg.
Útvonal: tartalmak, vagyis ezen az útvonalon érhető el a nézet
Menü: Normal, vagyis hagyományos módon, egy menüben jelenítjük meg
Sort criteria
Milyen sorrendben jelenjenek meg:
Tartalom: Post date desc, vagyis a beküldés dátuma szerint, csökkenő sorrend
ben
Szűrők
Az összes node közül melyeket jelenítse meg
Tartalom: Közzétett Igen, vagyis a rejtett tartalmak nem jelennek meg
Tartalom: Típus = Oldal, vagyis csak ilyen típusú tartalmakat listázunk
A Block al-nézet
A Block nézet kicsit máshogy épül fel, hiszen más is a célja. A fontosabb eltérések:
Basic settings
Style: HTML List, vagyis HTML (ul-li) lista készül
Row style: Fields, vagyis a Fields részben felsorolt mezőket fogja mutatni
Items to display: 5
Link display: Page, vagyis a címre kattintva a node-ra jutunk
Block settings
Ez csak blokkok esetén van
Admin: Tartalmak, ez lesz a blokk azonosítója
Caching: Do not cache, vagyis nincs gyorstárazva
190. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Fields
Tartalom: Cím, vagyis csak a cím fog megjelenni linkként
Végül a Feed al-nézet hasonló.
Az Offset értékével néhány tartalmat kihagyhatunk a listázásból 94. Például az első 5 hírt
hagyományos módon, a következő 10-et csak címmel szeretnénk megjeleníteni: ekkor
két hasonló nézetet hozunk létre, a másodiknak 5-ös Offset értéket beállítva. Végül a két
nézetet valamilyen módon egymás alatt jelenítjük meg.
A Page al-nézetre váltva jól látszik, hogy ezt a nézetet a frontpage útvonalon érhető el.
Ha igényeinknek megfelelően testre szabtuk, akár a címlapra is tehetjük az Alapértel
mezett címlap beállításával (47. ábra).
94
Egy lehetséges példa: egyik nézettel csak az első öt tartalmat listázzuk címmel, összefoglalóval, a másik
nézettel ötöt kihagyva, a következőket listázzuk csak címmel, összefoglaló nélkül, majd a két nézetet egy
más alá tesszük a kezdőoldalra. A második nézethez fogjuk az Offset értékét 5-re állítani.
17. A Views modulok 193. oldal
Először is érdemes megfigyelni, hogy az előző ábrák node alapúak voltak (Tartalom: …),
míg itt többnyire Hozzászólás: … látható, vagyis itt hozzászólás alapú nézetet láthatunk.
Újdonság még a Realtionship doboz, amely a node linkeléséhez szükséges ebben az eset
ben.
A glossary nézet
A glossary nézet az összes publikus tartalmat a címe kezdőbetűje szerinti csoportosítás
ban listázza. Csak oldal nézetet tartalmaz, amely a glossary útvonalon érhető el.
A megoldás itt is az Argumentum alapján készült.
A taxonomy_term nézet
A taxonomy_term nézet a Taxonomy kifejezéseihez tartozó listázó oldalakat tudja he
lyettesíteni.
A tracker nézet
A tracker nézet a tartalmak és hozzászólások követését lehetővé tevő Tracker modul át
tekintő oldalát helyettesíti.
4. Szűrők definiálása
A feladat szerint nekünk az utolsó héten belépett látogatók kellenek. Ehhez a Szűrők „+”
gombjával adjunk hozzá egy új szűrőt: Felhasználó: Last login (197. ábra).
200. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
197. ábra: Csak az utolsó hét nap alatt belépett felhasználók szűrése
Ezzel el is készültünk.
Editablefields Olyan nézetet tudunk vele létrehozni, ahol egyes mezők nem
csak listázódnak, hanem szerkeszthetőek is. Így akár több
tartalmon is módosítást végezhetünk egy oldalon.
Insert View Node szövegébe be tudunk szúrni egy nézet eredményét. Be
viteli szűrőként működik.
Egyedek
Azok a természetben megtalálható elemek vagy elvont fogalmak, amelyek tulajdonságait
(attribútumait) szeretnénk tárolni. Egyed lehetnek például személyek, berendezések, az
ábrán title, album, image és description stb. Az egyedeket egy téglalappal ábrázoljuk,
melyben megjelenik az egyed neve.
18. A CCK modulok 203. oldal
Kapcsolatok
Kapcsolat (többnyire) két különböző típusú egyed között lehetséges. Például:
Személy járművet vezet
Személy részt vesz a tárgyaláson
Amíg az egyedek megnevezésében általában főneveket használunk, addig a kapcsolat le
írására általában igéket használunk. A kapcsolatok három típusát különböztethetjük
meg:
1:1
Az egy az egyhez kapcsolat esetén az egyik egyed egyik példányához egy és csak egy
példányát kapcsoljuk a másik egyednek. Pl. previous, next, stb.
A CCK megvalósítás esetén azt kell eldönteni, hogy a kapcsolat melyik iránya fonto
sabb. Ha ez egyértelműen megadható, akkor ahhoz a tartalomtípushoz érdemes a másik
egyed referenciáját felvenni. Esetleg az is megoldás lehet, ha mindkét irányban felvesz-
szük a kapcsolatot.
1:n
Az egy a többhöz kapcsolat esetén az egyik egyed egyik példányához nulla vagy több
példányát kapcsoljuk a másik egyednek. Pl. hastitle, contains.
A CCK megvalósítás esetén szintén érdemes eldönteni, hogy melyik kapcsolat a hang
súlyos.
n:m
A több a többhöz kapcsolat egy egyed példányaihoz egy másik egyed több példányát
rendeli. Pl. describes.
A CCK megvalósítás esetén nincs mérlegelési lehetőség: mindkét irányban fel kell
venni a kapcsolatot. Bizonyos esetekben egy bonyolultabb megoldás is elképzelhető, sőt
nélkülözhetetlen: ekkor a kapcsolatot egy kapcsoló tartalomtípus bevezetésével két 1:n
kapcsolattá bonthatjuk.
Előfordulhat, hogy egy egyed példányi között áll fent kapcsolat. Ezt rekurzív kapcso
latnak nevezzük. Ilyen lehet például a munkahelyi főnök - beosztott kapcsolat, és az áb
rán ilyen a previous és a next is.
A kapcsolatoknak is lehetnek attribútumai.
204. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
18.2. Telepítés
Az alap CCK modulok telepítését a szokásos módon kezdjük: másoljuk a letöltött és kitö
mörített cck könyvtárat a sites/all/modules alkönyvtárba.
Először nézzük át röviden az egyes alap CCK modulok feladatait.
Content: Minden további modul függ a Content-től, ezért ezt mindenképpen en
gedélyeznünk kell.
Content Copy: tartalomtípusok importálása, exportálása végezhető el vele. Ez pl.
más weboldal alá költöztetéshez lehet praktikus.
Content Permissions: Mező szintű jogosultság beállítási lehetőségeket kapunk.
Fieldgroup: Mezők vizuális csoportosítására lesz lehetőségünk.
Node Reference: Másik tartalomra való hivatkozást valósíthatunk meg. Ezzel va
lósíthatjuk meg az E-R diagramban leírt kapcsolatokat.
Number: Szám típusú mezőket definiálhatunk.
Option Widgets: Legördülő lista, rádió gomb típusú beviteli mezőket hozhatunk
létre.
Text: Szöveges mezőt hozhatunk létre.
User Reference: Felhasználóra való hivatkozást hozhatunk létre.
Értelemszerűen a számunkra szükséges modulokat érdemes bekapcsolnunk. Ha a mező
típusok lehetőségeit szeretnénk megismerni, akkor a Content Copy és Content Permissi
on modulok kivételével mindegyiket bekapcsolhatjuk.
Szövegdoboz (többsoros)
Az új mező létrehozásakor ezek közül a lehetőségek közül választhatunk.
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 (18.5. fejezet).
Telefonkönyv példa
Példaként nézzünk megy egy vállalati telefonkönyv jellegű alkalmazást, amelynek min
den mezője95 egyszerű szöveg.
Első lépésként hozzunk létre egy új tartalomtípust (8.3. fejezet). Ezután a Mezők ke
zelése (admin/content/node-type/*/fields) oldalon hozzuk létre a szükséges mezőket
(200. ábra).
95
Kissé talán furcsa lehet ez a megközelítés, hiszen józan paraszti ésszel a telefonszám inkább szám kelle
ne legyen, ahogy a neve is mondja. Érdemes feltenni azonban a kérdést, hogy akarunk-e matematikai érte
lemben számolni (pl. összeadni, szorozni) vele? Ha nem, akkor inkább szöveges mező legyen.
206. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Munkatárs beállításai
A szövegmező mérete a begépelhető szöveg hosszát maximalizálja.
A Súgó szöveg a tartalmat beküldőnek lesz magyarázat.
Az Alapértelmezett érték meg fog jelenni a tartalom beküldésekor a beviteli mezőben.
Általános beállítások
A Szükséges mezővel kötelezően kitöltendőnek jelöljük a mezőt.
Az Értékek száma konstans (alapértelmezetten 1) vagy akár Korlátlan is lehet.
A Szövegfeldolgozás Egyszerű vagy Formázott lehet. Az utóbbi esetben a szövegszer
kesztő modulok és a beviteli formák is működni fognak a mezővel kapcsolatban.
18. A CCK modulok 207. oldal
Minden egyes mezőt (illetve mezőcsoportot) külön tudunk szabályozni. Az egyes oszlo
pok jelentése:
Ahogy az ábrán is látszik, a tartalom beküldésekor ki nem töltött mezők nem jelennek
meg.
Field Actions Mezőkön keresztül hozhatunk létre akciókat. (Pl. egy tarta
lom beküldéséről értesíteni akarjuk az User reference me
zővel hivatkozott felhasználót.)
96
Illyés Edit leírása alapján. Forrás: http://edithi.com/node/40
19. Drupal esettanulmányok 211. oldal
19.1.1. Tervezés
A honlap jelenlegi elsődleges célja, hogy a leendő óvoda iránt érdeklődő szülőket meg
felelő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 be
mutatása fogja a tartalmat bővíteni, majd a működés megkezdése után az óvoda min
dennapjainak 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 ol
dal.)
É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ó (205. á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.
97
A honlap a http://baranykaovi.kbgy.hu/ címen érhető el.
212. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
19.1.2. Telepítés
A Drupal 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ál
hatnak, 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
19. Drupal esettanulmányok 213. oldal
Külső modulok
● 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: 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élja
ink) a főmenüből valószínűleg ki fognak kerülni. Ekkor elképzelhető, hogy Az oviról ol
dal 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 átszer
vezé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 egy menüblokk valósul meg.
Végül a honlap a tartalom és funkcionalitás kialakítása után az eredeti kinézetét is „visz-
szakapta” az eredeti dizájn sminkké fejlesztésével (206. ábra).
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
● Poormanscron: időzített feladatok
● FCKEditor: vizuális szerkesztés
98
http://politech2005.hu/
19. Drupal esettanulmányok 215. oldal
19.2.2. 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 ol
dalt, és közösségi menük jobb oldalt (207. ábra).
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 (209. ábra).
19.2.4. 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ő felhasználók neveire korlátozódik.
A másik nézet csak regisztráltaknak, és jóval több információt tartalmaz.
19.2.5. 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.
Igazából (a fórum működéséhez hasonlóan) itt se egy teljesen új dologgal állunk szem
ben, 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.
A Szerkesztők (megint csak a jogosultságok megkapása után) tudnak a tartalom bekül
désénél hírlevelet létrehozni, és megfelelő kategóriába sorolva elküldeni.
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ír
levé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.
19.3.1. Tervezés
A tantárgyi oldalak zártak abból a szempontból, hogy külső látogatók nem regisztrál
hatnak, az oldal a tantárgyat hallgató tanulók számára van fenntartva.
Meg kell még említeni, hogy három tantárgy oldalát kell megvalósítani, amelyekben
ugyan sok a hasonlóság, de vannak jelentős eltérések is.
Az oldal fő funkciói
Tantárgyi hírek közlése a hallgatók számára (hírek a címlapon és RSS-ben)
A hallgatók a házi feladat bizonyos részeinek teljesítését itt a honlapon tudják do
kumentálni (tartalom beküldési jogok, valamint profil adatok)
E teljesítéseket hallgatóhoz és részfeladathoz kötötten is ki kell tudni listázni
(Views modul)
A teljesített részfeladatokat a hallgatótársak tudják kommentálni, értékelni, ami
segítség lesz a végleges értékelésben.
218. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
A hallgatókat további tartalom-építésbe is be kell vonni. Van, ahol wiki, van, ahol
fórum jelleggel.
A hallgatók aktivitását „mérni” kell gépi módszerekkel is (Userpoints modul)
Esemény
Az esemény elsősorban a kezdőoldalon megjelenő jövőbeli események táblázatos listázá
sához szükséges (210. ábra).
99
A szerző e gyülekezet tagja több, mint 10 éve. http://kbgy.hu/
100
http://drupal.org/project/acquia_marina
101
http://drupal.org/project/waffles
19. Drupal esettanulmányok 219. oldal
A Dátum az esemény kezdeti (és esetleg befejező) idejét tartalmazza. A Helyszín több
nyire az alapértelmezett Imaház értéken marad, néha kell csak átírni. Az Aktuális logi
kai érték segítségével tudja majd a nézetünk eldönteni, hogy melyik eseményeket kell
majd a címlapon szerepeltetni (211. ábra).
Heti alkalom
A Heti alkalom tartalomtípus a hétről hétre ismétlődő események táblázatos megjelení
tésére szolgál (213. ábra).
A Nap a hét egyik napját (hétfő-vasárnap) jelenti, a redundánsnak tűnő Súly az ehhez
kapcsolódó sorrend beállítására lesz hasznos. (Enélkül a megjelenítési sorrend pl. a hét
napjai szerint abc sorrend lehetne csak, ami jelen esetben értelmetlen.) Az Idő a Heti al
kalom időintervallumát jelöli ki (214. ábra).
19. Drupal esettanulmányok 221. oldal
Magazin
A gyülekezet rendszeresen kiad hagyományos, papír alapú újságot Igeidő címen. Termé
szetesen felmerült az igény, hogy ennek a tartalma is felkerülhessen a honlapra, de ne
csupán egy feltöltött PDF állomány formájában, hanem jól navigálható módon.
E cél érdekében két, 1:n kapcsolatban álló tartalomtípus létrehozása tűnt célszerűnek:
Magazin és Magazin cikk. Az egyszerűség kedvéért a kapcsolat mindkét iránya megva
lósításra került.
222. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
A Magazin mezői:
Cím: a Magazin és száma
Sorszám: a Magazin sorszáma, csak a listázás sorrendjéhez van felhasználva
Ismertető: egy rövid bevezető
Cikkek: node reference több Magazin cikkek-re
A Magazin cikk mezői:
Cím: a cikk címe
Magazin szám: node reference a Magazinra
Oldal: a cikk újságon belüli oldalszáma, egyedül a listázásnál van felhasználva
Rovat: a magazin rovatbesorolása
Törzs: a cikk szövege
Egy magazin kinézete a következő (216. ábra).
3. Vállalatok
A kar igen sok céggel áll kapcsolatban. Nyári gyakorlatosok keresése, végzősök
nek állásajánlat, bérmunkák a GAMF műhelyeiben, vagy egy céges tanfolyam
szervezése csak néhány példa. Természetesen a vállalatok számára a kar munka
társaival való kapcsolat lehetősége és a fentihez hasonló információk a leghaszno
sabbak.
4. Munkatársak
Egy vállalat vagy szervezet belső életéről nem szokás információkat közzétenni,
mégis lehetnek olyan esetek, amikor az információ mégiscsak érdekes lehet má
sok számára is, és vállalati titoknak se minősíthető.
5. Más felsőoktatási vagy kutató intézmények
A kutatás, de az oktatás területén is igen gyakori az intézmények közötti együtt
működés. Valószínűleg az e csoportnak szóló információk nem fognak egy helyen
koncentrálódni az oldalon.
6. Magyarul nem beszélő látogatók
Gyakorlatilag az előző kategóriák speciális esetének is tekinthető pl. egy vendég
félévet nálunk hallgató külföldi hallgató, a kutatási témájához partnert kereső ku
tató, egy külföldi cég (pl. a Mercedest gyártó Daimler AG) számára fontos, hogy
legalább angol nyelven és legalább alap információkat el tudjon érni.
Ezek a látogatói csoportok egyes esetekben jól szétválaszthatók, máskor jelentős átfedé
sek lehetnek. Emiatt a hírek megfelelő struktúrában tálalása rendkívül fontos a kar hon
lapján.
Munkatársak (oktatók)
A honlap látogatói számára a munkatársak azon köre fontos kiemelten, akikkel az okta
tás vagy egyéb adminisztratív okból kell, hogy kapcsolatot tartsanak. Ilyen értelemben
nem feltétlen cél, hogy minden, a karon dolgozó munkatárs szerepeljen a honlapon.
Legfontosabb célok, lehetőségek:
Friss kapcsolati adatok megjelenése
Tudományos információk megjelenítése (pl. kutatási területek, publikációs
lista, vagy akár egyes publikációk melléklettel is)
Tantárgyi információk (tipikusan előadásvázlatok, feladatkiírások stb.)
Cél, hogy minden oktató a saját anyagait tudja kezelni, feltölteni, módosítani.
Ezek az anyagok nem a címoldalon jelennek meg.
Hírszerkesztők
A kar sok részéről érkezhetnek olyan hírek, amelyek a címlapon kell, hogy megjelen
jenek. Ezen hírek alapvetően időrendben, a hír címével, dátumával és feladójával fognak
megjelenni.
Oktatási Iroda, pl. Felvételi tájékoztató
BME Nyelvvizsgahely: pl. Nyelvvizsgák terembeosztása
Kollégium: pl. Az új első évesek kollégiumi jelentkezésének mente
Könyvtár: pl. Nyári nyitva tartás
Bizottságok: pl. Lakhatási támogatás
Szakcsoportok, intézmények: pl. Matematika - Fizika Felkészítő Tanfolyam, vagy
egy intézeti szeminárium
Események, versenyek: pl. Mikroelektronika tanulmányi verseny
ECDL vizsgaközpont: pl. Következő vizsga információk
Hallgatói Képviselet: pl. GAMF napok programja
A hírek jelentős része besorolható a következő négy látogatói csoport valamelyikébe.
Ezen csoportokban a hírek gyakorisága nem egyforma, így a megfelelő dobozok eltérő
számú hírt tartalmaznak majd.
Felvételizőknek (kb. 5 hír)
Hallgatóknak (kb. 10 hír)
Vállalatoknak(kb. 5 hír)
Munkatársaknak (kb. 5 hír)
Ezen kívül vannak olyan témakörök, amelyek kezelése kiemelten fontos lehet:
Levelezők hírei
Szakdolgozati hírek
Záróvizsga hírek
E csoportok átgondolása a honlap tervezésének egyik legkritikusabb része. Célszerűnek
látszik többféle navigációt kidolgozni, és választhatóvá tenni.
228. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Webmester
A honlap további oldalai, amelyek nem igazán hír jellegűek, a webmester által karban
tartottak.
A blokkokat egyetlen nézet al-nézetei (220. ábra) gyártják, a blokkok pedig a 16.6. feje
zetben bemutatott smink régiókba kerültek, csak a címoldalon (<front>) megjelenítve.
A blokkok lábléceibe helyezett további hírek linkek a hirek_oldalai nézet oldal alapú al-
nézeteire mutatnak, ahol a korábbi hírek is megtekinthetőek.
19. Drupal esettanulmányok 229. oldal
19.5.5. Szervezetek
A kar oktatói és nem oktatói egységekkel is rendelkezik. Ezek legfontosabb jellemzői,
hogy
vezető, adminisztrátor és egyéb munkatárs is köthető hozzá
hírek feladója lehet
Az előbbiek miatt különböző számosságú User reference mezőket, az utóbbi miatt pedig
View reference (külső modul) mezőt vettünk fel (221. ábra).
230. oldal Webes tartalomkezelő rendszerek – 1.0. 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ár-szinkronizá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 (224. ábra).
102
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.
234. oldal Webes tartalomkezelő rendszerek – 1.0. verzió
Érdemes megfigyelni, hogy a Látható elemekkel összhangban van a találati lista megje
lení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 (226. ábra).
A másolás irányaként érdemes csak a szerver felől a mentés helye szerint (az ábrán Bal
ró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 Total Commander ismét összehasonlítja a két oldal tartal
mát. Ha esetleg valamilyen ok miatt a két fájl nem egyezik meg, akkor még inkább fon
tos tisztában lennünk azzal, hogy melyik irányban kell másolnunk.
lehet például az eltérő verziójú szoftver. (Ekkor először az SQL export kompatibilitás-t
érdemes kipróbálni.)
A Végrehajt gombra kattintás előtt érdemes még a gzip-pel tömörítve lehetőséget is ki
jelölni. Így egyetlen tömörített fájlt kell letöltenünk a teljes adatbázis mentéséhez (227.
ábra).
20.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 laprendszer, vagy valamelyik kiegészítő modulnak ú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 modu
lok 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 me
neté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.
4. Kapcsoljuk ki a kiegészítő modulokat, és váltsunk vissza az alapértelmezett
sminkre.
5. Töröljük a korábbi verzió állományait, kivéve a sites könyvtárat.
103
A Jegyzettömbnél alig kell többet tudnia. Megfelel például:
http://notepad-plus.sourceforge.net/hu/site.htm
20. Adminisztrációs feladatok 237. oldal