# Viikko 34
Jaoin tämän viikon vähän erikoisesti tekemällä tämän postauksen alkamaan tiistaista ja edellisen loppumaan maanantaihin. Tämä siksi että silloin projekti sai uuden sysäyksen paljon säännöllisempään kehitystyöhön ja selkeämmällä suunnitelmalla.
Kun olin aloitellut taas projektia edellisellä viikolla päätin, että olisi hyvä ottaa palaveri henkilöiden kanssa, jotka ovat olleet kehitystyössä aktiivisesti mukana. Näihin kuului "asiakkaana" toimivan tiiminvetäjäni lisäksi ohjelmistokehittäjä ja sovellusarkkitehti jotka auttoivat ja neuvoivat keväällä ja kesällä. Palaveri pidettiin siis juuri tiistaina tarkoituksena tarkastella tilannetta ja suunnitella jatkoa teknisestä näkökulmasta. Olin juuri edellisenä päivänä saanut Rest-applikaationi integroinnin loppuun ja toimimaan työkaluprojektissa joten palaverin ajoitus oli oikein otollinen. Olin saanut edellisen vaiheen loppuun enkä kerennyt vielä seuraavaa vaihetta aloittamaan.
Palaverin perusteella seuraavat vaiheet olisivat käyttäjän validointi, eli luoda tarkistukset joilla työkalu varmistuu että käyttäjällä on lupa käyttää sitä. Työkalu on tarkoitus ajaa vain kerran kauan ennen kuin asiakaskäyttäjiä pääsee ympäristöön, joten emme halua että kuka tahansa pääsee vahingossa ajamaan sitä. Lisäksi työkalun täytyisi tunnistaa, ettei tekstikentät ole tyhjiä. Seuraavaksi olisi tiedon lähettäminen UI-portletin tekstikentistä työkalulle Rest-applikaatiota hyödyntäen. Tarkoitus on että käyttäjä voi määrittää työkalun luotavalle sivulle nimen ja kuvauksen. Näitä ennen kuitenkin vielä siistin aiemmin tehtyä UI:ta ylimääräisistä tietokentistä, joista palaverissa päätettiin ettei niitä tarvitse tai kannata jättää syötettäväksi käyttäjälle.
Lisäksi sovimme palaverissa, että testaisimme työkalun toimintaa torstaina tiiminvetäjäni kanssa. Alamme myö pitämään hänen kanssaan viikoittaisia palavereja projektin loppuun asti.
Aloitin työskentelyn projektin parissa samoin tein palaverin jälkeen. Aloitin siistimällä UI:n joka oli hyvin nopea ja helppo tehtävä. Seuraavaksi aloitin käyttäjävalidoinnin teon. Näihin sain palaverista vinkkiä, että Liferay API:sta löytyy User-luokan alta paljon metodeita, joilla voidaan hakea tietoja ympäristön käyttäjistä. Sen avulla lähdin rakentamaan validointia. Käyttäjältä täytyy tarkistaa kaksi asiaa: onko käyttäjä järjestelmänvalvoja, sekä onko käyttäjä Valamiksen työntekijä. Ensimmäisen voi tarkistaa käyttäjälle asetetuista rooleista, löytyykö tältä tarvittava rooli. Roolit voidaan hakea listana, joista lonitaan sitten onko käyttäjällä tietty rooli. Toinen tieto voidaan varmistaa käyttäjän sähköpostista. Mikäli käyttäjän sähköpostin verkkotunnus on "valamis.com", on käyttäjä Valamiksen työntekijä. Tämä tuo hyvän varmuuden käyttäjästä, sillä sekä rooleja että muita käyttäjien tietoja voi hallinnoida vain järjestelmänvalvoja. Näin ollen kumpaakaan tarvittavaa tietoa ei noin vaan vahingossa aseteta tietämättömälle käyttäjälle.
Vielä tiistain loppuun sain luotua validoinnin käyttäjän roolista. Keskiviikon aikana sain tehtyä myös sähköpostin verkkotunnuksen tarkistuksen. Nyt työkalu tarkistaa Rest Api kutsun jälkeen nämä molemmat, jos jompi kumpi vaatimus ei täyty, se ei käynnistä työkalua ollenkaan. Tästä myös käyttäjä saa tiedon käyttöliittymään, onko käyttäjä validi vai ei. Validointi suoritetaan yhdessä tarkistus metodissa, joka palauttaa boolean arvon validoinnin lopputuloksesta. Tästä applikaatio päättelee, käynnistetäänkö työkalu vai ei.
Torstaina suoritimme työkalun testiajon, mutta huonoin tuloksin. Jostain syystä vaikka työkalun käynnistystä onnistutaan kutsumaan Rest-applikaatiosta, se ei onnistu suorittamaan käynnistyslogiikkaa. Tutkimme asiaa ensin yhdessä, ja minä vielä jatkoin itsenäisesti kun tiiminvetäjän piti siirtyä muihin työtehtäviin. Ratkaisua ei ongelmaan vielä löytynyt, mutta vaikuttaisi siltä, että Rest-applikaatio, tai sen tapa kutsua työkalun käynnistystä jostain syystä estää sen toimimisen. Jatkamme tutkimista ensi maanantain viikkopalaverin myötä.
Loppuviikosta ilmennyttä ongelmaa lukuunottamatta haasteista tällä viikolla ei oikeastaan ollut. Nyt kun minulla on lopoultakin selkeämpi kuva projektin kokonaiskuvasta sekä aikaa projekti jatkamiseen, olen ollut koko viikon aivan liekeissä. Kehitystyö on ollut mieluista, ja on hienoa saada paljon onnistumisen tunteita. Tuntuu että olenkin osannut nyt ottaa tarjotusta ajasta kaiken irti, ja tekemään selkeällä suunnitelmalla vaihe vaiheelta kehitystyötä eteenpäin. Myös alkuviikon palaveri sujui todella hyvin kaikkien osalta ja saimme hyvin suunniteltua ja tarkasteltua projektia niin, että kaikki ovat nyt samalla kartalla.
#### Käytetty työaika tältä viikolta (ti-la):

#### Koko projektin työaika tähän mennessä:

###### tags: `ICT-toimeksiantoprojekti`