Opettajan käyttöliittymä eli Teacher's Interface
Johdanto
Opettajan käyttöliittymästä hoidetaan peliin kohdistuvat
ylläpitotoimet sekä pelin statistiikan seuraaminen. Opettajalle
tärkeätä pelin kieliasun seuraamista ja korjaamista varten on
yhteys kirjoittajan käyttöliittymän, josta pelin korjaaminen
onnistuu.
Toteutus ja aikataulu
Opettajan käyttöliittymästä tehtiin ulkoasun ja toiminnot näyttävä
käyttöliittymä demo-pelin yhteydessä. Mallia on käytetty apuna
asiakkaan vaatimusten täsmentämisessä. Opettajan käyttöliittymä
jakaantuu kahteen osuuteen: Ylläpitotoimet ja
raportointitoimet. Saatujen vaatimusten mukaiset
opettajankäyttöliittymät on annettu Tik-86.125 Käyttöliittymät-kurssin (HCI)
harjoitustöiksi.
Linkki Petrukselle, joka tekee raportointi osuuden, sekä linkki
Ryhmälle 15: tatti & doomdark, joka tekee ylläpitotoimintojen käyttäliittymän
Vaatimukset
Työkaluohjelmistot
(Opettajan käyttöliittymän toteutuksen ohjelmointikielenä
käytetään Perl 5.0:aa. Opettajan kanssa kommunikointi
toteutetaan CGI-rajapinnan kautta www-selaimen ja
käyttöliittymän ohjelmiston välillä. Tilasto- ja
raporttitietoja haetaan tietokannasta, joka on toteutettu mSQL:llä.
Tietojen haku tehdään joko SQL-kyselyinä perlillä tai
suoraan mSQL-WWW ohjelmistoa käyttäen. Ylläpitotoimet
tehdään perliä käyttäen käyttäjä- ja
ryhmätietoihin, jotka ovat myöskin SQL-tietokannassa.)
Toimintojen kuvaus
Ylläpitotoimet (Management)
Hahmotelma ylläpitotoimintojen ryhmittelystä
Ylläpitotoimiin kuuluvat: authorisointi, uusien käyttäjien
sekä käyttäjäryhmien luonti ja vanhojen poisto.
Ylläpitosivulla (Manage Users and Groups) on seuraavat toiminnot:
- Käyttäjien valitseminen ja järjestäminen tietyin
perustein (Select Users).
Käyttäjiä voidaan valita eri perusteilla: nimen, ryhmän,
kurssin, opettajan, viimeisen yhteydenottopäivän ja yhteyden domainin
mukaan.
- Käyttäjän lisääminen (Add a new User) Tavallisesti
käyttäjä lisätään automaattisesti peliin
rekisteröityisen yhteydessä. Opettajan voi tarvittaessa
liittää hänet käyttäjäryhmään ja
halutessaan hän voi siis myös lisätä
käyttäjiä peliin.
- Uuden käyttäjäryhmän lisääminen (Add a new User
Group)
- Valittujen käyttäjien poistaminen sekä liittäminen
käyttäjäryhmään (Remove User(s), Add User(s) to the
Group).
- Valitun käyttäjäryhmän poistaminen sekä oikeuksien
muuttaminen. Mahdollisia oikeuksia ovat: pelaaminen (Play Only),
kirjoittaminen tiettyyn ryhmään (Writing in one particular Group),
kirjoittaminen kaikkiin ryhmiin (Writing everywhere), ylläpitäjä
(Operator) ja Opettaja (Teacher). Kukin ryhmä sisältää
alempien oikeudet.
-Niiden käyttäjien poistaminen, jotka eivät ole
käyttäneet peliä tietyn päivämäärän
jälkeen (Remove Users prior than xx:xx:xx).
Raportointi (Reporting)
Raportointitoimiin kuuluu pelistatistiikan seuraamiseen eli mm. oppilaiden
pelimenestyksen seuraaminen, eli heidän eteneminen pelissä sekä
pisteytys.
--
Petruksen laatimia muistiinpanoja hänen Ruthin kanssa käymän
neuvottelun pohjalta:
Teacher's notes
Here are some notes from a meeting with
Ruth Vilmi, teacher at HUT.
These are only rough notes -- I haven't thought out what statistics are
given on which choices.
Identification of the student
- student's name
- student's university (a list of regisered universities)
There might be a need for a more specific indentification scheme.
'Student's group #' could be optional (separating students with the same
name and university).
Individual's statistics
- number of tries on each obstacle
- number of obstacles done
- number of points (out of ten (?))
- number of logins
The teacher wants to know how many times the student has tried on each
obstacle (if there are several tries, the average points are probably
higher). Note! The player (student) can have only one
try on each obstacle during one game. If the player does an obstacle
several times, it is in a different game.
The teacher is also interested how many obstacles the student has done
during each session (an average on each game).
Points are obviously important. Points on each game (an average) or
points on each obstacle (average).
Group statistics
- number of tries on each obstacle (group average)
- number of obstacles done (group average)
- number of points (group average)
These are the same as for one individual student. These are used to
see the overall level of students.
Game statistics
- popularity of this game (times used compared to average)
- obstacles done most often (top 10)
- average score of each obstacle
General statistics
- most popular games (top 10)
- average scoring on each game
- own statistics (for students)
- group statistics (for students)
--
Toimintojen rakenne
Opettajan käyttöliittymän käynistäminen
- Opettajan käyttöliittymään päästään
seuraavien vaiheiden kautta:
1. Login (http://hiekkalapio.cs.hut.fi:1995/cgi-bin/login)
2. Jos käyttöoikeudet ovat kunnossa, niin rutiini
../cgi-bin/do_login tulostaa päävalikon.
do_login
2.1. Parametreina do_login saa UserID:n ja Authorization Modulen
generoiman satunnaisluvun (RoundNumber), jota käytetään verifiointiin.
Näitä kuljetetaan mukana kaikissa toiminnoissa. Jokaista uutta sivua
ladattaessa verrataan parametrina saatua authorisaatio-numeroa tietokannassa
olevaan ja generoidaan uusi, joka talletetaan taas tietokantaan
sekä lähetetään hidden-objektina luodulle html- sivulle.
Näin voidaan varmistaa, että käyttäjän
lähettämä sivu vastaa järjestelmän sen hetkistä
tilaa, eikä ole esimerkiksi vanha sivu käyttäjän browserin
muistista. Myös väärinkäytökset toisen
käyttäjän UserID:tä käyttäen vaikeutuvat.
2.2. do_login luo seuraavan valikon:
· Play the game
· Writer new game stories
· Administration
· Reports
Administration käynnistää opettajankäyttöliittymän (Teacher's Interface) modulin teacher.pl.
Opettajan käyttäliittymän yleinen rakenne
Opettajan käyttöliittymä on jaettu ylläpito- ja
raportointitoimintoihin. Sen ensimmäisellä sivulla voidaan valita
kumpien toimintojen valintasivulle mennään. Etusivulla on myös
yleisimpiä toimintoja valittavissa suoraan.
1. Ylläpitotoiminnot, User and Group Management. Ylläpitotoiminnot
ovat ryhmitelty samalle sivulle käyttäjien ja ryhmien
ylläpitotoimiin. Käyttäjien ylläpitotoiminnot sijaitsevat
tiedostossa techer_manage-users.pl, joka käynnistyy valittaessa jokin sen
toiminnoista. Ryhmien ylläpitotoimet sijaitsevat tiedostossa
teacher_manage-groups.pl, joka taas käynnistyy ylläpitotoimista.
2. Raportointitoiminnot, Reports and Statistics. Raportointitoiminnot
sijaitsevat tiedostossa teacher_reports.pl
Ylläpitotoiminnot - User and Group Management
Ylläpitosivulle muodostetaan valintaikkunat käyttäjiä ja
ryhmiä varten. Käyttäjät tulostetaan ikkunaan
määrätyssä järjestyksessä ja tietyin ehdoin.
Sivulla on käyttäjien sekä ryhmien ylläpitotoimintoja
varten käynnistämispainikkeet, jotka käynnistävät
asianomaiset rutiinit. rutiineista palataan oletusarvoisesti takaisin
ylläpitosivulle.
1. Käyttäjien rajaus- ja järjestysehdot voidaan valita
toiminnolla SelectUsers, joka käynnistää scriptin
teacher_select.pl.
1.1. Käyttäjiä voidaan rajata (filter-by) ja
järjestää (sort-by) eri ehdoin. Vaihtoehdoille tulostetaan
seuraavat painikkeet:
· Nimi
· Ryhmä
· Kurssi
· Opettaja
· Yhteyden domain
· Viimeinesn yhteydenottopäivä
1.2. Painikkeiden viereen tulostetaan teksti-ikkunat käyttäjän
antamia argumentteja varten.
Rajauksien kohdalla käyttäjä voi painaa niitä
check-boxeja, joiden mukaan hän haluaa rajata tiedot. Asianomaisiin
teksti-ikkunoihin kirjoitetaan halutut argumentit.
Käyttäjä painaa järjestämisen kohdalla sitä
radiobuttonia, jonka mukaan hän haluaa järjestää tiedot.
Teksti-ikkunaan kirjoitetaan haluttu argumentti.
1.3. OK-painike valintojen hyväksymistä varten. Se
käynnistää scriptin teacher_manage-users.pl:n, jolle valitut
optiot välitetään parametreina Filter-by ja Sort-By.
2. Valintaikkunasta valittujen käyttäjien poistaminen, Remove
User(s).
2.1. Tietokantaa käsittelevällä funktiolla DBDeleteItem("Users",
UserID) poistetaan käyttäjä tietokannasta. Myös
käyttäjän viittaukset seuraavista tauluista on poistettava:
ItemLocations, UserProperties, LocationsBeen ja ActionsDone.
3. Valintaikkunasta valittujen käyttäjien liittäminen haluttuun
käyttäjäryhmään. Add User(s) to the Group.
Optiovalikosta valituille käyttäjille asetetaan yksitellen
tietokannan User-tauluun haluttu ryhmä komennolla DBSetItem("Users, ID,
GroupID).
4. Uuden käyttäjän lisääminen. Add a new User.
Registration-ruudun rutiinia käyttäen...
5. Uuden Käyttäjäryhmän lisääminen. Add a new
User Group.
5.1. Käyttäjältä kysyään seuraavat tiedot, jotka
lisätään tauluun Groups:
· Rymän nimi, Name, kysytään teksti-ikkunasta.
· Ryhmän sanallinen kuvaus, Description, kysytään
teksti-editorista.
· Rymän oikeudet, Permissions, valitaan optiomenusta jokin
seuraavista:
1. Vain pelaaminen, Play Only.
2. Kirjoittaminen tiettyyn ryhmään, Writing in one particular
Group.
3. Kirjoittaminen kaikkiin ryhmiin, Writing everywhere.
4. Ylläpitäjä, Operator.
5. Opettaja, Teacher.
5.2. Uudet jäsenet ryhmään lisätään
edellisellä sivulla, eli User and Group Management -sivulla (toiminto
3).
6. Käyttäjäryhmän poistaminen. Remove Group.
Valintaikkunasta valitun ryhmän poistaminen tietokannasta. Tietokantaa
käsittelevällä funktiolla DBDeleteItem("Groups", GroupID) poistetaan
käyttäjä tietokannasta. Tauluista, joissa on viittaus ryhmään, on
ryhmä muutettava toiseksi. (= alempiarvoiseksi
vakioryhmäksi. Käyttäjiä ei voida poistaa tällä toiminnolla, vaan
halutun ryhmän käyttäjät poistetaan ensin. Muutettavia tauluja ovat:
Users, Items, ActionParts ja Locations.
7. Käyttäjäryhmän oikeuksien muuttaminen.
7.1. Valintaikkunasta valitun ryhmän oikeuksian muuttaminen.
7.2. Kysytään optiomenulla ryhmän oikeudet, Permissions, jotka
lisätään tauluun Groups:
· Vain pelaaminen, Play Only.
· Kirjoittaminen tiettyyn ryhmään, Writing in one particular
Group.
· Kirjoittaminen kaikkiin ryhmiin, Writing everywhere.
· Ylläpitäjä, Operator.
· Opettaja, Teacher.
8. Niiden käyttäjien poistaminen, jotka eivät ole
käyttäneet peliä tietyn päivämäärän
jälkeen, (Remove Users prior than xx:xx:xx).
8.1. Aika kysytään teksti-ikkunasta.
8.2. Users taulusta haetaan käyttäjät, joiden LastActionTime
kenttä täyttää annetun ehdon.
8.3. Käyttäjät poistetaan tietokantaa
käsittelevällä funktiolla DBDeleteItem("Users", UserID).
Myös käyttäjän viittaukset seuraavista tauluista on
poistettava: ItemLocations, UserProperties, LocationsBeen ja ActionsDone.
Raportointitoiminnot - Reports and Statistics.
Raportointitoimiin kuuluu pelistatistiikan seuraamiseen eli mm. oppilaiden
pelimenestyksen seuraaminen, eli heidän eteneminen pelissä sekä
pisteytys. Teacher_reports.pl huolehtii näistä
toiminnoista.
1. Käyttäjien valitseminen (ja järjestäminen) toiminnolla
Select Users.
Käyttäjiä voidaan valita eri perusteilla:
· Etenemisen
· Pistemäärän
· Nimen
· Ryhmän
· Kurssin
· Opettajan
· Yhteyden domainin?
· Viimeisen yhteydenottopäivän mukaan
Taulusta Location been saadaan käyttäjien eteneminen locationeissa.
Taulusta ActionsDone saadaan suoritetut actionit. Ja koska obstaclet on
liitetty actioneihin, nähdään siten myös suoritetut
obstaclet ActionDone-taulun avulla. Käyttäjän
pistemäärä on kunkin obstaclen keskimääräinen
pistemäärä, eli eräänlainen laatumittari. Pisteet on
talletettu Users tauluun kenttään Score.