ShakeNet for t3h WiN!



Meny:
Hovedsiden
Registrer deg
Søke i tekster
Oppgaven

Valid XHTML 1.0!




Obligatorisk oppgave - HUIN205 Webprogrammering

Høsten 2005

Oppgaven går ut på å lage et verktøy for folk som forsker på Shakespeares skuespill Hamlet.
Forskerne skal kunne søke i Hamlet etter ord i replikker i stykket, de skal kunne legge inn
kommentarer til replikkene og de skal kunne søke etter andre forskeres kommentarer. Du skal
løse oppgaven ved å bruke PHP og MySQL. Vedlagt oppgaven er filene til de 3 av
Shakespeares skuespill som er aktuelle i oppgaven (Hamlet, King Lear og Othello), i XMLformat.
Løsningen skal inneholde følgende funksjoner:

1. Gjennom et webgrensesnitt skal brukernavn og epostadresse på nye forskere kunne
legges inn. Du må derfor ha en tabell i en MySQL-database med oversikt over og
informasjon om forskerne som har tilgang. Tabellen skal inneholde brukernavn og en
epostadresse.

2. Gjennom et webgrensesnitt skal forskerne kunne søke etter replikker i stykkene. De
må oppgi brukernavnet og en søkestreng. Hvis ikke disse to informasjonene er oppgitt,
kan søket ikke utføres, og brukeren skal anmodes helt til han oppgir begge.

3. Søket skal skje i XML-filen 'hamlet.xml', og du skal bruke SAX-parseren til å gjøre
søket. Resultatet av søket skal presenteres med navn på skuespill, scene, karakteren
som har sagt replikken, samt hele replikken. Den delen av replikken som matcher
søkestrengen skal være understreket. Ved siden av hvert treff skal det være fire
klikkbare lenker hvor man på den ene skal kunne klikke for å legge inn en kommentar
til replikken, på den andre skal man klikke for å se andre forskeres kommentarer til
den aktuelle replikken, den tredje lenken skal gi mulighet for å søke etter den samme
strengen i et av de andre stykkene og den fjerde skal gi mulighet for å avgrense søket.

Hvis man for eksempel søker i Hamlet etter ordet "king", skal første treff være:
Skuespill: Hamlet, Akt: 1, Scene: 1. Elsidore. A platform
before the castle.
BERNARDO: Long live the king!

Legge til kommentar?
Se kommentarer?
Søk etter samme i andre stykker?
Avgrense søket?

Hvis man klikker på lenken Legge til kommentar? skal man få opp en webside med et
tekstfelt til å skrive inn kommentaren. Kommentaren skal legges inn i en tabell i
databasen sammen med replikken det er en kommentar til, av hvilken karakter i
hvilket stykke replikken hører til, hvilken bruker som la den inn, og når hun gjorde
det. Dessuten skal det kommentaren klassifiseres under et tema som brukeren selv
velger. Hvis man klikker på lenken Se kommentarer?, skal man få opp en side med
informasjon om eventuelt tidligere kommentarer som er gitt til denne replikken, samt
mulighet til å legge inn en egen kommentar også her. Hvis man klikker på lenken Søk i
andre stykker? skal det søkes i Othello og Lear etter den samme strengen som først ble
oppgitt. Klikkes det på Avgrense søket? skal en ny side komme opp hvor man kan søke
på nytt og hvor den funne replikken er default verdi i tekstfeltet hvor søket angis.

[Bonusoppgave: når du får et treff på et søk la det i tillegg komme opp en femte lenke:
Se konteksten? Hvis man klikker på denne lenken skal replikken vises i den konteksten
hvor den forekommer, d.v.s. sammen med foregående og etterfølgende replikk. Alle
tre replikkene (eller begge to hvis det er første eller siste replikk) skal ha angitt hvilken
karakter som sier den.]

4. Forskerne skal også kunne søke i databasen etter kommentarer. Dette søket skal skje
direkte i databasen med kommentarer på basis av en søkestreng (for eksempel
sekvensen "to be or not to be"). Du skal selv vurdere hvilken tabellstruktur og hvor
mange tabeller som er hensiktsmessig. Treffene skal her presenteres med replikken(e)
- hvis det er noen kommenterte replikker som matcher den søkte strengen - og
informasjon om hvor den forekom (stykke, akt, scene, og karakter), samt hvilke
kommentarer som finnes til replikken, hvem som har lagt dem inn og hvilke tema
kommentarene er klassifisert under.

5. Det skal også kunne søkes etter kommenterte tema. Tema skal angis i en nedfallsmeny
på hovedsiden. Denne menyen skal genereres på grunnlag av de tema som er angitt av
de ulike forskerne når de har kommentert. Og hvis man velger for eksempel tema
"Sickness", så skal man få opp alle replikker som er kommentert under dette tema
sammen med kommentarene. På denne resultatsiden skal det også være en lenke til en
side som gjør det mulig å legge inn egne kommentarer til de kommenterte replikkene.

6. Løsningen skal ha en hovedside der brukeren skal kunne velge om han vil registrere
seg, søke etter replikker, eller søke etter andre forskeres kommentarer eller tema.
Det er lov å samarbeide, men du skal levere din egen løsning. Koden skal kommenteres, og du
skal skrive en rapport som i detalj beskriver strukturen i programmet, hvordan du har løst
utfordringene i søkene, samt tabeller og tabellstruktur. Denne rapporten skal gi en fremstilling
av programmet ditt, og vil bli tillagt stor vekt i vurderingen.
Besvarelsen skal bestå av rapporten, filene som utgjør løsningen samt en lenke til
applikasjonens hovedside. Rapporten (men ikke utskrift av koden) leveres i papirformat i tre
eksemplarer på forkontoret, påført kandidatnummer og adressen til applikasjonen. Elektronisk
versjon av rapporten og koden sendes som en zip-fil med epost til
christian.skaiaa@student.uib.no, og til Unn.Thorvaldsson@lili.uib.no.
Innleveringsfrist: 25. november 2005, klokken 12:00.