Pori Etelaranta
16.02.2017
Mika Suominen

Kuntien avoin verkkopalvelualusta – todistetusti toimiva

Viime syyskuussa Turun kaupunki kertoi avaavansa verkkopalvelunsa lähdekoodin yhteiseen käyttöön. Turku siis päätti antaa kehittämänsä alustan veloituksetta kaikkien hyödynnettäväksi ja jatkokehitettäväksi. 

Koodin avaamistyö saatiin nyt alkuvuodesta päätökseen, eli muiden kuntien on nyt mahdollista ottaa turku.fi-lähdekoodiin perustuva avoin verkkopalvelualusta käyttöönsä. Kiinnostus alustan hyödyntämiseen onkin jo herännyt varsin monen kunnan suunnasta!

Turun kaupunki on tehnyt todella uraauurtavaa työtä kehittäessään laajan ja pitkäikäisen verkkopalvelualustan monine hyödyllisine toiminnallisuuksineen. Alusta on vakaa ja skaalautuva, ulkoasultaan räätälöitävä, helppokäyttöinen ja saavutettava. Se on myös responsiivinen, eli se toimii mobiileissa päätelaitteissa.

Miten tähän pisteeseen on tultu?

Turun kaupunki halusi onnistua sivustouudistuksessaan, ja siitä rakentuikin hieno tarina. Täydet pisteet Turun kaupungin rohkeille päättäjille erilaisesta kilpailutuksesta, joka johti verkkopalvelun toteutukseen ketterällä monitoimittajamallilla. Onnistunut hankinta ja toimittajayhteistyö valittiinkin Blue Arrow Awards -kilpailun finalistiksi kategoriassa ”Epic Purchasing”. 

Turku.fi-projekti aloitettiin loppuvuodesta 2014. Jo puolen vuoden päästä julkaistiin ensimmäinen versio uudesta sivustosta. Kehitystyötä jatkettiin ja kuntalaisten palautteisiin reagoitiin koko projektin ajan – esimerkiksi esteettömyyttä parantava isompi päivitys julkaistiin kesällä 2016. Ketterin menetelmin toteutettu projekti oli menestys, mutta sitäkin merkittävämpi uutinen oli kehitetyn alustan julkaisu yhteiseen käyttöön.

Olemme olleet alusta alkaen mukana rakentamassa turku.fi-verkkopalvelua yhtenä Turun kolmesta teknisestä kumppanista ja luonnollisesti myös mukana koodin avaamistyössä. Meille on kunnia olla mukana rakentamassa tätä kokonaisuutta, joka mahdollistaa entistä parempien ja monipuolisempien verkkopalveluiden rakentamisen erittäin kustannustehokkaasti.

Miksi alusta on merkittävä mahdollisuus kunnille?

“No onhan näitä alustoja nähty aiemminkin, ei toiminut”, skeptikko ehkä tuumii. Tämä on totta. Mikä siis tekee tästä verkkopalvelualustasta erilaisen? Onnistunut turku.fi-uudistus oli jo sinänsä lupaava lähtökohta. Turun kaupungin hankejohtaja Päivi Saalasto valottaa alustan tuomia hyötyjä seuraavasti:

“Turku.fi-lähdekoodi tarjoaa hyödyntäjälleen win-win-tilanteen: täydellisen vapauden vähäisemmin kustannuksin. Jokainen voi poimia luodusta paketista vain haluamansa toiminnot ja järjestää verkkopalvelun ylläpidon parhaaksi katsomallaan tavalla. Samaan aikaan kuitenkin yhteisiä toiminnallisuuksia voidaan jatkokehittää tiiviissä yhteistyössä muiden kanssa jakaen syntyvät kulut.”

Alustan vahvuudet ovat moninaiset. Tässä niistä muutamia:

  • Laatu. Suomen ykkösluokan Drupal-talot ovat olleet kehittämässä alustaa.
  • Riippumattomuus toimittajasta. Alustalla on jo tässä vaiheessa useita sitoutuneita teknisiä toimittajia, sekä Turku.fi-projektissa mukana olleita että projektin ulkopuolisia Drupal-taloja.
  • Toimivuus. Alusta on testattu ja todistettu käytännössä toimivaksi.
  • Tietoturva. Alusta on tietoturva-auditoitu.
  • Laaja käyttö. Käyttäjäyhteisön laajuus takaa alustan nopean kehityksen.

Pilotointia Porissa

Porissa innostuttiin jo hyvin varhaisessa vaiheessa Turun kehittämän alustan hyödyntämisestä, minkä johdosta heidän verkkouudistuksensa sai varsinaisen lentävän lähdön: syntyi ensimmäinen POC (proof of concept), jonka yhdessä Porin kaupungin kanssa toteutimme.

Pilottihankkeen tavoitteena oli varmistaa alustan tekninen soveltuvuus Porin tarpeisiin, toimiva ja helppokäyttöinen sisällönsyöttö sekä rakenteen joustavuus muuttuville tarpeille. Vaikka hanke aloitettiin jo ennen avoimen alustan julkaisuversion valmistumista, tulokset olivat vakuuttavia. Turun alustan todettiin tarjoavan toimivan ratkaisun Porinkin tarpeisiin ja se otettiin ilolla vastaan. Alustan helppokäyttöisyys kirvoitti jopa aplodit koulutuksessamme, jossa perehdytimme sisällönsyöttäjiä alustan käytön saloihin.

Porin pilotin valmista perustoteutusta laajennettiin vielä kattavalla hakumoottorilla, jonka jälkeen kaikki tekniset linjaukset olivat kasassa tulevaa sivustouudistusta varten. Yhteistyömme Porin kanssa jatkuu avoimen kilpailutuksen suunnittelulla, jonka tavoitteena on löytää Porille oikeat yhteistyökumppanit, joiden avulla turku.fi-lähdekoodi saadaan palvelemaan Porin sähköisen asioinnin ja viestinnän uusia ja tulevia tarpeita.

Mahdollisuus jatkokehittää huolella suunniteltua ja toteutettua verkkoalustaa sekä uudenlaiset yhteistyömahdollisuudet kuntien välillä saivat Porin kiinnostumaan Turun alustasta. Tietohallintojohtaja Heikki Haaparanta näkee yhteiskehittämisessä huimasti potentiaalia:

“Vaikka kunnissa ja niiden tarjoamissa palveluissa on paljon eroavaisuuksia, on niissä kuitenkin myös paljon yhteneväisyyksiä. Tämä yhteinen palvelurakenne ja lukuisat muut yhtäläisyydet palveluiden tuottamisessa tarjoavat mahdollisuuden yhteistyöhön, jakamiseen ja eri kuntien jo tekemän työn hyödyntämiseen. Projektimme valmistuttua tavoitteena onkin julkaista myös turku.fi-pohjalta rakennettu pori.fi-lähdekoodi avoimeksi. Näemme, että parhaimmillaan verkkoalustan ympärille muodostuu kuntien yhteistyöverkosto, joka jakaa avoimesti alustaan liittyviä kokonaisuuksia ja osaamista.”


Suomessa on yli 300 kuntaa, joiden on KaPa-lain velvoittamina uudistettava verkkopalvelunsa. Nyt Turku tarjoaa kuin hopeatarjottimella auttavan käden kaikille Suomen kunnille. On helppo nähdä alustan ympärille muodostuneen avoimen lähdekoodin ekosysteemin kasvavan ja laajentuvan modulaariseksi kuntien digipalveluiden työkalupakiksi. 

Haluatko tietää lisää?

Tietoa Turku.fi -alustan sisällöstä: Kuntien avoin verkkopalvelualusta
Turun tiedote: Turku.fi:n lähdekoodi kiinnostaa jo monia
Alusta on saatavilla Turun GitHub-tilillä 
Turun digitaalisen kehittämisen blogi



Yläkuva: “Porin Eteläranta” / Jukka Peura / CC BY 2.0

Kirjoittaja

Mika Suominen

Board Member
Better UX with React
08.02.2017

Sulava käyttökokemus uudella teknologialla

Lääkärikeskus Aava on yksi asiakkaistamme, jolla on erittäin korkeat vaatimukset palveluidensa käyttäjäkokemukselle. Pystyäksemme vastaamaan näihin odotuksiin kustannustehokkaasti, on tärkeää että käytössämme on palveluiden rakennusvaiheessa moderneimmat mahdolliset työkalut. Onneksemme Aava on ollut koko yhteistyömme ajan sitoutunut päivittämään teknologiaa uudempaan. Näin Aavallekaan ei ole aiheutunut turhan suuria kertakustannuksia järjestelmien päivittämisestä. 

Tavoitteena yhtenäinen käyttökokemus

Loppuvuodesta 2016 asetimme Aavan kanssa tavoitteeksi yhdistää heidän eri palveluidensa frontend-ratkaisut, jotka on toteutettu eri taustajärjestelmillä. Nykytilanteessa kaikissa järjestelmissä on perinteiseen tapaan oma käyttöliittymänsä, mikä on järjestelmien kasvamisen myötä tehnyt ylläpidosta haastavampaa. Siitä huolimatta, että olemme hyödyntäneet moderneja työkaluja nykyisten järjestelmien rakentamiseen, työ joudutaan käytännössä aloittamaan aina alusta joka järjestelmässä. Palveluiden käyttökokemuksen kehittäminen ei myöskään ole mahdollista äärettömiin, koska järjestelmät näyttävät keskenään hyvinkin erilaisilta.

Lähdimme liikkeelle Aavan Terveytesi-palvelun rakentamisesta. Projektin tavoitteena oli luoda nopeasti uusi palvelu, josta asiakas pystyy helposti hakemaan tietoja terveydestään, kuten vaikkapa diagnooseja ja ajanvarauksia.

Miksi päädyimme Reactiin?

Palvelun rakentaminen edellytti muutoksia olemassa olevaan arkkitehtuuriin. Jotta kehitystyö olisi pitkällä tähtäimellä kustannustehokasta, päätimme, että kaikkien ennen arkkitehtuuriuudistusta tehtävien toiminnallisuuksien on oltava käytettäviä uudessakin arkkitehtuurissa. Tämän vuoksi päädyimme keskittämään suurimman osan ajasta toimivien rajapintojen muodostamiseen. Tässä projektissa oli luonnollista luoda selaimessa toimiva sovellus, koska palvelu ei vaatinut paljoa business-logiikkaa rajapintojen ulkopuolella.

Ember.js sekä React.js valikoituivat arvioitaviksemme, koska näistä tiimiläisillä oli aikaisempia hyviä kokemuksia. Aluksi pyrimme arvioimaan, kumman järjestelmän tuominen nykyiseen arkkitehtuuriin olisi helpointa, mutta totesimme vertailun olevan melko hankalaa, sillä kumpikaan ei tuntunut täyttävän vaatimuksia, jotka alkuvaiheessa asetimme. Niinpä päädyimme vertailemaan yhteisöjen kokoja ja millä tavoin järjestelmiä on käytetty. Lopulta valitsimme Reactin, koska uskoimme sen olevan pitkällä tähtäimellä paremmin tuettu.

Miten projekti sujui?

Uuden teknologian käyttöönotto tuo aina mukanaan haasteita. Tässä projektissa haasteena oli ennen kaikkea se, miten moderni teknologia yhdistetään Aavan jo olemassa olevaan infrastruktuuriin sekä ohjelmistoihin, vaikka kokonaisuus sinänsä olikin jo ennestään moderni. Lisäksi kaikilla tiimimme jäsenillä ei ollut aiempaa kokemusta modernista JavaScriptistä (es2016+). Mutta mehän pidämme haasteista, joten huolehdimme projektin aikana siitä, että kaikki tiimiläiset saivat yhtäläiset valmiudet kehittää projektia.

Aavan olemassa olevaa infrastruktuuria on pidetty ajan tasalla koko yhteistyömme ajan, mutta siitäkin huolimatta kehitystyö tuntui alussa etenevän hitaasti, koska jouduimme keskittymään paljon infrastruktuurin kehittämiseen – pohjatyö vaati oman aikansa. Tähän oli syynä pääosin se, ettei Aavalla aiemmin ollut käytössä vastaavia JavaScript-toteutuksia.

Koska halusimme nopeuttaa projektin alkua, otimme paljon mallia boilerplate-tyyppisistä ratkaisuista. Tämä kuitenkin myöhemmässä vaiheessa kostautui, kun jouduimme selvittämään kopioituihin osiin liittyviä bugeja. Selvittäminen oli haasteellista, koska emme täysin ymmärtäneet kaikkia valintoja tai heikkouksia, joita koodissa oli.

Kun saimme ensimmäiset komponentit valmiiksi, vauhti alkoi kiihtyä ja uusien toiminnallisuuksien teko sujua erittäin nopeasti. Koko projektiin meni lopulta noin kaksi kuukautta, ja noin puolet tästä ajasta käytettiin vanhan infrastruktuurin kehittämiseen. Sovellus on parhaillaan sisäisessä testauksessa ja se julkaistaan helmikuun aikana. 

Tekniset valinnat

Koska edelleenkin laajasti käytetty PHP 5.6 alkaa Aavan korkeiden standardien mukaan vedellä viimeisiään, päätimme tässä yhteydessä myös päivittää palvelun PHP 7.1:een, jotta saimme siihen lisää nopeutta ja uusia ominaisuuksia käyttöön. Monet PHP-kirjastot ovat jo lopettaneet tuen PHP 5 -versioille, mikä omalta osaltaan hankaloittaa uusien asioiden kehittämistä PHP 5 -versioiden päälle. Aava oli ensimmäinen asiakkaamme, joka otti PHP 7.1 -version käyttöön olemassa olevaan projektiin. Tämä herätti myös paljon kiinnostusta Druidin ulkopuolella.

Taustajärjestelmänä sovellukselle toimii tällä hetkellä Drupal 7. Suunnittelemamme API on tehty niin, että frontend-sovellus on tulevaisuudessa helppo siirtää minkä tahansa alustan päälle. Näin Aavan ei tarvitse rajoittaa teknisiä valintojaan meidän teknisten valintojemme vuoksi. Tähän ratkaisuun päädyttiin, koska Drupalin päälle on rakennettu merkittävä määrä olemassa olevia toiminnallisuuksia, jotka nopeuttivat sovelluksen kehittämistä.

API-dokumentaatioiden tekemiseen käytimme Swagger-työkalua. Swagger-dokumentaatio on koostettu JSON-datasta. Samaa tiedostoa käytetään myös rajapintojen generoimiseen.

Yhteenveto

Projekti kokonaisuudessaan oli erittäin mielenkiintoinen. Etenkin jatkuva uusien teknologioiden hyödyntäminen pitää mielen virkeänä ja motivoituneena. Tämä myös varmistaa Aavan järjestelmille pitkän käyttöiän, ja mahdollisimman matalat kustannukset rakennusvaiheessa.

Drupal Magic
25.10.2016

Drupal-magiaa druidien opissa

Oli loppuvuosi 2014 Helsinki Business Collegessa, jossa tuolloin opiskelin. Ryhdyimme työstämään kurssityönä lounaslistahärpäkettä, josta kukaan ei ollut mitenkään innoissaan, mutta pakkohan sitä oli tehdä, jotta pääsisi kurssista läpi. Sitten tapahtuikin ihmeitä: koulu otti yhteyttä Druidiin ja sai järjestettyä meille druidien vetämän Drupal-koulutuksen tylsän kurssimme sijaan. Kuulosti tosi hyvältä!

Aloimme opetella Drupal 7:n perustoimintoja ennen koulutusta: miten järjestelmä asennetaan laitteelle, miten ladataan ja otetaan käyttöön moduuleja ja teemoja, myös hieman gitin käyttöä. Rakensimme pienryhmissä sivustoja, jotta saimme perusteet käytännössä suurin piirtein haltuun.

Drupal-koulutus

Koulutuspäivä ei alkanut kovin vahvasti, sillä druidit eksyivät jonnekin koulumme syövereihin. Lopulta he kuitenkin löysivät paikalle ja pääsimme vauhtiin. Alkuun he kertoivat mitä firmassaan tekevät, miten he käyttävät ketterää työmenetelmää projekteissa ja miten he panostavat kovasti työympäristöön ja sen mukavuuteen.

Krisse aloitti koulutuksen selittämällä mitä ketterä kehitys on ja miten se toimii. Ronin osuus oli näyttää, miten Drupal-sivusto pystytetään ja kuinka Drushia käytetään – valitettavasti emme kuitenkaan päässeet Drushin kanssa leikkimään, koska koululla joku blokkasi sen käytön. Tero puolestaan puhui teemoittamisesta, eli miten luodaan oma teema ja leiskataan sivua.

Koulutuksen aikana Drupal alkoi kiinnostaa minua yhä enemmän ja halusin oppia lisää, joten päätin hakea Druidilta työharjoittelupaikkaa koulutuksen loputtua. Pääsin työhaastatteluun, ja Druidin toimistolla vieraillessani puheet työympäristöön panostamisesta konkretisoituivat. Toimistolla tuli fiilis, että tänne on pakko päästä töihin. Vuoden 2015 lopulla viimein pääsinkin aloittamaan työharjoittelun Druidilla.

Työharjoittelusta työsuhteeseen

Ensimmäisenä päivänä tutustuin taloon ja ihmisiin sekä pystytin työpisteeni. Tehtäväkseni sain druid.fi-sivuston uusimisen upouudella Drupal 8 -järjestelmällä. Se oli haaste, sillä olin siihen mennessä opetellut vain Drupal 7:ää. Uusittu sivusto saatiin kuitenkin julkaisukuntoon ja se näki päivänvalon eräänä helmikuisena perjantai-iltapäivä. Sen jälkeen oli hyvä mieli lähteä viettämään viikonloppua! 

Ajan myötä Drupal 8:sta tuli mukava käyttää ja opin tekemään sillä itsenäisesti töitä. Ilokseni druidit olivat tyytyväisiä tekemääni työhön ja päättivät palkata minut töihin loppuvuodeksi.

Elokuun lopulla alkoi DrupalCon Dublin -matkan järjestely ja sain tietää pääseväni mukaan reissuun. Olin tosi innoissani: uusi matkakohde, ensimmäinen DrupalCon, ja pääsin matkailemaan ensimmäistä kertaa yksin! Matkasta tulikin tähänastisen työsuhteeni kohokohta. Viikon aikana tuli käytyä monella kiinnostavalla luennolla, perinteisessä pubissa ja tietenkin pakollisella vierailulla Guinness-tehtaalla. 

Ympyrä sulkeutuu

Tämän vuoden lopulla Druid järjestää taas Drupal-koulutuksen Helsinki Business Collegen opiskelijoille, ja tällä kertaa olen mukana yhtenä opettajista. Olen oppinut kuluneen vuoden aikana Druidilla valtavasti, ja on mahtavaa päästä nyt jakamaan osaamistani entiseen opinahjooni! 

Mitä tästä opimme? Kannattaa kysyä meitä kouluttamaan, sillä teemme sitä mielellämme aina kun asiakasprojekteiltamme ehdimme. Kannattaa myös hakea meille työharjoitteluun, jos motivaatiosi on kova, Drupalin perusteet on hallussa ja haluat päästä sen kanssa tositoimiin.

DrupalCon Dublin
24.08.2016

DrupalCon lähestyy – nähdäänkö Dublinissa?

Jokavuotinen pyhiinvaellusmatkamme DrupalConiin on enää kuukauden päässä ja ilmassa on jo kihelmöivää odotusta. Ilmoittautumiset Euroopan suurimpaan Drupal-tapahtumaan, 26-30.9. järjestettävään DrupalCon Dubliniin, ovat hyvässä vauhdissa. Druid on ollut mukana tapahtumassa lähes koko henkilöstönsä voimin aina perustamisestaan lähtien. Tällä kertaa kuitenkin valmistaudumme reissuun aivan erityisen innostuneissa tunnelmissa, sillä päätimme nostaa panoksia: olemme yksi DrupalCon Dublinin pääsponsoreista!

Mikä DrupalCon?

Drupal-yhteisö on yksi maailman suurimmista avoimen lähdekoodin yhteisöistä, ja kolme kertaa vuodessa ympäri maailmaa järjestettävä DrupalCon on sen sydän. Siellä verkostoidutaan, jaetaan osaamista ja ideoita, opitaan uutta ja kehitetään Drupal-projektia ja -alustaa entistä paremmiksi.

Toisin kuin voisi kuvitella, DrupalCon ei ole ainoastaan kehittäjien temmellyskenttä, vaan mukana on myös paljon Drupalia käyttävien asiakasyritysten edustajia. Jos siis olet jollain tavoin Drupalin kanssa tekemisissä, voit tulla DrupalConiin oppimaan siitä lisää ja tutkailemaan, mitä muut yritykset maailmalla Drupalin kanssa puuhaavat. Business caseista voit saada uusia ideoita projekteihisi.

Sponsorina haluamme tuoda suomalaista Drupal-osaamista positiivisesti esille, Druidin toimintatavoista ja asenteesta tinkimättä. Monessa ulkomaisessa asiantuntijatalossa ketteryys on käytännön tasolla vielä lapsenkengissä, mutta meillä se on Drupal-osaamisemme ohella yksi toimintamme kulmakivistä. Levitämme siis mielellämme agiilisanomaa kollegoillemme.

Mitä on ohjelmassa?

Tapahtuma koostuu suurelta osin sessioista, joita tällä kertaa on mukana 13 eri aihepiirin tiimoilta. Yli 600 ehdotuksen joukosta 130 hyväksyttiin mukaan ohjelmaan, joukossa myös muutama sessio druideilta: Bart Feenstran Cautionary tale for defensive programmers ja Restel.fi: built by humans, for humans, sekä Lauri Eskolan Drupal 8 theming in depth ja Create new user-facing core theme initiative. Restel.fi-showcasen esittelyssä on mukana myös projektin tuoteomistajana toiminut Jonna Tiainen.

Toki ohjelmassa on myös paljon muuta: useampi keynote (johtotähtenä luonnollisesti Drupalin perustaja Dries Buytaert), vapaamuotoisia birds of a feather -keskusteluja eri aiheista sekä kehityssprinttejä. Iltatilaisuudet tarjoavat loistavan mahdollisuuden verkostoitua ja tutustua Drupal-toimijoihin.

Kiinnostuitko?

Jos pomosi tarvitsee vakuutteluja tapahtuman hyödyllisyydestä, saat siihen apua täältä. Asiakkaamme ja yhteistyökumppanimme saavat liput meidän kauttamme aavistuksen halvemmalla. Ota siis yhteyttä, jos alennuskupongille on tarvetta! Liput kannattaa hankkia kiireen vilkkaa, sillä perjantain 26.8. jälkeen niiden hinnat nousevat. 

Toivomme, että näemme Dublinissa paljon tuttuja ja luomme uusia tuttavuuksia!

Bannerikuva taustalla:
Dublin (Ireland) At Night – Grand Canal Square Viewed From a Barge” / William MurphyCC BY-SA 2.0

Kirjoittaja