Olen ollut vuoden alusta lähtien Karhu Helsingillä kehittäjänä. Valtaosa töistäni keskittyy sivustoihin, jotka on toteutettu Drupal-julkaisujärjestelmällä.

Ennen töiden aloittamista Karhulla olin tehnyt muutaman vuoden töitä kehittäjänä WordPress-julkaisujärjestelmän parissa. WordPress-kehityksestä sain yleisen käsityksen julkaisujärjestelmien toiminnasta, joka auttoi minua Drupal-kehitykseen siirtymisessä.

Aloittaessani työt Karhulla, vähäinen kokemukseni Drupalista ja sen erilaisuus WordPressiin verrattuna toivat omat haasteensa mukanaan, mutta opin kuitenkin nopeasti arvostamaan Drupalia sen monien hyvien ominaisuuksien takia. Drupalin perusasennuksessa tulee valtavasti hyödyllisiä ominaisuuksia mukana, joten lisäosien tai moduulien asennukselle ei ole niin suurta tarvetta kuin WordPress-sivustoilla.

Olen kuluvan vuoden aikana oppinut paljon Drupalista ja sen erilaisista ominaisuuksista. Listasin alle vielä osan niistä ominaisuuksista, joita olen hyödyntänyt paljon lähiaikoina.

Views

Kehittämilläni sivustoilla on lähes aina tarvetta näyttää jotain sivustoon lisättyä sisältöä listauksessa. Aikaisemmin olen toteuttanut valtaosan sisältöjen listauksista itse koodaamalla. Drupal kuitenkin tarjoaa kehittäjälle mahdollisuuden lisätä listauksia erilaisissa muodoissa Views-moduulilla.

Viewsillä sisällön näyttäminen listauksissa on ollut todella nopeaa koodaukseen verrattuna, sillä se tarjoaa suhteellisen yksinkertaisen käyttöliittymän niiden rakentamiseen. Listauksiin voi myös lisätä suodattimia ja sisältöä pystytään hakemaan ilman sivulatausta AJAX:ia hyödyntäen.

Sisältötyyppien hallinta

Drupal tarjoaa monipuoliset työkalut sisältötyyppien hallintaan. Sisältötyyppien lisääminen onnistuu suoraan Drupalin käyttöliittymästä, eikä mitään lisäosia tarvitse asentaa sitä varten. Kaikille sisältötyypeille voidaan myös lisätä tarvittavat kentät valmiiksi lisätyistä, yleisistä kenttätyypeistä.

Sisältötyyppejä voidaan myös näyttää sivustolla erilaisissa muodoissa lisäämällä niille useita eri näyttötapoja. Sisällön lisäämisen näkymää voidaan myös muokata, mikä mahdollistaa hyvin yksinkertaisen käyttöliittymän rakentamisen sisällöntuottajille.

Neljä asiaa, joita tuore Drupal-kehittäjä arvostaa

Käyttöoikeudet

Osaan Drupal-sivustojen sisällöstä on hyvä rajoittaa käyttäjien pääsyä. Kaikilla käyttäjillä ei esimerkiksi ole tarvetta päästä asetuksiin, valikoiden hallintaan tai etusivua muokkaamaan.

Drupalista löytyy hyvät työkalut käyttöoikeuksien hallintaan. Perusasennuksessa tulee kuitenkin mukana vain muutama käyttäjärooli, joten uusia rooleja kannattaa lisätä, varsinkin sisällöntuottajille.

Käyttöoikeuksien lisääminen onnistuu kaikelle sivuston sisällölle erikseen ja käyttäjäroolikohtaisesti. Drupal-kehittäjien on myös mahdollista lisätä oikeuksia kehittämistään moduuleista niiden mukana tulleille ominaisuuksille.

Käyttöoikeuksien kanssa on hyvä olla varovainen, ja tarkastaa, mitä käyttäjille lisätyt oikeudet tekevät, sillä jotkut Drupalin yleisistä käyttöoikeuksista saattavat aiheuttaa pääsyn myös ei-haluttuihin asetuksiin.

Drush

Drush on luotu helpottamaan kehittäjän elämää ja se mahdollistaa Drupalin hallinnan suoraan komentoriviltä. Drushilla tietokannan päivittäminen, varmuuskopioiden ottaminen, moduulien hallinta ja välimuistien tyhjennys onnistuvat muutamassa sekunnissa säästäen valtavasti kehittäjän aikaa usein suoritettavien toimenpiteiden kanssa.

Paikallisessa kehitysympäristössä tehdyt muutokset Drupaliin voidaan myös viedä nopeasti suoraan tuotantoon hyödyntämällä Drupalin YAML-tiedostoja, jotka saadaan Drush-komennolla haettua. Näin kehittäjän ei tarvitse tehdä muutoksia toistamiseen tuotantopalvelimella, vaan ne saadaan synkronoitua versionhallinnan ja Drushin avulla.

Lisää opiskelua tiedossa

Aloittelevalle Drupal-kehittäjälle monimutkaisen järjestelmän opettelu on ollut haastavaa, mutta mukavien kollegoiden avustuksella olen päässyt nopeasti vauhtiin.
Drupalista löytyy yllä olevien ominaisuuksien lisäksi vielä paljon muuta, joten uusien mielenkiintoisten asioiden opettelua on tiedossa vielä pitkäksi aikaa.