Erikoistyöraportti: Kottarainen-projektin jatkokehitys

Kesällä toteutetut ominaisuudet
Kesän jatkokehityksen aikana toteutettiin lukuisia parannuksia kevään opiskelijaprojektin tuloksena syntyneeseen kyselyjen laatimis- ja hallintasovelluksen prototyyppiin.

Seuraavassa taulukossa on esitetty suunnitellut ja toteutuneet kehityskohteet sekä niiden toteutunut työmäärä sekä valmiiksi saattamiseksi tarvittava arvioitu työmäärä suluissa. ”Muuta”-kentässä on hiukan tarkemmin kuvattu keskeneräisiä ja valmiiksi saatuja ominaisuuksia. Ominaisuudet on myös liitetty bugzillassa oleviin bugeihin buginumerollaan. Bugi-listaus löytyy erillisestä tekstitiedostosta. Tämän dokumentin lopussa on lueteltuna kesän alussa määritetyt jatkokehitystehtävät, joihin on viitattu alla olevassa taulukossa sarakkeessa ”suunniteltu kehityskohde” suluissa olevalla numerolla. Osa suunnitelluista ominaisuuksista tuli ilmi myöhemmin, joten niitä ei ole alkuperäisessä kesän tehtävälistassa.

Suunniteltu kehityskohde
(suluissa kesän kehityskohdelistan tehtäviä vastaava numero)	Toteutuminen	Työmäärä / arvio työmäärästä	Muuta	Kehityskohteeseen liittyvän bugin numero(t)	
Käyttäjäryhmien ja käyttöoikeuksien hallinta (43)	OK	68h	Kurssiryhmien liittämiseen ei ole käyttöliittymää. 	Bug 124	
Vastausten selailu kyselyn laatijan käyttöliittymään 	OK	45h			
Tekstikenttien koon muuttaminen (3)	OK	31,5h		Bug 21,22	
Sessioiden minimoiminen	OK	20h		Bug 71,128	
Testaussuunnitelma ja testailu	EI	(+15h)			
Tyylitiedosto ja hyvä visuaalinen ilme	OK	27h		Bug 27	
Valintamahdollisuus kyselyn sivutuksesta	EI	(+40h)			
Sivu kyselyiden hallintaan 	OK	15h	Main-sivu.		
Valinta kysymysten numeroinnista	EI	(+10h)			
Ohjeet	Erikoistyönä		Teemu tekee osana erikoistyön dokumentointia.	Bug 129	
Kysymysten järjestyksen muuttaminen (1)	OK	55h		Bug 34,35	
Kyselyn liittäminen kurssiin (2,11)	EI	5h (+4h)	kurssin liittäminen kyselyyn kyllä onnistuu. Courseinstance-ryhmä on mahdollista liittää kyselyyn, mutta sille ei ole käyttöliittymää. Tämä homma hoitunee Minna H.:lta helpoiten.	Bug 280	
Valintamahdollisuus, tulevatko valintalistat vierekkäin vai allekkain (4)	EI	(+30h)			
Syötteiden tarkistus (5)	Osittain	14h(+7h)	Merkkijonoihin tulee ylimääräisiä kiellettyjen merkkien vahvistamisia.	Bugit 23,127	
Rakennekuva & esikatselu (6,29)	OK	10h			

Metatiedot (7,8)	Osittain	12h(+5h)	Metatietojen lisääminen kantaan lisää metatietoja kyselyn luontiin, mutta niiden lisäämiseksi kantaan ei ole käyttöliittymää. Jokunen metatieto on ”kovakoodattu”, jolloin saadaan muitakin syöttötyyppejä kuin monirivinen tekstikenttä. Ei ehkä saisi olla.	Bug 288	
Vastaussivulle tulevan CSS-tiedoston valintamahdollisuus (9)	EI	(+7h)		Bug 18	
Vastaussivulle vastaajan aiemmat vastaukset näkyviin	OK
	18h			
Kysymyspankki (10)	EI	(+170h) 	Ajateltiin siirrettäväksi syksyn projektille. Määrittely ei ole tarpeeksi tarkka Kottaraisen jäljiltä. Uudelle projektille voisi jättää puhtaanpöydän tässä suhteessa.	Bug 123	
Vastauksista saa yksinkertaisen yhteenvedon selaimelle ja CSV-yhteensopivan tiedoston analysointia varten (12)	Osittain	24h (+10h)	CSV-yhteenvetoa on testattu Excelissä. SPSS-yhteensopivuudesta ei ole tietoa. Erotinmerkkiä ei pysty valitsemaan. Fieldit tulevat oudossa järjestyksessä CSV- tiedostoon.		
Kyselyistä tulostettavat versiot (13)	EI	Korpin systeemi?	Jos ei sitten onnistu Korpin yleisten periaatteiden mukaan...		
Kyselyyn vastaaminen toimii moitteetta (14)	OK	39h	Testailu tietenkin uupuu.	Bugit 8,25,225	
Kyselyn laatijalle valinnaiseksi, tulevatko Korpin valikot vastaamisen näkymään vai tuleeko pelkästään vastaajan nimi näkyviin (15)	OK	12h	”Kovakoodattu” yhdeksi metatiedoksi.	Bug 130	
Kysymysten ryhmittely loogisiin kokonaisuuksiin, poiketen visuaalisesta ryhmittelystä (16)	EI	 (+30h)	Pankin kautta tapahtuva toiminta, ja koskapa ei ole pankkia, ei ole tätäkään ominaisuutta. Jatkoprojektille		

Kyselyn laatijalle testivastailu (17)	Osittain	1h
(+15h)	Kun kysely on ”suunnitteilla”-tilassa, eivät muut kuin laatija voi vastailla. Vastauksen lähettäminen kuitenkin tekee ”virallisen” vastauksen, eli kyselyyn on vastattu tuolloinkin. Jos tarkastuksia olisi, kyselyä ei siis voisi muokata enää tämän jälkeen.		
Tilat sovellukseen (luominen & vastaaminen), eli että käyttäjä ei varmasti saa muokattua kyselyä vastaustilasta (18)	OK	3h	Tämä olisi testattava perusteellisesti, koskapa on hyvin kriittinen ominaisuus!		
Vastaukset ajavat default-value arvojen yli (19)	OK	2,5h		Bug 38	
Korpin ulkopuolelle siirtäminen (hyperlinkki sivulle) (20)	Osittain	(+10h)	Vaatii kirjautumisen Korppiin.		
Viite-eheydet käyttöön tietokantaan (21)	OK				
Sarakkeiden ja rivien paikat pystyttävä kääntämään (22)		EI	(+40h)			
Uudet kysymystyypit (esim. Numeerinen tekstikenttä) (23)	EI	(+5h)			
Otsikon siirtely eri puolelle fieldiä (24)	EI	(+15h)			

Kysymysten numerointi (25)	EI	(+5)			
Kysymysryhmän poistaminen sen muokkaussivulle (26)	OK	20h			
Kysymyksen poistaminen (27)	OK	47h		Bugit 125,131,132	
Poistetuille kentille oma tietorakenne, jossa pidetään niiden ID:t kannasta poistamista varten (28)	OK	4h			
Rakennekuva, josta näkyy koko kyselyn rakenne, sisältäen kysymysten otsikot. Rakennekuvassa linkit ryhmien ja kysymysten muokkaamiseen. (29)	EI	-	”Kyselyn rakenne”-sivu vastaa periaatteessa tätä ja kyselyn esikatselu sivun alla näyttää koko rakenteen. 		
Kyselyssä liikkuminen joka sivulle linkkilistaksi (30)	OK		Ei ole tarkoituskaan päästä joka paikasta joka paikkaan. Välilehtiratkaisu vastaa muutoin linkkilistaa.	Bugit 17,225	
Ryhmän tietojen muokkaamisesta suora linkki sen kysymysten muokkaamiseen + suoraviivainen eteneminen muualle (31)	OK	28h		Bugit 16,19	
Alasvetolistoja vierekkäin (päivä, kuukausi, vuosi) (32)	EI	(+30)			
Pystysuuntaiset radioryhmät (33)	EI	(+15)			
Jos kysymystyyppiä muutetaan, sivun tulisi päivittyä automaattisesti (34)	EI	(+2h)			
Kysymysten lukumäärä rakennesivulle ryhmän tietojen perään (35)	OK	0,25h			
Yhden sarakkeen tapauksessa otsikkoa ei tulosteta (36)	OK	2h	Otsikkoa ei tulosteta milloinkaan sarakkeiden päälle.		
Tekstialueen otsikko sen päälle (37)	OK				
Kysymyksien selvempi erottelu toisistaan (38)	OK				
Otsikkorivi useampaan väliin (39)	EI	-	Ei ole tulossakaan		
Väliotsikoiden toteutus (40)	OK				
Tyhjä väliotsikko ei lisää tyhjää riviä (41)	OK				
Otsikkorivi pois näkyvistä jos ei ole yhtään kysymystä (42)	OK	0,5h			
Vastausajan määrittäminen	EI	(+3h)	Kyselyn tila on vaihtoehtoinen järjestelmä, jolla laatija saa vastattavuutta säädeltyä.	Bug 115	
Kyselyn tila (suunnitteilla, aktiivinen, vanhentunut, arkistoitu)	OK	9h	”Kovakoodattu” yhdeksi metatiedoksi.	Bug 115	
Kyselyn hakemisen nopeuttaminen	OK	48h			
Kysymyksen rivien järjestäminen 	OK	5h		Bug 34,35, 125	
Kysymysten ja rivien poistaminen rastittamalla ja varmistuksen taakse	OK	1h	Työmäärä kysymyksen poistamisen yhteydessä.	Bug 71,125,132	
Yksilöivien nimien (genericname) syöttömahdollisuus (3)	OK	7,5h			
Välilehdet 	OK	10h		Bug 275	
Urlit toimintaan (3)	Osittain	2h(+2h)	Vaatii vielä tarkasteluja. Mikäli ”http://”-tekstiä ei kirjoiteta linkkiin, sovellus liittää annetun osoitteen sovelluksen osoitteen perään. 	Bug 279	
Tietokannan suunnittelu, muutokset ja hakujen toteutus	Jatkuva kehitys	62h	Tämä ei ollut mikään alun perin suunniteltu tehtävä		

Yhteensä työtunteja on käytetty 673 ylläolevan taulukon mukaan. Tämän lisäksi ovat vielä bugien etsiskelyyn ja korjaamiseen, sähköpostikeskusteluihin, käyttäjäoikeusmäärittelyihin, bugzillan käytön opiskeluun ja muuhun pieneen ”säätämiseen” sekä uusien ominaisuuksien testaukseen ja palvelimelle laittamiseen käytetty aika, joka on noin 200 tuntia. Kaikkiaan yhteenlaskettu työaika on noin 870 tuntia.
Jatkokehityksen jatkokehitys
Jatkokehityksen jatkokehitykseen jäävät edellisestä listasta tekemättä tai kesken jääneet ominaisuudet, sekä seuraavat:
Vastausten tallentamisen nopeuttaminen		(+20h)	SaveAnswer-papusen questionfieldien ja –resultien hakeminen nopeammalla tavalla. Nykyisellään koko kyselyn hakutekniikallakin tallentaminen olisi nopeampi kuin mitä alkuperäisellä, jossa jokainen otetaan kannasta erikseen.	Bug 287	
Kysymysryhmien järjestäminen(1)		(+10h)			
Kysymyksien sarakkeiden järjestäminen		(+15h)		Bugit 246,290	
Kysymysryhmän esikatselun toimimattomuus		(+5h)			
XML-muoto kyselyistä		(+7300h)	Syksyn jatkoprojekti		
Metatietojen lisäämisen käyttöliittymä		(+20h)	Syksyn jatkoprojekti		
Metatietojen ja kysymysten pakollisuus		(+15h)		Bug 33	

Alkuperäinen lista: 
Kesällä toteutettavat
1.	kysymysryhmien ja kysymysten järjestyksen muuttaminen.
2.	kurssitietoihin linkki, josta opettaja pääsee luomaan kurssille kyselyn.
3.	välilehti-ratkaisu (jolla asetetaan questionfieldeille uri:t sekä kysymyksille muutenkin erinäisiä määritetietoja) kyselyn luomistyökalun käyttöliittymään.
4.	mahdollisuus valita, tulevatko valintalistat rinnakkain vai allekkain.
5.	tarkistaa, ettei input-kenttiin syötetyillä tiedoilla päästä käpälöimään tietokantaa laittomasti.
6.	koko kyselyn esikatseluun rakennekuva, josta pääsee muokkaamaan ja esikatselemaan haluamaansa kysymysryhmää ja vaihtamaan kysymysryhmien järjestystä.
7.	metatiedot kunnossa. ( Tarvittavat määritykset löytyvät osoitteesta dublincore.org. Metatietolaatikoita leveämmäksi.)
8.	uudet metatietolisäykset kantaan tulevat voimaan kyselyn luontiin.
9.	vastaussivulle voi valita CSS-tiedoston.
10.	kysymyspankki.
11.	kyselyiden liittäminen kursseihin.
12.	vastauksista saa yksinkertaisen yhteenvedon selaimelle ja CSV-yhteensopivan tiedoston analysointia varten.
13.	kyselyistä tulostettavat versiot.
14.	kyselyyn vastaaminen toimii moitteetta.
15.	kyselyn laatijalle valinnaiseksi, tulevatko Korpin valikot vastaamisen näkymään vai tuleeko pelkästään vastaajan nimi näkyviin.
16.	kysymysten ryhmittely loogisiin kokonaisuuksiin, poiketen visuaalisesta ryhmittelystä.
17.	kyselyn laatijalle testivastailu.
18.	tilat sovellukseen (luominen & vastaaminen), eli että käyttäjä ei varmasti saa muokattua kyselyä vastaustilasta (tehty, mutta testaaminen ei ole vielä kattavasti toteutettu).
19.	vastaukset ajavat default-value arvojen yli.
20.	Korpin ulkopuolelle siirtäminen (hyperlinkki sivulle).
21.	viite-eheydet käyttöön tietokantaan.
22.	sarakkeiden ja rivien paikat pystyttävä kääntämään.
23.	uudet kysymystyypit (esim. numeerinen tekstikenttä).
24.	otsikon siirtely eri puolelle fieldiä.
25.	kysymysten numerointi.
26.	kysymysryhmän poistaminen sen muokkaussivulle.
27.	kysymyksen poistaminen.
28.	poistetuille kentille oma tietorakenne, jossa pidetään niiden ID:t kannasta poistamista varten.
29.	rakennekuva, josta näkyy koko kyselyn rakenne, sisältäen kysymysten otsikot. Rakennekuvassa linkit ryhmien ja kysymysten muokkaamiseen.
30.	kyselyssä liikkuminen joka sivulle linkkilistaksi.
31.	ryhmän tietojen muokkaamisesta suora linkki sen kysymysten muokkaamiseen.
32.	alasvetolistoja vierekkäin (päivä, kuukausi, vuosi).
33.	pystysuuntaiset radioryhmät.
34.	jos kysymystyyppiä muutetaan, sivun tulisi päivittyä automaattisesti.
35.	kysymysten lukumäärä rakennesivulle ryhmän tietojen perään.
36.	yhden sarakkeen tapauksessa otsikkoa ei tulosteta.
37.	tekstialueen otsikko sen päälle.
38.	kysymyksien selvempi erottelu toisistaan.
39.	otsikkorivi useampaan väliin.
40.	väliotsikoiden toteutus.
41.	tyhjä väliotsikko ei lisää tyhjää riviä.
42.	otsikkorivi pois näkyvistä jos ei ole yhtään kysymystä.
43.	käyttöoikeuksien ja käyttäjäryhmien hallinnasta dokumentti ja alustava suunnitelma niiden toteuttamiseksi