Itv0030 2007 lab 2 requirements: erinevus redaktsioonide vahel
| (ei näidata 2 kasutaja 16 vahepealset redaktsiooni) | |||
| 1. rida: | 1. rida: | ||
= Laboratoorne töö nr 2 = | = Laboratoorne töö nr 2 = | ||
<font color="red">NB! Allpool tehtud väike muutus materjalid.db asukoha osas ning tmp kataloogi õiguste osas</font> | |||
Töö sisuks on laboratoorses töös 1 realiseeritud dummy-rakenduse reaalne realiseerimine serveris, kasutades seejuures otsingutulemuste sisselugemisel ja kuvamisel XMLHttpRequest-i. | Töö sisuks on laboratoorses töös 1 realiseeritud dummy-rakenduse reaalne realiseerimine serveris, kasutades seejuures otsingutulemuste sisselugemisel ja kuvamisel XMLHttpRequest-i. | ||
| 5. rida: | 7. rida: | ||
* lehekülgede ülesriputamine serverisse | * lehekülgede ülesriputamine serverisse | ||
* andmete sisestamine serveris olevasse andmebaasi | * andmete sisestamine serveris olevasse andmebaasi | ||
* otsing, kusjuures otsingutulemusena annab server [http://www.json.org/ json formaadis] andmed, ning lehel olev javascript kuvab tulemuse html-ks | * otsing, kusjuures otsingutulemusena annab server [http://www.json.org/ json formaadis] andmed, ning lehel olev javascript kuvab tulemuse html-ks. Alternatiivina võib kasutada ka xml-formaadis andmeid, ning tulemus kuvada html-ks xslt abil. | ||
Serveripoolse realisatsiooni võib teha kolmel viisil: | Serveripoolse realisatsiooni võib teha kolmel viisil: | ||
* realiseerides kõik ise, oma valitud serveril ja keeles | * realiseerides kõik ise, oma valitud serveril ja keeles | ||
* kasutades õppejõu tehtud cgi skripte salvestamiseks ja otsinguks, vt allpool | * kasutades õppejõu tehtud cgi skripte salvestamiseks ja otsinguks, vt allpool | ||
* tehes | * tehes viimastest oma koopiad, ning neid siis oma äranägemisel ümber tehes | ||
== proovi realiseeritud otsingut == | == proovi realiseeritud otsingut == | ||
Ava url http://193.40.254.12/cgi-bin/tammet/otsi.py?order=id&direction=desc&getrows=2 mis peaks tulemuseks andma json formaadis andmed | Ava url http://193.40.254.12/cgi-bin/tammet/otsi.py?order=id&direction=desc&getrows=2 mis peaks tulemuseks andma json formaadis andmed | ||
Ava leht http://193.40.254.12/html/tammet/otsing.html ning proovi sisestada 'mina' ja seejärel 'sina': leitud andmed kuvatakse html-s | Ava leht http://193.40.254.12/html/tammet/otsing.html ning proovi sisestada 'mina' ja seejärel 'sina': leitud andmed kuvatakse html-s | ||
| 21. rida: | 24. rida: | ||
Serverina kasutame dijkstra.cs.ttu.ee peal jooksvat vmware virtuaalmasinat. Sisse saad logida oma arvutiklassi kasutajanime ja parooliga: | Serverina kasutame dijkstra.cs.ttu.ee peal jooksvat vmware virtuaalmasinat. Sisse saad logida oma arvutiklassi kasutajanime ja parooliga: | ||
ssh kasutajanimi@193.40.254.12 (kasutajanimi asemel pane oma kasutajanimi arvutklassis) | ssh kasutajanimi@193.40.254.12 (kasutajanimi asemel pane oma kasutajanimi arvutklassis), sisesta parool | ||
sisesta parool | |||
<b>NB!</b> Serverist ei tehta backuppe, sinu failid võivad väga kergesti kaduma minna: <b>kindlasti</b> hoia kõiki oma faile tagavaraks kusagil oma masinas, igaljuhul väljapool seda serverit. | <b>NB!</b> Serverist ei tehta backuppe, sinu failid võivad väga kergesti kaduma minna: <b>kindlasti</b> hoia kõiki oma faile tagavaraks kusagil oma masinas, igaljuhul väljapool seda serverit. | ||
| 32. rida: | 34. rida: | ||
tee: | tee: | ||
<pre> | |||
cd /var/www/html | cd /var/www/html | ||
mkdir kasutajanimi | mkdir kasutajanimi | ||
</pre> | |||
Seejärel pane oma veebisaidi lehed (html, css jne) kataloogi /var/www/html/kasutajanimi | Seejärel pane oma veebisaidi lehed (html, css jne) kataloogi /var/www/html/kasutajanimi | ||
| 41. rida: | 45. rida: | ||
scp minufail kasutajanimi@193.40.254.12:/var/www/html/kasutajanimi/minufail | scp minufail kasutajanimi@193.40.254.12:/var/www/html/kasutajanimi/minufail | ||
== andmete salvestamine | == andmete salvestamine == | ||
Andmete salvestamiseks saad kasutada cgi-d | Andmete salvestamiseks saad kasutada cgi-d | ||
| 71. rida: | 75. rida: | ||
<b>NB!</b> Failide üleslaadimist salvesta.py ei realiseeri, ta realiseerib ainult andmete salvestamist. | <b>NB!</b> Failide üleslaadimist salvesta.py ei realiseeri, ta realiseerib ainult andmete salvestamist. | ||
== andmete otsimine == | |||
Andmete otsimiseks kasuta cgi-d | |||
http://193.40.254.12/cgi-bin/tammet/otsi.py | |||
mis võtab analoogiliselt salvestamisprogrammile cgi-argumentideks eelviidatud väljanimed ja väärtused, näiteks | |||
* json formaat: http://193.40.254.12/cgi-bin/tammet/otsi.py?laadija=mina | |||
* xml formaat: http://193.40.254.12/cgi-bin/tammet/otsi.py?laadija=mina&format=xml | |||
Osasid väljasid kasutatakse täppisotsinguks, osasid sõna sisalduse või alguse järgi, vt koodist: | |||
[[kasutliidesed lab 2 otsingu cgi]] | |||
Lisaks väljanimedele saad kasutada täiendavaid parameetreid: | |||
* order=väli, mille järgi sorteeritakse (vaikimisi id) | |||
* direction= kas desc või asc: sorteerimise suund (vaikimisi desc) | |||
* fromrow= mitmendast reast alates tulemus antakse (vaikimisi 0 ehk esimene rida) | |||
* getrows=mitu rida maksimaalselt antakse (vaikimisi 100) | |||
* format= kas json või xml (vaikimisi json) | |||
== Oma cgi programmide tegemine == | == Oma cgi programmide tegemine == | ||
| 76. rida: | 102. rida: | ||
Tee oma kasutajatunnusega kataloog cgi-bin alla: | Tee oma kasutajatunnusega kataloog cgi-bin alla: | ||
<pre> | |||
cd /var/www/cgi-bin | cd /var/www/cgi-bin | ||
mkdir kasutajanimi | mkdir kasutajanimi | ||
</pre> | |||
ja pane cgi-programmid sinna kataloogi /var/www/cgi-bin/kasutajanimi | ja pane cgi-programmid sinna kataloogi /var/www/cgi-bin/kasutajanimi | ||
| 84. rida: | 112. rida: | ||
chmod a+rx minuprogramm | chmod a+rx minuprogramm | ||
Seejärel tee | Seejärel tee kõigile ligipääsetavasse ajutisse kataloogi /tmp/kasutajanimi | ||
oma sqlite andmebaas ka: | oma sqlite andmebaas ka: | ||
<pre> | |||
mkdir /tmp/kasutajanimi | |||
chmod +w /tmp/kasutajanimi | |||
cd /tmp/kasutajanimi | |||
sqlite materjalid.db < materjalid.sql | sqlite materjalid.db < materjalid.sql | ||
sqlite materjalid.db < data.sql | sqlite materjalid.db < data.sql | ||
chmod a+rw materjalid.db | chmod a+rw materjalid.db | ||
</pre> | |||
== Õppejõu näidis-html leht ja programmid == | == Õppejõu näidis-html leht ja programmid == | ||
Kolme mainitud faili saad vaadata kas siit altpoolt või kopeerida endale viidatud kohast (palun ära nimetatud | |||
faile ise muuda!) | |||
Viimane redaktsioon: 17. aprill 2007, kell 18:16
Laboratoorne töö nr 2
NB! Allpool tehtud väike muutus materjalid.db asukoha osas ning tmp kataloogi õiguste osas
Töö sisuks on laboratoorses töös 1 realiseeritud dummy-rakenduse reaalne realiseerimine serveris, kasutades seejuures otsingutulemuste sisselugemisel ja kuvamisel XMLHttpRequest-i. Realiseerida on vaja:
- lehekülgede ülesriputamine serverisse
- andmete sisestamine serveris olevasse andmebaasi
- otsing, kusjuures otsingutulemusena annab server json formaadis andmed, ning lehel olev javascript kuvab tulemuse html-ks. Alternatiivina võib kasutada ka xml-formaadis andmeid, ning tulemus kuvada html-ks xslt abil.
Serveripoolse realisatsiooni võib teha kolmel viisil:
- realiseerides kõik ise, oma valitud serveril ja keeles
- kasutades õppejõu tehtud cgi skripte salvestamiseks ja otsinguks, vt allpool
- tehes viimastest oma koopiad, ning neid siis oma äranägemisel ümber tehes
proovi realiseeritud otsingut
Ava url http://193.40.254.12/cgi-bin/tammet/otsi.py?order=id&direction=desc&getrows=2 mis peaks tulemuseks andma json formaadis andmed
Ava leht http://193.40.254.12/html/tammet/otsing.html ning proovi sisestada 'mina' ja seejärel 'sina': leitud andmed kuvatakse html-s
logi ise serverisse
Serverina kasutame dijkstra.cs.ttu.ee peal jooksvat vmware virtuaalmasinat. Sisse saad logida oma arvutiklassi kasutajanime ja parooliga:
ssh kasutajanimi@193.40.254.12 (kasutajanimi asemel pane oma kasutajanimi arvutklassis), sisesta parool
NB! Serverist ei tehta backuppe, sinu failid võivad väga kergesti kaduma minna: kindlasti hoia kõiki oma faile tagavaraks kusagil oma masinas, igaljuhul väljapool seda serverit.
html lehtede ülespanemine
Kasuta apache olevat kataloogi /var/www/html, tehes sinna oma kasutajatunnusega kataloogi, et segi ei läheks:
tee:
cd /var/www/html mkdir kasutajanimi
Seejärel pane oma veebisaidi lehed (html, css jne) kataloogi /var/www/html/kasutajanimi
Faili saab sinna laadida näiteks scp käsuga niimoodi:
scp minufail kasutajanimi@193.40.254.12:/var/www/html/kasutajanimi/minufail
andmete salvestamine
Andmete salvestamiseks saad kasutada cgi-d
http://193.40.254.12/cgi-bin/tammet/salvesta.py
andes talle get-i või postiga parameetrid, mis vastavad andmebaasi schema väljadele, v.a. id, mida sisestada ei saa:
create table materjalid( id integer primary key --- autoincrement --- unikaalne id ,laadija varchar(40) NOT NULL --- laadija nimi voi hyydnimi ,ylikool varchar(40) --- ylikooli nimi ,teaduskond varchar(40) --- Teaduskonna nimi ,ainekood varchar(40) --- Aine kood ,ainenimetus varchar(40) --- Aine nimetus ,oppejounimi varchar(40) --- jne ,materjalikeel varchar(40) ,materjalityyp varchar(40) ,materjalinimi varchar(40) ,lyhikirjeldus varchar(40) );
näiteks:
http://193.40.254.12/cgi-bin/tammet/salvesta.py?laadija=kasutajatunnus&ylikool=tty
õnnestunud salvestamine annab tulemuseks arvu 1, ebaõnnestumine annab arvu 0.
NB! Failide üleslaadimist salvesta.py ei realiseeri, ta realiseerib ainult andmete salvestamist.
andmete otsimine
Andmete otsimiseks kasuta cgi-d
http://193.40.254.12/cgi-bin/tammet/otsi.py
mis võtab analoogiliselt salvestamisprogrammile cgi-argumentideks eelviidatud väljanimed ja väärtused, näiteks
- json formaat: http://193.40.254.12/cgi-bin/tammet/otsi.py?laadija=mina
- xml formaat: http://193.40.254.12/cgi-bin/tammet/otsi.py?laadija=mina&format=xml
Osasid väljasid kasutatakse täppisotsinguks, osasid sõna sisalduse või alguse järgi, vt koodist: kasutliidesed lab 2 otsingu cgi
Lisaks väljanimedele saad kasutada täiendavaid parameetreid:
- order=väli, mille järgi sorteeritakse (vaikimisi id)
- direction= kas desc või asc: sorteerimise suund (vaikimisi desc)
- fromrow= mitmendast reast alates tulemus antakse (vaikimisi 0 ehk esimene rida)
- getrows=mitu rida maksimaalselt antakse (vaikimisi 100)
- format= kas json või xml (vaikimisi json)
Oma cgi programmide tegemine
Tee oma kasutajatunnusega kataloog cgi-bin alla:
cd /var/www/cgi-bin mkdir kasutajanimi
ja pane cgi-programmid sinna kataloogi /var/www/cgi-bin/kasutajanimi Igale cgi-programmile nimega minuprogramm tee:
chmod a+rx minuprogramm
Seejärel tee kõigile ligipääsetavasse ajutisse kataloogi /tmp/kasutajanimi oma sqlite andmebaas ka:
mkdir /tmp/kasutajanimi chmod +w /tmp/kasutajanimi cd /tmp/kasutajanimi sqlite materjalid.db < materjalid.sql sqlite materjalid.db < data.sql chmod a+rw materjalid.db
Õppejõu näidis-html leht ja programmid
Kolme mainitud faili saad vaadata kas siit altpoolt või kopeerida endale viidatud kohast (palun ära nimetatud faile ise muuda!)
kasutliidesed lab 2 otsingu html /var/www/html/tammet/otsing.html
kasutliidesed lab 2 otsingu cgi /var/www/cgi-bin/tammet/otsi.py
kasutliidesed lab 2 salvestamise cgi /var/www/cgi-bin/tammet/salvesta.py