Drupalist üldiselt

Drupal on üks nn suurtest veebimootoritest. Drupalis on tehtud näiteks:
http://www.whitehouse.gov/
http://www.economist.com/
http://www.bmj.com/
http://icitizenforum.com/
http://www.911memorial.org/

Drupalit on võimeline üles panema praktiliselt iga korralik veebidega tegeleja. Drupal vajab natuke kettaruumi, Apache'i ja andmebaasi. Kõik need tegevused on Drupali kodulehel piisavalt ammendavalt kirjeldatud.

Miks ma ise eelistan veebilehtede tegemiseks Drupalit?

  1. Sellel on arvestatav community taga. Drupalil on ligi 17000 lisamoodulit, ligi 1500 erinevat kujundust ja ca 19000 registreerunud arendajat. Rõhutaksin, et need 17000 moodlit ei ole mingid totrad mänguasjad, mis võimaldavad näiteks suvalist koerapilti näidata või Amazonist toodet otsida.
  2. Drupal võimaldab suhteliselt väikese vaevaga hallata päris mahukaid ja keerukaid lehti, kui kord stardist minema saab. Blogi näiteks on üks Drupali paljudest võimalustest. Palju olulisem on näiteks kasutajate haldus (erinevad õigustasemed), taxonomy ehk kõikvõimalike märksõnade haldus, mille alusel saab sisu indekseerida ja erineval viisil näidata, views, mis võimaldab genereerida erinevaid vaateid erinevate sündmuste, märksõnade jmt alusel, etc etc.
  3. Ma praktiliselt EI KIRJUTA koodi. st. ma ei roni isegi HTML-i sisse. Sealjuures on mu tegevus korratav, st on just vastupidi blogspotiga -- kui mina midagi teen, jääb sellest jälg maha ja seda saab kes tahes korralik veebitreial taastada või edasi arendada, ma ei kirjuta kuhugi tundmatusse moodulisse unikaalset dokumenteerimata HTML-i, (nagu näiteks blogspotis juba esimese asjana teha tuleb).
  4. Ja ma käin selles kõigest üle ;-)

Drupali põhikontseptsioonid

Drupali põhiühik on nn node, mis kõige lihtsamalt öeldes on terviklik, võrgus näitamiseks valmis lehekülg. Node'il on oma URL (see võib olla süsteemipärane, näiteks antud lehel 'node/17', kuid sellele võib anda ka viisakama nime, nagu on siin saidil 'avaleht', 'visioon', 'qpetus' etc. Node'id võivad olla erinevat (sisu)tüüpi ja need võivad üksteisest väga erineda. Kuigi tavaliselt on kõigil node'idel tiitel ja sisu, ei ole see kohustuslik; node peab vaid midagi näitama, kuid võib teoreetiliselt olla ka tühi. Node'i tüübid (Content types) defineeritakse vastavalt vajadusele. Reeglina on neil tiitel ja nn body, ehk peamine sisuala; nagu antud juhul, on see nn pikk tekst, kuid node võib näidata ka pilti või olla lihtsalt failikonteiner.

Erinevad sisutüübid (Content types) luuakse nn väljade (fields) lisamisega. Uuel, "tühjal" Drupali installatsioonil on kaasas põhilised sisutüübid 'Article' ja 'Basic page'. Viimane koosnebki sisuliselt pealkirjast ja sisust ja esimesel on lisaks vaikimisi sisse lülitatud autori info ja kommenteerimise võimalus. Olen neile mõlemale lisanud välja 'Staatus', mille alusel määratakse, kes lehekülge üldse näevad. Omad sisutüübid võivad lisada ka Drupalile lisatavad moodulid, näiteks Forum ja Blog.

Drupali funktsionaalne pool koosneb moodulitest (modules). Moodulid jagunevad kaheks - nn Core modules (tuummoodulid) ja lisamoodulid. Tuummoodulid tulevad põhiinstallatsiooniga kaasa kuid ka nendest pole vaikimisi sisse lülitatud rohkem kui hädapärast vaja. Lisamoodulid tuleb enne aktiveerimist installida. Iga moodul teeb mingit konkreetsest asja, näiteks lisaks mainitud foorumite ja blogiga mässamise moodulitele on eraldi moodulid sisu indekseerimiseks, erinevate lehekügede automaatseks koostamiseks etteantud parameetrite järgi, meedia korrastamiseks ja näitamiseks ning lisaks sellistele suurtele ja tõsistele ka, ütleme, facebookiga ühendamise vidin.

Drupali väljanägemist määravad nn teemad (themes). Antud saidi teema on (natuke kohandatud) Zeropoint. Teema määrab üldise balansi ja tagab, et kõik, mida saidil näidatakse, ka ühtmoodi kena välja näeks.

Kpkkuvõtlikult võibki öelda, et Drupali süsteemis näitab moodulite funktsionaalsus node'ide sisu läbi teemade raami ja kujunduse. Ehk teisiti öeldes on Drupalis 1) erinevat tüüpi node'idesse jagatud sisu, 2) struktuur, milles see kõik asub (blokid, menüüd, taxonomy, tags etc), 3) teemade juhitud väljanägemine, 4) kasutajate haldus, 5) moodulite tagatav funktsionaalsus ja 6) üldjuhtimine (kõikvõimalikud seaded, raportid, keele- ja abifailid etc etc).

Drupali eelised tulevad välja niipea, kui sait hakkab natukegi suuremaks minema ja sellele tekib taha arvestatav hulk kasutajaid. Drupal on tunduvalt jäigem süsteem kui Joomla või Worldpress, kuid selle sisemine korrastatus ja reeglistik võimaldab sel taluda üsna suurt koormust.