Difference between revisions of "AtomPub"

From BC$ MobileTV Wiki
Jump to: navigation, search
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:atom-feed-icon-64x64.png|100|ATOM An event/update publishing protocol]]
+
[[Image:atom-feed-icon-64x64.png|120px|right|ATOM An event/update publishing protocol]]
 
The '''Atom''' '''Pub'''lising protocol (commonly abbreviated ''AtomPub'') is a data format and publishing mechanism for making content easily available, indexable and searchable on the [[world wide web]].
 
The '''Atom''' '''Pub'''lising protocol (commonly abbreviated ''AtomPub'') is a data format and publishing mechanism for making content easily available, indexable and searchable on the [[world wide web]].
  
Line 8: Line 8:
 
== Specification ==
 
== Specification ==
  
* Atom Syndication Format: http://www.atomenabled.org/developers/syndication/
+
ATOM is the name of a family of data formats and procotols, separated into two main subtypes: '''Atom Publishing Protocol''' (commonly abbreviated ''AtomPub'' or ''APP'') and '''Atom Syndication Format''' (commonly abbreviated ''Atom'' or ''Atom Feed'').  
* Atom Publishing Protocol namespace: http://www.w3.org/2007/app
+
  
 +
''AtomPub'' is an application-level protocol for both publishing and editing web resources using HTTP and XML (i.e. a [[REST]]ful protocol for data feeds); whereas ''Atom'' is an XML-based document format that describes lists of related information known as "feeds", which are composed of a number of items, known as "entries", each with an extensible (unconstrained by a strict DTD/XSD) set of attached metadata.<ref>Atom Publishing Protocol (APP) and Atom Syndication Format (ATOM): http://library.skjworld.com/internet/atom-publishing-protocol</ref>
 +
 +
=== Publishing ===
 +
 +
The '''Atom Publishing Protocol''' namespace is as follows:
 +
http://www.w3.org/2007/app
 +
 +
* The Atom Publishing Protocol spec: http://tools.ietf.org/html/rfc5023
 +
* The Atom Syndication Format: https://tools.ietf.org/html/rfc4287
 +
* Atom Publishing Protocol guide: http://www.atomenabled.org/developers/tutorials/api-quick-guide/
 +
 +
 +
=== Syndication ===
 +
 +
The '''Atom Syndication Format''' namespace is as follows:
 +
http://www.w3.org/2005/Atom
 +
 +
* The Atom Syndication Format spec: http://tools.ietf.org/html/rfc4287
 +
* Atom Syndication Format guide: http://www.atomenabled.org/developers/syndication/
  
 
== EXAMPLE ==
 
== EXAMPLE ==
Line 38: Line 56:
 
</pre>
 
</pre>
 
<ref>AtomEnabled - Sample Feed: http://www.atomenabled.org/developers/syndication/#sampleFeed</ref>
 
<ref>AtomEnabled - Sample Feed: http://www.atomenabled.org/developers/syndication/#sampleFeed</ref>
 +
 +
 +
 +
== RSS 2.0 .vs. ATOM 1.0 ==
 +
 +
Use-cases are important when considering which feed format to publish your data in. Based on the understanding gained researching<ref>LAWTECH GURU BLOG by Jeff Beard: http://www.lawtechguru.com/archives/2004/02/13_the_great_rss_vs_atom_news_feed_debate.html</ref>, past experience with both formats<ref>BCmoney RSS - Newest Videos: http://bcmoney-mobiletv.com/rss/new/</ref><ref>BCmoney Groups - Discussions: http://bcmoney-mobiletv.com/groups/atom</ref> and the specifications themselves:
 +
 +
ATOM
 +
- Lists of Users (extended via FOAF)
 +
- User Activities (i.e. shared links, status updates; extended via ActivityStrea.ms)
 +
- Group Discussions (extended via SIOC)
 +
- Full Content Feeds (i.e. entire news articles; possibly extended via NewsML, SportsML, DublinCore or others)
 +
 +
 +
RSS
 +
- Summary of general website updates (new articles, blog posts, comments, etc)
 +
- Video Sitemaps (extended via Yahoo!'s MediaRSS)
 +
- Search results (sharing a site's search results; extended via OpenSearch module)
 +
- New files added to servers (i.e. torrents, portfolio work etc, extended via E-Commerce)
 +
 +
  
  
Line 43: Line 82:
  
 
* Known ATOM feeds: http://intertwingly.net/wiki/pie/KnownAtomFeeds
 
* Known ATOM feeds: http://intertwingly.net/wiki/pie/KnownAtomFeeds
 +
* '''The world of Syndication -- Atom 1.0 vs. RSS 2.0?''': http://blogs.iis.net/vsood/archive/2008/10/06/the-world-of-syndication-atom-1-0-vs-rss-2-0.aspx
 +
* RSS 2.0 and Atom 1.0 compared: http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared
 +
 +
 +
== Tutorials ==
  
 +
* ASP, PHP, and JS Atom DateTime format conversion (to human-readable calendar date): http://blog.netnerds.net/2006/04/php-format-atom-date/
 +
* How the WCF Syndication Object Model Maps to Atom and RSS: https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-the-wcf-syndication-object-model-maps-to-atom-and-rss
  
 
== External Links ==
 
== External Links ==
Line 49: Line 95:
 
* The Web, The Browser And AtomPub: http://www.infoq.com/news/2009/04/web-browser-atompub
 
* The Web, The Browser And AtomPub: http://www.infoq.com/news/2009/04/web-browser-atompub
 
* PHP Atom Server: http://www.sitepoint.com/blogs/2004/09/09/php-atom-server/
 
* PHP Atom Server: http://www.sitepoint.com/blogs/2004/09/09/php-atom-server/
 +
* Atom vs. RSS Feed: http://www.freemarketingzone.com/rss/atom-vs-rss.html
 +
* RSS vs. Atom - What’s the Big Deal?: http://www.problogger.net/archives/2006/03/30/rss-vs-atom-whats-the-big-deal/
  
  
Line 58: Line 106:
 
== See Also ==
 
== See Also ==
  
[[RSS]]
+
[[Event]]s | [[Data Portability]] | [[RSS]] | [[Podcast]] | [[OPML]] | [[ActivityStreams]]
  
 
[[Category:Data Language]]
 
[[Category:Data Language]]

Latest revision as of 10:58, 30 March 2020

ATOM An event/update publishing protocol

The Atom Publising protocol (commonly abbreviated AtomPub) is a data format and publishing mechanism for making content easily available, indexable and searchable on the world wide web.


Atom is (arguably) best-suited for activity groups, discussions, forums and chronological (sequential) events or actions.


Specification

ATOM is the name of a family of data formats and procotols, separated into two main subtypes: Atom Publishing Protocol (commonly abbreviated AtomPub or APP) and Atom Syndication Format (commonly abbreviated Atom or Atom Feed).

AtomPub is an application-level protocol for both publishing and editing web resources using HTTP and XML (i.e. a RESTful protocol for data feeds); whereas Atom is an XML-based document format that describes lists of related information known as "feeds", which are composed of a number of items, known as "entries", each with an extensible (unconstrained by a strict DTD/XSD) set of attached metadata.[1]

Publishing

The Atom Publishing Protocol namespace is as follows:

http://www.w3.org/2007/app


Syndication

The Atom Syndication Format namespace is as follows:

http://www.w3.org/2005/Atom

EXAMPLE

 <?xml version="1.0" encoding="utf-8"?>
 <feed xmlns="http://www.w3.org/2005/Atom">
   <title>Example Feed</title>
   <subtitle>A subtitle.</subtitle>
   <link href="http://example.org/feed/" rel="self" />
   <link href="http://example.org/" />
   <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
   <updated>2011-03-08T11:30:02Z</updated>
   <author>
     <name>John Doe</name>
   </author>
   <entry>
     <title>Atom-Powered Robots Run Amok</title>
     <link href="http://example.org/2003/12/13/atom03" />
     <link rel="alternate" type="text/html" href="http://example.org/2003/12/13/atom03.html#comment"/>
     <link rel="edit" href="http://example.org/2003/12/13/atom03/edit"/>
     <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
     <updated>2003-12-13T18:30:02Z</updated>
     <summary>Some amount of text (anything from the first paragraph to the entire story, and everything in between).</summary>
   </entry>
 </feed>

[2]


RSS 2.0 .vs. ATOM 1.0

Use-cases are important when considering which feed format to publish your data in. Based on the understanding gained researching[3], past experience with both formats[4][5] and the specifications themselves:

ATOM - Lists of Users (extended via FOAF) - User Activities (i.e. shared links, status updates; extended via ActivityStrea.ms) - Group Discussions (extended via SIOC) - Full Content Feeds (i.e. entire news articles; possibly extended via NewsML, SportsML, DublinCore or others)


RSS - Summary of general website updates (new articles, blog posts, comments, etc) - Video Sitemaps (extended via Yahoo!'s MediaRSS) - Search results (sharing a site's search results; extended via OpenSearch module) - New files added to servers (i.e. torrents, portfolio work etc, extended via E-Commerce)



Resources


Tutorials

External Links


References

  1. Atom Publishing Protocol (APP) and Atom Syndication Format (ATOM): http://library.skjworld.com/internet/atom-publishing-protocol
  2. AtomEnabled - Sample Feed: http://www.atomenabled.org/developers/syndication/#sampleFeed
  3. LAWTECH GURU BLOG by Jeff Beard: http://www.lawtechguru.com/archives/2004/02/13_the_great_rss_vs_atom_news_feed_debate.html
  4. BCmoney RSS - Newest Videos: http://bcmoney-mobiletv.com/rss/new/
  5. BCmoney Groups - Discussions: http://bcmoney-mobiletv.com/groups/atom


See Also

Events | Data Portability | RSS | Podcast | OPML | ActivityStreams