Drupal

**Drupal** – nemokamas, atviro kodo modulinis karkasas bei turinio valdymo sistema (TVS), parašyta PHP programavimo kalba. *Drupal* naudojamas labai skirtingoms svetainėms, nuo mažų asmeninių blogų iki didelių įmonių ir politinių svetainių.

Standartinis *Drupal* leidimas, žinomas kaip *„Drupal* branduolys“, turi pagrindines funkcijas kaip ir dauguma TVSų. Tai apima registraciją, paremtą individualiomis vartotojų sąskaitomis, administravimo meniu, RSS kanalus, pritaikomą išdėstymą, lanksčią vartotojų privilegijų sistemą, tinklaraščio sistemą, internetinį forumą ir galimybę sukurti klasikinę verslo svetainę ar interaktyvų bendruomenės puslapį.

*Drupal* taip pat buvo sukurtas tam, kad būtų galima pridėti naujų galimybių, o nestandartinis *Drupal* elgesys turi būti pridedamas trečių šalių. Dėl šios priežasties *Drupal* kartais apibūdinamas kaip „turinio valdymo karkasas“ (ang. *Content Management Framework*). Nors *Drupal* siūlo sudėtingą (patyrusiems programuotojams) programavimo sąsają kūrėjams. Jokių programavimo įgūdžių nereikalaujama pagrindiniam *Drupal* įdiegimui ir administravimui.

*Drupal* galite paleisti bet kuriame kompiuteryje kuris palaiko:

* Interneto serverį, kuriame gali veikti PHP (su versija 4.3.5+), įskaitant Apache, IIS, Lighttpd ir nginx.
* duomenų bazę tokią kaip: MySQL arba PostgreSQL, tam, kad išsaugotų turinį ir nustatymus.

## Istorija
Pradžioje sukurtas *[[Dries Buytaert]]* kaip internetinis forumas, *Drupal* 2001 m. tapo atviro kodo projektas. *Drupal* yra suanglintas olandų žodis „“, kuris reiškia „lašas“ (kaip „vandens lašas“). Šis pavadinimas buvo paimtas iš jau išnykusios Drop.org svetainės, kurios kodas pamažu vystėsi į *Drupal*. *Buytaert* norėjo pavadinti svetainę „dorp“ (olandiškai „kaimas“, remdamasis šios bendruomenės aspektu), bet padarė gramatinę klaidą tikrinant subdomeno vardą ir pamanė, kad jis geriau skamba.

Didelė bendruomenė dabar padeda plėtoti Drupal, ir Drupal populiarumas sparčiai auga. Nuo 2007 m. gegužės iki 2008 m. balandžio *Drupal* buvo atsisiųstas iš Drupal.org svetainės daugiau nei 1,4 mln. kartų, t. y., maždaug 125 % daugiau negu ankstesniais metais.

2009 m. balandį daugiau negu 70 gerai žinomų prekės ženklų (angl. brand) ir nepelno siekiančių organizacijų naudojo *Drupal*. *Drupal* yra keletą kartų pripažinta kaip geriausia Atviro Kodo TVS (Packt Open Source CMS) ir tris kartus iš (eilės) laimėjo Webware 100.

**Drupal 6.19** yra naujausia versija išleista 2010 m. rugpjūtį. 2009 m. kovo mėnesį Dries Buytaert paskelbė, kad **Drupal 7** „kodo užšaldymas (code freeze)“ bus 2009 m. rugsėjo 1 d. Naujausia testinė versija, DRUPAL-7-0-ALPHA-5, buvo išleista 2010 m. gegužės 23 d. Kol kas nėra paskelbta Drupal 7 galutinio išleidimo data.

## ''Drupal'' branduolys

*Drupal* branduolys yra „rankinis“ *Drupal* įdiegimas, kuris gali būti pasirinktinai išplėstas trečiųjų šalių. Numatytoje *Drupal* konfigūracijoje svetainės turinys gali būti įdėtas abiejų ir registruotų vartotojų ir anonimų (svetainės administratoriaus nuožiūra) ir prieinama svetainės lankytojams įvairiais pasirinkimo kriterijais, pagal datą, kategoriją, paiešką ir t. t. *Drupal* branduolys taip pat įtraukia hierarchinę taxonomy sistemą, kuri leidžia turinį kategorizuoti arba „pažymėti“ (*tag*) su raktiniais žodžiais, tam, kad vėliau lengviau jį pasiekti.

*Drupal* pateikia išsamų branduolio galimybių pakeitimų sąrašą pagal versiją.

### Branduolio moduliai
*Drupal* branduolys apima „branduolio modulius“, kurie gali būti įjungti administratoriaus tam, kad išplėsti svetainės pagrindo funkcionalumą.

*Drupal* branduolio paskirstymas pateikia daug funkcijų, įskaitant:

* Prieigos () statistiką ir įvykių registravimą (ang. *logging*)
* Išplėstinės paieškos funkciją
* Kešavimą () ir sulėtinimo () galimybę tam, kad pagerinti našumą esant didelėms apkrovoms
* Komentarus, forumus ir apklausą
* Aprašomąsias nuorodas (pvz.: „www.pavyzdys.lt/produktai“ vietoj „www.pavyzdys.lt/?q=node/432“)
* Daugialygę () meniu sistemą
* Daug svetainių () palaikymas
* Daug vartotojų () turinio kūrimas ir redagavimas
* OpenID palaikymas
* RSS kanalai () ir kanalų sujungimą ()
* Apsaugą/naujai išleistų atnaujinimų pranešimus
* Vartotojų sąskaitas (profilius)
* Įvairius priėjimo kontroliavimo apribojimus (vartotojo vaidmuo (), IP adresus, el. pašto adresą)
* Darbo įrankius (paleidiklius ir veiksmus ())

### Branduolio temos

*Drupal* branduolys įtraukia keletą „branduolio temų“ kuriems galima pritaikyti savo norimą svetainės estetinį jausmą. Šios temos gali būti pasirinktos administratorių per specialų meniu.

Spalvų modulis įvestas nuo *Drupal 5.0* branduolio tam, kad leisti administratoriams pakeisti tam tiktų pagrindinių temų spalvų schemą per Interneto naršyklės sąsają. Ši galimybė buvo pridėta tam, kad leisti didesnį pasirinkimą vidutiniam vartotojui.

### Vertimai
2008 m. vasarį *Drupal* sąsaja buvo prieinama 44 kalbomis ir plius English (pagal numatymą). Kai kurie skaito iš dešinės į kairę, pavyzdžiui: arabų, persų, hebrajų kalbos. *Drupal 6* pateikia pagerintą turinio ir turinio administravimo skirtingose kalbose palaikymą.

### Automatinio-atnaujinimo pranešimas

*Drupal* gali automatiškai pranešti administratoriui, kai pasirodo nauja versija bet kokio modulio, temos ar paties *Drupal* branduolio. Ši galimybė gali padėti išlaikyti įdiegtą *Drupal* kaip naujausią su naujausiomis galimybėmis ir saugumo pataisymais.

Automatinio atnaujinimo modulis yra identiškas savo funkcionalumu senesnėje 5.x versijoje, bet jis nebuvo įtrauktas į *Drupal* branduolio paketą.

## Išplečiamas Drupal branduolys
*Drupal* branduolys suprogramuotas taip, kad būtų modulinis su sistema „*hooks*“ ir „*callbacks*“ kurie prieinami per API. Ši konstrukcija leidžia trečiųjų šalių modulius ir temas tam, kad išplėsti arba perrašyti *Drupal* numatytuosius nustatymus nekeičiant *Drupal* branduolio kodo.

*Drupal* modulinė konstrukcija, kuri izoliuoja *Drupal* branduolio failus nuo papildomo modulio arba temos, o tai padidina lankstumą, saugumą ir leidžia *Drupal* administratoriams tvarkingai atnaujinti į naujausią versiją neperrašant svetainės nustatymų. Siekiant išlaikyti šį atskyrimą, *Drupal* administratoriai yra išmokyti vengti keisti *Drupal* branduolį.

### Pagalbiniai moduliai
Pagalbiniai *Drupal* moduliai siūlo įvairias funkcijas, įskaitant paveiksliukų galerijas, nestandartinio turinio tipų ir turinio sąrašų, WYSIWYG redaktorius, privačias žinutes, 3 šalių integracijos įrankius ir kita. *Drupal* svetainėje yra 2332 nemokamų modulių (2008 m. birželio 1 d.), sukurtų *Drupal* bendruomenės.

Du moduliai yra ypač svarbūs tipiniams *Drupal* įdiegimams:

* **Turinio statybos įrankis** () (CCK) leidžia svetainės administratoriui dinamiškai sukurti turinio tipus. Turinio tipas apibūdina bet kokios rūšies informaciją kuri turi būti saugoma svetainės duomenų bazėje. Tai gali būti pvz.: įvykiai, kvietimai, straipsniai, produktai ir kt.
    
* **Peržiūra** () palengvina paiešką ir turinio atvaizdavimą svetainės lankytojams.

CCK API buvo integruotas į *Drupal* kaip branduolio modelis į dar neišleistą *Drupal 7*, ir Peržiūra () (be jo vartotojo sąsajos) bus tam tikru momentu ateityje.

### Pagalbinės temos
Pagalbinės temos leidžia adaptuoti arba pakeisti numatytąjį *Drupal* svetainės apipavidalinimą.

*Drupal* temos naudoja standartizuotus formatus, kurie gali būti sukurtos trečių šalių dizainerių. Daugelis *Drupal* temų yra užrašytos pasinaudojant PHPTemplate varikliuku arba kiek mažiau su XTemplate varikliu. Keletas šablonų naudoja sunkiai suprantamą () PHP.

Nors pradinės *Drupal* temų sistema buvo sukritikuota, kad yra mažiau orientuota į dizainą ir labiau komplikuota negu Mambo, Joomla ir Plone, įtraukimas PHPTemplate ir XTemplate variklių į *Drupal* išsprendė kai kurias problemas. Naujojo *Drupal 6* dizaino temų sistema naudoja šablonų varikliuką tam, kad atskirti HTML/CSS nuo PHP. Naujasis *Drupal* plėtros modulis siūlo pagalbą temų dizainų autoriams, kurie naudojasi *Drupal 6*.

*Drupal* bendruomenės sukurtos temos Drupal svetainįje yra išleistos pagal GPL licenziją (nemokamai), ir daugelis jų demonstruojami „Drupal Theme Garden“.

## Kritika

* **Naudojimas** (): kai kurie *Drupal* administravimo sąsaja aspektai gali būti klaidinantys ir bauginantys, ypač naujiems administratoriams. Atsižvelgiant į dizainą sąveiką ir informacijos architektūros programą Baltimorės universiteto, *Drupal* trūksta intuityvumo, lengvos administracijos sąsajos. Administracijos vieta laikoma paslaptinga *Drupal 5* ir 6 versijų, tačiau lengvo naudojimo pagerinimas yra planuojamas su 7 versija. Pagal Dries Buytaert, *Drupal 7* nebus išleistos tol, kol nebus išspręsta 90 % problemų kurias identifikavo Minesotos  ir Baltimorės universiteto. Naudojimas bus vienas iš pagrindinių *Drupal 7* pagerinimų tam, kad sumažinti atotrūkį tarp kitų lengvesnių TVS.

* **Mokymasis:** *Drupal* yra galingas, bet kartu jis ir sudėtingas. Svarbiausia yra nugalėti sunkų pradinį mokymosi kursą. Daugelis nerūpestingų vartotojų viliasi paaukoti galimybes lengvo naudojimo padarant *Drupal* mažiau populiarų suprantamesnį TVS nepaisant didelio funkcionalumo.

## Saugumas
2008 m. 11 saugumo pažeidimų buvo pranešta ir ištaisyta *Drupal* branduolyje. Saugumo skylės taip pat buvo rastos ir ištaisytos 64-iuose iš 2243 vartotojų sukurtų modulių.

Kai saugumo skylės atrandamos, *Drupal* branduolys reguliariai atnaujinimas į naują versiją. *Drupal* svetainių administratoriai automatiškai pranešami apie naują versiją per „Atnaujinimų statuso“ () modulį. Be to, Drupal.org skelbia saugumo pranešimus per el. paštų konferencijas „mailing list“, visą saugumo rekomendacijų istoriją, saugumo vadovą, saugumo komandos pagrindinį puslapį, ir RSS srautą su naujausiais saugumo patarimais.

## Distribucijos
Individualius *Drupal* paskirstymus apima kai kurie trečių šalių moduliai, kai kurie pakeitimai branduolyje, įskaitant vbDrupal, kuris yra *Drupal* integracija su *[[vBulletin]]*.

*Drupal 4.2*  buvo naudojamas DeanSpace, kurie rėmė talpinimu daug nepriklausomų svetainių palaikančių 2004 m. JAV prezidento kampaniją Howard Dean. Po Dean kampanijos pabaigos, DeanSpace projektas išaugo į CivicSpace, *Drupal* paremtą „liaudies organizuojamą platformą kuri apjungia kolektyvinius veiksmus viduje bendruomenių ir rišlumą jungia nuotolinės mėgėjų grupės.“

### Acquia
2007 m. *Drupal* orientuota bendrovė Acquia buvo sukurta *Drupal* projekto lyderių Dries Buytaert ir Jay Batson. Acquia paskelbė prenumerata pagrįstą paslaugą Drupal’ui Drupalcon Bostone 2008 m. ir pradėjo paslaugas su Acquia Drupal, distribucija paremta *Drupal 6*, 2008 m. rugsėjį. Prenumerata apimą vieną ir daugiau *Drupal* distribucijų, nustatyti laimėtoją tinklo tiekiamose pridėtinės vertės paslaugos ir prieigą prie techninės pagalbos centro.

## Bendruomenė
*Drupal* turi didelę bendruomenę vartotojų ir programuotojų. Daugiau negu 500 000 registruotų narių yra Drupal.org ir virš 2000 žmonių užsiregistravo kaip programuotojai.
Paskutinė pagrindinė konferencija JAV „Drupalcon Washington DC 2009“ pritraukė daugiau nei 1400 žmonių. Paskutinė Europos konferencija *Drupalcon [[Szeged]] 2008*, kuri vyko 2008 metų rugpjūčio pabaigoje ir ją aplankė 500 žmonių.

Yra daug aktyvių *Drupal* forumų, el. pašto konferencijų (angl. mailing lists), ir diskusijų grupių. Drupal taip pat palaiko keletą IRC kanalų Freenode tinkle.

Drupal.org yra daugiau nei 20 nacionalinių bendruomenių kurios vartoja savo kalbą.

## Išnašos