Linkkiarkku
Related: Uutislinkit[[1]], Uutislinkit sivuston ideointia etherpadissa[[2]], Piraattipuolue mediassa.
Palvelun kuvaus
Linkkiarkku/Uutisarkku on suunnitteilla oleva palvelu, joka säilöö uutislinkit tietokantaan myöhempiä tarpeita varten.
Toiminta
Palvelu koostuu kahdesta osasta, tallennus- ja hakupuolesta. Tallennuspuolella erillinen ohjelma käy periodisesti läpi syötettä (esim. rss-feedi, tai uutisotsikkosivu) ja tallentaa sen relevantit osat (linkki, uutisotsikko) ja mahdolliset muut metatiedot tietokantaan. Hakupuoli tarjoaa esimerkiksi vapaasanahakukentän, jonka avulla uutisia on helppo hakea tietokannasta.
Toteutus
Hakutoiminnallisuuden toteutus on triviaalia. Tallennuspuolessa voi olla hieman enemmän haastetta. Voimme valita joko
- Olemassaolevan uutisaggregaattorin (, kuten vaikkapa ampparit.com[[3]]) parsimisen, tai
- käyttää suomalaisten uutissivustojen valmiita rss-feedi-palveluita.
Jälkimmäinen vaihtoehto vaikuttaa tekijänoikeusnäkökohdilta ongelmattomammalta. Rss-feedin parsiminen on huomattavasti helpompaa, kuin esimerkiksi html-sivun.
Yleisradion uutissivuston rss-feedin esimerkkisyntaksi on kuvattu alla:
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>YLE Uutiset</title> <link>http://yle.fi/uutiset/</link> <description>YLE Uutiset</description> <category>Tuoreimmat uutiset</category> <item> <title>Nuorten huumeidenkäyttö vähentynyt</title> <link>http://yle.fi/uutiset/kotimaa/2009/09/nuorten_huumeidenkaytto_vahentynyt_1008966.html?origin=rss</link> <description>Huumeiden kokeilu ja käyttö eivät kasvaneet Suomessa vuonna 2008. Nuorilla ne ovat jopa vähentyneet, kerrotaan hallitukselle iltakoulussa keskiviikkona esitellyssä Huumausainepolitiikan vuosikertomuksessa.</description> <pubDate>Wed, 16 Sep 2009 21:10:02 +0300</pubDate> <category>Kotimaa</category> <category>Uutiset</category> <guid isPermaLink="false">http://yle.fi/uutiset/1008966</guid> </item> <item> <title>USA:n terveydenhuoltouudistus etenee yskien</title> <link>http://yle.fi/uutiset/ulkomaat/2009/09/usan_terveydenhuoltouudistus_etenee_yskien_1008948.html?origin=rss</link> <description>Yhdysvaltain suuri terveydenhuollon uudistusesitys on julkistettu riitaisissa tunnelmissa. Pääpuolueiden yhteistä näkemystä uudistuksesta rakentanut demokraattisenaattori Max Baucus julkisti keskiviikkona 856 miljardin dollarin esityksensä terveydenhoitolain muutokseksi ja sai heti haukut republikaanileiristä.</description> <pubDate>Wed, 16 Sep 2009 20:51:31 +0300</pubDate> <category>Ulkomaat</category> <category>Uutiset</category> <guid isPermaLink="false">http://yle.fi/uutiset/1008948</guid> </item> <item> . . . <item> <title>Vanhuksille virkistystä vapaaehtoistyöllä</title> <link>http://yle.fi/alueet/keski-suomi/2009/09/vanhuksille_virkistysta_vapaaehtoistyolla_1008641.html?origin=rss</link> <description>Vanhukset kärsivät usein liikunnan puutteesta. Jyväskylässä on nyt vuoden verran järjestetty yksin asuville ikäihmisille ulkoiluseuraa yliopiston hankkeella. Ulkoiluttajiksi on kurssitettu eläkeikäisiä vapaaehtoisia.</description> <pubDate>Wed, 16 Sep 2009 17:21:21 +0300</pubDate> <category>Keski-Suomi</category> <category>Kotimaa</category> <guid isPermaLink="false">http://yle.fi/uutiset/1008641</guid> <enclosure url="http://yle.fi/ecepic/archive/00144/1609_VAU-HANKE_1_144990t.jpg" length="0" type="image/jpeg" /> </item> </channel> </rss>
Ainoa haaste on kaikkien validien suomalaisfeedien kerääminen luettavien syötteiden listaan, mutta se ei liene kovinkaan suuri ongelma.
Projekti on erittäin toteuttamiskelpoinen, mutta kaipaa tekijöitä :P
Linkkejä
RSS-speksi: http://cyber.law.harvard.edu/rss/rss.html
SVN-repo: http://svn.asuka.fi/linkkiarkku
SQL-taulut
Seuraavassa sql-taulumäärittely mysql:ää varten.
CREATE TABLE lc_feed ( id INT NOT NULL UNIQUE AUTO_INCREMENT PRIMARY KEY, feed_url VARCHAR(1024) CHARACTER SET utf8, site_url VARCHAR(1024) CHARACTER SET utf8, shortname VARCHAR(1024) CHARACTER SET utf8, last_checked_time INT DEFAULT 0, ttl INT DEFAULT 600, ); CREATE TABLE lc_item ( id INT NOT NULL UNIQUE AUTO_INCREMENT PRIMARY KEY, feed_id INT REFERENCES lc_feed.id, title VARCHAR(1024) CHARACTER SET utf8, link VARCHAR(1024) CHARACTER SET utf8, description TEXT CHARACTER SET utf8, published_time INT; );
[Luokka:Nakit]]