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

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

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

These are the same as for one individual student. These are used to see the overall level of students.

Game statistics

General statistics

--

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

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.

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.

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.

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).

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:

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.