Drupal CMS

Drupal content management system eli Drupal CMS:ää kehittää yhteisö, johon kuuluu enemmän kuin miljoona kehittäjää ja tuhansia yrityksiä ympäri maailman. Se on ohjelmistoalusta kuten Wordpress, jotka monet tuntevat paremmin, koska sitä käytetään tällä hetkellä enemmän rakennettaessa verkkosivuja tai blogeja. Drupal on itseasissa enemmän kuten Microsoftin Sharepoint tai Adoben Experience Manager, koska sitä käytetään enemmän toteutettaessa monimutkaisempia projekteja.

Miksi ja mitä minun pitäisi Drupalista tietää?

Ratkaiseva ero jo mainittuihin suljetun koodin kaupallisiin tuotteisiin on se, että Drupal CMS on avointa lähdekoodia (lisenssi on "GPLv2 tai uudempi"). Asiakkaana, yksilönä tai yrityksen edustajana voit yksinkertaisesti ladata Drupalin ja käyttää sitä - tai tehdä koodilla mitä haluat.

Tämän vuoksi etuina kaupallisiin tuotteisiin verrattuina ovat muun muassa kustannukset. Ei lisenssimaksuja tai kallista ohjelmistokehitystä, jota ainoastaan koodin omistama yritys voi tehdä. Toiseksi turvallisuus on tärkeä etu - koodi on avointa, jolloin se katselmoidaan kaikkien siitä kiinnostuneiden toimesta mukaan lukien turvallisuusneuvoston. Kolmanneksi Drupalin kanssa ei synny toimittajariippuvuutta eli vendor lock-in -tilannetta, joka tarkoittaa, että et voit vaihtaa toimittajaa, koska sinulla ei ole mahdollisuutta ottaa koodia mukaan.

Miksi sitten joku valitsisi maksaa lisenssimaksuja, jos olisi jokin muu mahdollisuus? Koska ennen kuten kymmenen vuotta sitten kaupalliset CMS-alustat olivat parempia. Nykypäivänä myyjät kaupallisissa tuotteissa tekevät edelleen parempaa työtä, vaikka tuote ei enää olekaan parempi. Tällä avoimen lähdekoodin Drupal ja Wordpress ovat kehittyneempiä ja joustavampia kuin kaupalliset tuotteet. Tämä johtuu nopeammasta suuremmasta ja heterogeenisestä kehittäjäyhteisöstä ja innovaatioista, joka syntyvät tavasta kehittää ohjelmistoa.

Monet tänä päivänä teknisesti ajantasalla olevista organisaatioista valitsee avoimen lähdekoodin CMS:n, joista ehkä tunnetuimpia ovat Valkoinen taloThe Economist -lehti ja Weather.com. Suomessa Drupal-tekniikkaa käyttävät monissa sivustoissaan Nokia ja YLE.

Muita sivustoja on nähtävissä esimerkiksi täällä. Jos sinulla on nyt sellainen käsitys, että Drupal on soveltuva vain jättimäisiin projekteihin, suosittelen vielä lukemaan viimeisen kappaleen, koska se ei itseasiassa pidä paikkaansa.

Tekninen vilkaisu ja arkkitehtuuri

Drupal framework on modulaarinen, joka tarkoittaa, että ohjelmisto koostuu ytimestä* ja siihen liitettävistä moduuleista**. Tämä tarkoittaa, että ydin tarjoaa perustoiminnallisuuden kuten URL:n generoinnin, lomakkeet ja niiden käsittelyn, WYSIWYG-editorin ja muut melkein kaikissa verkkosivuissa tarvittavat asiat. Tämän ympärille asennetaan haluttu määrä moduuleja riippuen siitä, mitä on tarkoitus rakentaa.

Reaalimaailma on tietysti hieman monimutkaisempi. CMS-alusta loppuen lopuksi koostuu aina designin toteuttamiseen kirjoitetuista CSS-tiedostoista, erilaisista Javascript tiedostoista ja kolmannen osapuolen kirjastoista. Itseasiassa, jos tarvitaan lisäksi mikä vain kirjasto, heitetään se vain projektiin (kuten me teimme näin hieman erilaisen slideshown toteuttamiseen). Tai jos tarvitset yksinkertaisen tai hieman monimutkaisen kartan, sen lisääminen on nopeaa ja helppoa, koska aina löytyy moduuli, joka tekee melkein tai 100% juuri sen mitä tarvitset.

Tämä kaikki mahdollistaa projektin rakentamisen osissa ja voidaan olla varmoja siitä, että ollaan menossa oikeaa lopputulosta kohti. Yleensä Drupal-tekniikkaa ei kannata valita, jos ollaan rakentamassa yksinkertaista kotisivua, joka koostuu vain HTML- ja CSS-koodista, koska se tarvitsee toimiakseen muun muassa tietokannan. Ei siis ole kustannustehokasta konfiguroida kaikkea, jonka voitaisi toteuttaa yhdellä tuhannesta tarjolla olevasta kotisivugeneraattorista. Mutta jos tarvitset esimerkiksi päivittää sisältöä säännöllisin väliajoin, kilpailla hakukoneoptimoinnissa tai tarjoja vierailijoille sivustoa monella eri kielellä, niin Drupal CMS on todennäköisesti hyvä vaihtoehto.

Loppuen lopuksi onnistumisessa kaikki on kiinni...

Ihmisistä. Yhteisöstä.

Drupal-yhteisö järjestää tapaamisia (user group), joita esimerkiksi Kuopiossa on pidetty pari kertaa, Helsingissä useampaan otteeseen ja maailmalla suuremmissa kaupungeissa säännöllisin väliajoin. Itä-Suomen ryhmän sivu löytyy täältä.

Tapaamisissa jaetaan tietoa, pidetään esitelmiä, ratkaistaan ongelmia ja keskustellaan, jotta osallistujat oppivat enemmän julkaisujärjestelmästä. Osallistujat ovat yleensä töissä Drupalia jollakin tavalla käyttävässä yrityksessä, freelancereita tai harrastajia. Toisin sanoen ei ole väliä oletko kokenut ohjelmistokehittäjä tai vain kiinnostunut oppimaan jotakin uutta. Kaikki ovat tervetulleita.

Kuvittele tällaista

Jos sinulla on toisessa joukkueessa kaupallista koodia tekevä ohjelmistoyritys, jossa työskentelee 50 ihmistä, on heidän ohjelmistokehitystiimi parhaimmillaan puolet heistä. Nämä 25 ihmistä menevät töihin, koska siitä maksetaan palkkaa ja heistä jotkut jopa opiskelivat tietojenkäsittelytiedettä. He kehittävät tuotetta, jolla on tarkoitus tehdä voittoa. Muutamassa vuodessa he varmasti voisivat kehittää ihan hyvin toimivan CMS-alustan.

Toisessa joukkueessa on yli miljoona ihmistä. Näistä reilusti yli 100.000 on aktiivisesti kehityksessä mukana olevia kehittäjiä, jotka rakastavat työtään ja lahjoittavat koodia tuotteeseen, koska he pitävät siitä (monesti siitä myös maksaa heidän asiakas tai työnantaja). Tuotetta rakennetaan, jotta se olisi parasta mahdollista laatua, koska se on kaikkien käytettävissä ja hyödynnettävissä. Drupalia on nyt kehitetty kohta 20-vuotta.

Kysymys kuuluu: Kumman joukkueen tuotteesta tulee parempi?

 

* Ydin itsessään sisältää monenlaisia moduuleita.

** Tulee sanasto module, joita muissa tekniikoissa saatetaan kutsua plugineiksi tai lisäosiksi.