Download presentation
Presentation is loading. Please wait.
Published byCecilia Knight Modified over 9 years ago
1
8/15/20151 Web 2.0
2
8/15/20152 Social Web – Web 2.0 The term Web 2.0 was made popular by Tim O’Reilly: http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/3 0/what-is-web-20.html http://en.wikipedia.org/wiki/Web_2.0 “Web 2.0 … has … come to refer to what some people describe as a second phase of architecture and application development for the World Wide Web.” The Web where “ordinary” users can meet, collaborate, and share using social software applications on the Web (tagged content, social bookmarking, AJAX, etc.) Popular examples include: Bebo, del.icio.us, digg, Flickr, Google Maps, Skype, Technorati, orkut, 43 Things, Wikipedia…
3
8/15/20153 Web 2.0 and social software Web 2.0 focuses: The Web as a platform for social and collaborative exchange Reusable community contributions Subscriptions to information, news, data flows, services Mass-publishing using web-based social software http://en.wikipedia.org/wiki/Social_Software “Social Software lets people rendezvous, connect or collaborate by use of a computer network. It results in the creation of shared, interactive spaces…” Social software for communication and collaboration: IM, IRC, Forums, Blogs, Wikis, Social Network Services, Social Bookmarks, Podcasts, MMOGs…
4
Web 2.0 elements
5
8/15/20155 RSS RSS is a method using XML to distribute web content on one website to many other websites. RSS is a format for syndicating news and the content of news-like sites (such as news, news-oriented community and personal weblogs). It supports fast browsing for news and updates RSS is not just for news, but for anything which can be broken down into discrete items: Recent change of a wiki, changelog of CVS checkins, changes of a book RSS-aware programs (RSS feeds, aggregators) can check RSS and display new items from them. RSS data is small and fast-loading, it can be used for cell phone or PDA.
6
8/15/20156 RSS RSS stands for: Really Simple Syndication (RSS 2.0) Rich Site Summary (RSS 0.91, RSS 1.0) RDF Site Summary (RSS 0.9 and 1.0) RSS is written in XML RSS file is called RSS feed, webfeed, RSS stream, or RSS channel
7
8/15/20157 RSS History Original RSS (0.90) was designed by Netscape as a format for building portals of headlines to mainstream news sites. RSS (0.91) is simplized version of RSS (0.90), but was dropped when Netscape lost interest in portal market. RSS (0.91) was picked up by UserLandSoftware, with furthre release (0.92, 0.93,... Finally 2.0). RSS (1.0) is based on RDF by non-commercial group RSS (2.0) is released in 2003 by Dave Winer. What a mess!
8
8/15/20158 RSS versions and recommendations VersionOwnerProsStatusRecommendation 0.90Netscape Obsoleted by 1.0Don't use 0.91UserLandDrop dead simple Officially obsoleted by 2.0, but still quite popular Use for basic syndication. Easy migration path to 2.0 if you need more flexibility 0.92, 0.93, 0.94 UserLandAllows richer metadata than 0.91Obsoleted by 2.0Use 2.0 instead 1.0 RSS-DEV Working Group RDF-based, extensibility via modules, not controlled by a single vendor Stable core, active module development Use for RDF-based applications or if you need advanced RDF-specific modules 2.0UserLand Extensibility via modules, easy migration path from 0.9x branch Stable core, active module development Use for general-purpose, metadata-rich syndication
9
8/15/20159 How does RSS look like? XML.com http://www.xml.com/ XML.com features a rich mix of... en-us The.NET Schema Object Model http://www.xml.com/pub/a/2002/12/04/som.html Priya Lakshminarayanan describes... SVG's Past and Promising Future http://www.xml.com/pub/a/2002/12/04/svg.html In this month's SVG column... RSS0.91 – RSS2.0
10
8/15/201510 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc=http://purl.org/dc/elements/1.1/> XML.com http://www.xml.com/ XML.com features... en-us.. The.NET Schema Object Model http://www.xml.com/pub/a/2002/12/04/som.html Priya Lakshminarayanan... Priya Lakshminarayanan 2002-12-04 RSS1.0
11
8/15/201511 RSS 2.0 Here we will use RSS2.0 in the lecture The syntax rules of RSS2.0 are very simple and very strict.
12
8/15/201512 How RSS Works First, create an RSS document and save it with an.xml extension Second, upload the file to your website Third, register your RSS document with an RSS aggregator Done. RSS aggregator searches the registered websites for RSS documents, verifies the link, and displays information about RSS documents so that clients (users) can link to the documents that interests them.
13
8/15/201513 RSS 2.0 Example W3Schools Home Page http://www.w3schools.com Free web building tutorials RSS Tutorial http://www.w3schools.com/rss New RSS tutorial on W3Schools XML Tutorial http://www.w3schools.com/xml New XML tutorial on W3Schools
14
8/15/201514 RSS2.0 Syntax Prolog Channel Item Comments Note: RSS is written in XML, please keep in mind of XML syntax requirements: Closing tag Case sensitive Properly nested Attribute value must be quoted
15
8/15/201515 RSS channel element The element has three required child elements: - Defines the title of the channel (e.g. W3Schools Home Page) - Defines the hyperlink to the channel (e.g. http://www.w3schools.com) - Describes the channel (e.g. Free web building tutorials) And many other child elements
16
8/15/201516 RSS category child element The child element is used to specify a category for your feed. The element makes it possible for RSS aggregators to group sites based on category. Web development
17
8/15/201517 RSS copyright child element The child element notifies about copyrighted material. 2006 Refsnes Data as. All rights reserved.
18
8/15/201518 RSS image child element The child element allows an image to be displayed when aggregators present a feed. The element has three required child elements: - Defines the URL to the image - Defines the text to display if the image could not be shown - Defines the hyperlink to the website that offers the channel http://www.w3schools.com/images/logo.gif W3Schools.com http://www.w3schools.com
19
8/15/201519 RSS language child element The child element is used to specify the language used to write your document. The element makes it possible for RSS aggregators to group sites based on language. en-us
20
8/15/201520 RSS Channel child elements ElementDescription Optional. Defines one or more categories for the feed Optional. Register processes to be notified immediately of updates of the feed Optional. Notifies about copyrighted material Required. Describes the channel Optional. Specifies an URL to the documentation of the format used in the feed Optional. Specifies the program used to generate the feed Optional. Allows an image to be displayed when aggregators present a feed Optional. Specifies the language the feed is written in Optional. Defines the last-modified date of the content of the feed
21
8/15/201521 RSS Channel child elements (cont.) ElementDescription Required. Defines the hyperlink to the channel Optional. Defines the e-mail address to the editor of the content of the feed Optional. Defines the last publication date for the content of the feed Optional. The PICS rating of the feed Optional. Specifies the days where aggregators should skip updating the feed Optional. Specifies the hours where aggregators should skip updating the feed Optional. Specifies a text input field that should be displayed with the feed Required. Defines the title of the channel Optional. Specifies the number of minutes the feed can stay cached before refreshing it from the source Optional. Defines the e-mail address to the webmaster of the feed
22
8/15/201522 RSS item element Each element can have one ore more elements. Each element defines an article or "story" in the RSS feed. The element has three required child elements: - Defines the title of the item (e.g. RSS Tutorial) - Defines the hyperlink to the item (e.g. http://www.w3schools.com/rss) - Describes the item (e.g. New RSS tutorial on W3Schools) Finally, the two last lines close the and elements.
23
8/15/201523 RSS item child elements-optional Author element To specify the email address of the author of an item ying.ding@deri.org Comments element Allow an item to link to comments about this item http://www.w3schools.com/comments Enclosure element To include a media file to an item URL-the URL of the media file, length-the length (in bytes) of the media file, type-type of the media file <enclosure url="http://www.w3schools.com/rss/rss.mp3 length="5000" type="audio/mpeg" />
24
8/15/201524 RSS item child elements ElementDescription Optional. Specifies the e-mail address to the author of the item Optional. Defines one or more categories the item belongs to Optional. Allows an item to link to comments about that item Required. Describes the item Optional. Allows a media file to be included with the item Optional. Defines a unique identifier for the item Required. Defines the hyperlink to the item Optional. Defines the last-publication date for the item Optional. Specifies a third-party source for the item Required. Defines the title of the item
25
8/15/201525 RSS Comments
26
8/15/201526 Publishing RSS feed 1.Name your RSS file. Notice that the file must have an.xml extension. 2. Validate your RSS file (a good validator can be found at http://www.feedvalidator.org). http://www.feedvalidator.org 3. Upload the RSS file to your web directory on your web server. 4. Copy the little orange "RSS" or "XML" button to your web directory. 5. Put the little orange "RSS" or "XML" button on the page where you will offer RSS to the world (e.g. on your home page). Then add a link to the button that links to the RSS file. The code will look something like this:.
27
8/15/201527 Publishing RSS feed (cont.) 6. Submit your RSS feed to the RSS Feed Directories (you can Google or Yahoo for "RSS Feed Directories"). Note! The URL to your feed is not your home page, it is the URL to your feed, like "http://www.w3schools.com/rss/myfirstrss.xml". Here are some free RSS aggregation services: Syndic8 (www.syndic8.com): Over 300,000 feeds listed. Newsisfree (www.newsisfree.com): Over 18,000 feeds.. 7. Register your feed with the major search engines: Yahoo – http://publisher.yahoo.com/rss_guide/submit.phphttp://publisher.yahoo.com/rss_guide/submit.php Google – http://www.google.com/ig (this is the Google personalized homepage, but Google will index any RSS feed added here)http://www.google.com/ig MSN - http://w.moreover.com/site/products/ind/pingserver.html (MSN search uses the Moreover news database)http://w.moreover.com/site/products/ind/pingserver.html 8. Update your feed - Now you have gotten RSS feed buttons from Google, Yahoo, and MSN. Now you must make sure that you update your content frequently and that your RSS feed is constantly available.
28
8/15/201528 RSS Reader RSS-aware program is called feed reader or aggregator which can check a list of feeds on behalf of a user and display any updated articles that they find: NewsGator Online ( http://www.newsgator.com/Individuals/NewsGatorOnline/Default.aspx) - A free online RSS reader. Includes synchronization with Outlook, viewing TV content with Media Center Edition, and publication of blogs and headlines. RssReader (http://www.rssreader.com/) A free Windows-based RSS reader. Supports RSS versions 0.9x, 1.0 and 2.0 and Atom 0.1, 0.2 and 0.3. FeedDemon (http://www.newsgator.com/Individuals/FeedDemon/Default.aspx) A Windows-based RSS reader. Very easy to use and has a very orderly interface. However, this is not freeware! Blogbot (http://www.blogbot.com/) An RSS reader plug-in for Outlook or Internet Explorer. The light-version for Internet Explorer is free.
29
8/15/201529 Build your RSS Reader Let’s take NewsGator Online Register yourself Select some feeds Build your own RSS reader
30
8/15/201530 Who provides RSS feeds? Very successful and widely used! Newswire (BBC, CNN, Yahoo!, USATODAY…) There are online communities for that: Bloglines ( http://www.bloglines.com/) http://www.bloglines.com/ Syndic8 ( http://www.syndic8.com/) http://www.syndic8.com/ Newsisfree (www.newsisfree.com)www.newsisfree.com Newsgator (http://www.newsgator.com/)
31
8/15/201531 ATOM
32
8/15/201532 ATOM Another feed format Not satisfied with RSS Main differences: RSS2.0 does not provide labeled container and ATOM provides that so that content can be typed. RSS2.0 has a ‚description‘ element for full entry or just a description. ATOM has separate ‚summary‘ and ‚content‘ elements. ATOM has standardized autodiscovery while RSS2.0 has many non-standard variants. ATOM is defined within an XML namespaces where RSS 2.0 is not ATOM uses xml:base for relative URIs, while RSS2.0 cannot differentiate between relative or non-relative URIs.
33
8/15/201533 ATOM Main differences (cont.): ATOM uses xml:lang while RSS2.0 uses its own language element ATOM entry must have a globally unique ID ATOM date follows RFC 3339, while RSS2.0 is unspecified and has many different formats ATOM is open standards, while RSS not, copyright issue problem ATOM provides XML digital signature, while RSS not Google supports ATOM
34
8/15/201534 How does ATOM look like? Example Feed A subtitle. 2003-12-13T18:30:02Z John Doe johndoe@example.com urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6 Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text.
35
8/15/201535 ATOM Documents Namespace Common attributes Text constructs namespace atom = "http://www.w3.org/2005/Atom" start = atomFeed | atomEntry atomCommonAttributes = attribute xml:base { atomUri }?, attribute xml:lang { atomLanguageTag }?, undefinedAttribute* atomPlainTextConstruct = atomCommonAttributes, attribute type { "text" | "html" }?, text atomXHTMLTextConstruct = atomCommonAttributes, attribute type { "xhtml" }, xhtmlDiv atomTextConstruct = atomPlainTextConstruct | atomXHTMLTextConstruct
36
8/15/201536 ATOM main constructs Text Person date
37
8/15/201537 ATOM Text constructs Text constructs example Text (on child element is allowed) HTML (on child element is allowed) XHTML (only subelement can be included) Less: < Less: <em> < </em> Less: <
38
8/15/201538 ATOM Person constructs Person constructs No order of appearance of the child elements atomPersonConstruct = atomCommonAttributes, (element atom:name { text } & element atom:uri { atomUri }? & element atom:email { atomEmailAddress }? & extensionElement*)
39
8/15/201539 ATOM Person constructs atom:name Person constructs must contain exactly one name element. atom:uri Person constructs may contain this element but must not contain more than one. atom:email Person constructs may contain this element but must not contain more than one.
40
8/15/201540 ATOM Date constructs Date constructs T – to seperate date and time Z – to show the time zone 2003-12-13T18:30:02Z 2003-12-13T18:30:02.25Z 2003-12-13T18:30:02+01:00 2003-12-13T18:30:02.25+01:00
41
8/15/201541 ATOM Element Definition Container elements Feed Entry Content Metadata elements Author, category, contributor, generator, icon, id, link, logo, published, rights, source, subtitle, summary, title, updated
42
8/15/201542 atom:feed element Top-level element atomFeed = element atom:feed { atomCommonAttributes, (atomAuthor* & atomCategory* & atomContributor* & atomGenerator? & atomIcon? & atomId & atomLink* & atomLogo? & atomRights? & atomSubtitle? & atomTitle & atomUpdated & extensionElement*), atomEntry* }
43
8/15/201543 atom:entry element Child element of feed element Or top-level element of a stand-alone Atom Entry document atomEntry = element atom:entry { atomCommonAttributes, (atomAuthor* & atomCategory* & atomContent? & atomContributor* & atomId & atomLink* & atomPublished? & atomRights? & atomSource? & atomSummary? & atomTitle & atomUpdated & extensionElement*) }
44
8/15/201544 atom:content element The "atom:content" element either contains or links to the content of the entry. The content of atom:content is Language-Sensitive.
45
8/15/201545 atom:content element atomInlineTextContent = element atom:content { atomCommonAttributes, attribute type { "text" | "html" }?, (text)*} atomInlineXHTMLContent = element atom:content { atomCommonAttributes, attribute type { "xhtml" }, xhtmlDiv} atomInlineOtherContent = element atom:content { atomCommonAttributes, attribute type { atomMediaType }?, (text|anyElement)*} atomOutOfLineContent = element atom:content { atomCommonAttributes, attribute type { atomMediaType }?, attribute src { atomUri }, empty} atomContent = atomInlineTextContent | atomInlineXHTMLContent | atomInlineOtherContent | atomOutOfLineContent
46
8/15/201546 atom:content element example XHTML inline:... This is XHTML content.... This is XHTML content.... The following example assumes that the XHTML namespace has been bound to the "xh" prefix earlier in the document:... This is XHTML content....
47
8/15/201547 ATOM example dive into mark A <em>lot</em> of effort went into making this effortless 2005-07-31T12:29:29Z tag:example.org,2003:3 <link rel="alternate" type="text/html" hreflang="en" href="http://example.org/"/> <link rel="self" type="application/atom+xml" href="http://example.org/feed.atom"/> Copyright (c) 2003, Mark Pilgrim Example Toolkit Atom draft-07 snapshot <link rel="alternate" type="text/html" href="http://example.org/2005/04/02/atom"/>
48
8/15/201548 ATOM example (cont.) <link rel="enclosure" type="audio/mpeg" length="1337" href="http://example.org/audio/ph34r_my_podcast.mp3"/> tag:example.org,2003:3.2397 2005-07-31T12:29:29Z 2003-12-13T08:29:29-04:00 Mark Pilgrim http://example.org/ f8dy@example.com Sam Ruby Joe Gregorio <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/"> [Update: The Atom draft is finished.]
49
8/15/201549 ATOM secure Digital signature ATOM document can have an enveloped signature by XML-signature and Processing. Encryption The root of an Atom document (atom:feed, atom:entry) may be encrypted by XML Encryption Syntax and Processing.
50
8/15/201550 ATOM extension ATOM is designed for easy extension. Foreign markup can be used in ATOM document Through ATOM namespace
51
Readings Comparison of RSS2.0 and ATOM1.0: http://www.intertwingly.net/wiki/pie/Rss20AndA tom10Compared http://www.intertwingly.net/wiki/pie/Rss20AndA tom10Compared ATOM: http://tools.ietf.org/html/rfc4287http://tools.ietf.org/html/rfc4287
52
8/15/201552 Overview W2.0 Technologies RSS ATOM Ajax Web 2.0 Applications Wiki Blog Google Maps Google Adsense Social Networks Google API Others Podcast Aggregator Mashup Social ontologies (FOAF, SIOC, SKOS) Social media (wikipedia, myspace, youtube, secondlife, digg, flickr, miniclip)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.