Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
NewsAggregator+
1. Progetto Web 2.0
Anno 2009-2010
Alessandro Cavallaro, Marco Taddeo, Massimo della Rovere
Sviluppo di un sistema Web 2.0 per la raccolta e
l’elaborazione in tempo reale di notizie
2. Il progetto
Sito web che offre i seguenti servizi:
1. Recupero in tempo reale delle notizie dalle testate online;
2. Visualizzazione delle notizie in homepage con riferimento all’articolo
originale;
3. Registrazione degli utenti visitatori;
4. Categorizzazione delle news tramite tagging manuale;
5. Attribuzione di un rating manuale;
6. Viste personalizzare su tags e ratings.
3. Recupero e visualizzazione
informazioni
La maggior parte delle testate giornalistiche online offre un servizio RSS
gratuito cioè un formato standardizzato basato su XML per la
distribuzione di contenuti digitali sul Web.
Da questo file estraiamo i link alle singole news e, seguendo il relativo
percorso, creiamo per ognuna di esse un nuovo file XML.
Con queste informazioni recuperate, tramite Xpath, si costruisce una
classe che contiene tutte le informazioni della notizia:
• url
• giornale di provenienza
• titolo
• contenuto.
In origine le informazioni non sono taggate e sono salvate in un
database interno.
4. Lato server utilizziamo c# e asp.net mvc mentre per l’interfaccia css e
xhtml.
Nella home sono presenti le notizie caricate dal database in ordine
cronologico, così come sono state recuperate online.
Quando le news non hanno ricevuto neanche un tag sono di colore
neutro (bianco)
Se sono state impostate delle viste allora l’home viene modificata in
funzione di esse.
Registrazione utenti
Nella schermata principale è possibile invocare il form di registrazione
(nome utente, email e password).
Le informazioni personali vengono salvate nel database.
5. Categorizzazione delle news
L’utente registrato può assegnare etichette alle news vedendo quello
che le persone prima di lui hanno taggato (può così avere un riferimento
sulle keyword).
Le informazioni dei tag sono salvate nel database.
Le notizie sono quindi taggate in modo collaborativo, i tag più usati dagli
utenti acquisiscono un peso più elevato e sono maggiormente
caratterizzanti per la notizia.
6. Rating
• L’utente registrato può assegnare alle news un punteggio tra 1 e 5;
• Ogni notizia ha una valutazione corrispondente alla media dei suoi
voti;
Riservatezza: le singole votazioni e rispettive corrispondenza persona-
punteggio non sono salvate. Viene modificato solo il punteggio medio
della notizia. Nessuno può sapere cosa e come ha votato un utente.
7. Viste
L’utente registrato, tramite personalizzazione del suo profilo, può
impostare delle viste.
• selezionare quali categorie vuole visualizzare: nella sua home page le
notizie che preferisce saranno visualizzate in maggior rilievo o in
modo esclusivo;
• selezionare un punteggio minimo: nella sua home page le notizie che
non hanno raggiunto un punteggio minimo hanno minor rilievo o
non vengono visualizzate (nuova funzionalità rispetto al parco web
disponibile).
E’ possibile fondere le due funzioni.
8. Viste: categoria
Homepage prima Homepage dopo
sport 3 -- 10.10 sport 3 -- 10.10
cronaca 2 -- 10.09 cronaca 2 -- 10.09
cultura 1 -- 10.07 cultura 1 -- 10.07
salute 1 -- 10.07 sport 2 --10.07
sport 2 --10.07 sport 1 -- 10.03
gossip 1-- 10.03 cronaca 1 -- 10.00
sport 1 -- 10.03
cronaca 1 -- 10.00
Stato della homepage dopo la selezione di una vista personalizzata. L’utente
sceglie su quali categoria visualizzare in home page.
In questo esempio l’utente ha deciso di non visualizzare le notizie riguardante
salute e gossip.
9. Viste: punteggio
Homepage prima Homepage dopo
sport 3 -- 10.10 6 sport 3 -- 10.10 6
cronaca 2 -- 10.09 8 cronaca 2 -- 10.09 8
cultura 1 -- 10.07 6 cultura 1 -- 10.07 6
salute 1 -- 10.07 7 salute 1 -- 10.07 7
sport 2 --10.07 3 sport 1 -- 10.03 6
gossip 1-- 10.03 2
sport 1 -- 10.03 6
cronaca 1 -- 10.00 4
Stato della homepage dopo la selezione di una vista personalizzata. L’utente
sceglie quale punteggio minimo devono avere le news per essere visualizzate.
In questo esempio non visualizziamo le notizie sportive che non hanno
raggiuntao almeno un punteggio pari a 5.
10. Viste: punteggio e categoria
Homepage prima Homepage dopo
sport 3 -- 10.10 7 sport 3 -- 10.10 7
cronaca 2 -- 10.09 8 cronaca 2 -- 10.09 8
cultura 1 -- 10.07 6 cultura 1 -- 10.07 6
salute 1 -- 10.07 7 salute 1 -- 10.07 7
sport 2 --10.07 3 gossip 1-- 10.03 2
gossip 1-- 10.03 2 cronaca 1 -- 10.00 4
sport 1 -- 10.03 6
cronaca 1 -- 10.00 4
Stato della homepage dopo la selezione di una vista personalizzata. L’utente
sceglie su quali categoria applicare il punteggio selettivo.
In questo esempio non visualizziamo le notizie sportive che non hanno
raggiuntao almeno un punteggio pari a 7.
11. Lo stato attuale del WEB
Proposte molto simili tra loro:
1. Google Reader
2. FeedShow
3. RSSPress
4. Feedelissimo
X Nessuno offre un servizio di tagging comunitario
X Nessuno offre un servizio di rating comunitario
X Nessuno offre la possibilità di definire vista su tags e ratings
Servizi che saranno implementati
nel nostro feeds aggregator.
12. Tecnologie e implementazione
• ASP.NET 2.0
Cos’è: framework per il web sviluppato da Microsoft.
Dove: sito web
• XML (eXtensible Markup Language)
Cos’è: strumento standardizzato, ma estremamente flessibile, per
definire e creare altri linguaggi.
Dove: RSS, recupero informazioni
• C#
Cos’è: linguaggio di programmazione object-oriented sviluppato da
Microsoft all’interno della piattaforma .NET
Dove: lato server
• JavaScript
Cos’è: linguaggio interpretato orientato agli oggetti, integrabile in
pagine HTML.
Dove: animazioni sito web
13. • XHTML (extensible HyperText Matkup Language)
Cos’è: linguaggio di marcatura che associa alcune proprietà dell'XML
con le caratteristiche dell' HTML: un file XHTML è un pagina HTML
scritta in conformità con lo standard XML.
Dove: presentazione pagina web
• PostgreSQL
Cos’è:completo database relazionale ad oggetti rilasciato con licenza
libera
Dove: salvataggio delle informazioni
• XPath (XML Path Language)
Cos’è: linguaggio di query utilizzato per selezionare nodi di un
documento XML
Dove: estrarre contenuti dalle news
• CSS (Cascading Style Sheets)
Cos’è: linguaggio per fogli di stile usato per descrivere la presentazione
di un documento scritto in HTML o XML.
Dove: definizione degli stili sito web
15. Architettura del sistema II (parziale)
DbProvider al suo interno contiene UserProvider, ArticleProvider e ChannelProvider in modo
tale da avere a disposizione tutte le tabelle del DataBase.
A loro volta i vari provider contenuti hanno un riferimento a DbProvider in quanto
quest'ultimo mette a disposizione metodi di utilità.