perjantai 11. tammikuuta 2008

Uusi Agilefant alla

Saimme vihdoin uudemman version (1.3.1) Agilefantista käyttöön. Logitus näyttää toimivan niinkuin pitääkin, eikä asennuksessa ollut ongelmia.
Tässä on mennyt suhteellisen pitkään, ja teillä näkyy olevan pari uudempaakin versiota valmiina. Pikaisesti vilkaistuna sinne oli tullut muutoksia ainakin tietokantaan. Miten päivitys 1.3.1 -> 1.3.3 onnistuisi?
Onko tuossa iterationx-logittavassa versiossa ja agilefant.orgissa saatavassa versiossa muuta eroa kuin muokattu log4j.properties?

torstai 8. marraskuuta 2007

Lokitus-ominaisuus implementoitu

Uusi versio löytyy war-pakettina osoitteesta http://users.tkk.fi/~rstrom/agilefant-1_3_1_iterationx.war. Tämä versio lokittaa normaalin lokituksen lisäksi käyttäjän ja actionin nimen tiedostoon ${CATALINA_HOME}/logs/iterationx.log, jossa ${CATALINA_HOME} on tomcat-palvelimen hakemistopolku.

Admin käyttäjän sisäänkirjautuminen näkyy lokissa esim seuraavasti:
2007-11-08 13:24:47,949 WARN http-8080-Processor25 org.acegisecurity.event.authentication.LoggerListener - Authentication event AuthenticationSuccessEvent: admin; details: org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: 4B429B434160D21587EDDD58FFB4A358

Admin käyttäjän Product-tason selaaminen näkyy seuraavasti:
2007-11-08 13:33:03,833 FATAL http-8080-Processor23 fi.hut.soberit.agilefant.web.RefreshUserInterceptor - Name: admin Action : fi.hut.soberit.agilefant.web.ProductAction@41c453

Admin käyttäjän BacklogItemin selaaminen näkyy seuraavasti:
2007-11-08 13:34:03,769 FATAL http-8080-Processor24 fi.hut.soberit.agilefant.web.RefreshUserInterceptor - Name: admin Action : fi.hut.soberit.agilefant.web.BacklogItemAction@feedca

Tämän version war-paketin asennus tulisi onnistua samalla tavalla kuin aikaiseman 1.2.1-version asennus, eli war paketti vain deployataan tomcattiin. Tietokantaan ei tarvitse tehdä päivityksiä. Jos tulee ongelmia tai epäselvyyksiä niin olkaahan yhteydessä.

keskiviikko 24. lokakuuta 2007

Lokitus

Tänään oli lyhyt kokous Teemun kanssa, jossa käytiin läpi tarkemmin tuota käytöstatistiikan keräämistä 'Fantista. Kokouksen päätteeksi lupasin selvittää Teemulle, voinko jollain tavalla exportata käytöstatistiikkaa siten että sitä voisi esim. jollakin Python-skriptillä parseroida. Tein nopean implementaation 'Fanttiin, joka kerää log4j:llä tietoa käyttäjistä.

Esim 1: Sisäänkirjautuminen
2007-10-24 18:14:42,523 WARN http-8080-Processor25 org.acegisecurity.event.authentication.LoggerListener - Authentication event AuthenticationSuccessEvent: admin; details: org.acegisecurity.ui.WebAuthenticationDetails@fffd148a: RemoteIpAddress: 127.0.0.1; SessionId: F6EC8A3B0B0053E977C7A2C77C3A767D

Eli tuo on yksi rivi agilefant.log-tiedostossa, jossa näkyy että 24.10. klo 18:14 käyttäjä 'admin' kirjautui Fanttiin.

Esim 2:
2007-10-24 18:16:24,232 INFO http-8080-Processor23 fi.hut.soberit.agilefant.web.RefreshUserInterceptor - Name: admin Action: fi.hut.soberit.agilefant.web.IterationAction@ed3e63

Tässä esimerkissä nähdään, että käyttäjä admin kutsuu IteraatioActionia, eli tekee Iteraatio-tason asioita.

Esim 3:
2007-10-24 18:17:21,525 INFO http-8080-Processor24 fi.hut.soberit.agilefant.web.RefreshUserInterceptor - Name: admin Action: fi.hut.soberit.agilefant.web.BacklogItemAction@1f7dab1

Tässä esimerkissä admin kutsuu BacklogItemActionia eli esim päivittää backlog-itemin effortLeftiä.


Teemu: riittääkö tämän tason lokitus teille? Pystytteko parseroimaan tuosta tarvittavan datan?

Avoimen lähdekoodin yhteisön tuki

Iteration X:n kanssa käytiin keskustelua mahdollisuudesta lokittaa Agilefantissa käyttöstatistiikkaa. Agilefant ei tällä hetkellä mahdollista tällaista toimintaa, eikä mitään siihen viittaavaa ole keskusteluissa asiakkaan kanssa ollut esillä.

On nähtävissä, että Agilefantin käyttäjillä tulee helposti ns. ykisttäistarpeita, jotka olisi toteutettava raa'asti koodaamalla. Muita mahdollisia ovat tuntikirjanpito, vaatimusten linkittäminen backlogitemeihin tms.

Tällaista open-source yhteisön osallistumista ei tueta hyvin; dokumentaatio on puutteelista ja vähäistä. Tämä on pitkälti seurausta Agilefantin skoopista: Fantti on proof-of-concept --työkalu, jota kehitetään akateemisen tutkimuksen ohella ja tukena. En itse usko, että kolmansien osapuolten kehitystyön tukeminen olisi järkevää resurssien käyttöä tämän ohjelmatyökurssin puitteissa (SEPA-kurssi taas on vähän toinen juttu... täytyypä Ronin kanssa pohtia, kuinka iso homma tuon koodaaminen olisi ja ehkä Jarilta kysellä, onko tällainen SEPA-kurssin puolesta hyvä juttu). Jatkokehitettävyys onkin sitten toinen juttu... teknistä speksiä on luvassa ja siitä varmaan jotain hyötyä open-source kehittäjille on.

sunnuntai 21. lokakuuta 2007

Iteration X on viimeinkin täällä

Olemme suunnitelleet Fantin käyttöä jo jonkin aikaa, mutta blogin sisäänajo on jäänyt tekemättä. Maranello on näköjään kirjoitellut senkin edestä :)

Lyhyesti, olemme jo asentaneet Agilefantin meidän palvelimelle, ja Agilefanttia tulee käyttämään kaikki ryhmämme jäsenet. Asennus onnistui hyvin. Emme ole kuitenkaan vielä päässeet ottamaan Fanttia varsinaisesti käyttöön verkkoteknisistä syistä. Kirjoitan asennuskokemuksistamme ja muista suunnitelmistamme tänne myöhemmin.

Muutamia kysymyksiä on tullut mieleen:
  1. Onko Agilefanttia mahdollista käyttää Javan vitosversiolla?
  2. Tarjoaako Agilefant jotain hyvää tietoa (esim. logia) sen käytöstä? Haluaisimme SEPA-työssämme arvioida kuinka paljon aikaa ryhmän jäsenillä kuluu Agilefantin käyttämiseen.

perjantai 19. lokakuuta 2007

Käyttäjänäkökulma

SEPA tulee rikastamaan etenkin 'Fantti-projektin vaatimusmäärittelyä, koska saamme nyt ns. neutraalin käyttäjänäkökulman. Varsinkin kunkin sprintin vaatimusten analysoinnin yhteydessä voimme haastatella Iteration X-ryhmää, miten he 'Fantin käyttäjinä kokisivat uudet toiminnallisuudet. Saamme myös tärkeää palautetta tämän blogin kautta, mihin asioihin tulisi 'Fantin kehityksessä kiinnittää huomiota.

keskiviikko 17. lokakuuta 2007

Toinen pilottiryhmä

Kuulin testauskurssin (T-76.5613) luennoitsijalta, että ainakin yksi ryhmä on valinnut kurssin harjoitustyöaiheekseen Agilefantin testaamisen. Tämä nähdäkseni sopii hyvin tähän SEPA-aiheeseen ja tuo minulle ja Ronille lisää sisältöä SEPA:n suorittamiseen.