1. Progetto Web 2.0
Anno 2009-2010
Alessandro Cavallaro, Marco Taddeo, Massimo Dalla Rovere
Sviluppo di un sistema Web 2.0 per la raccolta e
l’elaborazione in tempo reale di notizie
2. Il progetto - I
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.
7. Servizio RSS per la ridistribuzione dei contenuti;
3. Il progetto - II
La web application a intervalli
predefiniti interroga le testate
online (1) che ritornano i link alle
notizie tramite RSS (2).
L’articolo completo viene salvato
nel database (3).
L’utente si connette al portale ed
effettua il login (4). La web
application legge dal database le
news che corrispondono alle
preferenze definite dall’utente
(5). Le notizie d’interesse sono
visualizzate dall’utente (6)
4. 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 principale del sito
• giornale di provenienza
• Titolo
• Descrizione del sito
• Contenuto della news
In origine le informazioni non sono taggate e sono salvate in un
database interno.
5. 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 e password).
Le informazioni personali vengono salvate nel database.
6. 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.
7. 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;
Rating: punteggio arbitrario. Non viene proposta una linea guida che
specifichi cosa intendiamo per punteggio o come esso vada applicato.
L’utente esprime un voto su quello che arbitrariamente decide di
valutare della news.
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.
8. 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 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.
9. 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.
10. 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.
11. 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
sport 1 -- 10.03 6
cronaca 1 -- 10.00 4
Stato della homepage dopo la selezione di una vista personalizzata. L’utente
sceglie di visualizzare, per le categorie d’interesse, solo le notizie che hanno
raggiungo un punteggio minimo.
In questo esempio l’utente visualizza le categorie cronaca, cultura, salute e
sport mettendo 6 come voto minimo.
12. Viste come categorie
Oltre alle viste personalizzabili sui tag comunitari, sono state create alcune viste
predefinite che richiamano il concetto di categoria.
L’utente, a sua discrezione, può comunque modificare questo insieme iniziale
cancellando una delle voci predefinite.
Esempi di queste sono: sport, cronaca, salute, scienza, ecc..
L’associazione delle viste su categoria avviene nello stesso modo in cui avviene
la corrispondenza tra tags e news.
13. 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.
14. 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.
15. • 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.
23. Conclusione
• Il progetto ha visto la creazione di un intera
applicazione, partendo dalla analisi dei
requisiti e dalla definizione delle necessità fino
allo studio dell’usabilità e all’analisi della
performance del sito.
• L'applicazione sviluppata è funzionante in ogni
sua parte e si presta all'utilizzo reale sul web.