# Viikko 35 Viikko oli toinen perättäinen, kun minulla on ollut reilusti aikaa projektin tekemiseen. Näin ollen kehitystyössäkin on tapahtunut paljon edistymistä. Viikko alkoi ensimmäisellä viikottaisella palaverilla tiiminvetäjän kanssa, jossa katsottiin projektin tilannetta. Yritimme myös yhdessä miettiä edellisen viikon testiajossa ilmenneen virheen syytä. Emme päässeet asiassa eteenpäin, ja sovimme tälle viikkoa vain että selvittelisin asiaa aiemmin auttaneen sovellusarkkitehdin kanssa toisessa palaverissa. Vielä ennen sitä sain debuggaamalla projektia selville hieman vielä tarkemmin ongelman alkuperää. Arkkitehdillä olikin jo samoin tein idea, mistä ongelma johtuu. Liferay käyttää eräänlaisia notaatioita komponenttien tunnistukseen. Rest-applikaation, ja työkalun ollessa erillisiä komponentteja saman projektin sisällä, ei työkalua kuulu luoda Rest-applikaatiossa kuin tavallista luokan oliota. Sen sijaan Rest-applikaatiolle pitää antaa "referenssi notaatio" työkalusta. Tämä poistikin aiemman virheen, mutta aiheutti uuden. Nyt koko Rest-applikaatio ei toiminut ollenkaan. Katsoimme kuitenkin referenssin olevan oikein tehty, joten seuraavaksi alamme tutkimaan tätä uutta virhettä. Kuitenkaan en koko viikon aikana onnistunut ratkaisemaan ongelmaa, eikä arkkitehti kerennyt myöskään tekemään asialle mitään. Sain kuitenkin muilta osin jatkettua kehitystyötä. Kun tuntui etten itse saa ongelmaan mitään ratkaisua, siirryin rakentamaan käyttäjän UI:hin syöttämien tietojen lähettämistä Rest-applikaatiolle. Samalla sain lisäharjoitusta http-pyyntöjen tekemisestä Javascriptillä. Loin käyttöliittymä portlettiin funktion, joka lähettää syötetyt tiedot POST-pyynnöllä rajapintaan. Lisäksi muokkasin aiemmin testausta varten luodun GET-pyynnön hakemaan vastauksen pyynnön onnistumisesta applikaatiolta niin, että pyyntö lähetetään vasta kun POST-pyyntö on saatu loppuun. Vastaus tulee string tietona ja tulostuu UI:lle. POST-kutsu taas lähettää syötteet Json muodossa, jonka Rest-applikaatio vastaanottaessaan muuttaa Stringiksi. Myöhemmin viikolla tein myös funktion, joka pilkkoo vastaanotetun datan takaisin kahdeksi eri tiedoksi, ja siistii niistä ylimääräiset merkit ja tiedot jota Json-datassa syntyy. Jatkoin vielä funktion kehitystä niin, että se myös tarkistaa onko annettu data tyhjää. Jos edes jompikumpi syötteistä on tyhjillään, työkalua ei kutsuta ja virheestä ilmoitetaan käyttäjälle. Kehitin lisäksi projektiin virheenkäsittely ja debuggaus järjestelmää, jonka myötä sekä käyttäjälle, että lokitietoihin tulee nyt selkeää infoa, missä kohtaa mahdollinen virhe tapahtuu. Myös käyttäjän validointi kertoo nyt selkeästi missä kohtaa se epäonnistuu. Olen myös muun työn ohessa siistinyt ja yksinkertaistanut projektin koodia. Tiivistettynä kehitystyö edistyy tehokkaasti, ja olen siinä sivussa opetellut jälleen uutta, ja myös virkistänyt muistia Java-kehityksestä. Olen myös onnistuneesti saanut haettua apua ongelmatilanteessa, ja yrittänyt parhaan kykyni mukaan selvitellä sitä itse. Omasta mielestäni olen saanut tehokkaasti käytettyä kaiken sen ajan, joka minulle muilta työtehtäviltä on nyt vapautunut. Projektin kehitystyön seurantaan käytettyä Kanban-boardia olen päätynyt päivittämään myös aktiivisesti niin edellisten tehtävien sulkeutuessa, ja uusia tehtäviä avatessa. Kehitystyön eteneminen sai myös pomoni kysymään olisiko mahdollista demoa pystytty lähiaikoina jo pitämään firman sisällä, mutta se riippuu hyvin paljon nyt uuden ongelman ratkeamisen aikataulusta. Työkalua on hieman vaikea demota, jos se ei toimi. #### Käytetty työaika viimeiseltä viikolta: ![](https://i.imgur.com/9tRr38S.png) #### Koko projektin työaika tähän mennessä: ![](https://i.imgur.com/VyFjpw4.png) ###### tags: `ICT-toimeksiantoprojekti`