NewsAggregator+
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

NewsAggregator+

on

  • 292 views

 

Statistics

Views

Total Views
292
Views on SlideShare
292
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

NewsAggregator+ Presentation Transcript

  • 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
  • 14. Architettura del sistema I (parziale)
  • 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à.
  • 16. Database (parziale)