Ryhmätyö UKK (Usein Kysytyt Kysymykset)
Esimerkeissä usein oletetaan, että xml skriptisi on nimeltään eka_fi.xml (tms) ja että se talletettu tiedostopalvelimelle fs.cs.helsinki.fi hakemistoosi ~/public_html/kertaus. Kaikissa Linux komentoesimerkeissä ">" on komentokehotin.
Osa näistä kysymyksistä on vähän vanhempia ja ne liittyvät aikaisempaan järjestelyyn, jossa xml-skriptien tuli sijaita tietokantapalvelimella (db.cs.helsinki.fi).
Miten XML-scriptissä käytetään kyselyn tyyppinä multiselectionia? (13.10.2003)
Ei vielä mitenkään. Monivalinta on suunnitelmissa ja siksi (vahingossa) joissakin ohjeissakin, mutta toteutustasolle se ei vielä ole päässyt.
Skripti practice.php ei suostu avaamaan kysymystäni eka_fi.xml. (9.4.2003)
Tämä ilmenee esimerkiksi virheilmoituksena
Warning: fopen(/home/username/public_html/esim_fi.xml) [function.fopen]:
failed to create stream: Permission denied in
/home/kerola/public_html/php/practice.php on line 167
could not open RSS for input
Luultavaa on, että jotkut oikeudet ovat jääneet asettamatta. Muista läpikäyntioikeudet kaikkiin hakemistoihin kotihakemistosta alkaen ja lukuoikeus kertauskysymystiedostoon eka_fi.xml.
Toinen tyypillinen vika on itse xml-skriptissä olevat ylimääräiset blankot tiedoston alussa.
Miksi mkpract ei tunnu löytävän tiedostoani kysymys.xml lainkaan? (9.4.2003)
Skripti mkpract jaottelee kertauskysymykset suomen- ja englanninkielisiin tiedostonimen loppuliitteen perusteella. Loppuliite _fi.xml on suomenkielisille ja loppuliite _en.xml englanninkielisille kertauskysymyksille. Jos loppuliitteessä ei ole kielitunnusta, niin kyseistä tiedostoa ei oteta huomioon lainkaan. Muuta siis tiedostosi nimeksi kysymys_fi.xml ja homman pitäisi sujua paremmin.
En erityisemmin haluaisi juuri nyt opetella käyttämään Linux-koneita, vaan haluaisin pitäytyä Windows-ympäristössä. Onko se käytännössä mahdollista?
Voinko pitää xml-skriptini fs:llä sen asemesta, että tallettaisin ne tietokantapalvelimelle? (13.3.2003)
Sinun tulee luoda nuo xml-skriptit (esimerkiksi toka_fi.xml) laitoksen
verkkopalvelimelle (fs) omaan public_html/kertaus hakemistoosi. Sitten
voit (a) avata esimerkkikertauskysymyksen selainkomennolla http://db.cs.helsinki.fi/~kerola/php/practice.php?file=/home/fs/kerola/public_html/tito/kertaus/esim_fi.xml
ja (b) editoida (selaimen verkko-osoite ikkunassa) käytössä
olevan kertauskysymyksen (tietokantapalvelimella oleva esim_fi.xml)
paikalle oman kertauskysymyksesi polkunimen fs:llä. Esimerkiksi, minä
(kerola) voin käynnistää fs:llä olevassa hakemistossani
public_html/kertauskys olevan kertauskysymyksen esim33_fi.xml
selainkomennoilla http://db.cs.helsinki.fi/~kerola/php/practice.php?file=http://www.cs.helsinki.fi/~kerola/kertauskys/esim33_fi.xml
tai
http://db.cs.helsinki.fi/~kerola/php/practice.php?file=/home/fs/kerola/public_html/kertauskys/esim33_fi.xml
(kokeile).
Toinen esimerkki. Jos käyttäjätunnuksesi on virtanen ja kertauskysymyksesi toka_fi.xml on fs-hakemistossasi public_html/kertaus, niin voit käyttää selainkomentoa http://db.cs.helsinki.fi/~kerola/php/practice.php?file=http://www.cs.helsinki.fi/~virtanen/kertaus/toka_fi.xml (älä turhaan kokeile).
Ongelmaksi tässä menettelyssä voi tulla hakemistojesi (public_html ja public_html/kertaus) sekä xml-tiedostojesi luku-, pääsy- ja suoritusoikeudet, joita voi olla hankala muuttaa Windows-järjestelmissä. Älä ainakaan pistä kertauskysymyksiäsi fs:lle kotihakemistoosi ja sitten anna vahingoissa kaikille lukuoikeutta kaikkiin tiedostoihisi!
Miten avaan Linux istunnon tietokantapalvelimelle? (7.2.2003)
Laitoksen Windows koneista tietokantapalvelimelle saa Linux-yhteyden parhaiten käyttämällä F-Securen SSH Client ohjelmaa. Klikattuasi SSH Client ikonia, valitse "Quick Connect" ja sitten Host name db.cs.helsinki.fi.
Linux ympäristön koneista yhteys avataan komennolla ssh db.cs.helsinki.fi .
Pelkkiä tiedostojen siirtoa ja käsittelyä varten voit Windowsin puolella mapata tietokantapalvelimen kotihakemistosi (esim. \\db\kerola kun käyttäjätunnus on kerola) osaksi tiedostojärjestelmääsi Map Network Drive komennolla (My Computer -ikkunan Tools-valikosta). Tiedostoja voi tietenkin kopioida järjestelmästä toiseen Windowsissa F-Securen SSH File Transfer ohjelmalla tai Linuxissa scp komennolla.
Tämä kaikkihan on tietenkin tuttua Tietokone työvälineenä -kurssilta.
Entä jos en halua antaa mailmalle x-oikeuksia public_html hakemistooni tai sen alihakemistoihin? (7.2.2003)
Voit kopioida omaan php hakemistoosi (esim. hakemisto public_html/php) sekä kaikille käytettävissä olevan php skriptin että siihen liittyvät .htaccess tiedoston, ja sitten antaa niihin molempiin luku- ja suoritusoikeudet itsellesi:
> cd public_html/php
> cp ~kerola/public_html/php/practice.php .
> cp ~kerola/public_html/php/.htaccess .
> chmod u+rx *
Skripti mkpract ei nyt tietenkään toimi oikein. Voit kuitenkin käyttää sitä ja sitten editoida tiedostossa pract.html tiedostoon practice.php kohdistuvat linkit viittaamaan sinun omaan practice.php tiedostoosi.
Miten kutsun php-skriptiä, jos käyttäjätunnukseni on virtanen ja xml skriptini on nimeltään eka_fi.xml hakemistossani public_html/kertaus? (29.1.2003)
Oletetaan, että eka_fi.xml on siis talletettu tiedostopalvelimelle kyseiseen hakemistoon. Käytä selainkomentoa (kaikki yhdellä rivillä ilman välilyöntejä, vaikka näkyisikin kahdella rivillä)
http://db.cs.helsinki.fi/~kerola/php/practice.php?file=/home/fs/virtanen/public_html/kertaus/eka_fi.xml
Oletetaan toisaalta, että eka_fi.xml on talletettu tietokantapalvelimelle kyseiseen hakemistoon. Käytä selainkomentoa (kaikki yhdellä rivillä ilman välilyöntejä, vaikka näkyisikin kahdella rivillä)
http://db.cs.helsinki.fi/~kerola/php/practice.php?file=/home/virtanen/public_html/kertaus/eka_fi.xml
Mitä suojauksia tulisi hakemistoillani olla? (29.1.2003)
Tietokantapalvelimella kotihakemistolla ja public_html sekä kertaus hakemistoilla tulisi olla ainakin suoritusoikeudet (x-oikeudet) mailmalle. Xml-skriptillä pitää olla lukuoikeudet (r-oikeudet) mailmalle.
> cd; chmod a+x . public_html
> cd public_html/kertaus
> chmod a+x kertaus
> chmod a+r eka_fi.xml
Jotain on vialla xml-tiedostossani, jonka alkuaan kopioin esim_fi.xml:stä ja sitten editoin sitä jälkeenpäin. Apua! (29.1.2003)
On mahdollista, että esim. selaimen kautta kopioituun xml-tiedostoon on tullut alkuun pari tyhjää riviä, tai sitten heti ensimmäisen xml määreen <?xml version="1.0" .... ?> jälkeen on tullut jokin ylimääräinen merkki. Editoi ylimääriset rivinvaihdot ja muutkin ylimääräiset merkit pois. Ongelman voinee välttää esimerkiksi kopioimalla esimerkkitiedosto suoraan Linuxin avulla cp-komennolla:
> cp ~/kerola/public_html/tito/kertaus/esim_fi.xml oma_fi.xml
ja sitten editoimalla sitä suoraan Linuxin puolella. Ongelma ilmenee lähinnä Windowsin puolella.
Teemu Kerola