[[understanding-drupal]]

=== Alapfogalom: a Drupal tartalomkezelő

[role="summary"]
A Drupal, valamint pár érv áttekintése, hogy miért tartják sokan megbízható tartalomkezelő rendszernek.

(((CMS (tartalomkezelő rendszer),áttekintés)))
(((Tartalomkezelő rendszer (CMS),áttekintés)))
(((Drupal tartalomkezelő rendszer,áttekintés)))
(((Drupal tartalomkezelő rendszer,szerverkövetelmények)))
(((Drupal alaprendszer,áttekintés)))
(((Drupal.org webhely,modulok és sminkek letöltése és telepítése innen)))

//==== Szükséges előismeretek

==== Mit nevezünk tartalomkezelő rendszernek?

Tulajdonképpen minden olyan szoftveres eszközt, aminek a segítségével a felhasználók tartalmakat hozhatnak létre, szerkeszthetnek, tehetnek közzé vagy törölhetnek egy webhelyről, pusztán egy asztali vagy mobilos webböngésző használatával, tartalomkezelő rendszernek (angolul Content Management System) nevezhetünk. Ezek a CMS-ek leggyakrabban valamilyen szkriptnyelven íródnak, majd egy olyan számítógépen futtatják őket, amin egy webszerver is fut a háttérben, valamint egy adatbázisprogram is elérhető. Ez utóbbira azért van szükség, mert a webhely valamennyi tartalma és beállítása általában ebben van tárolva, hogy kérés esetén gyorsan elő lehessen őket hívni. Ilyenkor a webszerver fogadja a bejövő kérést, és továbbítja a CMS-nek, aminek a szkriptjei értelmezik azt, és megkezdik a feldolgozását. Kikérik a szükséges információkat az adatbázisból, és azt az előre meghatározott építőelemek (pl. oldalsablonok, CSS- és JavaScript-fájlok, képek stb.) felhasználásával egy kész weboldallá „csomagolják” össze, amit válaszként visszaadnak a webszervernek, ez pedig továbbítja a kérést küldőnek.

Az ebben a folyamatban részt vevő szoftvereket egymásra épülő szintenként is elképzelhetjük: legalul van az operációs rendszer (leggyakrabban Linux), ezen fut a webszerver (szintén gyakori az Apache), mellette az adatbázis-kiszolgáló (például MySQL), legfelül pedig a szkriptnyelv értelmezője, a PHP. Ezek kezdőbetűit összeolvasva kapjuk a sok helyen említett _LAMP_ mozaikszót, amivel ezt a szoftverkombinációt (angolul _stack_-et, azaz „rakást”) szokták jelölni.

==== Mi a Drupal?

A Drupal egy rugalmas, sok különböző fajta webhely megvalósítására alkalmas tartalomkezelő rendszer, ami egy ilyen LAMP-stacken futtatható. Legnagyobb erőssége a csereszavatos elemekből (ún. _modulokból_) való felépítése, aminek köszönhetően a webhely teljes funkcionalitása könnyen testreszabható a felhasználói felületen keresztül, a forráskód ismerete nélkül is. A webhely funkcióinak kialakításához hasonlóan egyszerű a látványvilágának beállítása is a kompatibilis _sminkek_ révén. A kiinduló csomag a Drupal magját képező PHP-szkripteket tartalmazza csak, ezért _alaprendszernek_ is nevezzük magyarul. Ez önmagában még csak a működéshez leginkább szükséges funkciókat tartalmazza, és a https://www.drupal.org[_Drupal.org_] címen szintén ingyenesen letölthető több ezer modullal és sminkkel igényeink szerint bővíthetjük tovább.

Bár a leggyakoribb eset a LAMP alapokra való telepítés, a Drupal több más rendszerrel is együttműködik:

* Az operációs rendszer lehet Windows vagy MacOS is, nem csak Linux.

* A webszerver lehet Nginx vagy IIS is, nem csak Apache.

* Az adatbázis-kiszolgáló lehet PostgreSQL vagy SQLite is, nem csak MySQL. Tulajdonképpen bármilyen MySQL-kompatibilis rendszer alkalmas, mint például a MariaDB vagy Percona.

A fentieken kívül más operációs rendszerek, webszerverek és adatbázis-kiszolgálók is működhetnek alatta, egyetlen dolog azonban semmiképp sem változtatható meg: mivel a Drupal forráskódja PHP-ben van írva, ezért ennek a szkriptnyelv-értelmezőnek a szerveren mindenképp telepítve kell lennie.

==== Milyen érvek szólnak a Drupal mellett?

Ha egy webhely felépítésére adjuk a fejünket, választhatunk egyet az interneten elérhető számos tartalomkezelő szoftver közül, bérelhetünk egy előre feltelepített szolgáltatást, belevághatunk saját CMS-program megírásába, de akár felépíthetjük leendő webhelyünket CMS rendszer nélkül is. Az alábbiakban felsorolunk pár nyomós érvet arra, hogy a Drupal választása vezethet minket sikerre:

* Egy kicsi, csak egy vagy pár oldalból álló webhely felépítése statikus HTML-ben nem bonyolult, és egyszerűségétől függően viszonylag gyorsan elérhető cél. Ehhez képest rögtön egy CMS-ben elkezdeni felépíteni talán kicsit több időt vehet igénybe az elején, viszont azzal a felbecsülhetetlen előnnyel jár, hogy a későbbiekben sokkal könnyebben alakítható egy online szerkesztőfelületen keresztül. Ehhez jön még hozzá a jobb áttekinthetőség (ami segítség a kevésbé járatos felhasználóknak) és az egységesség, amit egyre több HTML-oldal esetén szinte lehetetlen fenntartani egy idő után. Nem beszélve az olyan bonyolultabb képességek megvalósításáról, amikhez már adatbázis-kapcsolat használatára van szükség.

* Néhány CMS célszoftverként készült: vannak például olyan csomagok és előtelepített szolgáltatások, amiket készítőik kifejezetten egy blog vagy webáruház működtetésére szabtak. A Drupal ellenben mindig a multifunkcionalitásra törekszik. Ha már pontosan tudjuk, hogy milyen kategóriájú webhelyet tervezünk felépíteni, akkor egy célszoftver, bár ígéretesnek tűnhet, magában rejti azt a komoly veszélyt, hogy nagyon hasonló lesz sok versenytársunk webhelyéhez. Ha ezt szeretnénk elkerülni, és valami újszerűt találtunk ki, amit más eddig még nem csinált, akkor összeválogathatjuk a szükséges funkciókat egy bőséges webhelyépítő készletből – ez a Drupal.

* Ha kicsit is értünk a programozáshoz, vonzónak tűnhet belevágni egy saját CMS fejlesztésébe, hiszen így izgalmas, új dolgokat valósíthatunk meg, mivel semmi sem köti a kezünket. Azonban egyedül maradunk, és csak magunkra számíthatunk az olyan funkciók elkészítésében, tesztelésében, kijavításában és biztonsági ellenőrzésében, amit sok ezer ember együttes erővel hosszú évek alatt már elvégzett – lássuk be őszintén – nálunk valószínűleg jobban.

* Néhány tartalomkezelő szoftver licencének az ára megfizethetetlenül magas, amit egy éppen induló webhely mint üzleti vállalkozás nem tud finanszírozni a költségvetéséből. Néhány más rendszernek vannak ugyan ingyenesen kipróbálható, csökkentett képességű változatai, de ezek éppen a továbbfejleszthetőséget áldozzák fel az olcsóság oltárán. Ehelyett létezik a Drupal, amelyet jogi licence mindenki számára hozzáférhetővé, tetszés szerint módosíthatóvá és szabadon terjeszthetővé tesz, tehát senkinek nem kell fizetni a használatáért. Minderről bővebben az <<understanding-project>> témakörnél olvashatunk.

==== Kapcsolódó témák

* <<understanding-modules>>
* <<understanding-themes>>
* <<understanding-distributions>>
* <<understanding-project>>

==== Egyéb források

* https://www.drupal.org/docs/8/understanding-drupal-8/overview[The Drupal overview], azaz a „Drupal áttekintése” a _Drupal.org_-on angol nyelven.

* https://www.drupal.org/about/faq[FAQ], azaz „Gyakran ismételt kérdések” (GyIK) a _Drupal.org_-on angol nyelven.

* https://www.drupal.org/case-studies[Case Studies], azaz „Esettanulmányok” a _Drupal.org_-on angol nyelven.

* https://hu.wikipedia.org/wiki/Tartalomkezel%C5%91_rendszerek[Tartalomkezelő rendszerek] szócikk magyarul a Wikipédián.

* https://en.wikipedia.org/wiki/Modular_design[Modular design], azaz „Moduláris dizájn” szócikk a Wikipédián angol nyelven.

*Közreműködők*

Írta és szerkesztette: https://www.drupal.org/u/kvantomme[Kristof van Tomme] (https://pronovix.com/[Pronovix]), https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon] és https://www.drupal.org/u/michaellenahan[Michael Lenahan] (https://erdfisch.de[erdfisch]). Fordította: https://www.drupal.org/u/balu-ertl[Balu Ertl] (https://www.drupal.org/brainsum[Brainsum])
