Anda di halaman 1dari 26

1.BEVEZETS 2.CMS RENDSZEREK RVID TTEKINTSE 3.DRUPAL FELHASZNLI SZINT BEMUTATSA 3.1. TELEPTS 3.2. ELS LPSEK 3.3.

BELLTSOK 3.3.1. FELHASZNL 3.3.2. ADMINISZTRTOR 3.4. TARTALOM BEKLDSE 4.FJL S ADATBZIS SZERKEZET FELVZOLSA 4.1. A DRUPAL FJLSZERKEZETE 4.1.1. DATABASE 4.1.2. FILES 4.1.3. INCLUDES 4.1.4. MISC 4.1.5. MODULES 4.1.6. SCRIPTS 4.1.7. SITES/DEFAULT 4.1.8. THEMES 4.2. A DRUPAL ADATBZIS SZERKEZETE 4.2.1. BLOCKS 4.2.2. CACHE 4.2.3. COMMENTS 4.2.4. FILES 4.2.5. NODE 4.2.6. ROLE 4.2.7. SEARCH_INDEX 4.2.8. SYSTEM 4.2.9. USERS 4.2.10. USERS_ROLES 4.2.11. VARIABLE 4.2.12. WATCHDOG 5.FGGVNYEK FELTRKPEZSE 5.1. FELHASZNLKAT KEZEL FGGVNYEK 5.1.1. USER_LOAD 5.1.2. USER_SAVE 5.2. TARTALMAKAT KEZEL FGGVNYEK 5.2.1. NODE_LOAD 5.2.2. NODE_SAVE 5.3. ADATBZIS KEZEL FGGVNYEK 5.3.1. DB_SET_ACTIVE 5.3.2. DB_CONNECT 5.4. MEGJELENTST KEZEL FGGVNYEK 5.4.1. INIT_THEME 5.4.2. THEME 6.J SMINK KSZTSE 7.SSZEFOGLALS 8.IRODALOMJEGYZK

2 3 4 4 4 5 5 5 9 10 10 10 10 11 13 13 14 14 14 15 15 16 16 16 16 16 17 17 17 17 17 17 19 19 19 19 20 20 20 20 20 20 21 21 21 22 24 25

Szab Blint

A Drupal CMS rendszer felptse

1. Bevezets
A weboldal kszts, webprogramozs rgta rdekel, s gy rzem ez az a tmakr, amivel a ks bbiekben hivatsszer en foglalkozni szeretnk. Ezrt kezdtem el iskoln kvl ismerkedni a HTML s PHP nyelvekkel, s ezrt vettem fel az Adatbzis Alap Webalkalmazsok cm tantrgyat. E tantrgy keretn bell kerltek megemltsre a tartalomkezel rendszerek (CMS), amelyek felkeltettk az rdekl dsemet. Elhatroztam, hogy behatbban szeretnm tanulmnyozni ezeket a rendszereket, mint amennyire a gyakorlatok sz ks id kerete alkalmat adott. Erre j lehet sg knlkozott a szakdolgozati tma kivlasztsakor, amikor is az Informatika Tanszk ltal javasolt tmk kztt szerepelt egy szabadon vlasztott tartalomkezel rendszer felptsnek bemutatsa. gy gondoltam ez j alkalom a tartalomkezel rendszerek kzelebbi megismersre, a HTML s PHP nyelvek tern szerzett eddigi ismereteim b vtsre, valamint egy konkrt tartalomkezel rendszer ismerete el nyt jelenthet szmomra a ks bbiekben. Rengeteg fle tartalomkezel rendszer ltezik. Ezeknek egy rsze fizet s , ms rszk ingyenesen elrhet . n az ingyenesen letlthet , nylt forrskd, PHP nyelven rdott Drupal rendszert vlasztottam bemutatsra. A Drupal egy szles krben hasznlt rendszer, egy interneten tallt lista szerint a msodik legnpszer bb tartalomkezel . Mellette szlt az is, hogy ltezik magyar nyelvi kiegszts hozz, gy itthon is sokan hasznljk. Kszlt hozz magyar nyelv kziknyv, s a magyar Drupal oldalon tallhat frumokon is segtsget krhetek (http://drupal.hu). Mikzben sajt ismereteimet b vtem, remlem sikerl egy msok szmra is hasznos dokumentcit rnom a Drupalrl, ami jl hasznlhat segtsg lehet a rendszerrel ismerked knek.

-2-

Szab Blint

A Drupal CMS rendszer felptse

2. CMS rendszerek rvid ttekintse


A CMS (Content Management System) magyarul tartalomkezel rendszer. Ezek ltalban kevs szaktudst ignyl webes alkalmazsok, melyek lehet v teszik, hogy komoly szakrtelem nlkl is brki sszetett weboldalt ksztsen s karbantartson. Ennek el nye az, hogy a honlapon megjelen el lltotta s a tma szakrt je. A j informcit az tudja megjelenteni, aki weboldalak folyamatos karbantartsnak

legpraktikusabb mdszere, ha azt a tartalom fejlesztsben, mdostsban leginkbb illetkes szemlyek vgzik, k azonban tbbnyire jratlanok a webes programozs tern. A tartalomkezel k lehet v teszik honlapok vltoztatst, frisstst tbbnyire bngsz alap, grafikus, felhasznlbart felleten, weblapksztsi ismeretek nlkl is. gy jelent sen lervidl a tartalom ltrehozsa s publiklsa kztt eltelt id . Tbbfle tartalomkezel rendszer ltezik. Ezeknek egy rsze az internetr l

ingyenesen letlthet . Rszletesebb bemutatsra n az egyik legnpszer bbet [1], a Drupal nev rendszer 4.6.3-as verzijt vlasztottam, mely ingyenes s nylt forrskd.

Hasznlata elterjedt, Magyarorszgon is szmos Drupal alap weboldal ltezik. A Drupal gyakorlatilag minden olyan rendszerre elrhet , ahol a PHP s valamely tmogatott adatbzis rendszer m kdik. Nem csak Apache s Microsoft IIS alatt, hanem szmos opercis rendszer alatt is futtathat, mint amilyen a Linux, a klnbz BSD-k, a Solaris, a Windows vagy akr a Mac OS X platformok. Br a legtbb Drupal alap oldalt zemeltet MySQL-t hasznl, ez nem mindenki szmra kzenfekv megolds. A Drupal vkony adatbzis fggetlent fellete

segtsgvel PostgreSQL hasznlata is lehetsges. Ms adatbzisokhoz krlbell egy tucat egyszer fggvny ltrehozsval illeszthetjk oldalunkat. [2]

-3-

Szab Blint

A Drupal CMS rendszer felptse

3. Drupal felhasznli szint bemutatsa


3.1. Telepts
A Drupal rendszert a http://drupal.org cmr l, a magyartst a http://drupal.hu cmr l tlthetjk le. A teleptst, magyartst s a konfigurlst a magyar Drupal oldalon tallhat kziknyv (http://drupal.hu/kezikonyv) tmutatsa alapjn tudjuk elvgezni. A Drupalt a webszerver dokumentumknyvtrba kell felteleptennk.

3.2. Els lpsek


Ha a rendszert teleptettk, s megfelel en konfigurltuk, betlthetjk bngsz nkbe a Drupal kezd lapjt (1. bra).
A Drupal kezd lapja

1. bra

Itt tudjuk regisztrlni magunkat, az els regisztrl lesz az adminisztrtor. Az adminisztrtor vgezheti el a belltsokat, s kldhet be tartalmakat, melyek az oldalon megjelennek. Alaprtelmezett llapotban a regisztrlt ltogatk olvashatjk a tartalmakat, hozzszlsokat rhatnak s msokra vlaszolhatnak, mg a regisztrlatlan ltogatk csak olvashatjk a tartalmakat s hozzszlsokat. Ezeket a jogokat az adminisztrtor sz ktheti s b vtheti is, valamint jabb felhasznli csoportokat hozhat ltre ms jogosultsgokkal.

-4-

Szab Blint

A Drupal CMS rendszer felptse

3.3. Belltsok
3.3.1. Felhasznl
A regisztrlt felhasznl a bejelentkezs utn a menb l (2. bra) megtekintheti, s mdosthatja a sajt adatait. Kivlaszthatja az oldal nyelvt engedlyezve van az alaprtelmezett l eltr nyelv , ha

megvltoztathatja

felhasznlnevt, jelszavt, j email cmet adhat meg. Megadhat egy alrst, mely minden hozzszlsa alatt megjelenik, valamint bellthatja a helyi id znjt, s gy az oldalon tallhat id pontok ennek megfelel en jelennek meg.
Felhasznli men

2. bra

3.3.2. Adminisztrtor
Adminisztrtori men

3. bra

-5-

Szab Blint

A Drupal CMS rendszer felptse A rendszer adminisztrtora a bejelentkezs utn egy b vebb ment kap, mint

a felhasznlk (3. bra). Az adminisztrci menpont alatt egy listt kapunk a bellthat sszetev kr l. Beviteli formk: Tartalmak bekldsekor kivlaszthatjuk, hogy milyen jelleg Alapesetben hrom lehet sg kzl vlaszthatunk: Filtered HTML : Egyszer HTML kdot adhatunk itt meg, de a hasznlhat elemek a tartalom.

korltozva vannak. Ezekt l eltr elemeket a rendszer nem veszi figyelembe. Az engedlyezett elemek listjt az adminisztrtor b vtheti s sz ktheti. A rendszer automatikusan elhelyezi a sortrseket a bert szvegben (<p>, <br>). A felhasznlk bekldtt hozzszlsai ezt a beviteli formt hasznljk. PHP code : A bekldtt tartalom PHP kdokat is tartalmazhat, ezek futtatst teszi lehet v. Alaprtelmezett esetben nincs benne HTML sz rs s automatikus sortrs. Biztonsgi okokbl clszer csak az adminisztrtornak engedlyezni ezt a beviteli formt. Full HTML : HTML elemeket hasznlhatunk minden korltozs nlkl.

Alaprtelmezetten itt is be van lltva az automatikus sortrs.

Ezeken kvl az adminisztrtor hozhat mg ltre beviteli formkat, ahol a hrom sz r t (HTML sz rs, PHP kirtkel , Sortrs-talakt) tetsz legesen kombinlhatja. Belltsok: Itt el lehet vgezni a webhely alapvet belltsait. Megadhatjuk a webhely nevt s esetleg a jelmondatt, melyek az oldal tetejn jelennek meg hivatkozsknt a f oldalra. Megadhatjuk a webhely hivatalos email cmt, melyet a rendszer a felhasznlknak kldtt levelekben hasznl. Lerhatjuk az oldal cljt, s egy lblc zenetet, melyek az oldal tetejn illetve legaljn fognak megjelenni. Nevet adhatunk a -6-

Szab Blint

A Drupal CMS rendszer felptse Anonymous .

be nem lpett, nvtelen felhasznlknak, ez alaphelyzetben

Lehet sgnk van rvid webcmek hasznlatra. Ebben az esetben a ?q= rsz nem jelenik meg az URL-ben. Ehhez szksg van a webszerver megfelel belltsra is. Nem tallhat, vagy nem hozzfrhet oldal krse esetn sajt hibajelent oldalt

hasznlhatunk, ezek elrsi tjt itt megadhatjuk. Lehet sgnk van belltani, hogy a hibazenetek csak a naplba, vagy a kperny re is kirdjanak, valamint a naplbejegyzsek megtartsnak id tartamt. Engedlyezhetjk az oldal gyorsttr hasznlatt. Ekkor a nvtelen felhasznlk ltal krt oldalakat egy adatbzisban trolja a Drupal, gy nem kell minden jabb krsre el lltani, hanem csak az adatbzisbl el venni. gy jelent sen gyorsul a kiszolgls, s cskken a szerver terhelse. Megadhatjuk annak a knyvtrnak a nevt, ahol a rendszer ltal kezelt fjlokat troljuk s egy ideiglenes (temp) knyvtrat. A file letltsi mdot privtra llthatjuk, ha szablyozni akarjuk a jogosultsgokat. Ezeken kvl mg a dtumra, naptrra vonatkoz belltsokat tehetjk meg. Blokkok: Az oldalon megjelenteni kvnt blokkokat kivlaszthatjuk s bellthatjuk. Ilyen blokkok pldul a belps, navigci vagy j felhasznlk blokkok. A blokkok megjelenst engedlyezhetjk mindenhol, sehol, bizonyos oldalakon, vagy bizonyos jelleg oldalakon. Szablyozhatjuk, hogy a felhasznlk testreszabhatjk -e maguknak a blokkokat. A blokkoknak sly rtket is adhatunk, ezzel tudjuk szablyozni az egymshoz viszonytott helyzetket (a nagyobb sly blokkok lesllyednek) [1-2 sz. mellklet]. Elrs szablyozs: Itt bellthatjuk a regisztrlt felhasznlk s a ltogatk jogosultsgait, valamint jabb felhasznli csoportokat hozhatunk ltre. Szablyokat vezethetnk be a regisztrci sorn megadand felhasznlnevekre s email cmekre. Felhasznlk A regisztrlt felhasznlk adatait megtekinthetjk s mdosthatjuk, j felhasznlkat adhatunk a rendszerhez. Itt sorolhatjuk a felhasznlkat azokba a csoportokba, melyeket az elrs szablyozs oldalon ltrehoztunk. Megadhatjuk a regisztrcis oldalon megjelen regisztrcis irnyelvek szveget, bellthatjuk az

dvzl s j jelszt kld email-ek trgyt s szvegt. -7-

Szab Blint Hozzszlsok

A Drupal CMS rendszer felptse

A felhasznlk ltal bekldtt hozzszlsokat megtekinthetjk, trlhetjk, vagy szerkeszthetjk. Mdosthatjuk a megjelensket, s bellthatjuk a moderlsi szablyokat. Kategrik A tartalmakat kategrikba sorolhatjuk. Itt lehet sgnk van ltrehozni kategrikat. Modulok A Drupal egy modulokbl felpl rendszer. A modulok hasznlatt klnkln engedlyezhetjk, vagy tilthatjuk. Napl A rendszer ltal kldtt zenetek a naplba rdnak, ezeket tekinthetjk meg ezen az oldalon. Lehet sgnk van kategrinknt megnzni ket. Nyelvek A Drupal fellett msik nyelvre tudjuk lltani. Ehhez egy nyelvi llomnyt kell importlnunk, majd kivlasztani a listbl az j nyelvet. Lehet sgnk van nyelvi fjlba exportlni is. Sminkek A Drupal fellett teljes mrtkben testre lehet szabni gynevezett sminkekkel (theme). Ezek stluslapokkal (CSS) vltoztatjk meg az oldal kinzett. A rendszer magban foglal ngy sminket. Ezekhez tlthetnk le jabbakat az internetr l, vagy kszthetnk magunknak is. Tartalom Az eddig bekldtt tartalmakat szerkeszthetjk. Lehet sgnk van a tartalmakat cmlapra helyezni vagy eltvoltani, elrejteni, kiemelni, trlni. Korltozhatjuk az egy oldalon megjelen tartalmak szmt.

-8-

Szab Blint

A Drupal CMS rendszer felptse

3.4. Tartalom bekldse


A tartalmak bekldst adminisztrtorknt bejelentkezve tudjuk elvgezni, a menben a tartalom bekldse menpontra kattintva. A tartalom tpust kt lehet sg kzl vlaszthatjuk ki: oldal vagy rs. Brmelyiket is vlasztjuk, folytatsknt ugyanazt a felletet kapjuk. Megadhatjuk a tartalom szerz jnek nevt s a beklds id pontjt. Lehet sgnk van a hozzszlsok rst s olvasst engedlyezni, vagy tiltani. Eldnthetjk, hogy a tartalmat kzz tesszk-e, a felhasznlk csak ebben az esetben olvashatjk azt. Ha kzztettk elhelyezhetjk a tartalom bevezet jt a cmlapon, ebben az esetben a tartalom cme linkknt jelenik meg a tartalomra mutatva, alatta pedig egy bevezet szveg a tartalom trzsb l, melynek a hosszt mi hatrozhatjuk meg. Lehet sgnk van a tartalmat a cmlap tetejhez ragasztani , ekkor az jabb tartalmak alatta jelennek meg (4. bra). A trzs beviteli formjt a mr fentebb trgyalt hrom tpus kzl vlaszthatjuk ki: sz rt HTML, teljes HTML vagy PHP kd.
Ragads tartalom 4. bra

-9-

Szab Blint

A Drupal CMS rendszer felptse

4. Fjl s adatbzis szerkezet felvzolsa


4.1. A Drupal fjlszerkezete
Knyvtrszerkezet

5. bra

4.1.1. Database
Ha belpnk a Drupal knyvtrba (5. bra), az els alknyvtr a database. Az els kt file a database.mysql s a database.pgsql. Ezek a Drupal rendszer

adatbzisnak a dumpjai MySQL s PostgreSQL rendszerekhez. A harmadik file az updates.inc. Ez egy include llomny, mely az update.php llomnyba van beillesztve. Ez a file tartalmazza a Drupal rendszer jabb verzira trtn frisstsekor szksges, adatbzis m veleteket vgrehajt PHP fggvnyeket.

4.1.2. Files
A rendszer ltal kezelt file-ok alaprtelmezett trolsi helye. Ide kerlnek a klnbz sminkek logkpei, a feltlttt egyb llomnyok, s ha publikus letltsi mdot vlasztottunk a belltsoknl, akkor itt tartjuk a letlthet llomnyokat. A pictures alknyvtrba kerlnek ha engedlyeztk a hasznlatt a felhasznlk

kpei, melyeket a sminkek megjelenthetnek a bekldtt hozzszlsok, tartalmak mellett.

- 10 -

Szab Blint

A Drupal CMS rendszer felptse

4.1.3. Includes
Ebben a knyvtrban troldnak az include llomnyok. Bootstrap.inc: Az index.php, cron.php s az xmlrpc.php llomnyokba van beillesztve. Azokat a fggvnyeket tartalmazza, melyekre szksg van minden, a Drupalhoz rkezett krs esetn. Common.inc: Szintn az index.php, cron.php s xmlrpc.php llomnyokba van illesztve, olyan kzs fggvnyeket definil, melyeket sok modul hasznl. Azok a fggvnyek, melyeknek rendelkezsre kell llni ppen akkor, mikor egy cache-elt oldalt szolgltat a rendszer, a bootstrap.inc file-ban tallhatk. Database.inc A bootstrap.inc llomnyba van beillesztve. Az adatbzisszerver tpustl fggetlen, adatbzis-m veleteket vgrehajt fggvnyek defincijt tartalmazza. A MySQL vagy PostgreSQL specifikus adatbzis-kezel fggvnyek include

llomnybl kerlnek beillesztsre. Az adatbzis szervernek megfelel en a database.mysql.inc, vagy a database.pgsql.inc. File.inc A common.inc llomnyba van beillesztve. Ez tartalmazza a fjlkezelshez szksges fggvnyek s konstansok defincijt. Image.inc Szintn a common.inc llomnyba van beillesztve. Kpek kezelst vgz fggvnyek defincijt tartalmazza. Locale.inc A locale.module llomnyba van beillesztve. Klnbz kezelst, s a nyelvek kezelst lehet v tv oldalak nyelv hozzadsa nyelvi file-ok

importls, exportls, j

ltrehozst vgz fggvnyek tallhatk benne.

- 11 -

Szab Blint

A Drupal CMS rendszer felptse

Menu.inc A common.inc llomnyba van beillesztve. A Drupal menjnek m kdtetst vgz fggvnyek, s a men llapotrl informcit trol konstansok (flag)

defincijt tartalmazza. Module.inc A bootstrap.inc llomnyba van illesztve. A Drupal moduljainak vizsglatt, hasznlatt vgz fggvnyek definciit tartalmazza. Pager.inc A common.inc llomnyba van beillesztve. Olyan fggvnyek definciit tartalmazza, melyek az adatbzis-m veletek eredmnyeit egymssal kapcsolatban ll oldalak csoportjaknt jelentik meg (6. bra).
Egymsra mutat tblk

6. bra

Session.inc A bootstrap.inc llomnyba van beillesztve. A felhasznli munkamenetek (session) kezelst vgz fggvnyek definciinak gy jtemnye. Tablesort.inc A common.inc llomnyba van beillesztve. Olyan fggvnyek definciit tartalmazza, melyek segtik, hogy a felhasznl a megjelentett tblzatokat klnbz oszlopok szerint rendezhesse sorba (7. bra). Ehhez csak a tblzat cmsorban a megfelel helyre kell kattintani az egrrel.

- 12 -

Szab Blint
Rendezett tblzat

A Drupal CMS rendszer felptse 7. bra

Theme.inc A common.inc llomnyba van beillesztve. A sminkek (theme), ezen

keresztl a Drupal megjelensnek, kperny kimenetnek a kezelst vgz fggvnyek definciit tartalmazza. Xmlrpc.inc, xmlrpcs.inc Az RPC protokoll tvoli kiszolglkon tallhat fggvnyek meghvst teszi lehet v. [3] Ennek egy fajtja az XML-RPC, melyet a Drupal is hasznl. Az xmlrpc.inc llomny az xml-rpc krsekhez, az xmlrpcs.inc a krsek kiszolglshoz szksges fggvnyeket tartalmazza.

4.1.4. Misc
Kpek s stluslap llomnyok tallhatk ebben a knyvtrban. Ezek a Drupal alaprtelmezett fellbrlni. megjelenshez szksgesek. A sminkekkel ezeket tudjuk

4.1.5. Modules
A Drupal rendszer modulris felpts . Minden funkcit egy nll modul lt el, amely ha nem alapfunkci kikapcsolhat vagy bekapcsolhat, gy a

- 13 -

Szab Blint

A Drupal CMS rendszer felptse

rendszer teljesen testreszabhat. Ezeknek a moduloknak a forrsllomnyai tallhatk ebben a knyvtrban. Az egyes modulok funkcijnak lersa a Drupal men

adminisztrci/modulok oldaln megtallhat.

4.1.6. Scripts
Az ebben a knyvtrban tallhat llomnyok mintk Perl script-ek s Linux shellscript-ek rshoz.

4.1.7. Sites/default
Ebben a knyvtrban tallhat a settings.php llomny. Ez a Drupal alaprtelmezett, honlapunkra jellemz belltsokat tartalmaz konfigurcis

llomnya. Ebben az llomnyban adjuk meg az adatbzis szerver URL-jt ($db_url), s lehet sgnk van belltani egy el tagot az adatbzistbla-nevek el ($db_prefix). Meg kell adni a honlapunk kezd lapjnak URL-jt ($base_url). Bizonyos PHP belltsokat is eszkzlhetnk. Lehet sgnk van bizonyos fggvnyek viselkedsnek futsidej segtsgvel. befolysolsra az ini_set() fggvny

4.1.8. Themes
Sminkekkel (theme) a Drupal megjelense teljesen megvltoztathat (8. bra). A sminkek knyvtrai ebben a knyvtrban tallhatk. A sminkek tbb llomnybl llnak. Az oldal megjelenst egy vagy tbb stluslap (CSS) hatrozza meg. A sminkek lehetnek nllak, ekkor egy .theme kiterjeszts PHP llomny kezeli a megjelentst. Lehet sgnk van a Drupal Xtemplate sablon kezel je segtsgvel, egy HTML llomnnyal kezelni a kimenetet. Ekkor a fjl kiterjesztse .xtmpl. Ez a sablon a themes/engines/xtemplate/ knyvtrban tallhat, az xtemplate.engine llomny valstja meg a kapcsolatot az xtemplate llomnyok, s a Drupal sminkkezel rendszere (theme system) kztt.

- 14 -

Szab Blint
Klnbz sminkek

A Drupal CMS rendszer felptse 8. bra

4.2. A Drupal adatbzis szerkezete


A Drupal 4.6.3. rendszer adatbzisa 55 adatbzis tblbl ll. Ezek kzl nhny fontosabbat az albbiakban rszletesebben is ismertetek.

4.2.1. Blocks
A Drupal bizonyos funkcii kln blokkban jelennek meg a felhasznli felleten. Ebben a tblban ezeknek a blokkoknak a tulajdonsgai troldnak. Pldul a blokk sttusza (engedlyezett-e?), a slya, mely alapjn sorba rendezi a rendszer a megjelentett blokkokat, s a terlet azonostja, ahol megjelenik az adott blokk az oldalon bell.

- 15 -

Szab Blint

A Drupal CMS rendszer felptse

4.2.2. Cache
A rendszer a megjelentett sszetev ket gyorsttrazza, gy azok

megjelentse kevesebb id t vesz ignybe. Ez a tbla szolgl gyorsttrknt.

4.2.3. Comments
A felhasznlk ltal bekldtt hozzszlsok troldnak ebben a tblban. A hozzszlsok azonostt kapnak (cid), ez lesz az els dleges kulcs. Troldik, hogy melyik tartalomhoz kapcsoldik (nid), ki a szerz je (uid), honnan rkezett (hostname) s mikor (timestamp), valamint az olvasktl kapott pontszmok.

4.2.4. Files
A rendszer ltal kezelt llomnyokrl tartalmaz informcikat. Azonostt rendel hozzjuk (fid), s tartalmazza, hogy melyik tartalomhoz kapcsoldnak (nid), a fjl nevt, elrsi tjt, tpust (filemime) s a mrett.

4.2.5. Node
A bekldtt tartalmakat trolja. A tbla els dleges kulcsa a tartalom azonostja, a nid mez (node id.), melyet tbb tbla is hasznl (pl.: comment, files). Troldik a tartalmak tpusa (oldal vagy rs), a cm, a bekld azonostja (uid), az, hogy engedlyezett-e a megtekintse (status), a ltrehozs s az utols vltoztats dtuma. Ezenkvl engedlyezett-e a hozzszlsok rsa-olvassa (0-minden tiltott, 1-csak olvashat, 2-rhat/olvashat), moderlhat-e, milyen sz r t alkalmaztak r (format: 1-sz rt HTML, 2-PHP kd, 3-teljes HTML), cmlapon megtallhat-e (promote=0/1), valamint a cmlap tetejn van-e (sticky=0/1).A teaser mez ben a bevezet , a body mez ben a hozzszls trzse troldik.

4.2.6. Role
A felhasznli csoportokat tartalmazza, melyekhez azonostt rendel. Alapesetben csak kt rtk van benne, anonymous user (rid=1) s authenticated user (rid=2), de az adminisztrtor b vtheti a listt.

- 16 -

Szab Blint

A Drupal CMS rendszer felptse

4.2.7. Search_index
A rendszer indexeli a tartalmakat a keress meggyorstshoz, ezek az adatok itt troldnak.

4.2.8. System
A rendszer f sszetev inek (modulok s sminkek) elrsi tja s rvid lersa tallhat ebben a tblban. A modulok s a rvid lersok a Drupal adminisztrci/modulok oldaln jelennek meg.

4.2.9. Users
A tbla els dleges kulcsa a felhasznl azonost, az uid mez (user id.), melyre tbb tbla is hivatkozik (comments, node, users_roles). A rendszer felhasznlirl tartalmaz informcikat, pldul a felhasznl jelszavt kdolt formban, az e-mail cmt, a hozzszlsok alatt megjelen alrst, az oldalon hasznlt nyelvet, az alaprtelmezett id znt. Ha a felhasznl tlttt fel magrl kpet, akkor ennek az elrsi tja is megtallhat, valamint a felhasznl ltrehozsnak s adatai utols mdostsnak dtuma id blyeg formban.

4.2.10. Users_roles
A regisztrlt felhasznlkhoz hozzrendel egy csoportazonost szmot (rid) a role tblban meghatrozottak kzl, annak megfelel en, hogy a felhasznl melyik csoportba tartozik.

4.2.11. Variable
A rendszerr l informcit szolgltat vltozk nevt s rtkt tartalmazza. Pldul az utols frissts dtuma (update_start), alaprtelmezett smink

(theme_default), az oldal neve (site_name), az oldal e-mail cme (site_mail), alaprtelmezett id zna (date_default_timezone), stb

4.2.12. Watchdog
A Watchdog a Drupal naplz rendszere, ebbe a tblba rja a rendszerzeneteket. Rgzti az zenet szvegt, tpust, az zenethez tartoz - 17 -

Szab Blint

A Drupal CMS rendszer felptse

felhasznl azonostjt (uid) s a host nevt, az zenet slyossgt, az oldalon belli helyet, ahol az zenet generldott, valamint a ltrejttnek idejt id blyeg formban.

- 18 -

Szab Blint

A Drupal CMS rendszer felptse

5. Fggvnyek feltrkpezse
A Drupal 4.6.3.-as verzija PHP4-ben rdott. Ebben a fejezetben a rendszer m kdshez legszksgesebb fggvnyeket fogom kiemelni. Az alap fggvnyek defincii a 4.1.3. fejezetben trgyalt include llomnyokban tallhatk. Ezeken kvl megemltek nhnyat a fontosabb modulok fggvnyei kzl. Ezek defincii a modules knyvtrban, .module kiterjeszts llomnyokban tallhatk.

5.1. Felhasznlkat kezel fggvnyek


Ezek a fggvnyek a modules/user.module llomnyban vannak definilva. A Drupal regisztrlt felhasznlinak adatait kezelik, a users, roles s users_roles adatbzis tblkkal dolgoznak.

5.1.1. User_load
Paramterknt egy tmbt kap, melyben a felhasznl bizonyos tulajdonsgai vannak. Ezek alapjn megkeresi a felhasznlt az adatbzisban, s onnan az rtkeket a $user objektumba tlti. Ez az objektum a fggvny visszatrsi rtke.

5.1.2. User_save
Paramterknt a $user (a user_load fggvny visszatrsi rtke) objektumot kapja. A felhasznli adatok mdostst vagy ltrehozst vgzi el. A felhasznlt az adatbzis tblban, az objektumban tallhat uid (user id) alapjn keresi meg, ha az nem nulla. Ekkor elvgzi a vltoztatsokat, majd jratlti az adatokat a user_load fggvny meghvsval. Ha az uid nulla, akkor ltrehozza az j felhasznlt, utna hasonlkppen jr el mint az el z ekben. A fggvny visszatrsi rtke a $user objektum.

- 19 -

Szab Blint

A Drupal CMS rendszer felptse

5.2. Tartalmakat kezel fggvnyek


A modules/node.module llomnyban vannak definilva. A node adatbzis tblt kezelik.

5.2.1. Node_load
A tartalmat a paramterknt kapott $conditions tmb alapjn keresi meg, mely a tartalom jellemz it tartalmazza. ltalban csak a nid (node id) tulajdonsg tallhat benne. A tartalom adatait egy $node objektumba tltik be, ez lesz a fggvny visszatrsi rtke.

5.2.2. Node_save
Paramterknt a $node objektumot kapja. Ez alapjn megllaptja, hogy ltezik e mr a tartalom. Ha nem, akkor az aktulis id pontot hozzadja a created s changed mez khz, s az adatbzisba menti a tartalom adatait az objektumbl. Ha ltezik mr a tartalom az adatbzisban, akkor csak a changed mez t rja fell, s frissti az adatbzis tblt az j adatokkal. Visszatrsi rtke a tartalom azonostja, a nid mez rtke.

5.3. Adatbzis kezel fggvnyek


5.3.1. Db_set_active
Aktivl egy adatbzist a ks bbi krsek szmra. Megllaptja az adatbzis tpust, s ez alapjn beilleszti a tpusnak megfelel include llomnyt

(includes/database.$db_type.inc), ha ltezik. Ha nem ltezik, akkor hibazenetet kld. Visszatrsi rtke az aktv adatbzis URL-je.

5.3.2. Db_connect
Ltrehozza a kapcsolatot egy adatbzissal. A fggvny lehet v teszi, hogy ne a szoksos MySQL portot hasznljuk. Paramterknt az adatbzis URL-jt kapja, amit a PHP parse_url fggvnynek segtsgvel egy tmbb alakt. Ha az URL-ben portszm is meg volt adva, azt szvegknt, egy kett sponttal elvlasztva hozzf zi az - 20 -

Szab Blint

A Drupal CMS rendszer felptse

URL-hez. Ezutn ltrehozza a kapcsolatot a MySQL szerverrel (mysql_connect), s kivlasztja az adatbzist (mysql_select_db). A visszatrsi rtke, a mysql_connect ltal visszaadott kapcsolatazonost.

5.4. Megjelentst kezel fggvnyek


A Drupal kperny kimenett a sminkrendszer hatrozza meg. Minden megjelentsre kerl rszletet a sminknek megfelel en alakt t. A fggvnyek

defincii az includes/theme.inc llomnyban tallhatk.

5.4.1. Init_theme
Ez a fggvny inicializlja a sminkrendszert. Paramtere nincs. Megvizsglja, hogy a kivlasztott smink rajta van-e az engedlyezett sminkek listjn. Ha nincs, akkor az alaprtelmezett Bluemarine sminket lltja be. Ha a kivlasztott smink egy nll smink, akkor beilleszti, ha pedig PHP- vagy Xtemplate smink, akkor a template motort illeszti be. Megkeresi a sminkhez hasznlt stluslapot, s azt is betlti. Visszatrsi rtke az aktulis smink neve.

5.4.2. Theme
Ez a fggvny vgzi a Drupal megjelentend sszetev inek talaktst a sminknek megfelel en. Paramtere nincs. Ha mg nincs inicializlva a smink, akkor meghvja az init_theme fggvnyt. Ezutn, ha a smink egy nll smink, akkor annak a fggvnyeit, ha valamelyik templete-et hasznlja, akkor a template motor fggvnyeit, ha pedig egyik sem, akkor a Drupal fggvnyeit hvja meg. Visszatrsi rtke a meghvott fggvnyek ltal generlt HTML kd.

- 21 -

Szab Blint

A Drupal CMS rendszer felptse

6. j smink ksztse
A Drupal fellett egy sminkkel teljesen megvltoztathatjuk. Smink rsra tbbfle lehet sgnk is van. rhatunk teljesen nll sminket, ekkor egy PHP llomnyt kell ksztennk .theme kiterjesztssel. Hasznlhatjuk azonban a Drupal valamelyik template motorjt is. Ebben a dolgozatban a legegyszer bb mdszerre nznk egy pldt, XTemplate segtsgvel hozunk ltre egy j sminket. Ehhez csak a HTML/XHTML nyelvet kell ismerni. Els lpsknt ltre kell hoznunk egy alknyvtrat a themes knyvtrban. Ennek a knyvtrnak a neve lesz az j smink neve, ez fog megjelenni a Drupal adminisztrcis felletn. Ebben a knyvtrban ktelez en csak egy llomnyt kell elhelyezni, egy xtemplate.xtmpl nev , HTML/XHTML llomnyt. Ezeknek a nyelveknek az elemeit hasznlja, illetve nhny specilis XTemplate tag is tallhat benne. Ezenkvl opcionlisan elhelyezhetnk mg a knyvtrban stluslapokat, kp vagy JavaScript llomnyokat. Ha stluslapot is elhelyeznk a knyvtrban, annak a neve legyen style.css, ekkor a Drupal automatikusan alkalmazni fogja, s nem kell neknk beillesztennk az XTemplate llomnyunkba. Ha a sminknk knyvtrn bell ltrehozunk egy jabb knyvtrat, s ebben is elhelyeznk egy style.css nev llomnyt, akkor az alknyvtr nevvel egy jabb sminket kapunk. Ez ugyanazt az XTemplate llomnyt fogja hasznlni, mint az el z , csak az j stluslappal. Az XTemplate llomnyokban kt klnleges elemmel b vlnek a

HTML/XHTML elemek. Az egyik a terletet jelli ki, ahol a megadott sszetev meg fog jelenni. Ezek kztt fognak elhelyezkedni az adott elemhez tartoz HTML elemek. Pl.: <!-- BEGIN: title --> <!-- END: title --> A msik az adott sszetev konkrt helyt jelli a HTML elemeken bell. Ezeknek a formja: Pl.: {title}

Ezeknek megfelel en a teljes szakasz gy jelenik meg: - 22 -

Szab Blint

A Drupal CMS rendszer felptse

<!-- BEGIN: title --> . . <h1 class="title">{title}</h1> . . <!-- END: title --> A kipontozott terletre egyb HTML elemek kerlhetnek, vagy ms sszetev k ehhez hasonl keretben, mivel ezek egymsba gyazhatk. Pl.: <!-- BEGIN: node --> <!-- BEGIN: title --> <!-- END: title --> <!-- END: node -->

Legegyszer bben gy kszthetnk sajt sminket, ha egy mr ltez

sminket

vesznk alapul, s azt kezdjk mdostgatni. n a Drupal 4.6.3-as verzijban is megtallhat Pushbutton nev sminket vlasztottam ki talaktsra.

- 23 -

Szab Blint

A Drupal CMS rendszer felptse

7. sszefoglals
Szakdolgozatom clja az volt, hogy ltalnos kpet adjon a tartalomkezel rendszerekr l azoknak, akik weblapksztsi, webprogramozi ismeretekkel rendelkeznek, de a CMS-ek tmjban jratlanok. Ehhez a Drupal j eszkznek bizonyult, megfelel azoknak az elvrsoknak, melyeket egy tartalomkezel vel szemben tmaszthatunk. Hasznlata egyszer en tanulhat, felptse logikus. gy gondolom, hogy sikerlt egy olyan dolgozatot rnom, amely megfelel segtsg lehet a tartalomkezel rendszerekkel s a Drupallal ismerked k szmra. A dolgozat rsa kzben magam is sok j ismerettel gazdagodtam. Els sorban a Drupalrl s a tartalomkezel kr l tanultam sokat, de a fggvnyek vizsglata s a smink rsa ltal a PHP, HTML s CSS nyelvek tern is szereztem tapasztalatokat.

- 24 -

Szab Blint

A Drupal CMS rendszer felptse

8. Irodalomjegyzk
[1]. OpenSourceCMS http://opensourcecms.com/index.php?option=com_reporter&queryId=32&menu Group=OSCMS [2]. Lehet sgek, szolgltatsok | drupal.hu http://drupal.hu/kezikonyv/lehetosegek [3]. Egyttm kds tvoli szolgltatsokkal | Weblabor http://weblabor.hu/cikkek/xmlrpc [4]. http://cms.lap.hu [5]. Tartalomkezel rendszerek, tartalom menedzsment http://www.fixaidea.hu/tartalomkezelo_rendszerek_cms_tartalom_menedzsment [6]. Netrix CMS http://www.netrix.hu/cms/ [7]. Netrix CMS http://www.netrix.hu/cms/cms_reszletesen.php [8]. ACT International - DirACTor 2.0 tartalomkezel rendszer (CMS) http://www.act-int.hu/megoldasaink/interaktiv/cms.php [9]. Content management system - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Content_Management_System [10]. drupal.org | Community plumbing http://drupal.org [11]. drupal.hu | A Drupal tartalomkezel magyar honlapja http://drupal.hu [12]. functions | drupaldocs.org http://drupaldocs.org/api/4.6/function [13]. Blake Schwendiman PHP 4 Referenciaknyv - 2. ktet

Panem Kiad, Budapest 2002

- 25 -

Szab Blint

A Drupal CMS rendszer felptse

[14]. Theme developer's guide http://drupal.org/book/export/html/509 [15]. Rimr Mikls - Honlapok formzsi lehet sgeinek b vtse a CSS nyelv segtsgvel Szakdolgozat

Szegedi Tudomnyegyetem Blcsszettudomnyi Kar - Szeged [16]. [ H T M L i n f o v2.0 ] - online agytp webmestereknek s m kedvel knek http://htmlinfo.polyhistor.hu/html_ref/main.htm

- 26 -

Anda mungkin juga menyukai