Demojen laittaminen verkkoon

1. Miksi?
2. Miten?
2.1 files.txt
2.1.2 files.txt:n syntaksi
2.2 Tiedostojen siirto
2.3 DemoWWW
2.4 Entä näkevätkö muut oppilaat demoni ennen palautusaikaa?
2.5 Entä jos email-osoite ja Agoranetin tunnus eivät täsmää?
2.6 Entä jos en halua tai en voi laittaa Agoran palvelimelle?
3. Tarkista siirron onnistuminen
3.1 Entä jos siirto on epäonnistunut kohdaltani

1. Miksi?

Demot laitetaan verkkoon, jotta kaikkien oppilaiden tehtävien tarkastamiseen olisi samat mahdollisuudet.

Lisäksi oppilaille tulee näin enemmän "mallivastauksia" mahdollisista tavoista ratkaista tehtävät.

Tehtävät tulee olla siirretty verkkoon maanantaina klo 13.00 mennessä. Tämän jälkeen ajetaan ohjelma, joka hakee jokaisen oppilaan ratkaisut ja laittaa ne verkkoon kurssin sivujen alle. Samalla lasketaan tehtävistä tulevat pisteet

Ohjaajat tarkistavat satunnaisesti valituilta oppilailta satunnaisesti valitut tehtävät. Tietyillä demokerroilla tarkistetaan kaikki tehtävät.

Mahdollinen "huijaaminen" on verrattavissa lunttaamiseen.

Jokainen siirtää omat tehtävänsä. Jos joku tehtävä on tehty yhteistyössä jonkun toisen kanssa, on tästä oltava selvä huomautus ratkaisutiedostossa.

2. Miten?

Jotta tehtävät olisivat koneellisesti siirrettävissä, pitää sopia tietty "syntaksi" missä ja miten tehtävät pidetään.

Jokainen laittaa tehtävät oman WWW-sivunsa alle. WWW-sivut voivat olla joko Agoran sivuilla (www.it.jyu.fi/users/KAYTTAJA) tai jossakin muualla. Agoran sivuja pääsee käyttämään W:-levyaseman kautta.

Lisäksi pitää kertoa mihin tehtävät on siirretty. Tämä tehdään Korpin avulla täyttämällä Korpissa oleva DemoWWW-kenttä siirtopaikan osoitteella, johon hakuautomaatti lisää aina perään tekstin demo1,demo2 jne. vuorossa olevan demokerran mukaan. Tästä osoitteesta hakuautomaatti sitten etsii tiedostoa files.txt ja hakee files.txt-tiedostossa luetellut tehtävät.

2.1 files.txt

Tehtävät saa tehdä minkä nimiseen tiedostoon haluaa. Jotta tehtävien pisteet olisi helppo laskea ja tehtävät saataisiin siirrettyä verkkoon automaattisesti, tekee jokainen tehtävätiedostojen kanssa samaan hakemistoon seuraavan syntaksin mukaisen tiedoston, jonka nimi on AINA files.txt:
=--------------------
= Demo 1
=--------------------
kerho.txt = [T1-4:4] - kerho-ohjelman suunnitelma
ope.txt = [T5-6:2] - arvosanatehtävä
nimi.txt = [T7:1] - etu- ja sukunimen vaihtaminen
kavely.txt = [T8:0.5] - kävelyohjeet, vain jälkimmäinen kohta
nelio.cpp = [TB1:1] - lukujen neliöt
kissat.cpp = [TG1,2:1] - kissojen määrän laskeminen, hyvin toimii!

Eli tiedostossa =-merkki on komentti. Tiedoston alussa on muutama erotinviiva ja sitten demokerran numero.
Tehtävät merkitään seuraavasti:
kavely.txt = [T8:0.5] - kävelyohjeet, vain jälkimmäinen kohta

Selitykset:

kavely.txt    - vastaustiedoston nimi, voi olla myös alihakemistossa
                esim:  ht/kavely.txt 
[T            - aloittaa tehtävän numeron ja pistemääräkentän
8             - tehtävän numero, voi olla esim. 1-4  2,3  G2-3
:             - erottaa tehtävän numeron pistemäärästä
0.5           - tehtävästä itselle annettu pistemäärä.  Huom!  Desimaalipiste!!!
]             - lopettaa tehtävän numeron ja pistemäärän
- kävely...   - kommentti tehtävälle, esim. mikä vikana

Tiedostoon voi laittaa enemmänkin kommentteja, mm. jos tehtävät on tehty yhteistyössä useamman henkilön kesken, voi tiedosto alkaa vaikkapa:
=--------------------
= Demo 1
= Vesa Lappalainen & Markku Vire
=--------------------
kerho.txt = [T1-4:4] - kerho-ohjelman suunnitelma
Tiedostoon voidaan lisätä myös tarpeellisia aputiedostojen nimiä ilman että niille on pakko antaa tehtävämääritettä [T...].:
=--------------------
= Demo 1
=--------------------
kerho.hlp = - ohjelman avustustiedosto
files.txt voidaan tehdä millä tahansa editorilla. Voidaan käyttää myös ohjelmaa DemoWWW, joka pitää huolen oikeasta syntaksista.

Tiedosto syntyy ja siirto käy kätevästi myös NettiDemoWWW:llä.

2.1.2 files.txt:n syntaksi

Edellinen tarina syntaksin avulla.
1) Jokainen files.txt:n rivi tarkoittaa tiedostoa, jollei se ala = tai $ merkillä
2) = merkin jälkeinen osa rivistä on kommenttia
3) Tyhjät rivit ovat kommenttirivejä
4) Rivi =--- muuttuu HTML-versiossa < hr> -komennoksi
5) Ylimääräiset välilyönnit poistetaan
6) Yhden rivin syntaksi:
     [Tiedoston_nimi] ["=" [ "[T" Tehtävännumero ":" tehtävästä_ansaittu_pistemäärä "] -"   ] kommentti ]

   missä
     Tiedoston_nimi                 - vastaustiedoston nimi, voi olla myös alihakemistossa
                                      esim:  ht/kavely.txt 
     Tehtävännumero                 - tehtävän numero, voi olla esim. 1-4  2,3  G2-3
     tehtävästä_ansaittu_pistemäärä - tehtävästä itselle annettu pistemäärä.  Esim. 0.8
                                      Huom!  Desimaalipiste!!!
     kommentti                      - vapaamuotoinen kommentti esim. tehtävän tasosta

2.2 Tiedostojen siirto

Oletetaan seuraavassa että käyttäjällä on Agoranetissä tunnus vesal. Tällöin hänen kotisivunsa http://www.it.jyu.fi/users/vesal ovat käytettävissä suoraan W:-levyasemakirjaimen kautta.

Oletetaan lisäksi että käyttäjän Korpissa oleva postiosoite alkaa myös vesal@.... Oletetaan käyttäjän käyvän kurssia Ohjelmointi++, jolla luennoitsija on määritellyt tunnuksen ohj.

Jos käyttäjä ei tee muita toimenpiteitä hänen tulee siirtää ensimmäiset demot (demo 1) hakemistoon W:\ohj\demo1. Mainittuun hakemistoon hänen tulee siirtää kaikki vastaustiedostot ja files.txt.

Nyt demot näkyvät osoitteessa http://www.it.jyu.fi/users/vesal/ohj/demo1, josta siirtoautomaatti käy ne noutamassa maanantaina klo 13.00.

Siirto voidaan tehdä millä tavalla tahansa ja mistä tahansa.

Esimerkkejä:
1) Tiedostot on kotona kopioitu korpulle hakemistoon a:\demo1
   annetaan komentorivillä komennot
     mkdir w:\ohj         -  jos ei vielä koskaan tehty
     mkdir w:\ohj\demo1 
     copy a:\demo1\*.* w:\ohj\demo1
	
2) Joka rakastaa hiirtä, voi käyttää esim. Exploreria tiedostojen siirtoon
   (= varmasti hitaampaa!)
3) Jos tiedostot on u_levyllä paikassa u:\ohj\demo1 ja hakemistossa ei
   ole muuta kuin tarvittavat vastaustiedostot ja files.txt, niin
   komentorivillä
	    kopioi u:\ohj\demo1\*.* w:: /s
   hoitaa homman.  (Samoin tietysti jos tiedostot ovat korpulla paikassa 
   a:\ohj\demo1, niin kopioi a:\ohj\demo1\*.* w:: /s luo hakemistot ja
   kopioi tiedostot)	  	 	
4) Käytetään ohjelmaa DemoWWW.exe, joka samalla pitää huolen, ettei
   turhia tiedostoja kopioida.
5) Käytetään NettiDemoWWW:tä.   

2.3 DemoWWW

Tiedosto files.txt ja myös tiedostojen siirto voidaan tehdä ohjelmalla DemoWWW.exe. Käyttöohjeet voi lukea tiedostosta DemoWWW.html. DemoWWW:n voi käynnistää esim. komentoriviltä antamalla komennon: DemoWWW .

2.4 Entä näkevätkö muut oppilaat demoni ennen palautusaikaa?

Kyllä näkevät jos ei tehdä muuta. Ratkaisu on keksiä itselleen "salasana". Keksitään salasanaksi vaikkapa "kissa123". Tämä salasana käydään kirjoittamassa Korppiin oppilaan lisätietojen kohdalle nimikkeen DemoWWW kohdalle. Kirjoittamisessa on oltava huolellinen!

Nyt tiedostojen siirto tehdään vastaavasti hakemistoon: W:\ohj\kissa123\demo1. Jos lisäksi on olemassa tiedosto W:\ohj\index.html, niin toiset oppilaat eivät pääse katsomaan vastauksia elleivät he arvaa tuota "salasanaa". Salasanassa saa käyttää vain tiedoston nimeen kelpaavia merkkejä. Korpissa olevan tiedon perusteella automaatti osaa kuitenkin hakea vastaukset oikeasta paikasta.

Jos siirtoon käytetään DemoWWW-ohjelmaa, pitää "salasana" laittaa Kurjen lisäksi kohtaan Edit/Options/Passwd.
Lisäksi hakemistoon ohj kannattaa tehdä tiedosto index.html, jotteivat muut näe hakemiston sisältöä.

2.5 Entä jos email-osoite ja Agoranetin tunnus eivät täsmää?

Jos käyttäjän Korppiin ilmoittama postiosoite poikkeaa hänen Agoranetin tunnuksestaan, on käyttäjän annettava Korpissa kohtaan DemoWWW täydellinen URL-osoite ilman demon numeroa. Eli esim. jos käyttäjän postiosoite olisi vesa.lappalainen@mit.jyu.fi ja Agoranetin käyttäjätunnus olisi vesal, pitäisi hänen laittaa Korpissa:
Jos "salasanaa" ei käytettä
  DemoWWW:  http://www.it.jyu.fi/users/vesal/ohj
ja jos käytetään "salasanaa", niin vastaavasti:	 
  DemoWWW:  http://www.it.jyu.fi/users/vesal/ohj/kissa123
Näin siksi, että siirtoautomaatti kysyy Kurjelta käyttäjätunnuksen postiosoitteen perusteella (eli ottaa @-merkkiä edeltävän osan) ja muodostaa sitten URL-osoitteen josta demot haetaan.

Jos kentässä DemoWWW ei ole yhtään erikoismerkkiä, niin kenttä tulkitaan pelkäksi salasanaksi ja liitetään vielä käyttäjätunnuksen perään. Jos DemoWWW sisältää erikoismerkkejä, niin se tulkitaan URL-osoitteen alkuosaksi ja sen perään liitetään kullakin demokerralla teksti /demo1, /demo2, jne.

2.6 Entä jos en halua tai en voi laittaa Agoran palvelimelle?

Agoran palvelimelle ei pääse esim. FTP-yhteydellä. W:-levyn voi ottaa käyttöön myös kotoa jos on tunnus Agoranettiin ja kotona on Internet-yhteys. Jos kuitenkin halutaan laittaa tiedostot vaikkapa palvelimelle www.cc.jyu.fi, niin silloin menetellään vastaavasti kuten edellisessäkin kohdassa, eli laitetaan tarkka URL-osoite Korppiin, esim:
Jos "salasanaa" ei käytettä
  DemoWWW:  http://www.cc.jyu.fi/~vesal/ohj
ja jos käytetään "salasanaa", niin vastaavasti:	 
  DemoWWW:  http://www.cc.jyu.fi/~vesal/ohj/kissa123
HUOM! DemoWWW-ohjelma osaa siirtää Agorassa vain W:-asemalle. DemoWWW-ohjelma kutsuu siirron yhteydessä DemoWWW.bat-komentojonoa joka taas kutsuu lue.pl -nimistä Perl-skriptiä. Muokkaamalla komentojonoa kotikoneessaan, pystyy käyttäjä tekemään siirtoja mihin tahansa osoitteeseen. Esim. lue.pl, joka ymmärtää files.txt:n syntaksin, pystyy siirtämään FTP:llä tiedostoja valittuun koneeseen.
Jos tiedostoja siirretään itse FTP:llä tai muulla vastaavalla, pitää muistaa tarkistaa, että tiedostoilla on riittävät oikeudet (esim. ohj-hakemistolle 711 ja tiedostoille 755).

3. Tarkista siirron onnistuminen

Jos siirto tehdään DemoWWW-ohjelmalla tai muuten lue.pl-skriptin avulla, niin siirron yhteydessä muodostuu tiedostot index.html ja files.html. Myös nämä siirtyvät käyttäjän kotisivuille.

Muista käydä kokeilemassa selaimella, että kaikki tiedostot ovat oikein siirtyneet! Erityisesti ole huolellinen tiedostojen kirjoitusasun kanssa. Isoilla ja pienillä kirjaimilla on eroa!

3.1 Entä jos siirto epäonnistui kohdaltani

Jos hakuautomaatti ei löydä jotakin tiedostoa, tästä tulee henkilökohtainen ilmoitus sähköpostilla. Vian voi vielä korjata, mutta se maksaa yhden demotehtävän.

Lue miten ilmoitukset tulkitaan tai kielletään postin lähettäminen sekä miten virheen jälkeen tulee toimia.
Vesa Lappalainen 21.2.2002