Kakapo-projektin 8. palaveri

Aika: tiistai 27.3.2007 klo 10:04 - 12:24

Paikka: sovellusprojektien kokoustila AgC223.1

Laatimisaika: tiistai 27.3.2007 klo 18:50

Läsnä:

1. Kokouksen avaus

Puheenjohtaja avasi kokouksen kello 10:04.

2. Sihteerin ja puheenjohtajan valinta

Ari Roponen valittiin puheenjohtajaksi ja Tero Roponen sihteeriksi.

3. Esityslistan hyväksyminen

Esityslistaan ei ehdotettu muutoksia.

Päätökset:

4. Edellisen palaverin pöytäkirjan tarkastaminen

Puheenjohtaja esitteli edellisen palaverin pöytäkirjaan merkityt päätökset. Kaikki muut sovitut tehtävät on varmasti hoidettu, mutta tarpeellisten porttien aukiolosta ei vielä tiedetä. Panu Suomisen mukaan tarvittava palvelin on jo toiminnassa, joten se saadaan käyttöön heti kun palomuuri on säädetty kuntoon.

Päätökset:

5. Projektin tila

Projektipäällikkö Anssi Pannula esitteli projektin tilaa. Ajankäyttö on alkanut tasaantua, mutta aikataulut ovat myöhässä. Varsinaisia ongelmia ei kuitenkaan ole, vaan aikaa on kulunut dokumenttien paranteluun sekä katselmoinnin aikana tehtyjen korjausehdotusten toteuttamiseen. Ensimmäisestä inkrementistä puuttuu vielä joitakin kohtia, kuten virallinen testaus ja asetusten laitto välilehdille. Nyt mennään kuitenkin kiihtyvällä vauhdilla eteenpäin, joten nämä kohdat hoidetaan pian alta pois.

Jukka-Pekka Santanen tiedusteli tarkemmin testauksesta. Varsinaista testaussuunnitelmaa ei ole tehty, sillä suunnitelmat sisältyvät testausraporttiin.

Nykyisessä testauksessa sovellukselle syötetään rajapinnan yli käsin tehtyjä kurssitietoja. Jussi Talaskiven mukaan testidata kannattaisi generoida automaattisesti, jotta se olisi riittävän vaihtelevaa. Panu Suomisen mukaan sovellusta kannattaa testata myös joillakin selvästi virheellisillä testidatoilla, koska sovellusta saattaa joskus kutsua jokin muukin kuin Korppi. Tällaisessa tilanteessa datan oikeellisuudesta ei ole mitään takeita, joten siihen kannattaa varautua.

6. Vaatimusmäärittelyn esittely

Ilmari Repo esitteli vaatimusmäärittelyä. Kuvia on jälleen kerran muutettu edellisen palaverin pohjalta, ja nyt ne keskitetään tulostusnäkymässä. Mukaan on otettu joitakin uusia vaatimuksia ja aikaisempia on järjestelty uudelleen. Prioriteetit ovat nyt 7. palaverissa päätetyn mukaiset.

Jukka-Pekka Santanen huomautti, että kuvan 3.3 kuvatekstissä pitäisi "hallinnoijan" sijaan olla "vastuuhenkilö". Dokumentissa on lisäksi joitakin kirjoitusvirheitä, mutta ei enää mitään suuria puutteita.

Todettiin, ettei erillistä vaatimusta Plonen puolella tehtävästä muokkaamisesta tarvita, sillä se kuuluu jo Plonen peruskäyttöön.

Vesa Lappalaisen mukaan on selvää, ettei Plonessa käsin räätälöityjä asetuksia pidä missään tapauksessa ylikirjoittaa. Tällä hetkellä olemassa oleviin kansioihin ei kosketa, mutta mahdollisiin konflikteihin pitää jo varautua.

Konflikti ilmenee esimerkiksi silloin, jos Plonen puolelta demoryhmästä otetaan tuntiopettajien kirjoitusoikeudet pois. Jos myöhemmin Korpissa lisätään uusi tuntiopettaja, tälle ei saisi antaa muilta jo aiemmin pois otettuja oikeuksia. Ongelma esiintyy kuitenkin vain silloin, jos oikeudet annetaan suoraan henkilölle; ryhmän kautta tulevat oikeudet eivät aiheuta ongelmia.

Jussi Talaskiven mukaan tieto mahdollisesta konfliktista tulisi Korpille sivuston päivityskutsun yhteydessä. Vesa Lappalainen täsmensi, että pelkkä tieto riittää, sillä varsinainen konflikti ratkaistaan Plonen puolella.

Todettiin, ettei vaatimusmäärittelyä voi oikeastaan hyväksyä ennen koko projektin päättymistä, sillä se muuttuu koko ajan. Pienten muutosten takia ei kuitenkaan tarvitse odottaa seuraavaan palaveriin, sillä ne voi käydä läpi sähköpostillakin.

Päätökset:

7. 1. inkrementin sovellussuunnitelman esittely

Anssi Pannula esitteli ensimmäisen inkrementin sovellussuunnitelmaa. Sitä on korjattu edellisen palaverin palautteen perusteella, ja siihen on esimerkiksi lisätty lyhyt navigointia käsittelevä luku. Jukka-Pekka Santasen mukaan navigointia pitäisi käsitellä hieman tarkemmin, ehkä jonkinlaisen kuvan kanssa. Panu Suomisen mukaan olisi hyvä lisätä maininta siitä, että navigointiasetusten järjestely jää loppujen lopuksi ylläpitäjän vastuulle.

Jukka-Pekka Santanen halusi tietää, kuinka esitettyjä ratkaisuja voisi hyödyntää muidenkin kuin kurssien yhteydessä. Hänen mukaansa joitakin termejä pitäisi tätä varten muuttaa yleisemmäksi, esimerkiksi "course" olisi yleisemmin "sivusto". Vesa Lappalainen ehdotti termiä "portal". Termi "teacher" on muutettava kuvaamaan yleisemmin vastuuhenkilöä.

Keskustelussa pohdittiin mm. sitä, voisiko kurssit ja muut ryhmät samaistaa, jolloin sovellus osaisi luoda sivustoja kaikille ryhmille. Panu Suomisen mukaan yleistämisessä on ongelmana mm. se, että kurssin id:llä ei välttämättä ole mitään yhteyttä ryhmän kanssa. Vesa Lappalainen kuitenkin huomautti, että tilanne on tarkoitus korjata.

Jukka-Pekka Santanen tiedusteli, kuinka konkreettisena suunnitelmien halutaan pysyvän. Jussi Talaskiven mukaan liian yleistä ratkaisua ei nyt kannata tehdä. Nyt riittää, että mennään oikeaan suuntaan, sillä toimivaa pohjaa on myöhemmin helppo täydentää.

Seurasi keskustelua siitä, miten kurssi-käsitettä voisi myöhemmin yleistää mille tahansa ryhmälle sopivaksi. Esimerkkinä mainittiin laitoksen intranet-sivusto.

Sovellussuunnitelman arviointia jatkettiin. Todettiin, että esimerkeistä puuttuivat mm. kurssien www-sivut, vaikka ne on toteutettu.

Keskustelu kääntyi kurssisivuston oikeuksiin. Vesa Lappalainen pohti kansiokohtaisten oikeuksien asettamista. Hän totesi, että kurssin id vastaa sekä kurssia että kurssilaisia. Hän esitti myös roolien periytymistä kansiohierarkiassa alaspäin. Puheenjohtaja huomautti, että aihetta käsitellään 2. inkrementin sovellussuunnitelmassa. Keskustelu jatkui kuitenkin samasta aiheesta jonkin aikaa.

Ari Roponen huomautti, että sovelluksen aiemmassa versiossa hierarkiat olivat rekursiivisia, mutta edellisten palaverien perusteella siitä oli luovuttu. Anssi Pannulan mukaan hierarkiaa oli jotenkin rajoitettava, jolloin Vesa Lappalainen ehdotti, että rajoitus tehtäisiin Korpin päässä.

Jukka-Pekka Santanen ehdotti rajapinnan versiointia. Ehdotus oli kaikkien mielestä hyvä, koska se mm. helpottaa rajapinnasta keskustelua. Jussi Talaskivi ehdotti "version"-tiedon tai vastaavan laittoa päätasolle. Eri rajapintaversioiden sijoittelu eri paikkoihin ei hänen mielestään olisi välttämättä kovin järkevää toteuttaa.

Rajapinnan paluuarvoista todettiin, että numerokoodin käyttö on hyvä, mutta toinen parametri voi olla erityyppinen tilanteen mukaan. Esimerkiksi lista puuttuvista arvoista voi olla lista, eikä merkkijono. Panu Suominen ehdotti, että virheellisten arvojen tilanteessa voisi ilmoittaa halutun tyypin. Jussi Talaskiven mukaan virhekoodin lisäksi voisi palauttaa virheen aiheuttaneen tietorakenteen osan.

Seurasi keskustelua virhetilanteen seurauksista. Jukka-Pekka Santanen kysyi, mitä virhetilanteessa tapahtuu. Anssi Pannula kertoi, että nykyinen toteutus peruu kaikki virhettä edeltäneet toiminnot, eli keskeneräistä kurssisivustoa ei synny. Vesa Lappalaisen mielestä jo luodut osat pitäisi jättää paikalleen. Panu Suominen muistutti, että keskeneräistä sivustoa ei voi poistaa Korpista. Jussi Talaskivi huomautti, että luodun kansion poistoon vaaditaan ylemmän kansion oikeudet. Keskustelu jatkui jonkin aikaa, mutta lopullista päätöstä asiasta ei tehty.

Päätökset:

8. 1. inkrementin toteutuksen esittely

Anssi Pannula esitteli ensimmäisen inkrementin toteutusta. Esittelykone scaramangalla kurssit ovat nyt erillisen Large Folder -kansion sisällä, ja kansioiden otsikoita voi muuttaa.

Todettiin, että kurssikansioiden luontipaikka määritellään Plonen puolella, joten Korpin ei tarvitse välittää siitä. Jussi Talaskiven mukaan Korpissa riittää tieto kutsuttavan toolin sijainnista.

Eniten keskustelua aiheutti luotujen kansioiden tietojen säilyttäminen. Jussi Talaskiven mukaan nykyistä toteutusta ei tarvitse muuttaa, mikäli se toimii. Vesa Lappalainen ja Panu Suominen löysivät siitä kuitenkin joitakin mahdollisia ongelmatilanteita, jotka pitää ottaa huomioon.

Panu Suomisen mukaan "/"- ja "="-merkit otsikoissa aiheuttavat ongelmia. Tämän voisi ratkaista siten, että määrämuotoinen id siirrettäisiin muuttuvan otsikon edelle. Jussi Talaskivi muistutti, että Pythonissa on monipuoliset merkkijononkäsittelyfunktiot, joilla id voidaan etsiä myös merkkijonon lopusta. Vesa Lappalainen ehdotti arvojen laittamista lainausmerkkien sisään, mutta tästä ehdotuksesta ei juurikaan innostuttu.

Vesa Lappalainen muistutti, että kaikille kurssin sisältämille asioille on olemassa numeeriset id-arvot. Panu Suominen ehdotti näiden sijoittamista erilliseen kenttään. Hän myös muistutti "tiistai/luento"-tyyppisten tilanteiden ongelmallisuudesta: ne sekoittuvat hierarkian kuvauksen kanssa.

Ajanpuutteen vuoksi päädyttiin siihen, että projektiryhmä testaa sovelluksen toimintaa eri tavoin, ja toteuttaa korjaukset havaittuihin ongelmiin. Jussi Talaskivi vielä muistutti, että testauksia kannattaa tehdä myös tavallisina käyttäjinä, eikä vain ylläpitäjinä.

Päätökset:

9. 2. inkrementin sovellussuunnitelman esittely

Puheenjohtaja esitteli toisen inkrementin sovellussuunnitelmaa. Jukka-Pekka Santanen tiedusteli, tarvitaanko ensimmäistä taulukkoa mihinkään. Ari Roponen osoitti, että ensimmäisessä taulukossa käsitellään oikeuksia, myöhemmässä rooleja. Anssi Pannula muistutti, että nämä asiat tulevat varmastikin vielä muuttumaan.

Jussi Talaskivi muistutti, että Plonessa kaikilla objekteilla on oltava omistaja. Tähän tarkoitukseen sovelluksessa oli ajateltu käytettävän vastuuhenkilöä. Panu Suomisen mukaan omistajan voisi myös välittää rajapinnan kautta, jolloin sen puuttuessa käytettäisiin oletusomistajaa.

Dokumentissa mainittuihin avoimiin kysymyksiin saatiin viimeinkin vastauksia. Vesa Lappalaisen mukaan kurssikansio saa periä oikeuksia ylempää, ellei sitä erikseen estetä. Demo-ohjaaja ei puolestaan saa muokata muita kuin omia ryhmiään. Viimeinen avoin kysymys onkin sitten Korpin ongelma, johon ei tarvitse ottaa kantaa.

Jukka-Pekka Santasen mukaan "kurssikansio" ei ole hyvä nimitys. Hän ehdotti vaihtoehdoksi mm. "kurssin pääsivua". Hänen mukaansa termistöä olisi hyvä yhtenäistää, koska se helpottaisi eri dokumenttien seuraamista. Jussi Talaskivelle nykyinen termi kuitenkin sopii.

Jussi Talaskivi ehdotti ohimennen esityslistan laatimista sellaiseksi, että tärkeimmät asiat käsitellään kokouksen alussa. Nytkään kaikkia tärkeimpiä kohtia ei ehditty käsitellä kahden tunnin aikana. Aiheeseen liittyen hän muistutti, että Plonen roolit ovat kumuloituvia: autentikoidullakin käyttäjällä on anonymous-rooli. Hän myös korosti sitä, ettei authenticated-rooliin pidä kiinnittää huomiota.

Päätökset:

10. 1. väliesittelyn kalvojen esittely

Anssi Pannula esitteli ensimmäistä väliesittelyä varten laaditut kalvot. Jukka-Pekka Santanen kehotti siirtämään asiantuntijat tilaajien puolelle. Hänen mielestään esityksessä voisi antaa myös jonkinlaisen esimerkin materiaalin jakelun nykytilasta. Jussi Talaskiven mukaan Trac-ympäristöstäkin voisi kertoa jotakin.

Päätökset:

11. Muut esille tulleet asiat

Esille ei tullut muita asioita, joista olisi tarvinnut keskustella.

12. Sovitaan seuraavista tehtävistä

Seuraavista tehtävistä sovittiin:

13. Sovitaan seuraavan palaverin aika ja paikka

Päätökset:

14. Kokouksen päättäminen

Puheenjohtaja päätti kokouksen kello 12:24.