Druidin ensimmäinen Drupal 8 -sivusto

Druid julkaisi ensimmäisen Drupal 8 ­-sivustonsa

13.03.2015

Pari viikkoa sitten julkaistiin ensimmäinen Drupal 8 ­-sivustomme: Lääkärikeskus Aava. Lääkärikeskus Aava on Suomen suurimmimpia yksityisten terveyskeskusten ketjuja. Aava on yksi täyden palvelun asiakkaistamme, mikä tarkoittaa, että verkkosivujen uudistamisen ja suunnittelun lisäksi me myös tarjoamme ylläpitoa, seurantaa ja tukea.

Miksi Drupal 8?

Kun näimme sivuston Drupal 7 ­-version ensimmäistä kertaa, tiesimme, että arkkitehtuurissa olisi tehtävä suuria muutoksia, sillä sivuston ylläpito oli kankeaa. Samalla aloimme arvioida, sopisiko Drupal 8 tähän projektiin. Huomasimme, että lähes kaikkeen oli tarjolla valmis ratkaisu, joten suurimmasta osasta erillismoduuleja voitaisiin luopua. Monet moduuleista liittyivät monikieliseen sisältöön, minkä Drupal 8 ­-ydin hallitsee suoraan. Tämän perusteella halusimme käyttää Drupal 8:aa, joten ehdotimme sitä asiakkaalle.

 

Aava screenshot

 

Miksi Drupal 8 on niin siisti?

Drupal 8 tekee sivustojen rakentamista upeaa. Pystyimme alusta alkaen rakentamaan lähes kaiken suoriltaan. Joskus jäimme jumiin, koska asiat toimivat eri tavalla kuin Drupal 7:ssä (yleensä paremmin). CMI osoittautui erityisen hyödylliseksi – kykenimme luomaan versiot kaikista tehdyistä muutoksista. Huono puoli beta­vaiheen ohjelmiston käytössä on, että törmäsimme muutamaan ikävään bugiin, mutta me myös korjasimme osan niistä.

Drupal 8 sisälsi myös muutamia oikein mukavia käyttöön liittyviä parannuksia, kuten CKEditorin ytimessä ja seiskan päivitetyn teeman. 

Drupal 8:ssa on siistiä, että Viewsin avulla on helppo muokata etusivua, luetteloblokkeja ja paljon muuta. Voi vain luoda mukautettuja ylläpidon sivuja sekä muokata suodattimia ja toimintoja.

Yksi sivuston rakentamisen ongelma oli jo entuudestaan tuttu Drupal 7:stä: kuinka varastoida muokattavia blokkeja koodimuodossa. Jos asiakkaan on voitava editoida, muutoksia ei voi luoda mukautetusti koodaten. Huomasimme kuitenkin, että Drupal 8:ssa oli mahdollista luoda sisällötön blokki­instanssi. Jos sisältö tallennettaisiin CMI:hin, live-ympäristöön tehdyt muutokset korvattaisiin seuraavalla käyttökerralla.

 

Service list

 

Sivuston mutkikkaampia ominaisuuksia varten piti tehdä hieman backend-­kehitystyötä. Samalla pystyimme korjaamaan joitain vastaan tulleita bugeja. Osa moduuleista on nyt julkaistu, mukaan lukien Subpathauton Drupal 8 ­-porttaus ja moduuli, jota käytimme sisällön siirtämiseen Drupal 7:stä Drupal 8:aan. Drupal 8 käyttää modernia olio-­ohjelmointi -­lähestymistapaa (OOP) suurimmassa osassa järjestelmäänsä. Sen vuoksi oli mahdollista vaihtaa osia erittäin joustavasti ja muokata siten Drupalin toimintaa. Usein tiimimme kauhisteli, kuinka monimutkaisia vaivattomat muutokset olisivat olleet Drupal 7:llä.

Liitännäiset eli pluginit ovat yksi Drupal 8:n uusista ominaisuuksista. Pluginin laajentaminen on hyvin helppoa. Tarvitsee vain laajentaa sen luokkaa ja määritellä uusi luokka sopivaan nimiavaruuteen.

 

Twig 01

 

Frontend­-puolella käytimme Classya teemamme perustana. Drupal 8:ssa merkintäkielen mukauttaminen täsmälleen halutuksi on vaivatonta, sillä lähes kaikki merkintäkieli on siirretty malleihin

Meille selvisi myös, että Drupal 8:ssa Twig­-mallien työstäminen on paljon tiiviimpää ja suoraviivaisempaa kuin Drupal 7:n PHP­-mallien. Twig­syntaksi on helppokäyttöinen ja teemanluojille on tarjolla todella paljon hyödyllisiä helpereitä. 

Myös muutokset teema-­layeriin tehostavat työtä. Koska käytämme nyt renderiryhmiä, tarvittavat muutokset on helppo tehdä esiprosessi-­ tai mallivaiheessa.

Drupal 8:n tarkoitus on käyttää suoraan mahdollisimman mutkatonta merkintäkieltä. Huomasimme, että divien poistamisen sijaan jouduimme lisäämään niitä jatkuvasti.

 

Twig 02

 

Drupal 8:ssa on paljon parannuksia aiempiin versioihin nähden. Enää asioita ei tarvitse tehdä “Drupal­-tyyliin”. Käytämme nyt samoja hyväksi havaittuja käytänteitä kuin muutkin, mikä laskee Drupal­-projektin aloittamisen kynnystä. Monet konseptit ovat kuitenkin säilyneet ennallaan, joten en sanoisi, että ihmisten pitää opetella Drupal 8 ihan alusta.

Drupal 8 on jo tarpeeksi vakaa uusien verkkosivustojen luomiseen. Ohjelmoijan tulee kuitenkin olla tietoinen sen rajoitteista koskien esimerkiksi päivittämättömiä moduuleja. Ydinbugeja pitää pystyä kohtaamaan matkan varrella. Toisaalta Drupal 8 tarjoaa paljon uusia ominaisuuksia ja parempia toimintaedellytyksiä, minkä vuoksi verkkosivustojen rakentaminen sillä tuntuu hyvältä.

Faktoja

Lääkärikeskus Aava pyöritti aiempaa verkkosivustoaan Drupal 7:llä. Siinä oli

  • lähes 4 000 noodia
  • 200 taksonomiatermiä
  • 101 erillismoduulia
  • 22 mukautettua moduulia
  • 3 330 riviä CSS:ää.

Drupal 8:n mahdollistaman uuden arkkitehtuurin vuoksi sivustolla on nyt

  • 3 000 noodia
  • 200 taksonomiatermiä
  • 12 erillismoduulia
  • 23 mukautettua moduulia
  • 3 362 riviä SASS:ää

Tiimimme tässä projektissa oli: Juho, Lauri E, Tuukka, Pete, Jukka ja Lauri A.

Haluatko tietää lisää?

Ota yhteyttä