\documentclass[11pt,a4paper,parskip=full]{article}

% Palaveripohja
% Tehnyt: Petri Partanen    <- kysy apua jos tarttet :P

\usepackage[utf8]{inputenc}
\usepackage[finnish]{babel}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage{palatino}
\usepackage{enumitem}
\usepackage[top=1.0cm, bottom=4.5cm, left=2.0cm, right=2.5cm]{geometry}

% Päivämäärä muodossa D.M.YYYY
\newcommand{\tanaan}{\number\day.\number\month.\number\year}

\newcommand{\paiva}{11.3.2015\ }

% Ylämarginaalisotku
\setlength{\headheight}{2.0cm}
\renewcommand{\headrulewidth}{0pt}
\lhead{Sovellusprojekti Kepler\\}
\chead{Palaveri \paiva\\Pöytäkirja}
\rhead{Sivu \thepage~/~\pageref{LastPage}\\Julkinen}
\cfoot{} % sivunumerointi pois footerista
\pagestyle{fancy}

% Sisennetään kaikki leipäteksti
\raggedright
\setlength{\parindent}{2.3cm}
\setlength{\parskip}{0.4cm}

% Asetetaan default listapisteiden tyyli
\renewcommand{\labelitemi}{$\bullet$}

% Sisentää listaukset oikein
\newenvironment{myquote}{\list{}{\leftmargin=2.3cm}\item[]}{\endlist}

% Makrot
%------------------------------
% Boldattu, isofonttinen vasemman laidan otsikko
\newcommand{\asiaotsikko}[1]{\noindent{\Large\textbf{#1}}\\\vspace{1.5em}}

% Normaali vasemman laidan otsikko
\newcommand{\otsikko}[1]{\noindent{#1}\\}

% Boldattu vasemman laidan otsikko
\newcommand{\otsikkob}[1]{\noindent{\textbf{#1}}\\}

% Esityslistan yksi asia numeroidulla otsikolla ja sisennetyllä tekstillä
\newcommand{\asia}[2]{\section{#1}\begin{myquote}{#2}\end{myquote}}

% Sama kuin yllä, mutta ei numerointia, eikä listaus ole sisennetty,
% käytä siis kun kappaleessa ei ole mitään leipätekstiä
\newcommand{\muuasia}[2]{\section*{#1}\begin{myquote}{#2}\end{myquote}}

% toimenpidetekstit
\newcommand{\KESK}[0]{\textbf{(kesken)}}
\newcommand{\SUOR}[0]{\textbf{(suoritettu)}}
\newcommand{\EISUOR}[0]{\textbf{(ei suoriteta)}}

% Päätökset
\newcommand{\paatokset}[1]{\vspace{0.5em}\textbf{Päätökset:}\vspace{-3mm}\begin{itemize}{#1}\end{itemize}}

% Toimenpiteet
\newcommand{\toimet}[2]{#1:\vspace{-3mm}\begin{itemize}[label={$\circ$}]{#2}\end{itemize}}

% Huomautus
\newcommand{\huom}[1]{\textbf{Huom.:} \emph{\small #1}}





%----------------------------------------------------------------------
\begin{document}

\vspace*{2.0em}

\asiaotsikko{Sovellusprojekti Kepler, 4. palaveri}

\noindent\begin{tabular}{@{}p{1.9cm}l}
Aika    & Keskiviikko \paiva klo 10:15 -- 11:52\\
Paikka  & Jyväskylän yliopisto, Agora, Sovellusprojektien kokoushuone C226.1
\end{tabular}

\vspace{1.0em}

\otsikkob{Läsnä}
        	Mikko Kuhno, puheenjohtaja\\
        	Sakari Juutinen\\
        	Joonas Konki\\
	Henrik Paananen\\
	Petri Partanen\\
	Panu Rahkila\\
        	Atte Räty\\
        	Jukka-Pekka Santanen\\
	Anu Koskela, sihteeri\\
        
\vspace{2.0em}

\asiaotsikko{Pöytäkirja}
    
\noindent\begin{tabular}{@{}p{4.2cm}l}
Pöytäkirja laadittu: & 12.3.2015\\
Muokattu: & 16.3.2015 % HUOM: Käytä kolmea viivaa (---), jos muokkauspäivämäärää ei vielä ole
\end{tabular}


\asia{Palaverin avaus}{
        	Kuhno ehdotti puheenjohtajaksi itseään ja sihteeriksi Koskelaa. Ehdotus hyväksyttiin, ja puheenjohtaja Kuhno avasi palaverin.
}

\asia{Laillisuus ja päätösvaltaisuus}{
	Palaveri todettiin lailliseksi ja päätösvaltaiseksi.
}

\asia{Esityslistan hyväksyminen}{
	Kohta 4 muutettiin muotoon "Edellisten palaverien pöytäkirjojen tarkastus". Kohdasta 8 poistettiin sana "malli". Esityslista hyväksyttiin näillä muutoksilla.
}
\asia{Edellisten palaverien pöytäkirjojen tarkastus}{
	Tarkastettiin 17.2. pidetyn palaverin pöytäkirja. Pöytäkirjasta täytyy korjata kirjoitusvirheitä ja tehdä pieniä muutoksia sanavalintoihin. Lisäksi ensimmäisen palaverin pöytäkirjan hyväksyntä puuttui päätöksistä ja kohtaan 4 on lisättävä merkinnät toimenpiteiden tiloista.
	
	17.2. palaverissa projektiryhmälle sovitut toimenpiteet olivat:
	\begin{itemize}
		\item Koskela jatkaa muiden laitosten kiinnostuksen kartoittamista. \SUOR
		\item Paananen ottaa selvää mahdollisista lisensseistä ja laatii luonnoksen lisenssisitoumuksesta. \SUOR
		\item Ryhmä päättää yhdessä lisensseistä. \SUOR
		\item Kuhno tekee käyttöliittymäluonnoksia seuraavaan palaveriin. \SUOR
		\item Ryhmän jäsenet määrittävät projektissa noudatettavan prosessin ja mahdollisesti projektimallin. \SUOR
	\end{itemize}
	17.2. palaverissa Jukka-Pekka Santaselle sovitut toimenpiteet olivat:
	\begin{itemize}
		\item Ilmoittaa projektiorganisaatiolle sähköpostilla seuraavan palaverin paikan. \SUOR
	\end{itemize}

	Lisäksi pöytäkirjasta puuttui toimenpide, että projektiryhmä on yhteydessä Jussi Ahokkaaseen \SUOR

\vspace{0.5cm}

	Tarkastettiin 26.2. pidetyn palaverin pöytäkirja.
	
	26.2. palaverissa projektiryhmälle sovitut toimenpiteet olivat:
	\begin{itemize}
		\item Konki selvittää tarvittavien Korpin rajapintojen dokumentaation saatavuudesta Korppi-kehittäjiltä. \KESK
		\item Konki työstää projektisuunnitelmasta version palautetta varten. \SUOR
		\item Paananen laittaa vaatimusmäärittelyn nykyisen version julkiselle verkkolevylle ja lähettää linkin Santaselle. \SUOR
		\item Koskela kokoaa haastattelun tuloksista raportin, joka laitetaan saataville projektiorganisaatiolle ja haastatelluille henkilöille. \KESK
		\item Koskela laittaa haastattelumuistiinpanot projektiorganisaation saataville. \SUOR
		\item Kuhno laittaa käyttöliittymähahmotelmat saataville verkkolevylle. \SUOR
		\item Kuhno viimeistelee 17.2. palaverin pöytäkirjan. \SUOR
		\item Ryhmä päättää projektin lopullisista lisensseistä ja viimeistelee lisenssisitoumuksen. \SUOR
	\end{itemize}

	26.2. palaverissa Jukka-Pekka Santaselle sovitut toimenpiteet olivat:
	\begin{itemize}
		\item Santanen välittää Reactiin liittyvän sähköpostiviestin ryhmälle. \SUOR
	\end{itemize}

	Lisäksi pöytäkirjasta puuttui päätös, että Santanen ottaa yhteyttä Pauli Kujalaan palautteen saamiseksi tietokannan suunnitellusta taulurakenteesta. \SUOR

	Sekä 17.2. että 26.2. palaverien pöytäkirjat hyväksyttiin ehdotetuilla korjauksilla.

\paatokset{
	\item Konki selvittää tarvittavien Korpin rajapintojen dokumentaation saatavuudesta Korppi-kehittäjiltä.
	\item 17.2. pidetyn palaverin pöytäkirja hyväksyttiin korjauksin.
	\item 26.2. pidetyn palaverin pöytäkirja hyväksyttiin korjauksin.
}
}
\asia{Tilakatsaus}{
	Projektipäällikkö Konki esitteli tilakatsauksen. 
\toimet{Tilakatsauksessa käytiin läpi suoritettuja toimia}{
		\item Projektisuunnitelman ja vaatimusmäärittelyn laatimista on jatkettu.
		\item Kehitystyökaluihin on tutustuttu.
		\item Käyttöliittymää on suunniteltu ja toteutus aloitettu.
		\item Tietokannan rakenne ja käyttäjäroolien domain-luokkia on suunniteltu.
		\item Haastatteluraporttia on kirjoitettu.
	}

	\toimet{Seuraavaksi suoritettavat toimet ovat}{
		\item Projektisuunnitelma viimeistellään.
		\item Vaatimusmäärittelyn laatiminen jatkuu.
		\item Käyttöliittymää, tietokannan rakennetta ja domain-luokkia aletaan toteuttaa.
		\item Tärkeimpien toiminnallisuuksien (vuorojen varaus, peruminen ja selaus opiskelijan näkymästä) suunnittelu ja toteutus alkavat.
	}

Konki kertoi, että ajankäytön seurannan Excel-pohjassa on virhe, jonka vuoksi sunnuntaisin tehdyt työtunnit näkyvät seuraavan viikon työtunneissa, eli tehtyjen tuntien taulukko ei ole oikein. Viikolla 10 on suoritettu vähemmän työtunteja, sillä Koskelalta puuttui sairastumisen vuoksi paljon työtunteja. Santanen huomautti, että tähän mennessä vain Konkilla on kokonaistavoitetta lähellä oleva määrä tehtyjä työtunteja, ja että kireän projektiaikataulun vuoksi ryhmän jäsenten kannattaa kiinnittää huomiota työtunteihin. 

Työtuntien jakautumista tehtävittäin esittävä kaavio pitää Konkin mukaan kohtalaisen hyvin paikkansa, ja hän kertoi, että ollaan menossa oikeaan suuntaan. Tähän mennessä suunnitteluun on käytetty hyvin aikaa, ja toteutuksen osuus tulee nyt kasvamaan.

\paatokset{
	\item Paananen laittaa projektiorganisaatiolle sähköpostia vaatimusmäärittelystä.
}
}
\asia{Käyttöliittymähahmotelman esittely}{
	Edellisessä palaverissa oli näytetty kalenterinäkymästä hahmotelma. Kuhno esitteli nyt uusia hahmotelmia vuorojen selaamisesta, kalenterinäkymästä, resurssien muokkauksesta, työn poistamisesta, työhön liittyvien resurssien muuttamisesta ja vuoron tietojen näkymästä.

Suunnitteilla olevaan järjestelmään opiskelijan näkymä voidaan ottaa pitkälti Brahe2007-sovelluksesta. Ylläpitonäkymiin tulee paljon taulukkonäkymiä. 

Sovellukseen tarvitaan kohta (mahdollisesti huomiokenttä), jossa näkyy, millä roolilla käyttäjä on kirjautuneena järjestelmään. Tätä ominaisuutta ei tarvita, jos OAuthin kautta saadaan sama tieto näkyviin yläpalkkiin. Käyttäjärooli on laitoskohtainen, mikä on otettava huomioon suunnittelussa myös tietokantapuolella. Lisäksi järjestelmässä voi olla laitoskohtaisia otsikoita ja ominaisuuksia, mikä voi tehdä dynaamisesta laitoksen vaihtamisesta vaikeaa. Rahkila ehdotti, että dynaamisuuden toteutus jätetään jatkokehitykseen, ja tämän projektin puitteissa toteutetaan vain fysiikan laitoksen osuus.

Räty ja Paananen olivat miettineet resurssien hallintanäkymää, jossa näkyvissä olisi kolme listaa siten, että oikealla olevassa listassa näkyvät alkiot riippuvat vasemmalla puolella olevan listan valinnasta. Tästä ei ollut esittää graafista hahmotelmaa. Konki ehdotti, että töiden hallintanäkymässä olisi taulukko, jossa yhdessä sarakkeessa on työ ja toisessa sarakkeessa työhön liittyvät resurssit. Lisäksi olisi painike, josta työtä ja sen resursseja pääsee muokkaamaan.

Tuli esille, että vuoron ja työn peruminen eivät ole sama asia. Rahkila ehdotti, että työn perumisen näkymässä voisi olla select all -tyylinen painike, jolla saa kerralla peruttua kaikki tiettyyn vuoroon liittyvät työt.

\paatokset{
	\item Tehdään header niin, että käyttäjärooli on näkyvissä siellä. Jos tieto saadaan OAuthin kautta, piilotetaan itse tehty ominaisuus.
	\item Kepler-logo tulee sijoittaa yläpalkin vasempaan laitaan ja uloskirjautumispainike oikeaan laitaan.
	\item Toteutetaan aikataulun puitteissa nyt ainoastaan fysiikan laitoksen näkymä, ja mietitään dynaamisuutta vain, jos sille jää ylimääräistä aikaa projektin lopussa.
	\item Haastatteluiden tuloksia ei tarvitse huomioida muuten kuin siten, että ei suljeta olennaisia ominaisuuksia pois järjestelmästä.
	\item Jatketaan käyttöliittymän hahmottelua suoraan html-pohjaan.
	\item Jokaiseen näkymään tarvitaan otsikkotiedot.
	\item Jatkossa tiedotetaan projektiorganisaatiolle käyttöliittymän tilasta vähintään kaksi päivää ennen palaveria tai muuta palautteenantotilaisuutta.
}

}

\asia{Tietokantarakenteen suunnitelman esittely}{
	Paananen ja Räty esittelivät kaavion, jossa on esitetty tietokannan suunniteltu rakenne. Taulujen nimet on otettu pitkälti vanhasta tietokannasta, mutta niitä on muokattu geneerisemmiksi.

Rahkila huomautti, että OAuthin kautta voidaan saada käyttäjän perustiedot, joten niitä ei välttämättä kannata tallentaa tietokantaan. Ellei Korpista ole mahdollista hakea myös muiden henkilöiden perustietoja, niin tiedot on tallennettava omaan kantaan, jotta käyttäjien hakeminen onnistuu. Toisaalta tietojen jatkuva hakeminen Korpista voi hidastaa järjestelmän toimintaa huomattavasti.

Jokaisen käyttäjän rooli on oletuksena opiskelija, ja roolitaulukkoon tallennetaan vain muut roolit. Näin roolitaulukko pysyy pienenä. Santanen huomautti, että koska monet taulut jäävät pieniksi, kannattaa kysyä Pauli Kujalalta, onko suunniteltu tietokantarakenne järkevä.

Ryhmä esitti, että jokaisella laitoksella on oma tietokanta, jotta tietojen hallinta on helpompaa, ja mahdolliset virheet jatkokehityksessä eivät aiheuta vakavia ongelmia. Santanen oli sitä mieltä, että kaikkien laitosten tiedot olisi parempi laittaa samaan tietokantaan, jotta ylläpito on helpompaa. Konki huomautti, että koska laitosten tarpeissa on eroja, voi tietokantarakennekin vaatia laitoskohtaisia muutoksia. Ryhmä tarkistaa Kujalalta, kumpi vaihtoehto on parempi.

Räty ja Paananen ovat miettineet myös mahdollisuutta luoda pohjalle ns. Kepler-base, jonka kautta hallinnoidaan perusominaisuuksia. Sitä kautta esimerkiksi tärkeät tietoturvapäivitykset olisi mahdollista tehdä kaikkiin kantoihin kerralla hajottamatta niiden toimintaa. Tämä toteutusvaihtoehto on sovellusprojektin puitteissa liian työläs toteuttaa.

Santanen ehdotti, että vuoroihin liittyvät ohjaajat voitaisiin toteuttaa ryhmien kautta, mutta Paanasen mielestä kyseinen vaihtoehto on hankala toteuttaa sovellusprojektin aikana, mutta voi olla hyvä huomio jatkokehitykseen. Santanen ehdotti myös, että jokainen resurssi tallennettaisi kantaan resurssiryhmänä, jolloin useiden resurssien varaus kerrallaan voidaan tehdä resurssiryhmien kautta. Tämä tulee myös tarkistaa Kujalalta.

Varauksen tietoihin tallennetaan merkintä, kuka teki varauksen. Lisäksi tallennetaan ryhmän tunnus, joka on null, jos kyseessä on yhden henkilön varaus. Santanen ehdotti, että suunnitelmassa varaukseen liittyvä was\_present muutetaan yleisempään muotoon. Tällöin ohjaaja voi valita esimerkiksi alasvetovalikosta vaihtoehdoksi "ei saapunut paikalle"\hspace{0.1cm}tai "lähti kesken vuoron". Räty huomautti, että vuorolle voidaan laittaa samankaltainen status kuin varattavalle resurssille.

Santanen kysyi varausten perumisesta. Suunnitelman mukaan varaus poistuisi tietokannasta, mutta Santanen huomautti, että pyritään pitämään kaikki mahdollinen tieto tallessa. Varausta peruttaessa sen status voitaisiin muuttaa muotoon "peruttu"\hspace{0.1cm}ja se piilotetaan käyttäjiltä.

Tietokantauluihin tulisi lisätä huomiokentät, joihin voidaan tallentaa tarvittaessa lisätietoja. Esimerkiksi varausta tehdessä opiskelija voi ilmoittaa rajoitteista (näkörajoite, vieras kieli tai muu vastaava), jotka ohjaajan tulee ottaa huomioon.

\paatokset{
	\item Käyttäjien oletusrooli on opiskelija.
	\item Tarkistetaan Korpin kehittäjiltä, miten tiuhaan tahtiin sovellus voi lähettää pyyntöjä Korppiin.
	\item Tarkistetaan Korpin kehittäjiltä, onko sovelluksen mahdollista saada muiden käyttäjien tietoja Korpista.
	\item Tarkistetaan Kujalalta, miten tietokantataulut on järkevä toteuttaa.
	\item Ryhmä sopii tapaamisajan Kujalan kanssa.
}
}

\asia{Lisenssisitoumuksen allekirjoittaminen}{
	Projektiryhmän jäsenet allekirjoittivat kolme kappaletta lisenssisopimuksesta. Yksi kappale annettiin tilaajan edustajille ja kaksi jäi ryhmän haltuun.
}

\asia{Muut esille tulevat asiat}{
	Konki esitteli projektisuunnitelman, josta jätettiin käymättä luvut 4, 5 ja 8. Projektisuunnitelman ja vaatimusmäärittelyn termistössä on hieman eroja, joten ne pitää pyrkiä yhtenäistämään. Santanen muisteli, että vaatimusmäärittelyssä olisi tarkempi kuva, jota voisi käyttää myös projektisuunnitelmassa. Rahkila huomautti, että kuvassa oleva WWW-palvelin kannattaa esittää tarkemmin jaettuna pienempiin osiin.

Projektisuunnitelman toiminnallisuuksista puuttuu kielivalinta. Kielivalinnan toteutus on vielä päättämättä. Rahkilan mukaan Pythonista voi löytyä Javan internationalization-pakettia vastaava paketti. Kannattaa käyttää jotain valmista ratkaisua, jotta ei tarvitse itse ottaa kantaa sanojen taivutuksiin. Paananen ehdotti GNU:n gettextiä, mutta huomautti, että se on kankea toteuttaa. Päättämättä jäi, toteutetaanko html-hahmotelma suomeksi vai englanniksi.

Muita esille tuotuja asioita:
\begin{itemize}
	\item Konki huomautti, että projekti on kohta puolivälissä, joten aikaa toteutukseen ei ole kovin paljoa jäljellä.
	\item Ohjaajat pyysivät ryhmää miettimään sopivaa ajankohtaa ensimmäiselle lähdekoodin katselmoinnille, ja ilmoittaa päätöksestä mahdollisimman pian. Kuhno ehdotti, että katsotaan tilannetta viikolla 12.
	\item Ryhmä tarvitsee virtuaalipalvelimen, ja sen saamisessa voi kestää pahimmillaan parikin viikkoa. Ryhmäläiset kannattivat Linux-palvelinta, mutta palvelimen tyyppiä ei päätetty lopullisesti.
\end{itemize}

\paatokset{
	\item Korjataan vaatimusmäärittelyn ja projektisuunnitelman termistöt yhteneväisiksi.
	\item Ohjaajien välistä vuoronvaihtotoiminnallisuutta ei toteuteta, ellei projektin lopussa ole ylimääräistä aikaa.
	\item Projektisuunnitelmaan tehdään korjaukset, ja se allekirjoitetaan seuraavassa palaverissa.
	\item Ryhmä ilmoittaa ohjaajille sopivan katselmointiajankohdan mahdollisimman pian.
	\item Konki pyrkii saamaan ryhmän käyttöön virtuaalipalvelimen mahdollisimman pian.
	\item Tarkastettavat koodit on toimitettava Partaselle vähintään viikkoa ennen katselmointia.
}
}

\asia{Läsnäolijoille sovitut toimenpiteet}{
	\toimet{Projektiryhmä}{
		\item Jatkaa käyttöliittymän hahmottelua ja toteutusta.
		\item Tarkistaa Korpin kehittäjiltä, miten usein sovellus voi lähettää pyyntöjä Korppiin ja onko sovelluksen mahdollista saada muiden käyttäjien perustietoja Korpista.	
		\item Sopii tapaamisen Pauli Kujalan kanssa ja käy läpi tietokantasuunnitelman hänen kanssaan.
		\item Korjaa vaatimusmäärittelyn ja projektisuunnitelman termistöt ja tekee projektisuunnitelmaan sovitut korjaukset.
		\item Ilmoittaa ohjaajille sopivan katselmointiajankohdan mahdollisimman pian.
	}

	\toimet{Joonas Konki}{
		\item Selvittää Korppi-kehittäjiltä tarvittavien Korpin rajapintojen dokumentaation saatavuuden.
		\item Pyrkii hankkimaan virtuaalipalvelimen ryhmän käyttöön.
	}

	\toimet{Anu Koskela}{
		\item Toimittaa haastatteluiden yhteenvetoraportin projektiorganisaatiolle ja haastatelluille henkilöille.
	}

	\toimet{Henrik Paananen}{
		\item Lähettää projektiorganisaatiolle sähköpostia vaatimusmäärittelystä.
	}
	
}

\asia{Seuraavan palaverin aika ja paikka}{
	Seuraava palaveri on keskiviikkona 25.3. klo 10:15 Agoralla sovellusprojektien kokoushuoneessa C226.1.
}

\asia{Palaverin päättäminen}{
        Puheenjohtaja päätti palaverin.
}

\muuasia{Jaettu ja käsitelty materiaali}{
	\begin{itemize}[leftmargin=*]
		\item Projektin tilakatsaus käytiin läpi.
		\item Käyttöliittymästä tehdyt hahmotelmat käytiin läpi.
		\item Tietokantarakenteesta tehty kaavio käytiin läpi.
		\item Projektisuunnitelma käytiin läpi (lukuun ottamatta lukuja 4, 5 ja 8).
		\item Tilaajan edustajalle annettiin yksi allekirjoitettu kappale lisenssisopimuksesta. Kaksi kappaletta jäi ryhmäläisille.
	\end{itemize}
}

\label{LastPage} % Tarvitaan sivumäärän tunnistamiseen ylämarginaalia varten
                 % Fedorassa ei ollu lastpage-packagee joka tekee saman...

\end{document}
%----------------------------------------------------------------------
