Drupal

Drupal on WWW-pohjainen ohjelmistokehys, CMF-järjestelmä, sisällönhallintajärjestelmä ja blogijärjestelmä. Ohjelmisto on kirjoitettu PHP-ohjelmointikielellä ja toimii erilaisissa tietokantaympäristöissä, kuten MySQL:ssä.
Drupalin perusosa on nimeltään "Drupal core", joka sisältää ohjelmiston perusominaisuudet, tavallisten sivujen ja blogien luomiseen tarvittavat osat. Drupalia voidaan laajentaa hyvin modulaarisesti; Drupaliin on saatavana yli 22 000 (heinäkuu 2013) "contrib modules" eli yhteisön toteuttamaa -lisäosaa. Näitä laajennoksia on esimerkiksi monisivustoratkaisuja, WWW-kauppapaikkoja, kuvagallerioita, työnhallintaa, projektinhallintaa ja postituslistojen hallintaa varten. Lisäosilla voidaan myös parantaa Drupalin admin käyttöliittymää tai coren toiminnallisuuksia kuten metatietojen hallinta, kenttämääritykset jne.
Drupalin kehitystä varten on olemassa myös hyvin dokumentoitu API josta kehittäjä saa täekrän tiedon räätälöityjen moduulien kehitystä varten.
Historia.
Alun perin Drupalin loi Dries Buytaert foorumijärjestelmäksi. Nimi "Drupal" tulee hollannin kielen sanasta "druppel" eli pisara. Alun pitäen Buytaertin foorumi sijaitsi WWW-palvelimella drop.org ("drop" on suomeksi "pisara"), jonka nimi taas tuli vahingossa väärin kirjoitetusta hollannin sanasta "dorp" eli kylä - Buytaert päätti, että Drop kuulostaa paremmalta.
Drupalista on kehittynyt myös toinen ohjelma, CivicSpace, joka sai alkunsa nimellä DeanSpace Howard Deanin vuoden 2004 Yhdysvaltain presidentinvaalien kampanjan käyttöä varten.
Drupalia käytetään paljon paitsi julkisissa WWW-sivustoissa, myös intraneteissä.
Toimintaperiaate.
Toisin kuin monet muut sisällönhallintajärjestelmät, Drupalia ei ole rakennettu tietyn sisällönhallintaidean ympärille, vaan sisäisesti Drupal käsittelee kaikkea tietoa "solmuina" () joilla on tiettyjä attribuutteja, kuten otsikko ja sisältö. Yhtenä Drupalin vahvana piirteenä on se, että kaikki sisältökohdetta koskevat tiedonmuruset – myös ne, jotka eivät näy varsinaisen kohteen sivulla normaalisti – voidaan kirjata yhteen paikkaan, ja kaikki mahdolliset hakemistosivut voidaan luoda täysin automaattisesti.
Sivuston ylläpitäjä voi määritellä uusia sisältötyyppejä (esimerkiksi verkkokaupassa "tuotesivu" ja blogissa "blogiartikkeli") joilla voi olla erityisiä attribuutteja (esimerkiksi tuotesivulla "hinta" ja "valmistaja"). Näille sisältötyypeille voidaan määritellä erikseen miten ne näytetään eri tilanteissa, kuten normaalina verkkosivuna, tulostettavassa muodossa tai hakutulossivulla. Suositut modulit kuten "views" ja "ds" (Display Suite) laajentavat näitä mahdollisuuksia entisestään. Display Suite helpottaa eri ulkoasujen luonnissa, ja Views mahdollistaa uusien tietokantapohjaisten näkymien luonnin: solmujen hakemisen tietokannasta eri hakuehdoin (SQL-tuntemusta ei tarvita) ja niiden tietokenttien esittämisen eri tavalla, kuten listoina tai taulukoina. Näkymät voivat pohjautua myös käyttäjän antamiin tietoihin, esimerkiksi hakutermeihin. Moduli "panels" mahdollistaa sivujen rakentamisen osissa niin, että sisältölohkot voidaan hakea eri solmuista tai näkymistä; useimmiten tämä on hyödyllistä saapumissivuilla, kuten sivuston etusivulla, joissa usein pitää näyttää erilaista tietoa eri lähteistä.
Tietoja voidaan organisoida eri tavoin. Drupalissa on sisäänrakennettuna valikko-ominaisuuksia. Lisäksi sivut voidaan luokitella käyttäjän määrittelemien taksonomioiden mukaan: esimerkiksi verkkokaupassa voidaan luoda uudet taksonomiat "tuotetyyppi" ja "valmistaja", ja näihin taksonomioihin luetellaan mahdolliset eri tyypit ja valmistajat joko listana tai hierarkkisemmin. Tuotesivu-tietotyyppiin voidaan lisätä uusiksi kentiksi vastaavat taksonomiaviitteet. Kun tieto on tuotesivuilla, käyttäjä voi tämän jälkeen selata taksonomiahierarkiaa, eli esimerkiksi selata verkkokaupan tuotevalikoimaa tuotteiden tyyppien mukaan. Näitäkin ulkoasuja voi muokata esimerkiksi Viewsin avulla.
Drupalin etuja.
Drupalin etuja ovat muun muassa