wiki:Koskelo/Kehitysideat
Last modified 11 years ago Last modified on 2008-02-12 13:36:08

Jatkokehitysideat

Koskelo-projekti
12.2.2008
Perttu Lähdesmäki
Harri Pitkänen
Atte Pulkkis
Irene Venäläinen

Koskelo-projekti kehitti Korppi-järjestelmään uudistetun käyttöliittymän yksittäisten kurssien opetustapahtumien hallintaan ja opetusryhmien lisäämiseen. Lisäksi Koskelo-projekti tuotti pienen JavaScript-kalenterin. Dokumentissa esitellään Koskelo-projektin aikana syntyneitä jatkokehitysideoita ja ennen sovelluksen käyttöönottoa korjattavat asiat.

Kehitysideoiden perässä suluissa olevat numerot (#xyz) viittaavat asiaan liittyvään merkintään Korpin Bugzillassa.

Ennen käyttöönottoa korjattavat asiat

Nämä asiat tulee korjata ennen sovelluksen käyttöönottoa.

  • JavaScript-muotoinen pikkukalenteri tarjotaan tällä hetkellä oletuksena kaikille. Jos käyttäjällä ei ole JavaScriptiä käytössä, tulisi hänen saada käyttöönsä vanha versio kalenterista. (P1)
  • Vanha opetusryhmät-käyttöliittymä ei suostu tallentamaan tapahtumia. (Suostui ainakin 14.1.2008 palaverissa, joten ongelma saattoi olla tietokannassa.)
  • HTML-tagien käyttö opetusryhmän nimessä täytyy estää. Vaihtoehtoisesti muu koodi pitää korjata muuntamaan tagit tekstiksi, eikä lähettämään niitä selaimelle sellaisenaan (tietoturvaongelma).
  • Viikkokalenterin linkin Viikkojen kooste ympärille ei pitäisi tulla <a> </a>-tageja silloin, kun viikkojen kooste on valittu näytettäväksi.

Pikkukalenterin kehitysideoita

  • Pikkukalenteri voisi säilyttää valitun kuukauden Korppi-järjestelmän sivujen välillä siirryttäessä. Tieto kuukaudesta säilytettäisiin evästeessä. (#4012)
  • Kalenteriin voisi lisätä painikkeen tai linkin, jonka avulla pääsee nopeasti takaisin nykyiseen kuukauteen.
  • Kalenterin päivää, viikkoa, kuukautta ja vuotta klikkaamalla voisi päästä muihinkin kuin henkilökohtaiseen kalenteriin. Valittu sivu tai osio määräisi, mihin kalenteriin siirrytään. (#4013)
  • Valtion ja organisaation lomapäivät voisivat näkyä pikkukalenterissa. (#1556)
  • Tapahtumat voisivat näkyä pikkukalenterissa vuosikalenterin tapaan. (#4014)
  • Pikkukalenterista tarvitaan myös popup-versio, jota voisi käyttää päivämäärien valitsemiseen kaikissa päivämäärien syöttökentissä. (#1650)
  • Koodia tulisi muuttaa siten, että html-linkkien kohteet voi helposti vaihtaa. Tätä tarvitaan, jos halutaan käyttää kalenteria päivämäärien valitsemiseen lomakkeita täytettäessä tai ryhmän kalenteriin siirtymiseen.
  • Riippuen meneillään olevasta päivästä, kalenteri hyppii kuukausia selatessa joidenkin kuukausien yli.

Opetusryhmien hallinnan kehitysideoita

Opetustapahtuman muokkaus- ja lisäysikkuna

  • Jos kentällä on useita arvoja, jotain kautta pitäisi pystyä näkemään kyseiset erilaiset arvot. (#4015)
  • Tapahtumille tulee olla mahdollista määrittää loppumispäivämäärä. (#4016)
  • Päivämäärä-kenttään voisi lisätä nuolipainikkeet seuraavaan ja edelliseen päivään siirtymistä varten. (#4017)
  • Päivämäärä-kentän viikonpäivänäyttö voisi olla pudotusvalikko, josta olisi mahdollista vaihtaa päiväksi saman viikon jokin toinen viikonpäivä. (#4017)
  • Jos muokkausikkunassa on tallentamattomia tietoja, tietojen häviämiseen johtaville toimenpiteille tulisi vaatia vahvistus. Näitä ovat mm. toisen tapahtuman valitseminen, toiselle sivulle siirtyminen tai selainikkunan sulkeminen. Mallia voi ottaa Gmail-palvelusta, jossa keskeneräisen viestin vahingossa hävittäminen on pyritty estämään. (#4019)
  • Tapahtuman toistoja pitäisi pystyä luomaan johonkin päivämäärään asti. (#4020)
  • Tapahtuman toistoja pitäisi pystyä luomaan määritelty määrä tietyn kaavan mukaan. Esimerkiksi kymmenen tapahtumaa lisätään päiville ma, to ja pe, kunnes haluttu määrä tapahtumia on luotu. (#4020)
  • Tapahtumia lisättäessä pitäisi varoittaa, mikäli tapahtumaa ollaan luomassa lomapäivälle. Lisäksi toistomekanismin pitäisi käyttäjän valinnan mukaan hypätä näiden päivien yli. (#4020)
  • (Virhe!)-teksti voisi tulla näkyviin vasta, kun Päivämäärä-ruutuun kirjoittaa jotain. (#4017)
  • Tapahtuman paikaksi voisi asettaa myös Muu paikka. (#1617)
  • Entisen käyttöliittymän etsi/korvaa-toiminnolle ei Koskelo-projektin toteuttamassa käyttöliittymässä ole vastinetta. Täysin vastaavaa toimintoa voi olla vaikea toteuttaa järkevästi, mutta korvaavana vaihtoehtona voisi käyttää tekstikenttien muuttujia. Esimerkiksi tapahtuman WWW-osoitteessa nykyään oleva "http://www.mit.jyu.fi/vesal/kurssit/ohjelmointi2007/demot/tehtavat/demo6.html" voitaisiin kirjoittaa "http://www.mit.jyu.fi/vesal/kurssit/ohjelmointi${year}/demot/tehtavat/demo6.html", jolloin ei enää olisi tarvetta korvata merkkijonoa "2007" merkkijonolla "2008" käytettäessä edelliseltä kurssilta peräisin olevia opetustapahtumia. (#4031)

Opetustapahtumien taulukkonäkymä

  • Taulukon rivejä (viikkoja) voisi piilottaa näkyvistä taulukon rivin (eli viikon) kontekstivalikon kautta. (#4034)
  • Useamman tyhjän viikon jaksot yhdistetään tällä hetkellä yhdeksi kapeaksi riviksi. Tapahtumien lisäystä varten tämän rivin voisi kontekstivalikon kautta laajentaa siten, että jokaiselle viikolle piirretään oma rivinsä. (#4034)
  • Olisi hyvä pystyä valitsemaan suorakulmion muotoinen lohko tapahtumia Excel-tyylisesti vetämällä hiirellä diagonaalisesti valittavan alueen kulmasta kulmaan. (#4022)
  • Nopea kopioi/liitä-toiminto, esimerkiksi kontekstivalikon kautta, voisi nopeuttaa tapahtumien käsittelyä. (#4036)
  • Tapahtumien poistolle voisi kehittää vaihtoehtoisen toimintatavan. Esimerkiksi ponnahdusikkunan kautta avautuvaan "ostoskoriin" lisätään tapahtumia ja poistetaan lopuksi kaikki kerralla.
  • Tapahtumille olisi hyvä voida määrittää, ovatko ne todellisia vai suunnitteilla olevia. (#4035)
  • Sivun vasemman laidan navigointipuusta voisi tehdä piilotettavan, jolloin tapahtumataulukolle jäisi sivulla enemmän tilaa. Tämä koskisi myös muita näkymiä (kenties muitakin Korpin sivuja). (#4021)
  • Normaalin alasvetovalikon neliön ja kolmion yhdistelmä voisi olla hyvä vaihtoehto merkkaamaan kontekstivalikkoa pelkän kolmion sijaan.
  • Käsiteltävät opetusryhmätyypit -valinnan Näytä kaikki -painikkeella voisi myös poistaa kaikki valinnat. Toisin sanoen, ensimmäinen klikkaus valitsee kaikki ryhmät ja toinen klikkaus poistaa kaikki valinnat.
  • Kontekstivalikko katoaa muokkausikkunan alle tai selainikkunan oikean reunan ulkopuolelle.
  • Salivarausten tekeminen, muuttaminen ja poistaminen tulee lisätä käyttöliittymään.
  • Sovellukseen tarvitaan tuki vuorokausirajojen yli ulottuville tapahtumille. (#4016)
  • Ryhmänvalintalistaan täytyy lisätä vaihtoehto valitse, joka on oletuksena Lisää tapahtuma -painikkeesta lisättäessä.

Viikkokalenterinäkymä

  • Viikkokalenterinäkymän koosteessa solujen taustavärin avulla voisi ilmaista, kuinka monta tapahtumaa kyseisenä viikonpäivänä ja kellonaikana kurssilla kokonaisuudessaan on. (#4023)
  • Valitun kellonaikavälin ulkopuolella olevien tapahtumien olemassaoloa voitaisiin merkata tähdellä. (#4025)
  • Näkymä voisi näyttää aikavälin, jolta viikkokooste on muodostettu.
  • Päivämäärävälillä tulisi voida määrittää, miltä aikaväliltä viikkokooste halutaan.
  • Viikkojen kooste voisi näyttää tapahtumien ensimmäisen ja viimeisen esiintymispäivän.
  • Päivämäärästä toiseen hyppäämiseen tarkoitettu kenttä tarvitsee enemmän vaihtoehtoisia tapoja esittää päivämäärä (mielellään täsmälleen samat esitysmuodot kuin Korpin kalenteriosiossa on käytössä). (#4028)
  • Tapahtumia pitäisi pystyä valitsemaan samaan tapaan kuin tapahtumien muokkausnäkymässä. Kontekstivalikolla voisi valita muokattavaksi joko kaikki viikon tapahtumat tai kaikki yhden päivän tapahtumat. (#4029)
  • Viikkojen koosteessa järjestelmä hakee näkymään tällä hetkellä ensimmäisen tapahtuman tiedot ja näyttää sen. Tämä pitäisi toteuttaa useiden tapahtumien tapauksissa siten, että on mahdollista nähdä kaikkien tapahtumien yhteiset tiedot.
  • WWW-kentän tulisi olla valittavissa lisäasetuksissa. (#4033)
  • Viikkokalenterissa tapahtumien solujen ympärillä olevasta valkoisesta tilasta tulisi päästä eroon. (#4030)
  • Viikkokalenterin viivojen (etenkin kaksinkertaisten viivojen!) määrää olisi hyvä vähentää. (#4030)
  • Viikkokalenterissa tulisi ehkä pystyä valitsemaan vain yhden solun tapahtuma.
  • Hyppää päivämäärään -kentällä tulisi olla painike kentän toimintaa selkeyttämässä.
  • Opetusryhmien hallinnasta tulisi voida helposti tulostaa koko kurssin tapahtumat joko viikkokalenteri- tai taulukkomuodossa. Tätä varten pitäisi saada helposti viikkokalenterista kerralla kaikki viikot näkyviin ja skaalata tai jakaa tapahtumataulukko siten, että sen saa helposti tulostettua paperille. (#4032)

Opetusryhmien käsittelynäkymä

  • Opetusryhmien muokkausnäkymässä tulisi esittää opetusryhmien tiedot taulukkomuodossa.
  • Tietojen muokkaamiseen tarvitaan samankaltainen muokkausikkuna kuin opetustapahtumien muokkaamista varten on tehty.

Opetusryhmien luontivelho

  • Opetusryhmien järjestysnumeron muokkaus tulisi olla mahdollista. (Mutta: Jos ollaan lisäämässä vaikkapa demoryhmiä, ja kurssilla oli jo ennestäänkin demoryhmiä, järjestysnumeroiden asettaminen velhossa voi olla vaikeaa. Siksi tämän toiminnallisuuden voisi toteuttaa myös opetusryhmien käsittelynäkymässä ja sijoittaa aina velhossa luodut ryhmät järjestyksessä olemassa olevien ryhmien perään.)
  • Liikuttaessa velhossa taaksepäin osa tehdyistä valinnoista palautuu takaisin oletusarvoonsa. Nämä pitäisi kaikki korjata siten, että liikkuminen kumpaankaan suuntaan ei muuttaisi jo tehtyjä valintoja.

Yleisiä teknisiä kehitysideoita

  • Onko mahdollista hyödyntää JavaScriptissä (eli selaimen päässä) Korppi-järjestelmässä Javalla toteutettuja ohjelman osia tekemällä synkronisia kutsuja JavaScriptistä palvelimelle? Näin ei tarvitsisi kirjoittaa koodia sekä JavaScriptiin että Java-luokkiin. (#4028)
  • Opetustapahtumien haku XML-muodossa on toistaiseksi mahdollista vain yksi opetusryhmätyyppi kerrallaan. Hakujen nopeuttamiseksi pitäisi toteuttaa tapahtumien haku tapahtuman tunnisteen (Event.eid) perusteella. Lisäksi voisi olla hyödyllistä toteuttaa kurssin kaikkien tapahtumien haku yhdellä kertaa sekä yhden opetusryhmän tapahtumien haku.
  • Opetustapahtumien haku tietokannasta XML-muodossa tulostamista varten tapahtuu toistaiseksi käyttämällä valmiita kotkabeans-paketin alla olevia luokkia. Niitä ei ole juurikaan Koskelo-projektin puitteissa optimoitu tähän käyttötarkoitukseen, ja tämän optimoinnin puutteen takia hakujen yhteydessä joudutaan tekemään tarpeettoman monta SQL-komentoa. Tämä hidastaa jonkin verran opetusryhmien tietojen lataamista selaimeen.
  • Joitakin merkkijonoja ei ole saatu merkittyä käännettäviksi. Merkinnät puuttuuvat pikkukalenterin kuukausien ja päivien nimistä ja uuden tapahtumien muokkausnäkymän viikonpäivistä. Englanninkielisiä käännöksiä ei ole olemassa kaikille uusille merkkijonoille.
  • Silloin tällöin on tullut vastaan tilanteita, joissa Korpin Malttia-sivu on tullut tarpeettomasti näkyviin. Nämä tilanteet eivät näytä olevan helposti toistettavissa, mutta niitä ei ole korjattukaan.