Viikkotehtävä 9
Tehdään sivu/sivusto, jolla voi seurata uutispalvelujen ja blogien RSS-syötteitä.
Kaikille tasoille yhteiset vaatimukset:
- Tehtävä on palautettava maanantaina 28.4.2008 klo 12.00 mennessä.
- Kaikki PHP-ohjelmien tuottamat XML- ja XHTML-dokumentit pitää tuottaa DOM-operaatioilla. Kaikki XHTML-dokumentit pitää tuottaa valmiiden staattisten dokumenttipohjien päälle.
- Kaikkien sivujen pitää olla validia XHTML 1.0 Strictiä.
- WWW-palvelimelle luotavat ohjelmat kirjoitetaan PHP-kielellä.
- Selaimessa tapahtuva toiminnallisuus toteutetaan Javascript-kielellä käyttäen standardeja DOM-operaatioita ja mahdollisesti Prototype-kirjastoa.
Taso 1
Luodaan järjestelmä, jolla voi Helsingin sanomien, Keskisuomalaisen ja Aamulehden uutissyötteitä.
Kaikki sivun toiminnot tapahtuvat yhdellä WWW-sivulla sivulta poistumatta tai sivua uudelleen lataamatta jollei toisin mainita.
- Sivulta voi valita mitä syötettä haluaa seurata ja valitun syötteen sisältö ilmestyy sivulle.
- Sivulla on myös kartta, jossa näkyy oletuksena koko Suomi. Valittaessa luettavaa syötettä vaihtuu myös kartta osoittamaan lehteä vastaava paikkakuntaa (Hesari: Helsinki, Aamulehti: Tampere, Keskisuomalainen: Jyväskylä) ja zoomaa samalla lähemmäs koko Suomen tasosta.
Taso 3
Luodaan järjestelmä, jolla voi seurata haluttuja uutissivuja.
- Uutissivulta löytyy lista seuratuista syötteistä, sivun oikeassa laidassa on Googlen uutishaku sekä
kartta. Kaikki sivun toiminnot tapahtuvat sivulta poistumatta tai sivua uudelleen lataamatta jollei toisin mainita.
- Sivulta voi suoraan lisätä uusia syötteitä.
- Oikean laidan uutishakuun voi syöttää hakusanan ja tulos tulee haun alle.
- Oikean alanurkan kartasta voi klikata haluamaansa paikkakuntaa ja kartan yläpuolella olevaan uutishakuun ilmestyy tuore kyseistä paikkakuntaa koskeva uutinen.
- Käyttäjän valittua listasta haluamansa syötteen ilmestyy sivun alaosaan kyseisen syötteen sisältö.
- Järjestelmään liittyvien XHTML-dokumenttien pitää olla PHP:ta osaamattoman käyttäjän ylläpidettävissä. Esim. graafikko osaisi muuttaa sivun ulkoasua ja rakennetta muokkaamalla CSS- ja XHTML-tiedostoja.
Taso 5
Luodaan järjestelmä, johon voi luoda henkilökohtaisia uutissivuja. Järjestelmä muistaa mitä syötteitä kukakin käyttäjä haluaa seurata ja mitkä uutiset käyttäjä on jo lukenut.
- Aloitussivulta voi valita olemassaolevan uutissivun tai luoda uuden.
- Salasanaa pyydetään henkilökohtaiselle sivulle siirryttäessä. Jos salasana annetaan väärin, pyydetään uutta salasanaa niin kauan, että saadaan oikea.
- Uutissivulta löytyy lista käyttäjän seuraamista syötteistä, sivun oikeassa laidassa on Googlen uutishaku sekä
kartta. Kaikki sivun toiminnot tapahtuvat sivulta poistumatta tai sivua uudelleen lataamatta jollei toisin mainita.
- Sivulta voi suoraan lisätä uusia syötteitä. Syötelista on jokaisella käyttäjällä henkilökohtainen.
- Järjestelmästä poistutaan sivun ylälaidassa olevan "Kirjaudu ulos" -linkin kautta. Samalla poistutaan syötesivulta järjestelmän etusivulle.
- Oikean laidan uutishakuun voi syöttää hakusanan ja tulos tulee haun alle.
- Oikean alanurkan kartasta voi klikata haluamaansa paikkakuntaa ja kartan yläpuolella olevaan uutishakuun ilmestyy tuore kyseistä paikkakuntaa koskeva uutinen.
- Käyttäjän valittua listasta haluamansa syötteen ilmestyy sivun alaosaan kyseisen syötteen sisältö.
- Maalaamalla sivulta sanan tai sanoja ja valitsemalla "Hae lisätietoja valituista" haetaan uutislaatikkoon uutinen maalattujen hakusanojen perusteella.
- Järjestelmä muistaa mitkä uutiset kukin käyttäjä on lukenut: luettuja uutisia ei enää näytetä syötteen listauksessa syötteen seuraavalla lukukerralla. Järjestelmän muistin pitää toimia, vaikka uutisia luettaisiin eri koneilta ja eri selaimilla.
- Välimuisti: Järjestelmän pitää osata tallentaa syötteet väliaikaisesti. Syötettä ei pidä hakea uudelleen sen tarjoajan palvelimelta jokaisella lukukerralla, vaan riippuen syötteessä määritellystä päivitysajasta (ttl) tai jos sitä ei ole määritelty, niin käytetään oletusarvona viittä minuuttia. Useimmiten siis jaetaan välimuistista löytyvä versio syötteestä ja vain välimuistiversion ollessa tarpeeksi vanha haetaan uusi syöte.
- Käyttäjän henkilökohtaisen sivun osoitteen pitää olla muotoa: http://palvelin.sample/.../.../kayttajatunnus/. Osoite ei siis saa päättyä .php tai .html tms. vaan sen pitää osoittaa kansioon, jonka nimi on sama kuin käyttäjän tunnus.
- Mistään ei saa käydä ilmi, että sovelluksen WWW-palvelimella oleva osuus on toteutettu PHP-kielellä.
- Järjestelmään liittyvien XHTML-dokumenttien pitää olla PHP:ta osaamattoman käyttäjän ylläpidettävissä. Esim. graafikko osaisi muuttaa sivun ulkoasua ja rakennetta muokkaamalla CSS- ja XHTML-tiedostoja.
Käyttäjien kommentit