160507 - siste innspurt/done

Vi har endelig fått levert rapporten og ser frem til fremføring den 15. juni på NITH.

Rapporten ble printet ut på Allkopi og levert i studieadministrasjonen kl 1345!

Det som gjenstår nå er å lage en presentasjon for fremføringen. Vi tenkte at vi kanskje skulle dra den litte legere enn å bare ha en powerpoint presentasjon.... men vi får se hva vi får tid til siden vi har et par eksamener i mellomtiden.

090507 Dag 49 - Refactoring

I dag har vi laget nye tasker som har med rapportskrivingen å gjøre. Vi vil på mandag etter fremvisning til Eric/Ove, begynne å skrive ferdig rapporten. På onsdag 16.mai skal rapporten leveres, før kl 15. Vi må regne med nesten hele denne dagen på "klipping og liming", osv.

Nettsiden som viser søkeresultatet har fått "ny design". Vi har lagt til en avansert søkeside som skal la bruker velge litt mer spesefikt hva han vil søke på. Bruker kan nå søke og velge hvor mange resultater han vil ha per side.

Deler av rapporten er lagt inn i testdatabasen. Vi har indekser denne og kan søke i vår egen rapport!

Det har blir gjort en del refaktorering av kode. Både på serversiden og på klientsiden. Måten vi gjør om resultatobjektet, detachedHit, og viser det er litt hodebry, men dette er ikke noe problem.

Kurt spiker videre på roller og sikkerhet, som skal gi gitte brukere rettigheter på hvilke søkeresultater de skal få tilbake.

080507 Dag 48

Jobbet med utseende til søkeresultatet.

Ferdigstilt fjerning av alle HTML tags.

Morten har nå gått gjennom alle kommentarer fra Pål og oppdatert rapporten. Nå er det det diskusjon, resultat og sammendraget som gjenstår.

Begynte en spike på Security (username, password og roles).

070507 Dag 47

I dag er tasken med å droppe HTML tags i index nesten ferdig. Kristian og Kurt har tweaket GUI'en på klienten, og vi har satt opp antall treff per side som brukeren kan forandre på.

020507 Dag 46 Besøk av Pål

I dag gikk burn down charten ned med hele 23 timer! Det vil si at det kun gjennstår 10 timer med planlagte tasks denne sprinten. Dette måtte jo vi selvfølgelig ordne på, vi kan jo ikke komme i mål! Så vi lagde like greit 30 nye timer arbeid som vi kan bryne oss på.

De nye taskene er som følger:
Få på plass rettigheter for søk slik at brukere bare får opp artikler de har lov til å se
Droppe HTML tags fra index
Resultater av søk skal inneholde klikkbare kilder til original artikkel.
Avansert søk som gir mulighet for å spesifisere nøyere hva man er ute etter

Får vi på plass disse punktene så er vi så og si i mål med hovedmålet vi har satt oss for prosjektet, dett er veldig bra.

Etter lunch fikk vi besøk av Pål som skulle komme med tilbakemelding på første utkast av prosjektrapporten. Han synes det så bra ut så langt selv om et par av punktene i rapporten fremdeles er temmelig grove utkast. Vi fikk notert ned en del ting vi kan forbedre frem mot neste innlevering, men alt i alt så ser det ut til av vi er i rute også med selve rapporten.

Nå er det bare å stå på den siste etappen inn mot leveringen som er 16. Mai.

300407 Dag 45 Mekker litt mer på search-funksjonen

I dag syklet Kristian og Morten til Xait, det tok 23 min. Det er faktisk raskere enn bussen. Kurt er på konsert men kommer tilbake på mandag kveld.

Men uansett, vi la inn noen regex-setninger på hvordan vi skal sende søkeresultater tilbake til nettsiden. Tok bort html-tags++. Vi refaktorerte litt kode, la inn en dropdown som gjør at bruker kan velge antall søkeresultater per side. Dette skjer via en dropdownbox da. Morten skrev på rapporten.

Alt er nå i Maven. Nettsiden er i JSF og denne kaller på en EJB(compass) via en WebService som returnerer Resultat-Objekt-lista hvor objektet har tre variabler: tittel, body og link(dette kan endres på, variablene blir lagt inn av EJBen). Backingbeanen til JSF'en legger resultatet inn i liste som vi da viser.

Det vi må gjøre fremover er:
-legge inn roller(ikke mye, men bare proof of concept)
-lese litt mer på hvordan man skal lage/vise vansertsøk(radiobuttons med kolonnesøk, søke på hele teksten, eksempel på syntax)
-skrive på rapporten, mer på diskusjon og metode(møte med pål på onsdag 2 mai)
-indeksere mer av ejbene, snakke med erik eller ove om hva de vil kunne søke på
-webservice, @WebserviceRef, finne ut hvorfor denne ikke funker


Nå er det tid for 1.mai!

250407 Dag 44 Google rip-off

Jobbet med å lage litt pagingfunksjon på søkeresultatet, al-a Google.
Nå begynner det å ligne på noe.

La inn prosjektet i Maven->jetty. Nå kan vi redigere jsf/jsp sidene og noen sekunder etter lagring er JBoss AS oppdatert.

240407 Dag 43

I dag har arbeidet fortsatt på Sprint 8. Det nærmer seg første versjon av WebService på server og for klient. Det har også blitt skrevet sprintrapport for sprint 7. Vi venter fremdeles i spenning på tilbakemelding på oppgaven som vi leverte i påsken.

Alt i alt ser vi positivt på at vi klarer å oppnå målene vi har satt oss for både sprint 8 og for selve hovedprosjektet.

230407 Dag 42 A new dawn

I dag har vi startet den aller siste sprinten i prosjektet vårt.

Vi fortsetter der vi slapp i sist sprint, hovedsaklig med noen NetBeans prosjekter som måtte in i Maven.

Har fått NetBeans prosjektene til Kurt og Kristian inn i Maven nå, slik at vi kan jobbe på samme prosjekt.

WSGen som Kristian pratet om finnes også til Maven, i form av axistools-maven-plugin som bruker Axis2 til å generere klassene. Forskjellen er at vi må lage et Maven prosjekt for WebServicen og et Maven prosjekt for klienten, siden klienten trenger enten WSDL'en eller klassefilene fra WebServicen under compiletime, og det var ikke så lett å få til når begge deler var i ett og samme prosjekt.

180407 Dag 41 CompassGpsDevice, Webservice og Maven2

I NetBeans:
EJB, med kobling til DB gjennom Hibernate.cfg.xml, som kjører indeksering og webservice.
Dette gir raske søk fra WAR'en(jsf) via WebService(JAX-WS)

I Maven2:
Webservice-WSDL

Med andre ord:" vi får indeksert databasen og kan søke via webservice, og videre vist søket i en JSF", men dette er ikke i maven2 siden maven ikke alltid er like lett å ha med å gjøre. Mattis har tatt imot den "virkende" koden og skal implementere det i maven. Dette er i grunnen helt feil med det er sånn det ble. Er ikke helt sikker på hvorden man får lastet ned alle "stub-klassene" i maven(til bruk i backingbean'en som skal gi info til jsf'ene) siden man i NetBeans har wsgentool. Det finnes sikkert noe lignende i Maven.

Morten er syk i dag. Sovesyken eller noe går det rykter om.

På mandag skal vi vise det vi har kommet opp med til eric. Dette avslutter denne sprinten. Ny sprint på mandag. Dette blir den siste sprinten og da må det meste være på plass.....

160407 Dag 39 - Oompa, Loompa, doom-pa-dee-do

Oompa, Loompa, doom-pa-dee-do
I have a maven upload for you
Oompa, Loompa, doom-pa-dee-dee
resolved won't fix, bad group ID

What do you get when your license is wrong?
Your request is denied before too long
What if you request someone else's project?
What will be the answer, to, that?

You're not a developer...

Oompa, Loompa, doom-pa-dee-da
File it correctly, and up goes your jar
You'll have all your dependencies too
Like the Oompa Loompa doom-pa-dee-do

130407 Dag 38: One man army!

I dag har frafallet vært stort. Kristian er enda og leker i ørkenen, Mattis sover etter nattevakt og Kurt er syk etter nattlige aktiviteter. Dette har resultert i at jeg står alene igjen på skuten, jobber derfor hjemmefra.

Gjøremålene har ikke vært så alt for mange. Fullførte sprint rapport for sprint 6 og fikk levert inn utkast til prosjektrapport til Pål. Håper at ikke får så alt for mye å rette på :-)

Neste uke vil bli travel da vi bare har 10 dager igjen å jobbe på Xait og det er mye som må på plass for å få et resultat vi er fornøyde med.

120407 Dag 37: Rolig oppstart etter påske

Første dag etter påske, men det er bare Morten og Kurt som er tilstede.
Morten tar seg av oppdateringer på rapporten, mens Kurt jobber litt med Spiking på CompassGps.

Nå er det snart jul...

270307 Dag 36 - Kristian skriver blogg!

Kurt og Kristian prøver å få en webservice til å kunne sende en samling av objecter til "klient", men har problemer med dette. Får feil når man skal hente ut objektet igjen, fra lista vi får tilsendt.

Morten og Kristian skriver på rapporten.

Mattis viser alle hvordan han mener man skal teste. BDD. Han får "force'a" gjennom at Kristian skal lage ett nytt oppsett av en test som tester om en kalkulator kan dele to tall. "Test passed!"

Mattis og Kurt lager en test som skal teste søkefunksjonens funksjonalitet. De får det ikke helt til...

280307 Dag 35 - Sprintreview, planlegging og utepils

I dag har vi avsluttet sprint 6. Sprinten har vært preget av tidspress og ny teknologi.

Vi har i løpet av sprinten satt opp et miljø med Compass, Compass GPS, Lucine og MySQL.
Dette fungerer nå greit med Compass som indexerer et gitt mål til egen database.
Det som mangler er integrering i Maven2, men dette vil bli tatt i neste Sprint.

Gruppen har også jobbet med å få ferdig første utkast til prosjektrapportet, et beist som nå veier inn på nesten 12,000 ord..

Vi har også sett på Behaviour (aka Neckbeard) Driven Development, og Mattis mener han begynner å få dreisen på dette nå. Det vil bli forsøkt å jobbe etter denne metoden i neste Sprint.


Til avslutning vil vi ønske alle en god påske og forsiktig omgang med utepilsen!

Snakkes nere i Vågen!


260307 Dag 34

Har jobbet videre med testsuiten til Behaviour Driven Development, får startet testene fra FIT og får ut referat på websiden så er ganske fornøyd. Bloggen i dag blir ganske kort siden jeg kom for sent, så that's it :-)

Jo, vi begynner å merke at det er lite tid igjen nå så må nok stramme inn litt på kravene vi har satt oss slik at det blir gjennomførbart. Stay tuned.

210307 Dag 33 - Lucene Compass Gps

Mattis jobber videre med BDD og integrasjon med FIT.
Morten har jobbet noe med Mattis og noe på rapporten.

Kristian og Kurt har endelig fått til en liten testapplikasjon som indeksere en database i oppstarten og deretter oppdatere indeksen hver gang det skjer endringer mot databasen. Applikasjonen legger til data i database og gi tilgang til å søke etter informasjon. Etter flere dagers arbeid fungerer det endelig.

Nå begynner vi å nærme oss det vi skal lage i prosjektet.

200307 Dag 32 - Work work

I dag har vi jobbet videre med sprint 6.

Konfigurasjon av Compass viser seg å ta lengre tid enn forventet(suprise suprise) på grunn av dårlig dokumentasjon. Kurt klarte å grave opp et eksempel på et forum i et støvete hjørne av verdsensveven, så det går fremover. Har nå klart å indeksere data til en egen database og foreta søk mot den.

Det har også blitt jobbet med skriving på oppgaven slik at vi skal ha noe fornuftig å vise frem den 1. April.

Mattis nærmer seg en plan for gjennomføring av Behaviour Driven Design, noe som kan bli spennende å prøve i praksis.

190307 Dag 31 - Lucene og Compass GPS

Kristian og Kurt ser på eksempler av Lucene med bruk at Compass. Vi får til å lage POJOs som man legger inn i session og søker de opp fra index'en som blir generert.

For å kunne ha en index ut på en database, ser det ut som vi burde bruke GSP(device) funksjonen i Compass.

"Compass Gps is built on top of Compass Core module, utilizing all it's features such as transactions (including the important batch_insert level for batch indexing), OSEM, and the simple API that comes with Compass Core." Device: "...It might also provide "real time" monitoring of changes in the device, and applying them to the index as well."
Reff: http://www.opensymphony.com/compass/versions/1.1/html/gps-introduction.html

Morten skriver på oppgaven. Innledningen begynner å ta form. Han vil at noen andre skal lese gjennom for å sjekke om det ser bra ut. Han har også skrevet mer på teori delen.

Mattis lager enda mer tester. Han leser mer på BDD. Han skal finne ut om hvor mye vi egentlig må "teste" for at testingen skal bli nyttig og ikke unyttig, med tanke på at det er alt for mye arbeid å lage testene.

140307 Dag 30 - Oppstart av Sprint 6

I dag er vi igjen fulltallige.

Vi starter på Sprint 6:

  • Søkefunksjon i Compas Lucene

  • 100% testdekning

  • via Nettside/applikasjon og WebService

Dette er vel første sprint som går direkte på det oppgaven vår er definert som. Det er vil på tide, siden vi 1. april skal ha inne første utkast av rapporten vår.

Dagen går med til å sette opp stories, tasks og estimering av timer på taskene. Vi ser snart at dette blir en stor sprint, og vi antaligvis ikke kommer til å rekke WebService biten.

Mattis har sagt seg villig til å ta rollen som sjefspisker på Behaviour Driven Design. Han setter seg grundig inn i dette og styrer oss inn i dette i våre oppgaver.

Kristian og Kurt tar oppgaven med Compas Lucene, oppsett, DB tilknytning og testing. Indeksering av filene på en maskin fungere greit, og søk i indeksen. Så da er det BARE å få dette knyttet til DB.

Morten fungere som Scrummaster, tar seg av sprint rapport og at passer på at rapporten gå bra.

Her er siste nytt på PC fronten for de som er vant med skrivemaskiner:


130307 Dag 29 - Neckbeard Driven Development

I dag har vi lest mer på hvordan vi skal få til Behaviour Driven Development.

Siden gruppen aldri har jobbet med JUnit, JMock eller noen av rammeverkene før, valgte vi å bruke lang tid på å sette oss inn i stoffet.

Det finnes noen verktøy (JDave, JBehaviour) for å lage tester, og testene er satt opp på helt egne måter.

Det vi skal prøve å tvinge oss til å gjøre er å skrive testene før koden, men det er ikke like lett.

Diskusjonen går ut på hvordan vi skal starte programmeringen: Fra toppen mot bunnen eller fra bunnen og opp?

Vi fant ut en lur måte å finne ut hvor vi skal starte med å spørre "What is the next-most important thing my program doesn't do?" og så starte med hva svaret er.

BDD er veldig bygget rundt Userstories, så det passer inn med måten vi strukturerer arbeidsmetodene våre.

Et annet problem som dukket opp er hvordan vi skal utvikle et reusable domain layer. Er JBoss Seam så knyttet opp til presentasjonslaget at det egentlig ikke har noe med domenelaget?

Et forslag er å la JBoss Seam prate med en WebService, slik at selve applikasjonslogikken blir decoupled fra presentasjonslaget helt, men det presenterer nye problemer med hvor mye det er vits å ha JBoss Seam fra starten? Time will show.

120307 Dag 28 Sykdom og vår egen internett stjerne

I dag har det blitt jobbet med å fullføre noe av arbeidet vi påbegynte i sprint 5. Kristian har sett videre på WebServices og Morten har skrevet Sprint rapporter i Porter.
Mattis sover etter nattevakt, mens Kurt har blitt syk. Vi håper han blir frisk snart, god bedring!

Dag 28 var også starten på sprint 6, men på grunn av høyt frafall har vi valgt å avvente dette til i morgen.

Dagens WebService update: Tja, et bilde sier vel mer enn tusen ord...

Med andre ord så har vi ikke fått til så mye, dagen har gått med på å kjøre seg fast i halvferdige jalla tutorials og nedgradere JDK til 1.5 uten hell.. Jippiii!


In other news:

I helgen har Kristian jobbet med JBoss på egenhånd, i den forbindelse postet på JBoss.org bruker forumet. Etter googling og hacking så svarte han på sin egen post, noe JBoss folka var så fornøyde med at de like godt slengte svaret inn i sin offisielle wiki, bra jobba!

Tråden:
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=103572&start=0&postdays=postDays&postorder=postOrder&highlight=highlight
Wiki, under resource injection for managed beans:
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossWithJSFCDDL

070307 Dag 27 Embedable og WebService

Sprint 4 eller var det 5, er over.

I denne omgang har vi Seam i EJB 3.0 i Maven2 med JSF i JSP brukergrensesnitt. Dette funker. Webservice som skal tilby samme tjeneste som jsf-sidene, er ikke på plass. EntiyManageren vil ikke la seg opprettes, den har bestemt seg for å være NULL-> som igjen gir en NullPoint Exception. Googl'a litt på det. Til nå sier de at man skal ta en jndi lookup.. trodde man slapp dette med EJB 3.0?

Mattis har fått sydd sammen embedable container sammen med Seam. Dette vil si at man kan...<>. Vi har enda ikke programmert på den rette Behaviour-driven-test-desing-måten, hvor man lager tester først og så lager kode. Grunnen til dette er at måten og tankegangen er ny. Men dette kommer vel til å tre i kraft neste sprint siden Mattis og Morten har satt seg inn i og laget masse "test-cases".

Morten har dokumentert i Porter ang. Seam annotations og EJB patterns.

Burn-down-charten har steget ettersom vi har slått sammen sprint 4 og 5. Men siden Kurt har vært på HV-øvelse kan vi si at hvis han hadde vært der så ville det sett noe bedre ut.

Mattis og Morten skal skaffe seg et domene... noe som var en "hot topic" i dag. Mange gode forslag men det ene etter det andre var opptatt. De ender vel opp med noe som "nerdsatwork.com" eller "iwannabecool.com".....prikk prikk prikk

060307 Dag 26 Gavin King Approved

Dagen i dag har gått med på å henge seg fast på nye og spennende måter.



Morten har vært syk og Kurt er fortsatt på øvelse, så det har bare vært meg og Kristian på "jobb" i dag. Kristian har stanget seg fast i web services mesteparten av dagen. Jeg har ikke fått med meg så mye av hva som har skjedd utenom ett og annet klynk i fra kroken.

Jeg har jobbet videre med testing. Alt så vel og bra ut, helt til jeg skulle teste Injection og Outjection (Bijection) i en Session-bean. Siden dette er seam-spesifikk funksjonalitet, krever den at testene kjøres i et fullverdig miljø. Det vil si at jeg måtte ha opp og kjøre en embeddable EJB 3.0 container for å kjøre testene mine, noe som viste seg å være alt i fra enkelt.

Status på endt dag er circa åtte timer stanging med å få en Embeddable EJB 3.0 container til å fungere med Maven 2 og Seam, uten hell.

I morgen er en ny dag, så får sette alle kluter til og få det til da. Ellers håper vi jo at Morten blir frisk!

050307 Dag 26 Ny dag med nye fargestifter til

I dag startet vi på sprint 5. Vel å kalle det for en ny sprint blir å ta litt godt i, siden vi ikke ble ferdige med det vi ønsket i forrige sprint så har vi valgt å fortsette med de utestående oppgavene 3 dager ekstra. Forhåpentligvis vil det hjelpe på.

Jeg har sett litt nærmere på forskjellene mellom Hibernate Search og Compass for å se hviket rammeverk som passer best til oppgaven. Det kan se ut som om Compass er det beste for våre behov da det bruker en egen index database istedet for en filstruktur. En annen fordel er også støtte for transaksjoner slik man unngår inkonsistens og korrupsjon av indexen.

Mattis har laget spesifikasjoner(tester i behaviour driven design) som jeg har implementert i applikasjonen og som passerer test lifecycelen i Maven. Mattis har også drevet java-opplæring for meg, nyttige saker.

Kristian har ferdigstilt Bibliotek applikasjonen, refaktorert litt på koden og begynt å se på Webservices.

Kurt er MIA på HV-øvelse. Tipper det går i Torsk-i-tomatsaus rasjoner og annet snacks!

Gavin King har fremdeles ikke svart på mailen vår, så vi venter enda i spenning på hva GA kan bety for noe. Vi holder fremdeles en knapp på Gavin Approved!

280207 Dag25: Avsluttning på Sprint 4

Mattis og Morten har jobbet på TestNG. De har måtte forkaste MockObjects, da det ikke fungerer så bra sammen med TestNG. SeamTest har bedre støtte for MockObjects, så vi må muligens sjekke ut denne test teknologi også. De har generert interfaces for Kristian sine beans/klasser og implementert testklasser.

Kristian har jobbet videre på Library eksemplet, og har en funksjonell test på dette. Kurt har jobbet noe parallelt med Kristian for å finne ut av EJB parameter for relasjoner og hvordan disse virker. Vi har nå fått implementert Databaserelasjoner som er automatisk generert gjennom annotations i entity bean klassene.

Vi mangler fortsatt full testdekning og webservices, men føler alikevell at Sprinten har vært produktiv, da vi har fått hevet forståelsen for Seam/EJB Annotations og oppbyggingen/kommunikasjonen i EJB3/Seam/JSF applikasjonen.




GK, where are you? Why don't you answer Morten??

270207 DAG 24

Dag 24 gikk heftig for seg.
Tiden gikk for det meste med på å lese teori og sette seg inn i Seam. Kristian fikk den nedstrippede utgaven av programmet til å funke med skikkelig lagdeling. Kjempe bra! Han starter nå arbeidet med den fulle applikasjonen.

Kurt har jobbet med Kristian, mens Morten & Mattis har plaget de andre med dårlige vitser og lesing på Seam i et tappert forsøk på å lage en test etter Behaviour Driven Design prinsippet. Vi så på mocking av objekter og hvordan dette skulle fungere sammen med TestNG og SeamTest klassen.

Alt i alt en så som så produktiv dag, men det går fremover!
Keep on truckin'

260207 DAG 23

Kurt og Kristian jobber sammen med å lage et enkelt EJB 3.0 prosjekt. Går lekende lett når backing bean er på plass. ->Videre til EJB 3.0 med Seam... litt knotete. Annotations @In, @Out, @Stateless og interface Local blir droppet i fordel for get og set metoder... Var ikke helt sikker på om dette var den rett måten... Får litt input fra de andre gutta, men det er mye frem og tilbake. Vi går tilbake til @Stateless og interface...

Vi finner mange gode eksempler på akkurat det vi jobber med men de er ikke helt som vi har tenkt. Det kaller rett til Entity bønnen i eksemplene. Vi vil kalle en session bean som igjen kaller på entity bønnen.

MavenSeam prosjektet på SVN er nå klart. Trenger bare å ta en mvn install så er alt på plass.

Mattis spiker på Mock objekter.
Morten er hjemme etter nattevakt.

230207 1632 DAG 22

Dagen i dag har vært lite produktiv, med tanke på programmering. Det har blitt lest på EJB 3.0 og Morten har skrevet ferdig sprint review i Porter. Mattis har sett på Annotations og hækki-sækka med disse.

Alle bortsett fra Kurt har hatt noen inne på soverommet i natt. Disse har da slått av vekkeklokken, slik at de det gjelder, har forsovet seg. Kristian våknet av seg selv og tenkte: "Jeg er jo ikke trøtt... det må være noe galt!". Han forstod raskt at han hadde forsovet seg og løp til bussen.

EmbedableContainer(MicroContainer i JBoss)->digging deep.... Kurt spiker!

God lunsj i dag... litt variasjon fra kalkun og chilie... rekesalat er fredagskost... + at Mattis kom med cola og dårlig samvittighet!

Xait-skjorter er delt ut... "Kanskje de skal innføre dress code?"
Det blir godt med helg!

220207 1950 DAG 21: START SPRINT 4

Dagen i dag har gått med til oppstart på Sprint 4. Denne sprinten skal være en videreføring av Spring 3.
Vi skal i denne sprinten lage en helt strippet ned JBoss AS, Hibernate, EJB 3.0, Seam og JSF applikasjon med WebService. Vi har nå litt erfaring med teknologien, men trenger fortsatt mer forståelse for hva de forskjellige annotations betyr, og hva som er påkrevd for å får EJB til å snakke med databasen og JSF til å kontakte EBene via Seam.

Vi har i dag laget UserStories med tasker for denne Sprinten, testet litt mer på TestNG, begynt på å lese oss mer opp på Test Driven Development (TDD) og Behaviour Driven Development (BDD), samt startet en minimalistisk applikasjon med en tabell, en EB, en DAO, en SessionBean, en registrerings JSF og en "utskrifts" JSF. Dette for at alle skal komme inn i det med TDD/BDD og forståelsen av alle annotations.

Mål med sprinten:

  • Bibliotek applikasjon med 100% testdekning
  • WebService
  • Tydelig lagdeling
  • EJB 3.0 koblinger
  • Forskning på søk



GA = Gavin Approved?? Sendt epost til G King og spurt og venter i spenning...

210207 1950 JSF, Maven, Seam, EJB. The usual routine

I dag har vi jobbet en god del med JSF bibliotek eksempelet.

Kristian og Kurt har gjort en veldig god innsats med bibliotekeksempelet, de har laget en versjon som kan registrere bøker og liste de ut. Det høres enkelt ut, men å registrere en bok på tvers av en webside laget i JSF, tolket av Seam, koblet mot EJB 3.0 som bruker Hibernate mot en SQL server, er ingen enkel affære.

Morten har jobbet med Selenium og satt seg inn i hvordan det virker. Han fikk testet Cargo plugin i Maven og klarte å automatisk deployere EAR filen på en JBoss applikasjonsserver.

Jeg har jobbet med en litt tidligere versjon av NetBeans prosjektet Kurt og Kristian har laget for å få det over i Maven, men er ikke helt i mål enda.

I dag har vi også hatt besøk av Pål, veilederen vår fra NITH. Han sjekket at vi ikke er låst nede i en mørk kjeller uten kaffe. Vi fikk presentert teknologisstacken for Pål og vist et eksempel på hvordan det jobber i sammen.

Ellers er vi ferdige med sprint 3 og har hatt et sprint review møte. Der har vi gått gjennom siste sprint. Vi har identifisert problemer som vi hadde sist sprint, spesiellt er Kristian lei av å måtte stå oppreist om morningen, så vi skal begynne med sitdown-meetings i stedet for standup.

Eric og Owe var med og fikk sett på det vi har produsert og identifisert målet for neste sprint.

200207 1401 Dag 19 JSF & EJB happy happy fun house

*Oppdatering*

Kristian fikk til applikasjonen og alt virker nå som det skal.
Her er et bilde av Kris og Kurt som feirer med en liten dans:



I dag er siste dagen av Sprint 3 og dagen preges av å få gjort unna mest mulig av taskene som må på plass for å oppfylle målsetningen vår som var å få opp en bokside hvor man kunne registrere og liste ut bøker ifra forskjellige biblioteker. Dette skulle også testes. Teknologiene som skulle brukes var JSF, EJB3, Seam, TestNG. Bøkene skulle registreres i en MySQL database for så å kunne listes ut senere. Hele sulamitten skulle bygges med Maven2.

Kristian og Kurt jobber videre med å få JSF & EJB på stell. Dette viser seg å være lettere sagt enn gjort, og selv om Gavin King sier "Det er så lett at morra mi skulle fått det til!" så møter vi stadig nye hindringer.
Men det skal være sagt, selv om alt ikke virker som det skal så er mye gjort. Selve JSF siden er oppe og kjører, og man kan lagre data i databasen. Problemet ligger i det å lese ut alle dataene fra de forskjellige tabellene og populere dropdown listene, men men det order seg for snille gutter!

Morten og Mattis har fått på plass en TestNG prototype mot en prototype av Bok-applikasjonen, så den delen anser vi som fullført.

I morgen avslutter vi sprinten, kjører sprint review og sprint planning meeting, får besøk av Pål for å vise hvordan vi har det og starter på neste sprint.

190207 - Dag 18 -> bokreggis!

Vi startet dagen med en scrum. Mattis har gått nattevakt og er derfor hjemme i dag. Vi estimerer og får burndown chart'en ned til 49 timer... ser bra ut...

Kristian jobber med å få EJB 3.0 og seam til å igjen bruke JSF som kan registrere bøker og forfattere i databasen.... tok litt lengere tid enn forventet ja.... "king e kung!"

Kurt spiker på lucien og compass.

Morten skrev i Porter, og klarte selvfølgelig å ødelegge conversion funksjonen(pdf). Typisk Morten!

Vi tre hadde et lite møte med Ove hvor han kjapt viste oss noen Seam/EJB kodesnutter som helt sikkert kommer godt med.... men husker ikke noe av dem nå...

Nå har alle fått seg egen green-chilie!

140207 1638 Dag 17 - Burndown (to hell) chart

Dagen i dag her vært nok en dag i frustrasjonens tegn. Hele gruppen har i dag jobbet, mer eller mindre, på Gavin King eksemplet. Det har vært noe fremskritt i forståelsen vår av pakkeoppbyggingen og deploy strukturen, men vi har fortsatt ikke en Maven bygget deploy pakke som fungerer.

Daily standup viser at burndown chart'en bare flater ut. Dette kalles merkelig nok synkende velocity i Scrum. Merkelig siden det føles det som hastigheten bare blir høyere og høyere og retningen er rett (ned) til helvete.

Vi startet dagen med en "ren" Maven archetype prosjekt, og la til dependencies etter som vi støttet på behovene. Deretter tok vi en sammenligning av deploy(ear) filene for å finne hva som er forskjellig fra et Enterprise prosjekt uten Maven.

Hver gang vi tror vi har løst et problem så kommer neste. Vi har slettet omtrent alt som ikke gir noe virkning, og kommet ned fra 14M ear-fil til på det minste 11K.

Morten har i tillegg jobbet med TestNG og fått på plass en liten HelloWorld med TestNG testing.
Kris har jobbet videre med å forberede Entitybeans, slik at når vi får på plass Gavin King'en er dette klart til å legges inn.

Chilli update: USPS rapporterer at de forsøkt å levere varen kl 1548 på tirsdag. Typisk nok var ikke Morten der og tok imot stoffet vårt, så da får vi fortsette å snylte på Charlie...

130207 1758 Dag 16 - Hail to da King baby

Gavin King har som kjent laget et verktøy for å få EJB 3.0 og JSF til å prate sammen uten en masse krimskrams rundt, JBoss Seam.

Dagens update er litt vinklet fra min side siden jeg har sittet isolert med headset og spiket meg ihjel på JBoss Seam for å få det til å fungere med HelloWorld applikasjonen vår.

Scenario #1:
- NetBeans og Maven 2.
- HelloWorld POM prosjekt.
- JSF / Seam / EJB 3.0.

Scenario #2:
- NetBeans IDE og vanlig EAR prosjekt.
- Register eksempel fra Gavin King.
- JSF / Seam EJB 3.0.

Scenario #1 kaster the elusive nullpointer Jasper exception, helt til vi bruker TomaHawk taglibs og skifter ut en del JSF komponenter med TomaHawk sine komponenter. Men lo and behold, da fungerer ikke JSF <-> EJB lenger, ingenting blir nuket gjennom til databasen.

Hvis jeg setter tilbake til Gavin King sitt Register eksempel (ikke TomaHawk taglibs), er det JasperException igjen. Er noe med at Contexten ikke blir initialisert skikkelig, men vi trodde vi hadde fikset det med å ha en index.html side som forwarder deg til Seam siden, men akk nei.

Scenario #2 fungerer, enkelt og greit. Men det er jo uten Maven 2, FIT testene, rapportene og alt det vi brukte de første 10 dagene på å lage.

Så det siste som ble gjort i dag fra min side var å begynne helt fra bunn av med et Lunarlogic archtype til Maven 2 og bare Make It Work (tm), uten Fit tester og en haug med dependencies som ikke direkte har noe med Seam å gjøre. Planen er å strippe det ned til the bare minimum og så legge til alt det andre etterpå.

Utenom det har Kristian også jobbet en del med JSF og Seam. Han har laget en webside med en del JSF komponenter og fått dette til å virke, men dog ikke i Maven. Kanskje vi har en presentasjonslagspire..?

Kurt og meg har parprogrammert en del og hatt en del brainstorming og spiking for å få til JBoss Seam i Maven.

Morten har jobbet lenge og hardt med TestNG, som også er i en eller annen Beta Alpha RC0.5-SNAPSHOT versjon, og jobber for å få en forståelse for dette.

In other news, burndowncharten vår går med stødig kurs rett i dass, men det var egentlig ventet siden det er første forsøket vårt å estimere arbeidstid i et Scrum prosjekt.

120207 1243 Dag 15 - Doing Stuff

Idag har vi blitt ferdige med Story Card 1 som går ut på å skrive på prosjektoppgaven. Vi prioriterte denne storyen høyt siden det er viktig å skrive gradvis under prosjektet og ikke ha et maraton på slutten for å bli ferdige.

Ellers så har dagen idag gått treigt. Formen har generelt sett vært preget av en hard helg! Kristian har sett på TestNG(jeg prøvde tappert, men feilet spektakulært). Mattis har gjort, hmmm, noe. Kurt har jobbet med å få Gavin Kings eksempel til å fungere.

Etter å ha skrevet om Agile Methods og Scrum i dag fant jeg tilbake til denne morsomme stripen som spiller på prinsippet om Pigs and Chickens i Scrum. Pigs er de som har forpliktet seg til et prosjekt, mens Chicken's er andre personer som bare er løst involvert.


Chile update: Stoffet har kommet til Norge, og bør være fremme i løpet av en dag eller to! Det blir nesten som julaften og nyttår på en gang.

070207 1628 Dag 14 - Start Sprint 3

Startet dagen med et møte med Eric. Vi går gjennom Scrum-prosess, planlegger oppsett for Sprint 3. Her får vi konkritisert målsettingen som ble halveis definert i går.

Vi skal nå lage en WebService og en JSF-side som gjør kall mot en MySql-DB. Det skal kunne være mulig i begge tilfellene å legge inn bøker i et bibliotek, samt vise innhold.
Videre satte vi opp en ny Sprint-plan, litt mer complex enn tidligere. Vi føler vi nå har bedre kontroll på hva vi har å gjøre. Stories som gir konkrete tasks er "snæks"! Når alle task'ene var på plass estimerte vi timene de enkelte taskene "vil" ta og ut i fra dette satte opp en BurnDownChart.Den mest prioriterte story'en er rapporten. Derfor brukte vi nesten resten av dagen på å skrive dokumentasjon i Porter. Fungerer best i IE, men Kurt push'et grensen og nektet å svike FireFox.

Et lite møte med Ove og Eric ga oss ett overblikk av hva vi har i vente. Her ble det opplyst om hva som er "the big plan"... det vi nå har trent i 14 dager på, var ikke synlig i diagrammene... men vi har fortsatt mot, og ble enda litt mer motivert!

060207 1620 Dag 13 - Sprint 2 ferdig

Startet dagen med vår daily standup meeting (scrum).



Mattis fikk oppdatert Xait sin Maven 2 repository, og oppdatert POM'en vår, slik at vi nå kan laste ned Helloworld prosjektet vårt fra SVN og få hele repositorien lastet ned under build.

Morten har satt seg inn i Appfuse og best praksis for testing. Morten skal også ta på seg rollen som en slags gruppe Scrum master.

Kristian jobber videre med JSF og EJB3.0. Her er det mye å lære for oss alle, og vi setter opp dette som en egen "userstory" som alle skal gjennom.

Kurt ser noe på SVN. Her foretars det full rydding i directory strukturen, og alt som ikke er i bruk blir slettet.


Da fikk vi endelig ferdigstilt sprint 2, og kan kjører en demo for Owe og Eric.
Vi tar full lasting fra SVN, bygger, deployer, viser helloworld og testsite. Tar også en visning av Appfuse demoen vi har lastet ned.

Da er det klart for Sprint 3. Her vil målet bli Data in/out fra database med JSF/EJB3.0 grensesnitt. I tillegg skal vi lese oss opp på søkemotor teknologi.


Hi ho Silver....

050207 1450 Dag 12 - Install and destroy

Dagen i dag startet som normalt, møte rundt kaffetrakteren, diskusjon hvordan den beste kaffen blir kompilert. Det er fortsatt et mysterium hva som er årsaken til tre - fire heftige dunk etter circa ett min med kontinuerlig during.

Etter morgenrutinen var unnagjort startet vi arbeidet på å få opp HelloWorld applikasjonen vår. Eric ville at vi skulle kjøre en demo for å vise hvor langt vi er kommet i løypa.

Planen var å kunne vise den fram på en PC som ikke før hadde hatt applikasjonen, slik at vi kunne vise en demo helt i fra scratch. Det er et par små steg som må gjøres for å få det til:

#1 - Hente kildekoden fra en PC på nettverket (SVN).
#2 - Legge til alle avhengigheter slik at den lokale maskinen kan kompilere koden.
#3 - Kjøre 'mvn install' for å faktisk bygge selve applikasjonen.
#4 - Legge den endelige applikasjonen ut på en server (deploye den).
#5- PROFIT!

I dag derimot har makkverket bestemt seg for å ta en usving i 300 km/t og totalvrake alle drømmene våre.

Av en eller annen grunn hadde det ninjaet seg inn en merkelig feil hos Kurt der istedet for å åpne websiden, fikk han opp en boks som tilsynelatende uskyldig lurte på om han hadde lyst å lagre websiden til harddisk.

Feilen viste seg å være ebola i influensaklær og var så og si helt umulig å tracke ned. Vi fjernet alle mappinger til filer, herjet rundt, prøvde å renske opp, rulle tilbake prosjektet til tidligere versjoner der vi VISSTE alt hadde funket; to no avail.

Etter fire timer med feilsøking på Kurt sin maskin, slettet vi alt som hadde med prosjektet på Mattis sin maskin og startet på ny. I skrivende stund (kl. 15:00) kan jeg meddele at vi endelig har fått skrangelet opp på samme nivå som på onsdag sist uke, minus en god del sanity hos alle parter involvert.

Det er enda ikke helt oppe og sviver fordi JSF <-> EJB delen ikke fungerer helt som den skal, men vi har ihvertfall en webside som sier HelloWorld!

Så i morgen må vi sette alle kluter inn og få til noe som ikke ser ut som the bastard child til Gavin King.

Kristian har gjort noe lurt i dag og satt seg inn i EJB 3.0 spesifikasjonene i stedet for å slenge hodet i veggen på JBoss applikasjonserveren aka Spawn of Satan. Han har lovt å få til JSF og EJB 3.0 i løpet av morgendagen, hvis ikke skal han sniffe to striper med chillipulver i lunsjen.

Jeg tror jeg begynner å forstå hvorfor programmerere har dispansasjon til å være en smule eksentriske :-)

310107 1332 Dag 11

Idag har vi endelig fått utbytte av de siste dagers motgang. Kurt og Mattis klarte å få HelloWorld ut på JBoss AS og slapp ut et gledeshyl som hører mer hjemme på en fotballbane enn i et utviklingsmiljø. AppFuse er også oppe og kjører slik at vi kan studere deres bestpractice av bruk av de ulike teknologiene.
Dette medfører at vi nærmer oss hovedmålet for Sprint 2, noe vi hadde begynt å tvile senest i morges. Nå gjenstår siste finpuss med oppsett av tester så er alt i boks.


In other news så har vi bestilt hver sin 16oz pakke med Green Chile Pepper direkte fra New Mexico i USA!
Etter å ha trykket innpå med Charlie's Chile hver dag de siste ukene må vi begynne å tenke fremover til en tid der vi ikke lenger har tilgang til dette avhengighetsdannende pulveret.

Dagens Chile oppskrift: Grovt brød med jordbærsyltetøy og grønn chile..

300107 1730 Dag 10 - Maven2 Site, Appfuse

Etter god jobbing i går fortsatte vi med Maven2 Site tweaking. Fit-testene vil nå vises i en html-fil som igjen gir mulighet for å "browse" mellom de forskjellig.

Alle testene vi lager kan nå også vises på en felles side(Maven2 site), men det eneste som egentlig mangler er å få implementert velocity-doxia-plugin slik at vi kan få statiske html filer rett inn i "maven2 site look".

Vi har startet på Appfuse men ble møtt med "BUILD ERRORS". Dette må "tweakes" mer på.


Morten og Kurt har sett på JBossSeam... De kan deploye "vanlige"prosjekter, men ikke mer--> -complications with unknown deployment errors.


Morten says: "....man får kreft av å sitte på doringen."

290107 1730 Dag 9

Denne uken er vi igjen komplett gruppe.

Vi begynner nå å nærme oss en ferdig integrering av Mavin 2, SVN, Seam, JUnit, FIT og Cobertura.
Vi har fortsatt noen flere teknologier som skal integreres, men vi har da nådd målet for denne Sprinten (iterasjonen). Da er det bare en liten test-applikasjon, for å prøve ut miljøet, som mangler.

Kurt jobbet noe med Mattis for å finne løsningen på hvordan få ut startprosjektet på svn. Ellers jobbet Mattis sammen med Kristian og Morten med å få tilpasset Corbatura.

Kurt brukte noe tid på å prøve å sette seg inn i det han gikk glipp av i forrige uke, da han var på HV-kurs.


240107 1517 Dag 8

Snø, kaldt

Bussen er for treig

Morten og Kristian scrummer alene mens Mattis avspaserer

Kristian demonstrerer at Cobertura virker

Oppdaterer task board

Begynner på JBoss Seam opplæringsmateriell

Setter opp JBoss AS og Seam, prøver å deploye prosjekt
Vanskelig

God lunch, Charlies Chili + skinke = godt

Skitur på fredag?

The End

230107 1507 Dag 7

Mattis og Kristian er her i dag. Kurt er fortsatt på HV-øvelse og Morten er i rettsak.

DailyScrumming... Mattis og Kris planlegger dagen. Etter som vi ikke skal stange mer enn to timer uten å.... drikke kaffe blir vi enige i at vi..... ja stanger videre... Stang stang!

Kristian har sett på Cobertura Plugin. Up and running! Mattis har endelig fikset MattisPlug, dvs. han sletta hele pluggen og brukte en annen plugg. Dvs. at nå er FIT, JUnit og Cobertura klart, og er integrert med/i Maven2 (tror vi tralala!).

Mattis er en perfeksjonist med tanke på mappestrukturen(i Maven), han kom også med forslag å lage en Archetype som man kan bruke som en template for alle prosjekter... men det er vel ikke et "must" enda.

"Kristian henter kaffe til Mattis! Mattis henter ikke til Kristian!!!! "

PS: Xait har kjøpt nytt spisebord! Nå kan vi spise sammen med de andre.

220107 1900 Dag 6 - Houston, we got POM-blems

I dag har vært en ny dag med POM tweaking.

Dagen startet som normalt med et standup møte for å kartlegge hva som ble gjort på fredag og hva som er planen i dag. Utenom å snylte kaffe fra alle teammedlemmene, har Kristian funnet en bug i fit-maven plugin'en der det er sirkelreferanse mellom FIT test prosjektet og plugin'en. Det vil si at hvis FIT testene ikke er på plass i repositoryen i form av en JAR fil vil ikke pluginen kompilere, og hvis ikke plugin'en er på plass i repositoryen, vil ikke FIT testene kompilere.

Dette ble fjernet i løpet av dagen, men sliter med å referere til FIT testene, det ser ut som classpath'en / classworldene ikke blir arvet fra main POM prosjektet.

Har testet å sette classpath manuellt, men er ikke en løsning som er optimal siden det krever hardcoding kan det se ut som, og vi vil helst at pluginen skal være så anvendelig som mulig uten noe særlig konfigurering.

Plan B er å sjekke ut hvordan det blir gjort av Maven sin Surefire plugin og kanskje legge alle FIT testklassene i hvert individuellt prosjekt, men er ikke helt sikker på hvordan dette skal gjøres enda.

Vi har også startet SCRUM sprint nummer 2 der vi prøver å få på plass litt mer SCRUM og smidig metode tankegang innad i teamet. Det innebærer å bruke mer målbare oppgaver og oppdatere Track Board mer dynamisk, siden det har vært rimelig statisk gjennom første sprinten.

190107 0808 Dag 5

Dagen startet med det som heter Daily Scrum, som er en standup møte der vi forteller hva som er blitt gjort og hva planen for dagen er. Dette er en del av Scrum rammeverket.

Mattis er ikke her i dag p.g.a. nattevakt, MSN'en sier: "ligger nå og sover.."

I går ble MattisPlug RC1 ferdig, og alle sjekker den ut.


Etter lunsj jobbes det enda med MattisPlug, konfigurerer Project Object Model (POM'en) og life cycles som et prosjekt kan gå igjennom. Maven begynner å sitte hos gruppen.

På slutten av dagen lager vi FIT tester som kjører MattisPlug og fungerer.

180107 1330 Dag 4


Bilde av Track Board for første Sprint. Vi begynner å komme litt inn i Scrum tankegangen.


Etter noen førsøk på å integrere Mavin2 med Fitnesse, ble dette lagt vekk. Vi bestemte oss for istede integrere med FIT direkte (Fitness er et påbygg til FIT). Mattis har nå nesten klart plug-in til Mavin2 for å kjøre testene automatisk (mulig han er ferdig nå, da han satt igjen etter alle hadde gått).

Prosjekt plan ble skrevet i Porter, av Morten, og er sendt til Pål for godkjenning.

Kristian og Kurt har jobbet med å gjøre seg kjent med Wiki- og HTML-formatet til Fitnesse og FIT testene. Overgangen mellom Fitnesse og FIT er minimal, og bruken av HTML gjør at eksterne (ikke datakyndige) "Kunder" kan skrive testene ved hjelp av Word, og lagre som HTML.

170107 1505 Dag 3


Mattis jobber med å skrive Fitnesse plugin til Maven

Refactoring IDE:
NetBeans til Eclipse pga. Eclipse har en "lettere" implementasjon av Maven(fitnesse).

Tilgang til Porter er på plass. Vi setter oss inn i Porters funksjoner.

Små JUnit- og Fitnesse-tester er laget.

160107 1534 Dag 2


De første to dagene har det gått veldig mye tid med på å danne seg et inntrykk av hvordan vi skal angripe oppgaven. Vi må sette oss inn i veldig mange forskjellige teknologier for å komme oss til det punktet.

Idag har vi hatt to møter med Eric der vi har diskutert hvordan vi skal jobbe med Scrum og bruke denne teknikken for effektivt å løse oppgaven vår. Vi har også gått igjennom teknologiene vi skal bruke.

Vi har laget User stories med våre forskjellige mål med prosjektet sett fra et utvikler standpunkt og som studenter.

Det har også blitt laget Story Cards for de skrittene vi må ta for å komme oss til det punktet der vi kan begynne å utføre selve Søke oppgaven.

Selve miljøet begynner å komme på plass. Vi har Maven2, Fitnesse og JUnit oppe og kjører lokalt, men vi mangler å knytte Fitnesse opp mot Maven2. Jobber med å finne en løsning på dette.



De neste dagene kommer vi til å jobbe videre med å få knyttet Maven2 opp mot Fitnesse og JUnit på applikasjonserver, samt at Mattis har en spike for å sette seg inn i AppFuse.

150107 0950 Første dagen på Xait

Kurt og Morten:
Satt seg inn i Fitnesse og fått en applikasjon opp og kjøre med tester.

Mattis og Kristian:
Satt seg inn i Maven 2, har fått opp en applikasjon og integrert Maven 2 lifecycles i Netbeans.

Generellt:
Blitt introdusert til teamet her på Xait og startet debugging av kaffetrakter.