The page has been modified since the last reload. Refresh now?

There are {{ $ctrl.pendingUpdatesCount() }} pending paragraph updates.

Ohjelmointi 2 / Harjoitustyön näyttäminen

Ongelma harjoitustyön vaiheen laittamisessa NettiDemoWWW:hen: index.html:n päivittäminen onnistuu hyvin ja luo sinne files.txt:n perusteella dokumentin oikein. Kun yritän jäädyttää vaihetta laittamalla vaiheen numeron sille laitettuun kohtaan NettiDemoWWW:ssä, ja painan Luo vaihe, niin tulee vain teksti Tiedostoa files.txt ei löydy svn:stä: ohj2ht/k2019/[omatunnus]/tags/vaihe2. Kuitenkin NettiDemoWWW:hen omalle sivulleni on generoitu kansiot vaihe1 ja vaihe 2, mutta niissä ei ole mitään sisältöä. En oikein keksi missä vika voi olla, kun files.txt on olemassa ja jokatapauksessa tuo trunk päivittyy oikein.

files.txt-tiedostossa on jossain virhe. Kirjoitusvirhe, väärä pääte tai siitä puuttuu jokin sellainen tiedosto, joka on versionhallinassa, mutta ei enää files.txt:ssä listattuna. - ES

22 Jan 19 (edited 06 Feb 19)

Tässä dokumentissa on yksityiskohtaisempia ohjeita, joiden avulla pääset harjoitustyön työstämisen alkuun ja saat esiteltyä harjoitustyön 1. vaiheen ongelmitta ohjaajalle.

Älä säikähdä jos ohjeita tuntuu alussa vyöryvän päälle valtava määrä. Kurssi on helpompi suorittaa runsailla ohjeilla, kuin ilman ohjeita ;)

Jos et ymmärrä jotain, niin kommentoi marginaaliin - kommentti ja muokkaustyökalut saat esiin klikkailemalla tekstikappaleiden vasenta reunaa, kun olet kirjautuneena TIMiin.

Kurssin ohjaajat lisäävät usein viikonloppuisin kurssin sivulle Korppiin varattavia aikoja tulevalle viikolle.

Etäopiskelijat voivat tarvittaessa näyttää harjoitustyön vaiheita etäyhteydellä. Varaa ohjausaika korpista ja ilmoita vielä ohjaajalle erillisellä sähköpostilla, että kyseessä on etäohjausaika.

Lyhyt kertaus:

  • harjoitustyön tiedostot ovat aina versionhallinnassa ja ne saa sinne helpoiten kun kirjoittaa tiedostoon files.txt mitä tiedostoja siellä pidetään ja antaa komennon svnht
  • Harjoitustyön vaiheissa 1,2 ja 4 päivitetään kurssin suunnitelman TIM-sivua.
  • Kaikissa vaiheissa työ päivitetään versionhallintaan ja sitten NettiDemoWWW:hen.
  • Jokainen vaihe hyväksytetään ohjaajilla ja tästä tule merkintä Korppiin.
  • Aina vaiheen hyväksymisen jälkeen tehdään vaihe NettiDemoWWW:ssä.
#
Plugin csPlugin error: Failed to parse plugin response from multihtml route: Expecting value: line 1 column 1 (char 0)

1. Lyhyt ohje 1. vaihetta varten 2019

  1. Keksi harjoitustyöprojektillesi nimi. Jos teet yksin, niin käyttäjätunnuksesi riittää nimeksi. Seuraavissa ohjeissa sijoita se tunnus tai projektinimen skanditon ja välilyönnitön versio PROJNAME tilalle
  2. Piirrä tarvittavat käyttöliittymän kuvat, ja jos olet ATK-luokassa, niin sijoita ne c:\mytemp\ohj2\PROJNAME\kuvat-nimiseen alihakemistoon
    HUOM!! tiedostojen nimissä ei saa olla välilyöntejä eikä ääkkösiä! Myös isoilla ja pienillä kirjaimilla on väliä. Suositeltavaa on, että tiedostojen nimissä on vain pieniä kirjaimia (myös tiedostopäätteissä). Nämä voi helposti vaihtaa nimeämällä tiedostot uudestaan.

Klikkaa dokumentin reunassa olevasta [+] -symbolista auki ohjeita siihen, miten suunnittelet ensimmäiset käyttöliittymäkuvat.

  1. Kirjoita alla olevan mallin mukainen tiedosto c:\mytemp\ohj2\PROJNAME\files.txt (vaikka Notepad++ tms. editorilla):

    !https://tim.jyu.fi/view/kurssit/tie/ohj2/2019k/ht/PROJNAME = Suunnitelma TIMissä
    kuvat/paaikkunak.png = ohjelman pääikkuna (käsin piirretty)
    kuvat/avaak.png      = kuva ohjelman alusta (kp)
    kuvat/eiaukeak.png   = virheilmoitus jos tiedostoa ei ole (kp)
  1. Mene komentorivillä hakemistoon c:\mytemp\ohj2\PROJNAME ja anna komento:

    svnht PROJNAME

    (Kotikoneella lue ohje komennon tekemiseksi kotikoneeseen.)

Mikäli komento ei toimi

  1. Tämän komennon aikana voi tulla salasanakysymyksiä sekä aueta Notepad, jolloin tiedoston ensimmäiselle riville kirjoitetaan sopiva kuvaus siitä, mitä tehtiin (esim. “Lisättiin harjoitustyön kuva”), tallennetaan tiedosto ja suljetaan Notepad. Tämä toimii mikroluokissa. Jos käytät omaa konetta, katso ohjeet siihen.

  2. jatka: suunnitelman kirjoittamisella TIMiin jos et ole sitä vielä aloittanut.

  3. Hae harjoitustyösi NettiDemoWWW:hen:

    • siirry NettiDemoWWW:hen:

    • tarkista että projektin nimi on oikein

    • paina

      Päivitä index.html

  4. Klikkaa index.html ja kopioi linkki leikepöydälle.

  5. Lisää NettiDemoWWW linkkisi suunnitelmat -sivullesi kohtaan Dokumentaatio.

  6. Kun on aika jäädyttää vaihe, tee se NettiDemoWWW:ssä kirjoittaen vaiheen kohdalle vaiheesi numero ja paina

    Luo vaihe

Lue myös:

  • Harjoitustyön ohje

2. Pidempi versio

  • ennenkuin teet mitään, pitää hakemistorakenteesi olla seuraavan tyylinen
c:\mytemp\ohj2\
                 files.txt
                 src      // Java tiedostot tämän alla, tätä ei tarvita vielä HT1:ssä
                   kerho
                     Jasen.java
                     Jasenet.java
                     ...
                 kuvat
                   paaikkuna.png
                   ...

Miten käytännössä hakemistorakenteen saa helpoiten oikeanlaiseksi niin, että src on suoraan oikean kansion alla? Eikö Eclipse tee projektille aina oman kansion jonka alla src on vasta?

VL: luo sen Eclipsen projektin siihen hakmeistoon, jossa on files.txt. Silloin src kansio tulee sen kansion alle ja kaikki tiedostot ilmoitetaan suhteellisena tähän hakemistoon.

29 Jan 19 (edited 29 Jan 19)
  • HT on aina kurssin versiohallinassa (katso: k2019 harjoitustyöt).
  • files.txt on tiedosto, jossa kerrotaan kaikkien projektiin tarvittavien tiedostojen nimet ja suhteelliset sijainnit sekä myös tiedostojen lyhyt kuvaus. Kääntäjän tekemiä tiedostoja ei luetella.
  • Jokainen tallettaa harjoitustyönsä myös NettiDemoWWW:hen (ohjaajat katsovat sitä täältä)
  • Itse tiedostot voivat olla suhteellisissa alihakemistoissa (ja .java hakemistojen pitääkin olla pakettien mukaisissa alihakemistoissa), jos se on tiedostossa files.txt kerrottu. Tarvittava mallin mukainen index.html syntyy esim. alla olevilla ohjeilla NettiDemoWWW:llä.
  • Muista lukea myös tyypilliset HT viat!

Malli: files.txt. Pienin mahdollinen files.txt:

kuvat/paaikkuna.png = Pääikkunan kuva
#

3. files.txt käyttö eri vaiheissa

Vaiheet hoituvat helpoiten komennolla svnht yliopiston koneilla. Katso ohjeet omalta koneelta käyttämiseen tämän sivun lopusta.

  1. Kirjoitetaan files.txt mallin mukaan:
  • ht vaihe 1: files.txt - ohjeet 1. vaiheeseen
  • ht vaihe 2: files.txt - malli 2. vaiheeseen:
  • files.txt:n syntaksi:
  • ht vaihe 3: kuten vaihe2, useimmiten jopa samat Java-tiedostot, mutta enemmän koodia
  • ht vaihe 4: files.txt - ohjeet 4. vaiheeseen (CRC-kortit ja tietorakenne)
  • ht vaihe 5-7: files.txt.
    • MUISTA: vain pieniä muutoksia kerralla!!!
    • Lue aluksi: Menusta rungoksi
    • Tiedostossa kuvataan kaikki oman ohjelman kääntämisessä ja tämän jälkeen ajamisessa tarvittavat tiedostot (ei siis .class, .exe, .obj yms., koska ne syntyvät käännöksessä). HUOM! Isoilla ja pienillä kirjaimilla ON eroa!
      HUOM! .class-tiedostoja ei saa laittaa versionhallintaan (eikä luetella files.txt:ssä)
  1. Jos tiedosto on files.txt:hen nähden alihakemistossa src\kerho, niin files.txt:hen kirjoitetaan esimerkiksi (huomaa että nimenomaan / eikä \):

     src/kerho/Jasen.java = jäsenen käsittely
  2. Mikroluokissa files.txt-tiedosto kirjoitetaan käyttäjän omaan hakemistoon. Esimerkki hakemistoista ja tiedostoista (jossa tietysti PROJNAME korvataan omalla käyttäjätunnuksella tai ryhman tunnuksella):

     c:\MyTemp\ohj2\PROJNAME\files.txt  - "sisällysluettelo"
     c:\MyTemp\ohj2\PROJNAME\*.*        - harjoitustyön palaset, voi olla alihakemistoja
     c:\MyTemp\ohj2\PROJNAME\src\PAKETTI\*.java - javatiedostot asianmukaisessa paketissa
  • Jos haluat että projektin nimenä on oma käyttäjätunnuksesi ei seuraavissa ole pakko kirjoittaa PROJNAME svnht:n perään.
  • Jos teitä on ryhmässä 2, niin se, jonka käyttäjätunnus ei ole projektin nimenä, JOUTUU kirjoittamaan PROJNAME
  1. Annetaan komento (toimii ainakin Agoran luokissa, 1. käyttökerralla luonnollisesti ei löydä sivua ja silloin voi joutua salasanan antamaan useita kertoja, jos ei toimi, lue lisää ohjeita)

     svnht PROJNAME
  1. Mene NettiDemoWWW:hen. Tarkista projektisi nimi. Paina Päivitä index.html ja katso minkälainen index.html syntyi.

  2. Kun tulet näyttämään työtäsi, kerrot tuon oman käyttäjätunnuksesi USERNAME ja työntunnuksen PROJNAME jos se on eri kuin käyttäjätunnus.

  3. Antamalla seuraavan komennon saat otettua työsi “alas” toisessa koneessa.

     svnht PROJNAME
  4. Tiedoston files.txt ylläpidon voi tehdä myös ohjelmalla DemoWWW.exe, kun poistaa syntyneestä tiedostosta rivin Demo.... Tähän voi tiedostoja raahata esim Explorerista. Mikroluokissa ohjelma lähtee komentoriviltä käyntiin komennolla DemoWWW ja se pitää käynnistää siitä hakemistosta, minkä alla on Eclipsen src-hakemisto. Pitäisi toimia myös kotikoneilla jos laitetaan polkuun. (samoin Linux ja Mac jos käynnistetään

     wine ~/bin/DemoWWW.exe
  5. Kun harjoitustyön vaihe on hyväksytty, mene NettiDemoWWW:hen. Tarkista projektisi nimi. Kirjoita vaiheen kohdalle vaiheen numero ja paina Luo vaihe.

#

4. Käyttö omassa koneessa jossa on verkkoyhteys

Ohjeissa mainittu svnht -komento on luotu opiskelijoille aputyökaluksi ja toimii ilman asennusta vain yliopiston koneilla.

Versionhallinnan käyttöön on useita eri vaihtoehtoja, mutta voit rakentaa samat komennot kuin yliopiston koneilla on, myös omalle koneellesi:

4.1 Windows

Perl

Perl on yksi ohjelmointikieli muiden joukossa. Nämä svnht:hen liittyvät skriptit on kirjoitettu Perl-kielellä.

  1. Asenna koneeseesi ActivePerl (tai jos tämä ei asennu, kokeile esim. Strawberry Perl)

  2. Testaa, että Perl toimii, kirjoittamalla komentoriville:

    perl --version

TortoiseSVN

  1. Asenna TortoiseSVN niin, että asennat myös komentorivityökalut
  • Jos asensit TortoiseSVN aiemmin ilman komentorivityökaluja, avaa uudelleen TortoiseSVN asentaja, valitse Modify ja klikkaa punaisella olevat command line client tools asennettavaksi.
  1. Huolehdi että svn.exe löytyy sinulta polusta. TortoiseSVN:n asentaminen tekee tämän kyllä. Asentamisen jälkeen pitää avata uusi komentoikkuna.

    Huomaa että PATH-ympäristömuuttujaan laitetaan aina vain hakemistoja, ei tiedostojen nimiä. svn.exe:n hakemisto voi olla TortoiseSVN:n asentamisen jälkeen esim:

    C:\Program Files\TortoiseSVN\bin\
    • Katso löytyykö se komennolla path

    • Homma toimii jos komentoriviltä kirjoittamalla svn tulee

       Type 'svn help' for usage.
  2. Kopioi itsellesi seuraavat tiedostot johonkin polussa (PATH) olevaan hakemistoon. Suosittelen hakemistoa c:\bin (ks. ympäristömuuttujat).

  3. Jos harkkatyösi nimi on sama kuin käyttäjänimesi:

    svnht PROJNAME
  4. Muuten työasemasi Windows-käyttäjätunnus eroaa yliopiston tunnuksesta, eli joudut joko käyttämään muotoa:

    svnht PROJNAME ohj2 trunk USERNAME

    mutta jatkon kannalta parempi on asettaa ympäristömuuttujia:

    HTUSERNAME=omatunnusYliopistonKoneessa
    HTPROJDIR=projektinimi
    HTSVNUSER=omatunnusYliopistonKoneessa

    jolloin parametreja ei tarvita:

    svnht

    Muita ympäristömuuttujia asetetaan samaan tapaan kuin PATH, joka on vain yksi ympäristömuuttuja.

TortoiseSVN ei halunnut asentua asennettaessa C:/ levyltä, vaan jäi jumittamaan "computing space requirements"-kohtaan. Ulkoiselta kovolta asentaminen onnistui. Käyttöjärjestelmänä Win7.

18 Jan 16

svnht.bat tiedostoa tallennettaessa kannattaa olla tarkkana.
Minulla tallenti sen tekstitiedostoksi minkä takia komento ei toiminut.

VL: Laittakaa ihmeessä siellä explorerissanne päälle se että näytetään myös tiedoston tarkentimet. Ja kannattaa AINA katsoa hekmsiton sisältö komentoriviltö dir-komennolla. Yhdelläkin tiedoston nimi oli files.txt.txt kun järjestlmä piilottaa tarkentimen nimen, niin se näytti oikealta.

11 Jan 19 (edited 11 Jan 19)

Mistä kohdasta nämä tiedostot pitäisi löytyä?

n:\bin\svnht.pl
n:\bin\svnht.bat

Itse en löydä näitä TortoiseSVN:n bin- kansiosta, vaikka asensin juuri komentorivityökalut.



VL: siitä niiden linkeistä klikkaat ja kopioit omalla koneella sopiaan hakmeistoon joka on tai jonka laitat polkuun.

21 May 19 (edited 21 May 19)

Jos ei toimi, niin katso sivun lopussa olevat kysymykset!

4.2 Mac (ja suurimmaksi osaksi Linux myös)

  1. Kokeile että perl ja svn löytyvät koneestasi, eli anna komentoriviltä:

    perl
    svn
  2. Jos jompikumpi puuttuu, asenna se

    1. OSX 10.7 tai vanhemmat

      • SVN valmiiksi asennettu
    2. OSX 10.8

      • Asenna XCode ohjelma Mac App Storesta ja sieltä asenna “commad line tools”
    3. OSX 10.9

      • Kirjoita komentoriville jompi kumpi ja noudata ohjeita

        svn 
        xcode-select --install 
    4. Debian (Ubuntu myös?) kirjoita komentoriville

      sudo apt-get install perl subversion -y         
    5. Tiedät että SVN on asennettu ja toimii, kun kirjoitat komentoriville

      svn     

      ja komentorivi vastaa

      Type 'svn help' for usage.
  1. Hae svnht.pl nimelle ~/bin/svnht (ja DemoWWW.exe jos haluat):

    • esim. komentoriviltä

      mkdir ~/bin
      curl -o ~/bin/svnht https://kurssit.it.jyu.fi/TIEP111/bin/svnht.pl
      curl -o ~/bin/DemoWWW.exe https://kurssit.it.jyu.fi/TIEP111/bin/DemoWWW.exe
  2. anna sitten ko tiedostolle ajo-oikeus

    chmod 755 ~/bin/svnht
  3. Kirjoita komentoriviltä

    nano ~/.bash_profile 

    ja laita (tai lisää) tiedoston sisällöksi (muuttaen =-merkin jälkeiset osat vastaamaan sinun tapaustasi, editoriksi voit valita jonkin muunkin):

    export HTUSERNAME=omatunnusYliopistonKoneessa
    export HTPROJDIR=projektinimi
    export HTSVNUSER=omatunnusYliopistonKoneessa
    export PATH=$PATH:~/bin
    export SVN_EDITOR=nano
  • Linux: Jos svn yrittää avata notepadia, kokeile edellä muuttaa SVN_EDITOR tilalle EDITOR. Vaihda myös tarvittaessa svnht-tiedostosta rivi

    my $default_editor = "notepad.exe"; 

    vastaamaan omaa editoriasi esim.

    my $default_editor = "nano"; 

    Editoinnin lopettamiseksi paina Ctrl-X

  1. sammuta komento-ikkuna ja käynnistä uudelleen, jotta asetukset tulevat voimaan. Tai voit myös antaa komentoriviltä komennon:

    source ~/.bash_profile
  2. tämän jälkeen sinulla pitäisi toimia svnht mistä tahansa paikasta ajettuna. Jos käyttäjätunnuksesi omalla koneellasi on eri, kuin mitä yliopistolla käytit projektille, niin anna komento muodossa

    svnht PROJNAME

    svnht -komennon jälkeen aukeaa mahdollisesti GNU nano editori (oletus OS-X), jolloin kommentoit muutoksen ja sen jälkeen painat CRTL + X ja hyväksyt muutokset Y-kirjaimella (ei crtl).
    Tämän jälkeen muutokset ajetaan loppuun. Kannattaa varmuuden vuoksi tarkistaa https://trac.cc.jyu.fi/projects/ohj2ht/browser/k2019?order=name että muutokset toteutuivat.

  3. muista tehdä files.txt-tiedosto kuten muutkin

#

4.3 Yhteiset ohjeet sekä Windows/Linux/Mac

Eikö toimi?

  • toimiiko komentoriviltä perl?
  • toimiiko komentiriviltä svn?
  • lähteekö svnht käyntiin komentoriviltä?
    • Tarkista, että olet hakenut svnht.pl:n .
    • onko komentojonojen sijainti varmasti polussa (path)?
  • onko käyttäjätunnus sama vai eri kuin yliopiston koneessa?
  • olethan tyhjässä hakemistossa (jolloin hakee olemassa olevan sisällön) tai hakemistossasi on files.txt? Ettei vaan ole files.txt.txt?
  • lue myös käyttämisen ohjeet: svnht käyttäminen

Muita ohjeita:

  • käytettävissä olevat ympäristömuuttujat:
    • HTUSERNAME = tällä voi asettaa “pysyvästi” harjoitustyön käyttäjän käyttäjänimen, jos se käyttäjänimi on kotikoneessa eri kuin käyttäjätunnus yliopistolla
    • HTPROJDIR = tällä voi asettaa työn varsinaisen projektinimen
    • HTSVNUSER = tähän tulee yliopiston käyttäjänimi svn-siirtoja varten, tämä on yleensä sama kuin HTUSERNAME
    • SVN_EDITOR = mitä editoria käytetään kun svn pyytää kommenttia
  • Etäkäyttö on yksi mahdollisuus (ohjeet Windowsille ja Linuxille).
  • versionhallintaa voi käyttää kotoa myös esim. TortoiseSVN:än kautta. Ohjeita versionhallinnan käyttämisestä (ohjeet Windowsille, Macille ja Linuxille).
  • jos käytät muuta tapaa kuin svnht, joudut itse vastaamaan siitä, että et vie versionhallintaan turhia tiedostoja.
  • Mitä tahansa tapaa käytätkin, muista hakea harjoitustyösi NettiDemoWWW:hen. Tätä varten files.txt tiedosto pitää olla olemassa ja siinä pitää luetella työhön kuuluvat tiedostot.

4.4 SVN versionhallinta komentoriviltä

  • Luo repository osoitteeseen, mikä tehdään vain kerran.

      svn mkdir -m "Luonti" https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME
      svn mkdir -m "Luonti" https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/trunk
      svn mkdir -m "Luonti" https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/tags
  • Hae repository tyhjään hakemistoon \mytemp\ohj2\PROJNAME, mikä tehdään vain kerran.

      svn co https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/trunk \mytemp\ohj2\PROJNAME\trunk
  • Hae repositoryn sisältö hakemistoon ilman versionhallinta-tiedostoa .svn

      svn export https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/trunk \mytemp\ohj2\PROJNAME\trunk
  • Lisää tiedosto files.txt versionhallintaan, mutta vasta seuraavalla commit

      cd \mytemp\ohj2\PROJNAME\trunk
      svn add files.txt
  • Poista tiedosto files.txt versionhallinnasta, mutta vasta seuraavalla commit

      svn delete files.txt
  • Siirrä tiedosto paaikkunak.png hakemistosta trunk hakemistoon trunk/kuvat, mutta vasta seuraavalla commit

      svn move paaikkunak.png kuvat/paaikkunak.png
  • Vie muutokset repositoryn osoitteeseen .../PROJNAME/trunk.

      svn commit -m "kuvaava viesti miksi muutokset on tehty"
  • Hae muutokset repositoryn osoitteesta trunk.

      svn update
  • Luo vaihe repositoryn osoitteeseen .../PROJNAME/tags/vaihe1

      svn copy -rHEAD https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/trunk  https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/tags/vaihe1 -m "Vaihe 1"

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.