1 Atom Syndication Format CS791/891 Presented by: George Arnaout Chaitanyakrishna Telukuntla
2 Outline M. Nottingham, Feed Paging and Archiving, RFC 5005, 2007 J. Snell, Atom Threading Extensions, RFC 4685, 2006 J. Snell, Atom License Extension, RFC 4946, 2007
3 Feed Paging and Archiving (RFC 5005) Purpose: This specification defines three types of syndicated Web feeds that enable publication of entries across one or more feed documents.
4 Three Types of Feeds (1) paged Feeds split feed entries among multiple temporary documents (2) archived Feeds split feed entries among multiple permanent documents (3) complete Feeds Entire set of feed entries
5 Terminology Feed document Atom Feed Document Logical feed complete set of entries associated with a feed Head section refers to a document's feed- wide metadata container; e.g., the child elements of the atom: feed element in an Atom Feed Document.
6 Complete Feed Example Top 10 College Football Teams (2007): 1- LSU 2- USC 3- Georgia 4- Ohio State 5- Missouri 6- West Virginia 7- Kansas 8- Oklahoma 9- Virginia Tech 10- Texas Ranking changes ODU Will the old entries such as Texas still be kept?
7 Complete Feed Example Top 10 College Football Teams (2008): 1- Virginia Tech 2- USC 3- Georgia 4- LSU 5- Missouri 6- West Virginia 7- Kansas 8- Oklahoma 9- Ohio State 10- ODU A complete feed is a feed document that contains all of the entries of a logical feed.
8 Atom-formatted Complete Feed My Google Reader Acount
9 Paged Feeds Set of linked feed documents that together contain the entries of a logical feed, without any guarantees about the stability of each document's contents. They can be useful when the number of entries is v-e-r-y large. Clients can "page" through the feed, only accessing a subset of the feed's entries as necessary.
10 Paged Feeds Search Engine
11 Archive Feeds Like page feeds but no loss of entries Subscription document is a feed document that keeps track of the added or changed entries.
12 Archive Feeds Oreillynet.com
13 Important Notes(1/2) What if publisher wants to modify his archived document? Solution: Publish an additional revised copy since the original Archived Document should NEVER change.
14 Important Notes(2/2) What if users found duplicate archived feeds ( having same atom:id)? Solution: - Consider the most recent updated entry (atom:updated) - If same timestamp/not found then the entry sourced from the most recently updated feed document SHOULD replace all other duplicates of that entry.
15 Atom Threading Extensions (RFC 4685) Defines an extension for expressing threaded discussions with Atom Syndication Format. This specification allows the use of IRI’s( Internationalized Resource Identifier) which is generalization of URI. Uses some specification elements.
16 ‘in-reply-to’ Extension element Used to indicate that an entry is a response to another resource. Attributes: 1) ref 2) href 3) source 4) type
17 specifying ‘in-reply-to’ My Example Feed T12:00:00Z James tag:example.org,2005:1 My original entry T12:12:12Z This is my original entry tag:example.org,2005:1,1 A response to the original T12:12:12Z This is a response to the original entry
18 Example to ‘in-reply-to’
19 ‘replies’ Link Relation An Atom link element with a rel attribute of “replies” may be used to reference a resource where responses to an entry may be found. Contains attribute like: 1) thr:count (unsigned, non-negative integer) 2) thr:updated
20 specifying ‘replies’ Tendulkar shines for India tag:typepad.com,2003:post T18:18:28+11:00 Sachin Tendulkar continued his outstanding form, as India made 9 for 258 from its 50 overs in the second tri-series final against Australia at the Gabba in Brisbane today. Tendulkar made an unbeaten century in the first final in Sydney... Luke Pentony
21 Example to ‘replies’
22 ‘total’ extension element ‘total’ element is used to indicate the total number of unique responses to an entry. Atom entries MAY contain a ‘total’ element but MUST NOT contain more than one.
23 Considerations for Using thr:count, thr: updated and total provide additional metadata about the thread of discussion associated with an entry. 1) These extensions MUST NOT be assumed to provide completely accurate information. 2) Values of these extensions are volatile and may change at a faster rate than that of containing entry. 3) Utilizing the extensions defined by this specification.
24 Atom License Extension Extension to Atom Syndication Format for describing licenses associated with Atom feeds and entries. Rights are granted by adding links to Atom feed or entry.
25 Terminology Link relation: refers to the value of the Atom link elements. License: refers to a description of explicit rights that have been granted
26 “license” Link Relation “license” link relation can be used to associate licenses with feed or entry. MAY contain any number of “license” link relations but MUST NOT contain more than one with the same combination of href and type attribute values. Feeds can be dual-licensed.
27 Specifying a license My Example Feed T12:00:00Z James tag:entries.org,2005:1 Atom Powered Robots Run Amok T12:00:00Z Atom Powered Robots Run Amok Jane Smith
28 Example for license element
29 Unspecified License Links Used to indicate that a feed or license has not been explicitly linked to a license description. Entry containing unspecified license link MUST NOT contain license link relations.
30 Inherited Licenses “License” links specified within atom:feed or atom:source elements are inherited by entries.
31 How licenses are inherited License relations atom:source entry inherit atom:entryYes No atom:entryNoYes atom:entryNo Yes
32 Relationship with atom: rights “license” link relations and atom: right relate to communicate information about rights associated with an Atom document. Conflicts arise if they are contradictory
33 atom:rights …. …… Copyright (c) Some rights reserved. This feed is licensed under a Creative Commons Attribute- NonCommercial Use License. It contains material originally published by Jane Smith at under the Creative Commons Attribute License. …… …………. ……..
34 Conclusion Defines three types(paged, archived and complete) of syndicated web feeds. Allow feed publishers to allow threaded discussions Describe licenses associated with atom feeds and entries
35 references