Ylläpitodokumentti. Halaan-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Samankaltaiset tiedostot
Yhteenvetodokumentti. Halaan-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Halaan-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti Mooan

Lohtu-projekti. Testaussuunnitelma

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Suunnitteludokumentti

KYMP Webmail -palvelu

Asiointipalvelun ohje

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Opponointitestaus VYM -> LiKe

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Hallintaliittymän käyttöohje

Tietojen haku ja raportit

INTINU13A6 Java sovellukset

Action Request System

Käyttöohje. Visy Access Net UPM

Ohjeet S-ryhmän tuotetietoportaaliin

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Send-It ilmoittautumisjärjestelmä (judotapahtumat Suomessa)

ASIAKASRAPORTOINNIN OHJE

Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Testaussuunnitelma Labra

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

DOORSin Spreadsheet export/import

10. ASIAKASHALLINTA CRM; Osoitetarrat, ryhmäsähköposti ja export

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Visma Business AddOn Tositteiden tuonti. Käsikirja

T&M Autori Versio Series 60 -puhelimiin

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Sonyn suomenkielisen Web-portaalin käyttöohjeet

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

NTG CMS. Julkaisujärjestelm. rjestelmä

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

UTIFLEET-VARAUSJÄRJESTELMÄ KÄYTTÄJÄN OHJE. Gospel Flight ry

Vianova Systems Finland Oy:n Novapoint käytön tuki

Opettajan SoleOps -ohje

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Lemonsoft SaaS -pilvipalvelu OHJEET

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Osallistavan suunnittelun kyselytyökalu

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Sisällys Clerica Web-sovellusten käytön aloittaminen 2

Ohjeet asiakirjan lisäämiseen arkistoon

Tietokantojen hallinta

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Ohjelmoinnin perusteet Y Python

RATKI 1.0 Käyttäjän ohje

Fingridin säätösähkötarjousohje. Vaksin käyttöohjeet

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa

Office 365 palvelujen käyttöohje Sisällys

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Asiakashallinta. TaikaTapahtumat -käyttöohje

SAKU-materiaalit

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Käyttöohje. Mooan. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

NAVIGAATTORIN ASENNUS JA MUOKKAUS

1 (1) Maksujärjestelmät. Sisällysluettelo

Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Uutiskirjesovelluksen käyttöohje

Käyttöohje. Oppimistavoitteiden hallintajärjestelmä harri

Käyttöohje. Halaan-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SQL Buddy JAMK Labranet Wiki

Moodle opiskelijan opas. Verkko oppimisympäristön käyttö

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

Ohjelmisto on tietokanta pohjainen tiedostojärjestelmä, joka sisältää virtuaalisen hakemisto rakenteen.

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I2

Lyseopaneeli 2.0. Käyttäjän opas

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

HENKILÖLISTA-PALVELU Käyttöohjeet versio

Informaatiotekniikan kehitysyksikkö

JulkICT portaalin käyttöohje

Testausraportti v.1.3

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

Lukujärjestysten haku... 3 Yleistä... 4 Lukujärjestyksen haku opiskelijaryhmän perusteella... 5 Lukujärjestyksen haku toteutuksen perusteella...

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Järjestelmän syötteet ja tulosteet Kohahdus Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Meeting Plannerin käyttöohje

Titta-palvelun käyttöohje

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Suuli api dokumentaatio

Transkriptio:

Ylläpitodokumentti Halaan-ryhmä Helsinki 18.12.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Paula Kemppi Liisa Oikarinen Ville Palkosaari Maria Rinta-Opas Jaakko Sorri Marjaana Välisalo Asiakas Terttu Nevalainen Johtoryhmä Ilari Moilanen Kimmo Simola Kotisivu http://www.cs.helsinki.fi/group/ohtu/halaan Versiohistoria Versio Päiväys Tehdyt muutokset 0.1 27.11.2006 Hahmottelua 0.2 13.12.2006 Sisältöä 0.3 15.12.2006 Komponentit-lukua 1.0 17.12.2006 Ensimmäinen versio valmistuu

Sisältö i 1 Johdanto 1 2 Sanasto 1 3 Asennusohje 2 4 Muutokset dokumentteihin 2 4.1 Jäädytyksen jälkeen muuttuneet vaatimukset................ 2 4.2 Jäädytyksen jälkeen muuttuneet suunnitelman osat............ 2 5 Toteutumattomat vaatimukset ja suunnitelman osat 3 6 Testaus 4 7 Suunnitteludokumentista kokonaan uusittu komponentit-luku 4 7.1 Käyttäjien hallinta.............................. 4 7.1.1 useradmin.jsp........................... 4 7.1.2 userlist.jsp............................. 5 7.1.3 adduser.jsp............................. 5 7.1.4 adduserfunc.jsp.......................... 5 7.1.5 deleteuserfunc.jsp......................... 5 7.1.6 updateuser.jsp........................... 6 7.1.7 updateuserfunc.jsp......................... 6 7.2 Tiedostojen hallinta............................. 6 7.2.1 importdata.jsp........................... 6 7.2.2 importdatafunc.jsp......................... 7 7.2.3 exportdata.jsp........................... 7 7.2.4 exportdatafunc.jsp......................... 7 7.2.5 exporttext.jsp............................ 8 7.2.6 exporttextfunc.jsp......................... 8 7.3 Korpustietojen hallinta........................... 9 7.3.1 updatedata.jsp........................... 9 7.3.2 updatelist.jsp............................ 9 7.3.3 addcorpusdata.jsp......................... 9

ii 7.3.4 addcorpusdatafunc.jsp...................... 10 7.3.5 updatecorpusdata.jsp....................... 10 7.3.6 updatecorpusdatafunc.jsp..................... 10 7.3.7 repaircorpusdata.jsp........................ 10 7.3.8 repaircorpusdatafunc.jsp..................... 11 7.3.9 removecorpusdatafunc.jsp.................... 11 7.3.10 removecontainerfromlistfunc.jsp................ 11 7.4 Sisäänkirjautuminen............................ 12 7.4.1 login.jsp............................... 12 7.4.2 loginfunc.jsp............................ 12 7.5 Hakeminen................................. 12 7.5.1 ceec.jsp............................... 12 7.5.2 ceecfunc.jsp............................ 13 7.5.3 addquery.jsp............................ 13 7.5.4 addqueryfunc.jsp......................... 13 7.5.5 userquerys.jsp........................... 13 7.5.6 userqueryfunc.jsp......................... 14 7.6 Kuvaaja................................... 14 7.6.1 lettergraph.jsp........................... 14 7.6.2 lettergraphfunc.jsp......................... 14 7.6.3 persongraph.jsp.......................... 15 7.6.4 persongraphfunc.jsp........................ 15 7.7 Tuloslista.................................. 16 7.7.1 containerlist.jsp.......................... 16 7.8 Yksittäisen containerin näyttö....................... 16 7.8.1 collection.jsp............................ 16 7.8.2 collectionfunc.jsp......................... 16 7.8.3 letter.jsp............................... 17 7.8.4 letterfunc.jsp............................ 17 7.8.5 person.jsp.............................. 17 7.8.6 personfunc.jsp........................... 18 7.9 Työkalupalkki................................ 18 7.9.1 toolbar.jsp.............................. 18

iii 7.9.2 logout.jsp.............................. 18 7.10 Käyttäjän oikeuksien tarkistaminen..................... 19 7.10.1 checkifadmin.jsp.......................... 19 7.10.2 checkifcorpusadmin.jsp...................... 19 7.10.3 checkifmetadataexport.jsp..................... 19 7.10.4 checkifuser.jsp........................... 19 7.10.5 checkifuseradmin.jsp....................... 20 7.11 Muut..................................... 20 7.11.1 header.jsp.............................. 20 7.11.2 showerror.jsp............................ 20 7.11.3 showsession.jsp.......................... 21 7.12 Kaaviot tiedonvälityksestä......................... 21

1 Johdanto 1 Halaan-projektin tarkoituksena oli kehittää hakukone laajalle annotoidulle tekstiaineistolle VARIENG-tutkimusyksikön käyttöön. Tutkijat ovat koonneet elektronisen tekstiaineiston eli korpuksen vanhoista englanninkielisistä kirjeistä. Kirjeiden lisäksi tutkimusyksiköllä on kerättynä muutakin kirjeisiin liittyvää dataa, kuten tietoja kirjeiden kirjoittajista ja vastaanottajista. Tutkijat tarvitsevat hakukoneen, joka mahdollistaisi sosiolingvistiset haut, eli kirjeiden ja niihin liittyvien tietojen hakemisen tietokannasta esimerkiksi kirjoittajan sukupuolen, asuinpaikan ja kirjoitusajankohdan perusteella. Projektin tehtävänä oli koota metadatan sisältävät tiedostot yhdeksi tietokannaksi ja tuottaa järjestelmä, joka toimii hakukoneena edellä mainitulle aineistolle. Järjestelmä tarjoaa myös muun muassa mahdollisuuden muokata hakutuloksen esitystä ja tallentaa haulla rajattu osa-aineisto tai vain siihen liittyvä metadata. Korpukseen voidaan lisätä uutta aineistoa ja olemassa olevaa voidaan päivittää. Koska järjestelmän käyttö edellyttää kirjautumista, käyttäjätietojen hallinnointi on myös osa järjestelmää. Ylläpitodokumentti käsittelee sellaisia asioita, joita asiakas tai mahdolliset järjestelmän jatkokehittäjät tarvitsevat muokatakseen ohjelmaa. Dokumenttia ei ole tarkoitettu luettavaksi yksinään, vaan yhdessä suunnitteludokumentin ja ohjelmakoodin kanssa. Dokumentin tehtävänä on esittää kaikki ylläpitoon ja jatkokehitykseen liittyvät seikat ja raportoida toteutuksen eroavaisuuksista suunnittelu- ja vaatimusdokumentteihin nähden. 2 Sanasto Apache Tomcat Java Servlet-suoritusympäristö Boolean-tyyppinen arvo Arvo, joka voi olla vain joko tosi tai epätosi. Container-olio Olio, johon voidaan tallettaa tietoa. CSS Cascading Style Sheets Tyylisivut, jotka määrittelevät, miten HTML-elementit esitetään Data Yhteydestä riippuen viittaa joko tekstidataan (kirjeiden sisältö) tai metadataan (data, johon haut kohdistuvat). Hakulomake Hakusivu, josta käyttäjä voi valita hakuun vaikuttavat parametrit. Haku kohdistuu joko kirjeisiin tai kirjeiden kirjoittajiin tai vastaanottajiin. Hakutulos Hakuehtoihin täsmäävä lista joko kirjeistä tai niiden kirjoittajista tai vastaanottajista. Viitattaessa hakutuloksen tallennettavaan versioon pyritään puhumaan taulukosta tai CSV-tiedostosta. Hakutuloksesta voidaan tehdä myös graafinen esitys. HTML HyperText Markup Language Sivunkuvauskieli

2 Java Oliopohjainen ohjelmointikieli Javadoc Dokumentointityökalu JavaScript Skriptikieli, jolla voidaan lisätä web-sivuille dynaamista toiminnallisuutta. JDBC Java Database Connectivity Luokkakirjasto tietokantayhteyksien muodostamiseen JSP JavaServer Pages Javapohjainen palvelintekniikka dynaamisten web-sivujen tuottamiseen. JUnit Javapohjainen testikehys, jota voidaan käyttää testien ajamiseen ja joka mahdollistaa testien automatisoinnin. Korpus Elektroninen tekstiaineisto. Luokitteleva parametri Graafisen esityksen X-akselille sijoittuva parametri. Tämä parametri on oletuksena aika (kirjoitus- tai syntymävuosi), mutta se voi olla jokin muukin parametri, kunhan valitun parametrin arvot ovat koodi- tai boolean-tyyppisiä. Metadata Kirjeteksteihin liittyvä tieto, joka kuvaa itse kirjettä ja sen kirjoittajaa tai vastaanottajaa. Data, jota parametrit kuvaavat ja johon haut kohdistuvat. Sessio Järjestelmän käyttökerta. Palvelinpäässä ylläpidetään sessio-oliota, johon voidaan liittää erilaisia tietoja. Web-sovellus Selaimen välityksellä käytettävä palvelinsovellus. 3 Asennusohje Katso käyttöohjeen luku 3. 4 Muutokset dokumentteihin 4.1 Jäädytyksen jälkeen muuttuneet vaatimukset Vaatimukset eivät varsinaisesti muuttuneet vaatimusdokumentin jäädyttämisen jälkeen, joskin pieniä epätäsmällisyyksiä tuli ilmi projektin edetessä. 4.2 Jäädytyksen jälkeen muuttuneet suunnitelman osat Suunnitelmadokumenttia ei missään vaiheessa jäädytetty. Toteutukseen nähden siihen on tullut kuitenkin jonkin verran muutoksia. Suunnitteludokumentin Komponentit-luvun päivitetty versio löytyy luvusta 7. Päivitetty javadoc on luettavissa osoitteesta http://www.cs.helsinki.fi/group/halaan/doc/

5 Toteutumattomat vaatimukset ja suunnitelman osat 3 Kaikki vaatimukset on ainakin jollain tasolla toteutettu. Tässä luvussa luetellaan yksittäisiä kohtia, jotka olisi voinut toteuttaa paremmin tai kokonaan toisin. EduCode-parametrin sallitut koodit esiintyvät järjestelmässä kuten ne on vaatimuksissa kuvattu, mutta nämä osoittautuivat loppumetreillä aavistuksen virheellisiksi. Tätä ei kuitenkaan ehditty enää päivittää. Tiedostosta on siis mahdollista syöttää järjestelmään koodi, jollaista ei pitäisi voida olla olemassa (esim. AO), mutta esimerkiksi haun ja kuvaajan osalta tämäkin parametri toimii toivotulla tavalla. Sarakkeiden piilotus ei toimi oikein, jos käyttäjällä on useampia tuloslistoja auki samanaikaisesti ja hän haluaisi piilottaa eri listoista eri sarakkeita. Tämä johtuu siitä, että tieto piilotetuista sarakkeista laitetaan sessioon ilman viittausta tuloslistaan, johon ne liittyvät. Kuvaajan tallentava Save Graph -painike jäi toteuttamatta. Kuvaaja esitetään sivulla kuitenkin png-kuvana ja sen tallentaminen onnistuu helposti esimerkiksi hiiren oikean painiketta painamalla ja valitsemalla valikosta Save Image As... Alkuperäisissä vaatimuksissa kuvaajan pylväät toimivat linkkeinä, joiden valitseminen rajaisi hakua. Tämä ominaisuus jäi toteuttamatta, mutta haun rajaaminen onnistuu tietysti muokkaamalla alkuperäistä hakua hakulomakkeesta. Hakuparametrien välitys kuvaajaan ei toimi, jos tuloslistaa järjestetään jonkin parametrin mukaan ennen kuvaajan piirtoa. Tämä tarkoittaa käytännössä, että hakulomakkeessa kirjoitus- tai elinvuosiin laitetut vuosiluvut katoavat järjestämisen yhteydessä eivätkä kulkeudu kuvaajan alku- ja/tai loppuvuosiksi. Tämä johtuu puolestaan siitä, että järjestäminen luo kokonaan uuden tuloslistan, koska se on toteutettu tekemällä uusi kysely tietokannasta eikä olemassaolevaa listaa muokkaamalla. Kuvaajan luokittelevissa parametreissa olisi ollut monipuolistamisen varaa. Toisin sanoen kirjeen luokittelu voisi olla mahdollista useammankin kirjeen kirjoittajaan tai vastaanottajaan liittyvän parametrin mukaan. Kuvaajan luokittelevia parametreja ei kuitenkaan ole määritelty tarkasti vaatimusdokumentissa. Korpustietojen päivitys (Vaatimusdokumentin kohta 3.3.2, Tietojen korjaaminen ja poisto) muuttui hieman. Päivitettävä data haetaan tavallisen haun avulla, joten se voidaan hakea muillakin perusteilla kuin nimen tai tunnisteen mukaan. Tulossivulta siirrytään datanmuokkaustilaan, joka on tulossivun kaltainen näyttö, josta löytyy kunkin datarivin kohdalta delete- ja modify-napit. Delete poistaa datarivin tietokannasta, modifyilla pääsee muokkaamaan dataa lomakkeen avulla. Henkilöitä ei ehdoteta poistettavaksi, vaikkei niihin enää liittyisikään kirjeitä (Vaatimusdokumentin kohta 3.3.2, Tietojen korjaaminen ja poisto). Talletettujen hakujen poisto tai lisäys ei näy ennen kuin sivua päivitetään.

6 Testaus 4 Testaus ei muodostunut kiinteäksi osaksi toteutusprosessia. Suurimmaksi ongelmaksi muodostui projektin aikataulu, koska toteutuksen aloitus venyi, eikä toteutusta myöskään saatu projektin aikataulun puitteissa valmiiksi. Yksikkötestauksessa on analysoitu huolella luokat ja niiden toiminnallisuus ja testauksessa on keskitytty keskeisimpiin luokkiin. Yksikkötestauksen tasoa voidaan parhaimmillaankin pitää tyydyttävänä. Suunnitteluvaiheessa testausta ei ole otettu riittävästi huomioon, josta aiheutui testausongelmia. Esimerkiksi jsp-sivuilta löytyy toiminnallisuutta, jonka testaaminen on hankalaa. Seuraavien luokkien testaus jäi osaltaan kesken, joten ne saattavat vaatia lisätestausta: ceec.fileio.filestreamaccessor ceec.image.graphdata ceec.image.imagedatacreator ceec.image.imagecreator ceec.logic.interfacelogic Järjestelmätestausta ei ehditty tehdä kunnolla viimeisellä viikolla aikatauluongelmien vuoksi. 7 Suunnitteludokumentista kokonaan uusittu komponentitluku 7.1 Käyttäjien hallinta 7.1.1 useradmin.jsp Palvelu: Käyttäjienhallinta-sivu. Sisältää userlist.jsp:n. Parametrit: UserAdmin

5 7.1.2 userlist.jsp Palvelu: Sivu saa Sessiosta käyttäjätiedot, jotka se tulostaa listaksi. Listasta voi valita yksittäisen käyttäjän muokattavaksi tai poistettavaksi kohdan 7.1.6 lomakkeella. Parametrit: List<UserContainer> Jsp-sivu UserAdmin 7.1.3 adduser.jsp Palvelu: Sivulla on lomake, jolla voi lisätä käyttäjän. Käyttäjän syöttämät arvot tarkastetaan javascriptillä. Parametrit: - Jsp-sivu Javascript ei hyväksy käyttäjän antamia arvoja UserAdmin 7.1.4 adduserfunc.jsp Palvelu: Lomakkeenkäsittelijä, joka muodostaa saamastaan lomakkeesta UserContainerolion välitettäväksi eteenpäin. Parametrit: lomake (vastaavat tiedot kuin: UserContainer) UserContainer Operaatioita ei saada tehtyä tietokantaan. Käyttäjä jo olemassa. UserAdmin 7.1.5 deleteuserfunc.jsp Palvelu: Lomakkeenkäsittelijä joka poistaa valitun käyttäjän tietokannasta Parametrit: UserName käyttäjä Poistoa ei voida suorittaa. Yritetään poistaa viimeinen ADMIN-ryhmän UserAdmin

6 7.1.6 updateuser.jsp Palvelu: Tämä sivu luo lomakkeen käyttäjän tietojen talletukseen ja esitäyttää sen käyttäjän tiedoilla. Käyttäjän syöttämät arvot tarkastetaan javascriptillä. Parametrit: UserContainer jsp-sivu Javascript ei hyväksy käyttäjän antamia arvoja. UserAdmin 7.1.7 updateuserfunc.jsp Palvelu: Lomakkeenkäsittelijä joka korvaa kannassa olevan käyttäjäntiedot uusilla. Parametrit: UserContainer Käyttäjän tietoja ei onnistuta päivittämään. Yritetään muokata viimeinen ADMIN-ryhmän käyttäjä muuhun ryhmään. UserAdmin 7.2 Tiedostojen hallinta 7.2.1 importdata.jsp Palvelu: Sivu muodostaa lomakkeen, jonka kautta käyttäjän on mahdollista ladata järjestelmään uutta dataa tai päivityksiä sisältävä tiedosto. Päivityksen tyyppi tunnistetaan asiakkaan kanssa sovituista tiedostonimistä ja -päätteistä. Parametrit: - Importattu tiedosto, kontrolli siirtyy importdatafunc.jsp-sivulle. CorpusAdmin

7 7.2.2 importdatafunc.jsp Palvelu: Lomakkeenkäsittelijä, joka ottaa vastaan datan ImportData.jsp-sivun lomakkeelta. Tämä sivu pyytää requestilta content-type -nimisen otsaketiedon ja getreader()- funktiolla BufferedReader-olion, joka siis sisältää ladatun tiedoston. Sivu käyttää saadut parametrit ensin FileStreamAccessorilla, joka poimii niistä tiedostotyypin ja käyttäjän lataaman tiedoston. FileStreamAccessor palauttaa UpdateCorpusContainerolion, jonka tämä func-sivu ohjaa edelleen tiedostoparserille eli TextParser-luokalle. TextParser käyttää tiedoston jäsennyksessä apunaan StringMatcher-luokkaa. Jos parseri hyväksyy datan ja palauttaa epätyhjän List<Container>-olion, laitetaan lista sessioon add-parametrin arvoksi ja ohjataan käyttäjä addcorpusdata-sivulle. Parametrit: importdata.jsp-sivulla ladattu tiedosto List<Container>-olio sessioon FileStreamAccessor ei hyväksy tiedostonimeä tai ei onnistu löytämään tiedostoa ladatusta BufferedReaderista tai TextParser ei onnistu tiedoston jäsentämisessä. Kaikissa tapauksissa käyttäjälle annetaan virheilmoitus. CorpusAdmin 7.2.3 exportdata.jsp Palvelu: Lomake, jossa on Export Data -nappi. Liitetään tulossivuun aina, jos käyttäjän oikeudet riittävät. Parametrit: Napin kanssa samalla sivulla olevan tuloslistan yksilöivä numero. Tuloslistan id-numero piilokentässä, kontrolli siirtyy exportdatafunc.jspsivulle. MetadataExport 7.2.4 exportdatafunc.jsp Palvelu: Hakee parametrina saamansa id-numeron perustella List<Container>-olion sessiosta, tarkistaa yhdestä containereista tyypin ja luo sen mukaisen tiedostonimen, esim. kirjelistalle nimen letter.txt. Kertoo responselle, että pian olisi tulossa text/plain -tyyppistä dataa, joka pitäisi tallentaa tietyllä nimellä. Pyytää responselta PrintWriterolion, syöttää sinne ensin parametrien nimet ja sen jälkeen containereita yksi kerrallaan näiden tostring()-metodia hyödyntämällä tehden samalla pientä parserointia lähinnä 0- ja null-arvoihin liittyen. Lopuksi sulkeilee ja tekee muut lopputoimenpiteet käyttäjän pysyessä koko ajan tulossivulla.

8 Parametrit: Exportoitavan tuloslistan id-numero. Tab-eroteltu tiedosto käyttäjän koneella. Lista ei jostain syystä löytyisikään sessiosta tai se olisi tyhjä. Jokin voi mennä vikaan tiedoston streamauksessa. Kaikissa tilanteissa käyttäjälle näytetään virheilmoitus samalla tulossivulla. MetadataExport 7.2.5 exporttext.jsp Palvelu: Lomake, jossa on Export Text -nappi. Liitetään tulossivuun, jos on haettu kirjeitä ja käyttäjän oikeudet riittävät. Parametrit: Napin kanssa samalla sivulla olevan tuloslistan yksilöivä numero. Tuloslistan id-numero piilokentässä, kontrolli siirtyy exporttextfunc.jsp-si- vulle. MetadataExport 7.2.6 exporttextfunc.jsp Palvelu: Hakee parametrina saamansa id-numeron perustella List<Container>-olion sessiosta ja muodostaa versiotyypin mukaisen tiedostonimen, esim. plain-version kirjeille nimen LETTER. Käyttää InterfaceLogic-luokan metodia saadakseen ko. listaan kuuluvien kirjeiden haluttua versiota olevat tekstit tietokannasta listana Text- Container-olioita. Kertoo responselle, että pian olisi tulossa text/plain -tyyppistä dataa, joka pitäisi tallentaa tietyllä nimellä. Pyytää responselta PrintWriter-olion ja alkaa syöttää sinne containereiden tekstejä lisäten tyhjän rivin kirjetekstien väliin. Lopuksi sulkeilee ja tekee muut lopputoimenpiteet käyttäjän pysyessä koko ajan tulossivulla. Parametrit: Exportoitavan tuloslistan id-numero sekä versiotyyppi, jolla hakua on mahdollisesti rajattu hakulomakkeessa. Kirjetekstit sisältävä tekstitiedosto käyttäjän koneella. Lista ei jostain syystä löytyisikään sessiosta tai se olisi tyhjä. Jokin voi mennä vikaan tiedoston streamauksessa. Kaikissa tilanteissa käyttäjälle näytetään virheilmoitus samalla tulossivulla. MetadataExport

9 7.3 Korpustietojen hallinta 7.3.1 updatedata.jsp Palvelu: Nappi, jonka avulla siirrytään korpustietojen muokkaussivulle (updatelist.jsp). Parametrit: päivitettävän listan nimi sessiossa - CorpusAdmin 7.3.2 updatelist.jsp Palvelu: Sivulla on lista haetusta korpusdatasta ja vastaavien objektien tiedoista tietokannassa. Listan jokaisella rivillä on delete- ja modify-napit. Delete nappi poistaa rivin tietokannasta, modify vie käyttäjän updatecorpusdata-sivulle. Parametrit: päivitettävän listan nimi jsp-sivu CorpusAdmin 7.3.3 addcorpusdata.jsp Palvelu: Sivu näyttää tiedostosta tuodun parserin tulkitseman datan. Data erotellaan uuteen dataan ja päivitettävään (tietokannassa jo olevaan) dataan. Listasta voi poistaa rivin remove-napilla ja tietoja voi korjata repair-napilla. Parametrit: add -niminen lista, joka sisältää järjestelmään tuotavan datan jsp-sivu CorpusAdmin

10 7.3.4 addcorpusdatafunc.jsp Palvelu: Näkymätön sivu, joka vie addcorpusdata.jsp -sivulla näytetyn datan tietokantaan. Parametrit: updatelist -niminen lista, jossa on päivitettävä data ja insertlist -niminen lista, jossa on uusi data tietokanta päivitys tietokantaan ei saada yhteyttä CorpusAdmin 7.3.5 updatecorpusdata.jsp Palvelu: Lomake, jolla voidaan muokata yksittäistä tietokannan korpusdatariviä. Parametrit: listname, joka kertoo muokattavan listan (ArrayList) nimen ja index, joka kertoo muokattavan datarivin indexin listassa lomake CorpusAdmin 7.3.6 updatecorpusdatafunc.jsp Palvelu: Lomakkeen käsittelijä, joka vie updatecorpusdata.jsp:ssä muokatun datan tietokantaan ja sessiossa olevaan listaan. Parametrit: listname, joka kertoo muokattavan listan (ArrayList) nimen ja index, joka kertoo muokattavan datarivin indexin listassa tietokantapäivitys, muutos session listaan tietokantaan ei saada yhteyttä CorpusAdmin 7.3.7 repaircorpusdata.jsp Palvelu: Lomake, jolla voi muokata järjestelmään tiedostosta tuotavaa dataa ennen varsinaista tallentamista tietokantaan. Parametrit: listname, joka kertoo muokattavan listan (ArrayList) nimen ja index, joka kertoo muokattavan datarivin indexin listassa

11 lomake CorpusAdmin 7.3.8 repaircorpusdatafunc.jsp Palvelu: Lomakkeen käsittelijä, joka asettaa repaicorpusdata.jsp:ssä muokatun datan session listaan. Parametrit: listname, joka kertoo muokattavan listan (ArrayList) nimen ja index, joka kertoo muokattavan datarivin indexin listassa muutos session listaan CorpusAdmin 7.3.9 removecorpusdatafunc.jsp Palvelu: Poistaa updatelist.jsp -sivulla näytetyn datarivin tietokannasta ja session listasta. Parametrit: listname, joka kertoo muokattavan listan (ArrayList) nimen ja index, joka kertoo poistettavan datarivin indexin listassa poisto tietokannasta ja session listasta tietokantayhteydsessä ongelmia CorpusAdmin 7.3.10 removecontainerfromlistfunc.jsp Palvelu: Poistaa datarivin addcorpusdata.jsp:n näyttämästä listasta. Tällöin päivitystä tai lisäystä ei viedä tietokantaan. Parametrit: listname, joka kertoo muokattavan listan (ArrayList) nimen ja index, joka kertoo poistettavan datarivin indexin listassa muutos session listaan CorpusAdmin

12 7.4 Sisäänkirjautuminen 7.4.1 login.jsp Palvelu: Sivu vastaanottaa Sessiossa jo olevan mahdollisen virhetilanteen ja tulostaa sen. Sen lisäksi sivulla on lomake, johon syötetään tunnus ja salasana, sekä linkki ylläpidon sähköpostiin. Parametrit: Sessiosta saatu virhetilanne Käyttäjän syöttämät käyttäjätunnus ja salasana Tunnus/salasanaparia ei ole - 7.4.2 loginfunc.jsp Palvelu: Vastaanottaa login.jsp:n lomakkeen tiedot, ottaa käyttäjätunnuksen ja salasanan. Kutsuu niillä InterfaceLogicin getuserinfo:a. Jos kirjautuminen onnistui, vastaanotetaan UserContainer. Talletetaan sen tiedot sessioon. Ohjataan ceec.jsp-sivulle, muuten palataan login.jsp-sivulle ja talletetaan virhetilanne sessioon. Parametrit: Nimi, salasana UserContainer Käyttäjätunnus/salasanaparia ei löydy, tietokannan lukeminen ei on- nistu - 7.5 Hakeminen 7.5.1 ceec.jsp Palvelu: Sivulla on hakulomake, johon syötettyjen tietojen perusteella tehdään haut korpuksesta. Mahdollisuus käyttää käyttäjän talletettua hakua, jonka voi valita userquerys.jsp:stä. Parametrit: Sessiosta saatu virhetilanne, käyttäjätiedot Hakuparametrit Sivulle tultaessa ei tarvittavia oikeuksia / käyttäjätietoja. Käyttäjän pitää olla sessiossa

13 7.5.2 ceecfunc.jsp Palvelu: Muodostaa ceec.jsp:ltä saaduista tiedoista sekä sessiosta saatavilla käyttäjätiedoilla QueryContainerin, jonka perusteella suoritetaan tietokantahaku. Tästä vastauksena palautuu lista Containereita, jotka välitetään tulossivuille ja näytetään käyttäjälle. Parametrit: ceec.jsp:stä saatu syöte ja href, käyttäjätiedot sessiosta Haun tulokset sisältävä lista Containereita. Tiedoston tai tietokannan lukeminen ei onnistu Käyttäjän pitää olla sessiossa 7.5.3 addquery.jsp Palvelu: Sivu joka voidaan liittää muihin sivuihin, pyytää käyttäjältä kuvauksen talletettavalle haulle. Parametrit: - tekstikenttä kuvauksen syöttöä varten ja submit nappi. QuerySave 7.5.4 addqueryfunc.jsp Palvelu: Lomakkeenkäsittelijä joka tallentaa haun arvot, käyttäjätunnuksen, kuvauksen ja ajan jolloin haku tehtiin tietokantaan. Parametrit: kuvaus. HrefContainer hakua ei voida tallentaa QuerySave 7.5.5 userquerys.jsp Palvelu: Sivu sijaitsee ceec.jsp-sivulla. Lista käyttäjän tallentamia hakuja, joista valitsemalla yhden, saa ko. haun parametrit hakulomakkeeseen. Parametrit: Lista HrefContainereita

14 Lomake jossa käyttäjän haut. do Query ja delete query napit- QuerySave 7.5.6 userqueryfunc.jsp Palvelu: Lomakkeenkäsittelijä joka saa tiedon halutaanko haku poistaa vai tehdä. Valittaessa poisto, poistetaan vastaava haku tietokannasta, muussa tapauksessa asetetaan haun parametrit hakulomakkeeseen. Parametrit: query merkkijono, tehtävä toiminto. - QuerySave 7.6 Kuvaaja 7.6.1 lettergraph.jsp Palvelu: Lomake, jossa on Create Graph -nappi. Liitetään tulossivuun, jos sen lista koostuu kirjeitä. Parametrit: Napin kanssa samalla sivulla olevan tuloslistan yksilöivä numero sekä hakulomakkeessa kirjeen kirjoitusvuotta rajaavat vuosiluvut. Saadut parametrit ja lisäksi kuvaajan piirtoon liittyvät oletusparametrit. Kontrolli siirtyy lettergraphfunc.jsp -sivulle. - 7.6.2 lettergraphfunc.jsp Palvelu: Hakee saamansa tunnisteen omaavan List<LetterContainer> -olion sessiosta ja luo tästä graafisen esityksen saamiensa muiden parametrien perusteella. Kuvaajan piirtämisessä tarvittavan datan selvittämisessä käyttää ImageDataCreatorluokkaa, joka palauttaa GraphData-olion. Graafin piirtämisessä käytetään Cewolftagikirjastoa ja de.laures.cewolf.datasetproducer -rajapinnan toteuttavaa ImageGenerator-luokkaa. Taustalla käytetään JFreeChartia.

Parametrit: Tuloslistan id-numero, hakulomakkeessa kirjeen kirjoitusvuotta rajaavat vuosiluvut sekä kuvaajan piirtämiseen liittyvä tieto eli luokitteleva parametri ja vuoden tapauksessa myös pylväiden määrä tai yhden pylvään kuvaaman ajanjakson pituus. Pylväsdiagrammi, joka kuvaa tuloslistan kirjeiden sisältämien sanojen määrien jakaumaa luokittelevan parametrin eri arvoilla. Lisäksi lomakkeet, jotka mahdollistavat uuden kuvaajan luomisen eri arvoilla. Lista ei löydykään sessiosta tai datan laskeminen siitä epäonnistuu jostain syystä. Kuvaajan muodostamisessa ja sen tulostamisessa näytölle voi mennä jotain pieleen. Käyttäjä syöttää lomakkeelle epäkelpoja arvoja. Kaikissa tilanteissa käyttäjä saa virheilmoituksen samalle sivulle. - 15 7.6.3 persongraph.jsp Palvelu: Lomake, jossa on Create Graph -nappi. Liitetään tulossivuun, jos sen lista koostuu henkilöistä. Parametrit: Napin kanssa samalla sivulla olevan tuloslistan yksilöivä numero sekä hakulomakkeessa henkilön syntymä- tai kuolinvuosia rajaavat vuosiluvut. Saadut parametrit ja lisäksi kuvaajan piirtoon liittyvät oletusparametrit. Kontrolli siirtyy persongraphfunc.jsp -sivulle. - 7.6.4 persongraphfunc.jsp Palvelu: Hakee saamansa tunnisteen omaavan List<PersonContainer> -olion sessiosta ja luo tästä graafisen esityksen saamiensa muiden parametrien perusteella. Kuvaajan piirtämisessä tarvittavan datan selvittämisessä käyttää ImageDataCreatorluokkaa, joka palauttaa GraphData-olion. Graafin piirtämisessä käytetään Cewolftagikirjastoa ja de.laures.cewolf.datasetproducer -rajapinnan toteuttavaa ImageGenerator-luokkaa. Taustalla käytetään JFreeChartia. Parametrit: Tuloslistan id-numero, hakulomakkeessa henkilön syntymä- ja/tai kuolinvuotta rajaavat vuosiluvut sekä kuvaajan piirtämiseen liittyvä tieto eli luokitteleva parametri ja vuoden tapauksessa myös pylväiden määrä tai yhden pylvään kuvaaman ajanjakson pituus. Pylväsdiagrammi, joka kuvaa tuloslistan henkilöiden lukumäärän jakaumaa luokittelevan parametrin eri arvoilla. Lisäksi lomakkeet, jotka mahdollistavat uuden kuvaajan luomisen eri arvoilla.

Lista ei löydykään sessiosta tai datan laskeminen siitä epäonnistuu jostain syystä. Kuvaajan muodostamisessa ja sen tulostamisessa näytölle voi mennä jotain pieleen. Käyttäjä syöttää lomakkeelle epäkelpoja arvoja. Kaikissa tilanteissa käyttäjä saa virheilmoituksen samalle sivulle. - 16 7.7 Tuloslista 7.7.1 containerlist.jsp Palvelu: Näyttää listan containereita. Listasta voidaan valita container, jonka tiedot näytetään omassa ikkunassa. Parametrit: List<Container>, käyttäjätiedot - Sessiossa ei tietoja Käyttäjän pitää olla sessiossa 7.8 Yksittäisen containerin näyttö 7.8.1 collection.jsp Palvelu: Näyttää yhden kokoelman tiedot ja sen sisältämät kirjeet. Listasta voidaan valita kirje, jota tutkitaan tarkemmin. Tälle sivulle tullaan ainoastaan collectionfunc.jspsivulta. Parametrit: CollectionContainer, List<LetterContainer> Letter ID. Sessiossa ei tietoja Käyttäjän pitää olla sessiossa 7.8.2 collectionfunc.jsp Palvelu: Sivulle tullaan siten, että sessiossa on CollectionContainer tai CollectionId. Haetaan tämän kokoelman kirjeet ja tehdään niistä lista LetterContainereita sekä CollectionContainer id:n perusteella. Talletetaan nämä sessioon ja ohjataan collection.jspsivulle. Jos sivulle tullaan collection.jsp-sivulta, otetaan saatua ID:tä vastaava LetterContainer sessioon ja ohjataan letterfunc.jsp sivulle. Parametrit: String letterid, CollectionID, CollectionContainer

17 LetterContainer, List<LetterContainer>, CollectionContainer ID:lle ei vastaavaa Containeria Käyttäjän pitää olla sessiossa 7.8.3 letter.jsp Palvelu: Sivu näyttää yhden kirjeen tiedot. Tälle sivulle tullaan ainoastaan sivun letter- Func.jsp:n kautta, joka hakee kirjeen tekstit, jotka tässä näytetään. Listasta voidaan valita lähettäjä, kokoelma tai vastaanottaja. Tällöin henkilön id annetaan letterfunc.jspsivulle, joka käsittelee sen. Parametrit: LetterContainer, ParsedText, AnnotedText, PlainText CollectionID, PersonID. Sessiossa ei tietoja Käyttäjän pitää olla sessiossa 7.8.4 letterfunc.jsp Palvelu: Tämä sivu ottaa vastaa LetterContainerin, hakee sille tekstit ja laittaa sen sessioon. Jos saadaan kokoelman tai henkilön id, talletetaan se sessioon ja ohjataan vastaavalle sivulle. Parametrit: LetterContainer, Käyttäjätiedot. LetterContainer, ParsedText, AnnotedText, PlainText, PersonID Tiedoston tai tietokannan lukeminen ei onnistu Käyttäjän pitää olla sessiossa 7.8.5 person.jsp Palvelu: Näyttää yhden henkilön tiedot. Tälle sivulle tullaan ainoastaan sivulta person- Func.jsp, jolloin sessiossa on sivun toiminnan kannalta tärkeät tiedot. Näytetään henkilön tiedot PersonContainer-objektista ja listat kirjeistä, joissa henkilö on ollut vastaanottaja tai lähettäjä. Tästä listasta voidaan valita kirje tai kokoelma, jonka tietoja edelleen näytetään tai joku muu henkilö kirjelistasta (vastaanottaja / lähettäjä). Parametrit: List<LetterContainer> sender, List<LetterContainer> receiver, käyttäjätiedot Container ID, Person ID, Letter tai ID Collection ID

18 Sessiossa ei tietoja Käyttäjän pitää olla sessiossa 7.8.6 personfunc.jsp Palvelu: Tultaessa sivulle haetaan aluksi kirjeet, jossa Person on kirjoittajana tai vastaanottajana sekä PersonContainer personid:n perusteella, jos sitä ei ole sessiossa. Laitetaan kirjelistat sessioon ja ohjataan käyttäjä person.jsp-sivulle. Jos taas tälle sivulle tullaan person.jsp-sivulta, poimitaan kirjeen, henkilön tai kokoelman Id ja laittetaan se sessioon ja siirrytään vastaavalle näyttösivulle. Parametrit: String letterid/personid/collectionid, tunniste, jonka perusteella päätellään mikä id saatiin, käyttäjätiedot PersonContainer, Lista LetterContainereita, joissa henkilö on kirjoittaja tai vastaanottaja, letterid/personid/collectionid Saatu string null, tietokannan luku ei onnistu Käyttäjän pitää olla sessiossa 7.9 Työkalupalkki 7.9.1 toolbar.jsp Palvelu: Tämä sivu liitetään muihin käyttäjälle näytettäviin sivuihin. Se tarjoaa käyttäjätietojen perusteella linkkejä eri toimintoihin ja näyttää käyttäjän käyttäjätunnuksen. Parametrit: - Työkalupalkki Sessiossa ei käyttäjätietoja Käyttäjän pitää olla sessiossa 7.9.2 logout.jsp Palvelu: Tämä sivu liitetään työkalupalkkiin. Tarjoaa mahdollisuuden kirjautua ulos. Tällöin sessio poistetaan ja käyttäjä ohjataan login.jsp-sivulle. Parametrit: - Logout-viesti Käyttäjän pitää olla sessiossa

19 7.10 Käyttäjän oikeuksien tarkistaminen 7.10.1 checkifadmin.jsp Palvelu: Tarkastaa, onko käyttäjällä Admin-oikeuksia. Jos ei, niin ohjataan käyttäjä loginsivulle. Parametrit: - - - 7.10.2 checkifcorpusadmin.jsp Palvelu: Tarkastaa, onko käyttäjällä CorpusAdmin-oikeuksia. Jos ei, niin ohjataan käyttäjä login-sivulle. Parametrit: - - - 7.10.3 checkifmetadataexport.jsp Palvelu: Tarkastaa, onko käyttäjällä MetadataExport-oikeuksia. Jos ei, niin ohjataan käyttäjä login-sivulle. Parametrit: - - - 7.10.4 checkifuser.jsp Palvelu: Tarkastaa, onko käyttäjää sessiossa. Jos ei, niin ohjataan login-sivulle. Parametrit: - -

20-7.10.5 checkifuseradmin.jsp Palvelu: Tarkastaa, onko käyttäjällä UserAdmin-oikeuksia. Jos ei, niin ohjataan käyttäjä login-sivulle. Parametrit: 7.11 Muut 7.11.1 header.jsp Palvelu: Muille jsp-sivuille sisällytettävä html-sivun osa. Parametrit: - Html-sivun yläosa. - 7.11.2 showerror.jsp Palvelu: Näyttää sessiossa olevan virheen ja poistaa sen tulostamisen jälkeen. Parametrit: Errortext Virheilmoitus -

21 7.11.3 showsession.jsp Palvelu: Apusivu, jota voidaan käyttää näyttämään sessiossa olevat tiedot. Parametrit: - Lista session avain-arvopareista - 7.12 Kaaviot tiedonvälityksestä Näitä kaavioita voi käyttää apuna tiedonvälityksen visualisoimisessa eri komponenttien välillä. Kuvaukset ja tarkemmat selvitykset eri komponenttien toiminnoista löytyvät javadocista sekä varsinaisen koodin kommenteista. ceec.jsp, sivu jossa hakulomake. Näyttää myös käyttäjätiedot, talletetut kyselyt. Näiden tietojen perusteella päätellään mitkä linkit voidaan näyttää. linkit. Sivulle tultaessa tarkistetaan acces-oikeudet sessiosta. jos ne eivät täsmää palataan login-sivulle virheilmoituksen kera. Hakuparametrit, tunniste mitä haetaan. ceecfunc.jsp riippuen mikä on haun tunniste, muodostetaan haun tuloksena Container joka talletetaan sessioon ja ohjataan sivulle joka näyttää tiedot (containerlist.jsp) QueryContainer List <Container> QueryContainer List <Container> QueryContainer List <Container> InterfaceLogic.getPersonList InterFaceLogic.getLetterList InterFaceLogic.getCollectionList QueryContainer String query QueryContainer String query QueryContainer String query QueryMaker.makeQuery Kuva 1: Haku

22 ceecfunc.jsp, tämä siu muodostaa hakuparametrien perusteella lista containereita jotka se antaa eteenpäin List<Container> containerlist.jsp, tämä sivu näyttää containerlistan jonka se saa. Sivulle muodostetaan taulukko containerin arvoista dynaamisesti joten se näyttää kaikki sivut. Jos sivulle tullaan siten että sessiossa on arvo OrderBy, järjestetään lista ennen näyttämistä käyttäen hyväksi ListSort-luokan metodeja Sivu muodostaa myös linkit niille arvoille joista voidaan siirtyä Yksittäisten Containereiden tutkimiseen. Tältä sivulta voidaan valittuja containereita muokata, exportata, tai tulostaa graafiin. List<Container> String orderby List<Container> ceec.util.listsorter.sortpersons ceec.util.listsorter.sortletters ceec.util.listsorter.sortcollections Sorttaa saadun CollectionListin saadun orderby-stringin peru steella Kuva 2: Listanäyttö exportdata.jsp, välitää oikean listan containereita exportdatafuncille persongraph.jsp, välitää oikean listan containereita exportdatafuncille sekä haettavien tekstien version String listid String listid String version exportdatafunc.jsp, muodostaa containereista txt tiedoston excelille. ja ohjaa selaimen tallentamaan sen. persongraph.jsp, hakee listaan liittyvät kirjetekstit, ja muodostaa niistä txt tiedoston joka ohjataan talletettavaksi Vector<String> letterid:s String version List<TextContainer> ceec.logic.interfacelogic.gettexts, palauttaa haetut tekstit Kuva 3: Tietojen vienti

23 containerlist.jsp, sisältää napit graafin luomiseen, jos kyseessä personeita, niin siirrytään persongraph.jsp:hen jas taas kirjeitä niin lettergraph.jsp:hen persongraph.jsp, poimii sessiosta listid:n Ja asettaa oletusarvot. lettergraph.jsp, poimii sessiosta listid:n Ja asettaa oletusarvot. persongraphfunc, muodostaa graafin ja tarjoaa mahdollisuudet sen se muokkaamiseen lettergraphfunc.jsp, muodostaa graafin ja tarjoaa mahdollisuudet sen se muokkaamiseen ceec.image.imagedatacreator, tätä luokkaa käytetään graafin mmuodostukseen. Tarkempi kuvaus toiminnasta löytyy javadoc:sta Kuva 4: Kuvaajan luonti importdata.jsp, formi joka pyytää käyttäjältä tiedoston joka halutaan importata kantaan ImportFile importdatafunc.jsp CorpusUpdateContainer cuc List<Container> Reader buffer String contenttype FileStreamAccessor CorpusUpdateContainer cuc ceec.parser.textparser, luodaan uusi textparseri CorpusUpdateContainerilla ja kutsutaan sen getparseddata metodia joka palauttaa listan containereita ceec.fileio.filestreamaccessor ceec.fileio.filestreamaccessor.createcorpusupdatecontainer Kuva 5: Tietojen tuonti

0 letter.jsp, näyttää yhden kirjeen tiedot TextContainer LetterContainer letterfunc, aluksi haetaan kirjeen teksticontaineri tietokannasta, laitetaan sessioon ja ohjataan lettersivulle. LetterId LetterContainer LetterId TextContainer InterfaceLogic.getLetterList InterfaceLogic.getTexts QueryContainer String query QueryContainer String query QueryMaker.makeQuery Kuva 6: Kirjetietojen näyttö

1 Login.jsp, lomake joka antaa käyttäjätunnuksen ja salasanan. jos sessiossa aktiivinen virhe niin tulostetaan sessiossa oleva virheilmoitus. Käyttäjätunnus salasana LoginFunc.jsp, Ottaa tiedot, ja kutsuu InterfaceLogic-luokan metodia getuserinfo. saa UserContainer-objektin ja tallettaa sen sessioon. Siirrytään ceec.jsp-sivulle. Virhetilanteen sattuessa (Exception, null-objekti) Siirretään ilmoitus sessioon ja palataan login-sivulle String username String password UserContainer InterfaceLogic.getUserInfo Kuva 7: Sisäänkirjautuminen

2 person.jsp, Näyttää yhden henkilön tiedot, aluksi haetaan kirjeet. Näytetään henkilön tiedot PersonContainer-objektista ja listat kirjeistä joissa ollut vastaanottaja tai lähettäjä. Tästä listasta voidaan valita kirje tai kokoelma jonka tietoja edelleen näytetään tai jokin muu henkilö kirjelistasta(vastaanottaja/lähettäjä). personfunc.jsp, hakee LetterContainer-objektilistat jossa Person kirjoittaja tai vastaanottaja ja laittaa listat sessioon. QueryContainer List <LetterContainer> lähettäjänä/vastaanottajana String personid PersonContainer InterfaceLogic.getLetterList IntergaceLogic.getPersonList QueryContainer String query QueryContainer String query QueryMaker.makeQuery Kuva 8: Henkilötietojen näyttö userlist.jsp, Sivu hakee kannasta kaikki Käyttäjät ja tekee niista listan List<userContainer> IntergaceLogic.getUserList Includes useradmin.jsp, Tämä sivu näyttää listan Käyttäjistä ja tarjoaa napit muokkaukseen tai poistoon String UserName UserContainer deleteuserfunc.jsp, sivu jossa lomake uuden käyttäjän tietojen syöttämiselle String UserName IntergaceLogic.removeUser adduser.jsp, sivu jossa lomake uuden käyttäjän tietojen syöttämiselle updateuser.jsp, sivu esilataa käyttäjän tiedot lomakkeeseen sessiosta olevasta käyttäjälistasta, ja niitä voi muokata. UserContainer UserContainer adduserfunc.jsp, tarkastaa onko käyttäjätunnus olemassa jos ei niin lisää kantaan updateuserfunc.jsp, ottaa listasta käyttäjän tiedot ja tallettaa muutetut UserContainer UserContainer IntergaceLogic.addUser IntergaceLogic.updateUser Kuva 9: Käyttäjien hallinta

3 addquery.jsp, tämä voidaan liittää muihin sivuihin Pyytää käyttäjältä kuvauksen ja välittää sen. userquerys.jsp. Tämä tulostaa listan käyttäjän talletetuista hauista. Tästä voidaan valita joko poisto tai haun uudelleen tekeminen. Description addqueryfunc. poimii parametrit ja käyttäjätiedot sessiosta ja tallettaa haun String querystring String description String UID userqueryfunc.jsp, jos valittu haun suorittaminen ladataan ceec.jsp haun arvoilla. Jos poisto niin poistetaan käyttäjän haku hreffiin perusteella String Query ceec.interfacelogic.adduserquery ceec.interfacelogic.removeuserquery Kuva 10: Käyttäjän hakujen hallinta