<?xml version="1.0" encoding="utf-8"?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/rss.xsl" media="screen"?><rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
  <title>Blogging Roller</title>
  <link>https://rollerweblogger.org/roller/</link>
    <atom:link rel="self" type="application/rss+xml" href="https://rollerweblogger.org/roller/feed/entries/rss?tags=rss" />
  <description>Dave Johnson on open web technologies, social software and software development</description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Tue, 7 Apr 2026 09:28:33 +0000</lastBuildDate>
  <generator>Apache Roller 6.1.5</generator>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/wip_feed_based_integration</guid>
    <title>WIP #6: Feed-based Integration</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/wip_feed_based_integration</link>
    <pubDate>Mon, 8 Oct 2012 10:38:43 +0000</pubDate>
    <category>Web Development</category>
    <category>atom</category>
    <category>feeds</category>
    <category>rss</category>
    <category>wip</category>
<atom:summary type="html">&lt;p&gt;&lt;i&gt;This is the sixth in my series of Web Integration Patterns. Check out the intro at this URL &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;http://rollerweblogger.org/roller/entry/web_integration_patterns&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h3&gt;Synopsys&lt;/h3&gt;

&lt;p&gt;This pattern is about integrating web sites and applications by using standard feed formats to convey timely information, updates, status messages, events and other things from one web application to another.&lt;/p&gt;

&lt;h3&gt;Motivations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Take advantage of the many tools and services that can produce, consume, aggregate and build work-flows around feeds as a way to integrate web applications.&lt;/li&gt;
&lt;li&gt;Use a standards-based approach to ensure that that widest range of feed producers and consumers can be supported. Make it so everybody who needs can read your feeds.&lt;/li&gt;
&lt;/ul&gt;</atom:summary><description>&lt;p&gt;&lt;i&gt;This is the sixth in my series of Web Integration Patterns. Check out the intro at this URL &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;http://rollerweblogger.org/roller/entry/web_integration_patterns&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

&lt;h3&gt;Synopsys&lt;/h3&gt;

&lt;p&gt;This pattern is about integrating web sites and applications by using standard feed formats to convey timely information, updates, status messages, events and other things from one web application to another.&lt;/p&gt;

&lt;h3&gt;Motivations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Take advantage of the many tools and services that can produce, consume, aggregate and build work-flows around feeds as a way to integrate web applications.&lt;/li&gt;
&lt;li&gt;Use a standards-based approach to ensure that that widest range of feed producers and consumers can be supported. Make it so everybody who needs can read your feeds.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Related Patterns&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Search Integration&lt;/li&gt;
&lt;li&gt;Web APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A feed is a list of entries, each with an timestamp, ID, title, content and metadata like categories and tags. Entries are arranged in reverse chronological order. The entries in a feed can represent just about anything from blog entries, Flickr photos, YouTube videos, source-code change sets or tasks in a change management system. A feed is an XML resource that is available at a URL. If you want updates, then you poll that URL, ideally using HTTP Conditional GET so that you only pull down the feed when it has been updated.&lt;/p&gt;

&lt;p&gt;Generally speaking there are two standard feed formats in use on the web: &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;RSS&lt;/a&gt; and &lt;a href=&quot;http://www.atomenabled.org/developers/syndication/atom-format-spec.php&quot;&gt;Atom&lt;/a&gt;, both are based on XML. Both use different element names, for example: what Atom calls &amp;quot;entries&amp;quot; RSS calls &amp;quot;items.&amp;quot; Because these standard formats are so widely supported, providing a feed is an effective way to share updates from your web site or application.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Elements of Atom&lt;/b&gt; (from my 2006 &lt;a href=&quot;http://rollerweblogger.org/roller/entry/tri_xml_2006_presentation&quot;&gt;presentation on Atom&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/fa22fadc-9cf5-4bd6-8e2e-d6ce4e0a603f&quot; alt=&quot;Atom feed model&quot;&gt;
&lt;/p&gt;

&lt;p&gt;Another flavor of feeds is &lt;a href=&quot;http://activitystrea.ms/specs/json/schema/activity-schema.html&quot;&gt;ActivityStrea.ms&lt;/a&gt;, which is essentially a feed format with a &lt;a href=&quot;http://activitystrea.ms/specs/json/schema/activity-schema.html&quot;&gt;schema&lt;/a&gt; for representing about 70 different types of activities. These activities can be social network activities like &lt;i&gt;share&lt;/i&gt; or &lt;i&gt;friend&lt;/i&gt; and they can also be business activities like &lt;i&gt;assign&lt;/i&gt;, &lt;i&gt;resolve&lt;/i&gt; or &lt;i&gt;schedule&lt;/i&gt;. One advantage of using the ActivityStrea.ms standard is that it has both an &lt;a href=&quot;http://activitystrea.ms/specs/atom/1.0/&quot;&gt;Atom&lt;/a&gt; and a &lt;a href=&quot;http://activitystrea.ms/specs/json/1.0/&quot;&gt;JSON mapping&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Producing Feeds&lt;/h3&gt;

&lt;p&gt;Feed-based Integration is listed as a basic pattern because it can be very easy to implement. The ability to produce feeds is built-in to many different types of web applications from blog and wikis to continuous integration servers. If you are writing your own web application, you can choose to use XML tools to produce your feeds, a templating engine or a dedicated feed toolkit like &lt;a href=&quot;https://rometools.jira.com/secure/Dashboard.jspa&quot;&gt;ROME&lt;/a&gt;. You&#146;ll find plenty of XML tools and templating engines no matter what language you are using.&lt;/p&gt;

&lt;p&gt;Which type of feed should you produce? That depends. Atom is the most complete specification and is a true IETF standard, so often it is the right choice. To make the right decision, you have to consider who is going to be consuming your feeds. If your consumers prefer RSS, them give them that. If your consumers prefer JSON over XML, then consider ActivityStrea.ms in JSON flavor.&lt;/p&gt;

&lt;h3&gt;Consuming Feeds&lt;/h3&gt;

&lt;p&gt;You can use a wide variety of tools to parse and process feed data. For example, there are many web sites and services that can digest feeds and trigger other events and processing. Services such as &lt;a href=&quot;http://pipes.yahoo.com/pipes/&quot;&gt;Yahoo Pipes&lt;/a&gt; and &lt;a href=&quot;https://ifttt.com/dashboard&quot;&gt;If This Then That&lt;/a&gt; can read feeds, process each item and perform other actions based on item values. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Processing a feed with Yahoo Pipes&lt;/b&gt; (from &lt;a href=&quot;http://blog.earth2marsh.com/2009/09/prioritizing-podcasts-with-google.html&quot;&gt;Marsh Gardiner&amp;#39;s post&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/62bbcf12-3c87-4964-8eab-6b5482c97e4f&quot; alt=&quot;Yahoo Pipes&quot;&gt;
&lt;/p&gt;

&lt;p&gt;You&#146;ll also find a variety of JavaScript widgets that can parse and display feeds in a website. Most web portal and software with a web dashboard features will include a component that can display feeds. And, of course, you can use a reader that supports RSS/Atom feeds, such as Google Reader or Feedly or FlipBoard, to monitor and read feeds.&lt;/p&gt;

&lt;p&gt;If you need to add RSS/Atom reading features to your own software, you can use standard XML parsing tools and, for most language, you&#146;ll find that there are open source libraries specifically designed for parsing feeds.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/62e51883-23ad-4c45-9182-fbe2085f33d3&quot; alt=&quot;book: RSS and Atom in Action&quot; align=&quot;right&quot;&gt;&lt;/a&gt;For more information in producing and consuming feeds, &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;. Also, you might find my presentation on &lt;a href=&quot;http://rollerweblogger.org/roller/entry/tri_xml_2006_presentation&quot;&gt;Beyond Blogging: Atom Format and Protocol&lt;/a&gt; useful.&lt;/p&gt;

&lt;h3&gt;Beyond the basics&lt;/h3&gt;

&lt;p&gt;Feeds are a great way to do simple integrations, but there are limitations and there will be times you&#146;ll need to go beyond the basics with RSS and Atom feeds. Here&amp;#39;s an example. Normally, with feeds, clients have to repeatedly poll the feed URL for updates. This is annoying, and inefficient, even with HTTP Conditional GET. To address this problem, you can setup a &lt;a href=&quot;https://code.google.com/p/pubsubhubbub/&quot;&gt;PubSubHubub&lt;/a&gt; server that will subscribe to feeds and will then notify other subscribers instantly when updates are available, so that those other subscribers don&#146;t have to poll.&lt;/p&gt;

&lt;p&gt;Another problem is that, if you don&#146;t poll often enough, you might miss some updates and they may &#147;scroll&#148; off the bottom of the feed before you see them. Feed providers can address this problem by supporting &lt;a href=&quot;http://tools.ietf.org/html/rfc5005&quot;&gt;Feed Paging and Archiving&lt;/a&gt;, which allows clients to use next and previous links to &#147;page&#148; back to feed items that are no longer in the first page of the feed.&lt;/p&gt;

&lt;p&gt;One more beyond-the-basics item to mention is the related pattern Web APIs, which we&amp;#39;ll cover later. Web APIs are listed as a related pattern to Feed-based Integration. That&amp;#39;s because feeds have been used as the basis for several &amp;quot;Web APIs&amp;quot; or protocols. These protocols specify how to use HTTP POST, GET, PUT and DELETE and create, retrieve, update and delete web resources that are represented as feed entries. Examples are the IETF&amp;#39;s &lt;a href=&quot;http://www.atomenabled.org/developers/protocol/atom-protocol-spec.php&quot;&gt;Atom Protocol&lt;/a&gt;, Microsoft&amp;#39;s &lt;a href=&quot;http://www.odata.org/&quot;&gt;OData&lt;/a&gt; and Google&amp;#39;s &lt;a href=&quot;https://developers.google.com/gdata/docs/directory&quot;&gt;GData&lt;/a&gt; APIs.&lt;/p&gt;

&lt;p&gt;That&#146;s it for Feed-based Integration. In my next posts, we&amp;#39;ll move in to the Advanced Patterns.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/more_than_bloggy</guid>
    <title>More than bloggy</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/more_than_bloggy</link>
    <pubDate>Mon, 7 Mar 2011 06:00:00 +0000</pubDate>
    <category>Web Development</category>
    <category>asf</category>
    <category>atom</category>
    <category>atompub</category>
    <category>rdf</category>
    <category>rss</category>
    <category>wip</category>
<atom:summary type="html">&lt;p&gt;I&#146;ve been meaning to write on this topic for a some time and to explain how I&#146;ve gone from being an advocate of RSS/Atom feeds, Atom Publishing Protocol and things bloggy to being a proponent of Linked Data (&lt;a href=&quot;http://www.readwriteweb.com/archives/linked_data_is_blooming_why_you_should_care.php&quot;&gt;video&lt;/a&gt;), Semantic Web, RDF and other things that I previously considered to be nuisances. I&amp;#39;ve also got a new topic and blog series to announce, so here goes.&lt;/p&gt;</atom:summary><description>&lt;p&gt;I&#146;ve been meaning to write on this topic for a some time and to explain how I&#146;ve gone from being an advocate of RSS/Atom feeds, Atom Publishing Protocol and things bloggy to being a proponent of Linked Data (&lt;a href=&quot;http://www.readwriteweb.com/archives/linked_data_is_blooming_why_you_should_care.php&quot;&gt;video&lt;/a&gt;), Semantic Web, RDF and other things that I previously considered to be nuisances. I&amp;#39;ve also got a new topic and blog series to announce, so here goes.&lt;/p&gt;

&lt;a href=&quot;http://rollerweblogger.org/roller/entry/tri_xml_2006_presentation&quot;&gt;&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/563b18df-9abf-4354-9fe8-ea9fd26070bd&quot; align=&quot;right&quot; alt=&quot;screenshot of Intro to RSS/Atom presentation&quot;&gt;&lt;/a&gt;

&lt;p&gt;Once upon a time, I actually said &#147;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/tri_xml_2006_presentation&quot;&gt;the web is bloggy&lt;/a&gt;&#148; in conference presentations and without shame. It sounds silly and, for a blog server developer self-serving, but it&#146;s true and it&#146;s still true to this day. So much of what we do on the web can be made more useful via feeds. That&#146;s because so many things can be usefully represented as a &lt;a href=&quot;http://www.intertwingly.net/blog/1472.html&quot;&gt;well formed log&lt;/a&gt; entry, i.e. a URL, title, date, description and a chunk of content. No matter whether your web application is Flickr, Twitter or IBM/Rational Team Concert, you can enable all sorts of interesting integrations and mashups by providing feeds.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://tools.ietf.org/html/rfc5023&quot;&gt;Atom Publishing Protocol&lt;/a&gt; (APP) applied the feed concept to web APIs, using a feed to represent a collection of entries and allowing API callers to use HTTP to create, retrieve, update and delete entries. Entries could be anything of course. In the case of Google&#146;s APP-based &lt;a href=&quot;http://code.google.com/apis/gdata/&quot;&gt;GData Protocol&lt;/a&gt;, entries are Calendar Events, Picasa Photo uploads or YouTube videos. In the case of the IBM/Lotus &lt;a href=&quot;http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/index.jsp?topic=/com.ibm.connections.25.help/c_api_common_overview.html&quot;&gt;Connections API&lt;/a&gt;, entries are Forum Posts, Social  Network Profiles, File Uploads and more.&lt;/p&gt;

&lt;h4&gt;Feeds only get you so far&lt;/h4&gt;

&lt;p&gt;I&#146;m not going to argue that &lt;a href=&quot;http://www.techcrunchit.com/2009/05/05/rest-in-peace-rss/&quot;&gt;RSS is dead&lt;/a&gt; (or Atom) because I don&amp;#39;t believe that, but the feeds approach only gets you so far. With feeds, we agree on a small set of 
common properties, e.g. URL, title, date, description and content. Not all resources on the web have those properties and many resources have a lot more. So in some cases applying Atom means forcing things to fit into the Atom model and in some cases it means inventing new properties for Atom, something that is supported by Atom format.&lt;/p&gt;

&lt;h4&gt;APIs only get you so far&lt;/h4&gt;

&lt;p&gt;I&#146;m not going to argue that APP is dead or a &lt;a href=&quot;http://bitworking.org/news/425/atompub-is-a-failure&quot;&gt;failure&lt;/a&gt; either, but APP is an API approach and, for web integration, APIs only get you so far. It&#146;s definitely a good thing for developers when a web site or application provides an API, but if you have to integrate a set of N web sites and each has it&#146;s own API and (even if they&#146;re all based on APP) you&#146;re stuck doing N x N point-to-point integrations. APIs are not necessarily the best way, and certainly not the only way, to enable integrations on the web.&lt;/p&gt;

&lt;h4&gt;Linked Data&lt;/h4&gt;

&lt;a href=&quot;http://semanticweb.com/linked-data-an-introduction_b17148&quot;&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/6e1ca578-b5d4-4561-af0d-5a53409e941a&quot; align=&quot;right&quot; alt=&quot;Linked Data cloud diagram&quot;&gt;
&lt;/a&gt;

&lt;p&gt;Linked Data (&lt;a href=&quot;http://www.w3.org/DesignIssues/LinkedData.html&quot;&gt;W3C page&lt;/a&gt;) is a different approach. Instead of forcing everything to fit the blog model, Linked Data gives us a way to define common vocabularies of properties about resources on the web and, most importantly, the links between them. Linked Data enables integration by allowing sites to weave their resources into the interlinked web of data that is the web.&lt;/p&gt;

&lt;h4&gt;Next: Web Integration Patterns&lt;/h4&gt;

&lt;p&gt;These days, what&amp;#39;s important to me at work is &lt;a href=&quot;http://open-services.net&quot;&gt;integration&lt;/a&gt; and in my mind, Feeds, APIs and Linked Data are different &#147;patterns&#148; for web-based integrations. They can be used in complementary ways. Just as we have defined and cataloged &lt;a href=&quot;http://www.enterpriseintegrationpatterns.com/toc.html&quot;&gt;Enterprise Integration Patterns&lt;/a&gt;, I think it will be useful to do the same for Web Integration Patterns. I know I&amp;#39;ll learn something in the process. In my next posts, I&amp;#39;ll expand on this concept and after that, I&amp;#39;ll start cataloging, in an informal and bloggy way, the patterns that I&amp;#39;m familiar with. More later...&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rss_and_atom_part_of</guid>
    <title>RSS and Atom part of the stimulus plan</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rss_and_atom_part_of</link>
    <pubDate>Sat, 21 Feb 2009 08:32:13 +0000</pubDate>
    <category>Feeds</category>
    <category>atom</category>
    <category>rss</category>
<description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.aaronsw.com/weblog/rssstimulus&quot;&gt;Aaron Swartz&lt;/a&gt;: As chaunceyt pointed out, the new stimulus bill&amp;#39;s implementation instructions require that each government agency report the money it gives out in RSS:&lt;/p&gt;

&lt;p style=&quot;font-style:italics;margin-left:3em;&quot;&gt;For each of the near term reporting requirements (major communications, formula block grant allocations, weekly reports) &lt;b&gt;agencies are required to provide a feed (preferred: Atom 1.0, acceptable: RSS)&lt;/b&gt; of the information so that content can be delivered via subscription.&lt;/p&gt;

&lt;p&gt;Pretty amazing to see a government so tech-savvy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Uncle Sam should contact Manning, who, I&amp;#39;m pretty sure, has stacks of &lt;a href=&quot;http://www.amazon.com/gp/product/1932394494?ie=UTF8&amp;amp;tag=bloggingrolle-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1932394494&quot;&gt;RSS and Atom In Action&lt;/a&gt; available for a very good price.&lt;/p&gt;


</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/media_blogging_for_roller</guid>
    <title>Media Blogging for Roller</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/media_blogging_for_roller</link>
    <pubDate>Thu, 19 Feb 2009 12:57:37 +0000</pubDate>
    <category>Roller</category>
    <category>apacheroller</category>
    <category>atom</category>
    <category>java</category>
    <category>mentoring</category>
    <category>opensource</category>
    <category>rss</category>
<atom:summary type="html">For the past five months I&amp;#39;ve had the pleasure of mentoring two &lt;a href=&quot;http://www.sjsu.edu/&quot;&gt;San Jose State Univ.&lt;/a&gt; graduate students, &lt;a href=&quot;http://www.linkedin.com/pub/dir/ganesh/mathrubootham&quot;&gt;Ganesh Mathrubootham&lt;/a&gt; and &lt;a href=&quot;http://www.linkedin.com/pub/7/71/299&quot;&gt;Tanuja Varkanthe&lt;/a&gt;, who are working on a project for classes CMP 295A and B. They picked one of the projects that I first proposed for Google Summer of Code and then for Glassfish&amp;#39;s student outreach program, Media Blogging for &lt;a href=&quot;http://roller.apache.org&quot;&gt;Apache Roller&lt;/a&gt;. It&amp;#39;s turned out to be a major project and the central new feature in the upcoming Roller 5.0 release.&amp;nbsp;</atom:summary><description>&lt;p&gt;For the past five months I&amp;#39;ve had the pleasure of mentoring two &lt;a href=&quot;http://www.sjsu.edu/&quot;&gt;San Jose State Univ.&lt;/a&gt; graduate students, &lt;a href=&quot;http://www.linkedin.com/pub/dir/ganesh/mathrubootham&quot;&gt;Ganesh Mathrubootham&lt;/a&gt; and &lt;a href=&quot;http://www.linkedin.com/pub/7/71/299&quot;&gt;Tanuja Varkanthe&lt;/a&gt;, who are working on a project for classes CMP 295A and B. They picked one of the projects that I first proposed for Google Summer of Code and then for Glassfish&amp;#39;s student outreach program, Media Blogging for &lt;a href=&quot;http://roller.apache.org&quot;&gt;Apache Roller&lt;/a&gt;. It&amp;#39;s turned out to be a major project and the central new feature in the upcoming Roller 5.0 release.&lt;/p&gt;


&lt;h4&gt;The plan&lt;/h4&gt;

&lt;p&gt;The basic idea is to make it really easy to upload images, audio and video files to Roller, and really easy to include them in Roller blog posts and RSS/Atom feeds. Of course, the devil is in the details and Ganesh and Tanuja really have those covered. They have put together the most detailed and well thought-out plan and design ever for a new Roller feature. You can find the &lt;a href=&quot;http://cwiki.apache.org/confluence/x/rnkB&quot;&gt;proposal page&lt;/a&gt; and the full Media Blogging for Roller Project Plan (PDF, 2mb) on the Roller wiki. Here&amp;#39;s a key excerpt from the project summary:&lt;/p&gt; 

&lt;blockquote&gt;
&lt;p&gt;Roller currently lacks support for the latest blogging features.  Roller does allow 
users to upload any type of content to their blogs and include that content on blog entries as images or podcasts, but lacks tools to make media blogging a seamless experience for bloggers.  Interface to manage uploaded files is not sortable and not page-able. Once the user has uploaded a file, which could be an image or a podcast, he needs to explicitly cut and paste the URL into his blog post.&lt;/p&gt;

&lt;p&gt;Overall, Rollerâ&#128;&#153;s support for media blogs is currently limited to basic file upload functionality, which is cumbersome to use for creating media blogs. This project will revamp the existing file upload interface to incorporate powerful media blogging features into Roller. Also, successful media management websites such as Flickr and YouTube are driven by a public media library, offering different ways for users to search and locate the content of their like. This feature incorporated into a blog server can make it very powerful and we intend to do that as part of this project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To get an idea of what this is all about, let&amp;#39;s take a look at some screenshots/wireframes taken directly from the project plan.&lt;/p&gt;


&lt;h4&gt;New media file upload dialog&lt;/h4&gt;

&lt;p&gt;First up is the new media file upload dialog. There are a couple of interesting things here. We&amp;#39;ll have metadata for each upload, including description, tags and copyright message. We&amp;#39;ll also have the option of including the file in the gallery. We&amp;#39;ll support a media gallery for each blog, and new files added to the gallery are included in a special media feed for the blog.&lt;/p&gt;

&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/mediablogging-upload-1.png&amp;quot;
alt=&amp;quot;screenshot of new upload dialog&amp;quot; /&amp;gt;


&lt;h4&gt;File Uploads browser&lt;/h4&gt;

&lt;p&gt;To make it easy to manage your media files, the proposal includes a new upload browser interface, with a tabular and a hierarchical view. Thumbnails will be automatically generated on upload. Search and filtering controls will make it easy to find and operate on the files you are looking for, based on file metadata.&lt;/p&gt;

&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/mediablogging-browse-1.png&amp;quot; 
alt=&amp;quot;screenshot of new upload browser&amp;quot; /&amp;gt;


&lt;h4&gt;Select media dialog&lt;/h4&gt;

&lt;p&gt;When you are writing a blog post, you&amp;#39;ll be able to browse for and include media files without leaving the blog editor interface. You&amp;#39;ll be able to choose the size and orientation of the image or video in the blog post, as you can see below.&lt;/p&gt;

&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/mediablogging-video-1.png&amp;quot; 
alt=&amp;quot;screenshot of new add media dialog&amp;quot; /&amp;gt;


&lt;br&gt;&lt;br&gt;

&lt;p&gt;Needless to say, I&amp;#39;m pretty excited about these new features, and to looking forward to a major new Roller release, and one where I don&amp;#39;t have to do much of the work. If you want more information on 5.0 then check the &lt;a href=&quot;http://cwiki.apache.org/confluence/x/9aQB&quot;&gt;Apache Roller 5.0 proposal page&lt;/a&gt;. And if you want to help out then join the &lt;a href=&quot;http://cwiki.apache.org/confluence/x/ZYk&quot;&gt;Roller development mailing list&lt;/a&gt; and introduce yourself.&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_1_0_rc2</guid>
    <title>ROME 1.0 RC2 on the way</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_1_0_rc2</link>
    <pubDate>Wed, 7 Jan 2009 08:48:11 +0000</pubDate>
    <category>Feeds</category>
    <category>atom</category>
    <category>java</category>
    <category>opensource</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/nicklothian-logo.png&quot; alt=&quot;Nick&amp;#39;s Twitter icon&quot; title=&quot;Go Nick go!&quot; align=&quot;right&quot;&gt;

&lt;p&gt;Good news for &lt;a href=&quot;https://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; fans. &lt;a href=&quot;http://nicklothian.com/blog/&quot;&gt;Nick Lothian&lt;/a&gt; picked up the puck and is galloping towards the finish line (sorry, I&amp;#39;m terrible at sports analogies).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://markmail.org/message/5df7knpcceubjug&quot;&gt;Nick Lothian&lt;/a&gt; on ROME dev:&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve gone and built some preview jars for the upcoming ROME 1.0RC2, ROME Fetcher
1.0RC2 and Modules 0.3 release.&lt;/p&gt;

&lt;p&gt;Those jars can be found here:
&lt;a href=&quot;https://rome.dev.java.net/servlets/ProjectDocumentList?folderID=10368&amp;amp;expandFolder=10368&amp;amp;folderID=10368&quot;&gt;https://rome.dev.java.net/servlets/ProjectDoc...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve created source and javadoc jars as well as the normal jars - the idea being
that I&amp;#39;ll get them uploaded to some maven repository.&lt;/p&gt;

&lt;p&gt;If you have some spare time, please take a look at these and test them and let
me know of any problems. Assuming there are no big issues found I&amp;#39;d like to do a proper release in a couple of days.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Guess that means I should test &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;Propono&lt;/a&gt; with RC2.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/re_delicious_com_blog_posting</guid>
    <title>re: delicious.com Blog Posting tool</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/re_delicious_com_blog_posting</link>
    <pubDate>Mon, 22 Sep 2008 17:56:32 +0000</pubDate>
    <category>Feeds</category>
    <category>atompub</category>
    <category>metaweblog</category>
    <category>rss</category>
<description>&lt;a href=&quot;http://delicious.com&quot;&gt;
&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/delface.jpg&amp;quot; 
title=&amp;quot;delicious.com face graphic&amp;quot; align=&amp;quot;right&amp;quot; hspace=&amp;quot;20&amp;quot; /&amp;gt;&lt;/a&gt;

&lt;p&gt;Oh and by the way, I have not given up on that &lt;a href=&quot;http://rollerweblogger.org/roller/entry/delicous_com_blog_posting_tool&quot;&gt;Delicious.com Blog Posting tool&lt;/a&gt; that I wrote about in August. I&amp;#39;ve got the feed fetching, entry composing parts done now and I&amp;#39;m currently working on the blog posting code. I hope to have something ready to blog about this week.&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/updating_raa</guid>
    <title>Updating RSS and Atom in Action?</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/updating_raa</link>
    <pubDate>Wed, 9 Jul 2008 16:32:28 +0000</pubDate>
    <category>Feeds</category>
    <category>atom</category>
    <category>rss</category>
<description>&lt;p&gt;Check out Tim Bray&amp;#39;s &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2008/07/07/Atom&quot;&gt;Atomic Monday&lt;/a&gt; post for a summary of recent developments in the world of AtomPub protocol and Atom format. With the uptick in interest in Atom and especially AtomPub protocol&amp;#39;s usage in mainstream APIs from Google and Microsoft, I wonder if if would make sense to update &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1932394494/bloggingrolle-20&quot;&gt;RSS and Atom in Action&lt;/a&gt;.&lt;/p&gt;

&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1932394494/bloggingrolle-20&quot;&gt;
&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/dmjohnson_3d.gif&amp;quot; 
   alt=&amp;quot;Cover of RSS and Atom in Action&amp;quot; align=&amp;quot;left&amp;quot; /&amp;gt;&lt;/a&gt;

&lt;p&gt;The bulk of the book is up-to-date, for what it covers. RSS and Atom haven&amp;#39;t really changed and, though the book came out before the spec was finalized, the AtomPub material is basically sound. The ROME material is still current too.&lt;/p&gt;

&lt;p&gt;What&amp;#39;s missing are all of the new developments: 
a dozen or more new AtomPub based APIs from Google (&lt;a href=&quot;http://code.google.com/apis/gdata/&quot;&gt;GData&lt;/a&gt; and &lt;a href=&quot;http://code.google.com/apis/opensocial/&quot;&gt;OpenSocial&lt;/a&gt;) and Microsoft (&lt;a href=&quot;http://dev.live.com/blogs/devlive/archive/2008/02/27/213.aspx&quot;&gt;Live&lt;/a&gt; and &lt;a href=&quot;http://astoria.mslivelabs.com/&quot;&gt;Astoria&lt;/a&gt;) and new tools like &lt;a href=&quot;http://incubator.apache.org/abdera/&quot;&gt;Apache Abdera&lt;/a&gt; (incubating). Not to mention Windows RSS Platform 2.0 and ROME 1.0 (which is coming soon). Updating the book to cover all of those topics would be quite an endeavor and I&amp;#39;m not sure it&amp;#39;s the right approach to covering AtomPub. What do you think?&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/yahoo_weather_module_rome</guid>
    <title>Yahoo Weather RSS module for ROME</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/yahoo_weather_module_rome</link>
    <pubDate>Wed, 23 Jan 2008 15:40:22 +0000</pubDate>
    <category>Java</category>
    <category>feeds</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/rome-logo.png&quot;&gt;&lt;br&gt;

&lt;p&gt;Apparently, I spoke to soon about ROME being in maintenance mode. There&amp;#39;s an all-new 
&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/YahooWeather&quot;&gt;Yahoo Weather module&lt;/a&gt; for 
&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt; from 
&lt;a href=&quot;http://www.oreillynet.com/pub/au/2413&quot;&gt;Robert &amp;quot;kerbernet&amp;quot; Cooper&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_vs_abdera</guid>
    <title>ROME vs. Abdera</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_vs_abdera</link>
    <pubDate>Tue, 22 Jan 2008 18:18:40 +0000</pubDate>
    <category>Java</category>
    <category>abdera</category>
    <category>apache</category>
    <category>atom</category>
    <category>feeds</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/atom-logo75px.gif&quot; align=&quot;right&quot;&gt;

&lt;p&gt;For Java developers starting out with RSS and Atom, here are some notes to help you figure out the differences between the Java.net ROME and Apache Abdera (incubating) projects.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;&lt;b&gt;ROME&lt;/b&gt;&lt;/a&gt; is a set of Java tools for parsing, fetching and generating all forms of RSS and Atom feeds. The core ROME library is relatively small and depends only on the somewhat creaky old JDOM XML parser. Available separately are modules to support various feed extensions such as OpenSearch, iTunes, GeoRSS, etc. ROME was originally developed and open sourced by Sun Portal dev team members in 2004.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;&lt;b&gt;ROME Propono&lt;/b&gt;&lt;/a&gt; is a subproject of ROME that supports publishing/editing entries and files to blog servers and AtomPub servers. Propono is made up of three parts: 1) a Blog Client library can publish via either the old lagacy MetaWeblog API or the shiny new AtomPub protocol, 2) an AtomPub client that publishes only via AtomPub and 3) a framework for creating AtomPub servers. Propono was developed by Ramesh Mandava and Dave Johnson, based on code from &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1932394494/bloggingrolle-20&quot;&gt;RSS and Atom in Action&lt;/a&gt; and open sourced as part of the Sun Web Developer Pack in 2007.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://incubator.apache.org/abdera/&quot;&gt;&lt;b&gt;Abdera&lt;/b&gt;&lt;/a&gt; is a set of Java tools for working with Atom feeds and AtomPub protocol. This includes a parser, writers, an AtomPub client and a framework for creating AtomPub servers. Abdera&amp;#39;s Atom feed parser uses STAX, so it uses less memory and is faster than ROME. Abdera&amp;#39;s Atom feed support is more comprehensive than ROME&amp;#39;s and it supports signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, GoogleLogin, etc. etc. Abdera was developed by IBM and contribued to Apache in 2006.&lt;/p&gt;

&lt;p&gt;Now let&amp;#39;s compare frameworks. The pros and cons of ROME are:
&lt;ul&gt;
&lt;li&gt;Pro: complete RSS support, all of the dozen various flavors&lt;/li&gt;
&lt;li&gt;Pro: it&amp;#39;s generally simple and small, depending only one jar (JDOM)&lt;/li&gt;
&lt;li&gt;Pro: easy to understand and use the AtomPub server framework&lt;/li&gt;
&lt;li&gt;Pro: MetaWeblog API support&lt;/li&gt;
&lt;li&gt;Con: Atom feed support not as comprehensive as Abdera&lt;/li&gt;
&lt;li&gt;Con: parser uses lots of memory, slower, JDOM based&lt;/li&gt;
&lt;li&gt;Con: community not as active, seems to be in maintenance mode 
(See also &lt;a href=&quot;http://ohloh.com/projects/413/analyses/latest/contributors&quot;&gt;Ohloh stats&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pros and cons of Abdera are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pro: comprehensive Atom feed support, lots more Atom extensions&lt;/li&gt;
&lt;li&gt;Pro: faster more efficient parser&lt;/li&gt;
&lt;li&gt;Pro: In the Apache Incubator with active and growing community
(See also &lt;a href=&quot;http://ohloh.com/projects/4718/analyses/latest/contributors&quot;&gt;Ohloh stats&lt;/a&gt;)
&lt;li&gt;Con: lots of dependencies&lt;/li&gt;
&lt;li&gt;Con: AtomPub server framework poorly documented, overly complex (rewrite coming soon)&lt;/li&gt;
&lt;li&gt;Con: no RSS support (there is something in Abdera contrib, but it&amp;#39;s incomplete).&lt;/li&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;There you have it. ROME and Abdera folks: think that&amp;#39;s a fair comparison? Are you a ROME or Abdera user? How would you like to see these frameworks move forward?&lt;/p&gt; &lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/the_all_dave_feed</guid>
    <title>The &amp;quot;all Dave&amp;quot; feed</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/the_all_dave_feed</link>
    <pubDate>Wed, 9 Jan 2008 15:19:15 +0000</pubDate>
    <category>Roller</category>
    <category>atom</category>
    <category>roller</category>
    <category>rss</category>
<description>&lt;p&gt;Another thing I worked on over the winter break was an all-Dave feed, a single page and feed that combines all of the various things that I post to the web: blog entries, Flickr photos, del.icio.us links and Twitter activity. So far, this is what I&amp;#39;ve got:
&lt;a href=&quot;http://rollerweblogger.org/roller/page/feeds&quot;&gt;http://rollerweblogger.org/roller/page/feeds&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/happy_new_year_2008</guid>
    <title>Happy New Year 2008</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/happy_new_year_2008</link>
    <pubDate>Tue, 1 Jan 2008 23:54:24 +0000</pubDate>
    <category>General</category>
    <category>atom</category>
    <category>feeds</category>
    <category>rss</category>
<description>&lt;p&gt;Happy New Year to all the readers of this blog and all the folks who happen to have arrived here via one of the various planets, spam blogs and Google search result pages that include it. I hope you all have a prosperous and pleasant year ahead. I&amp;#39;m hoping for the same. It&amp;#39;s nice to start the new year with some good news and I&amp;#39;ve got some; check this out:&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/resource/colbert-award.jpg&quot; alt=&quot;RSS and Atom in Action book&quot;&gt;

&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1932394494/bloggingrolle-20&quot;&gt;RSS and Atom in Action&lt;/a&gt; has been out for over a year now and just as the phenomenal sales are starting to drop off, something wonderful has happened. The book has been nominated for the prestigious &lt;b&gt;Stephen T. Colbert Award for Literary Excellence&lt;/b&gt;. As you can see in the photo above, at least one copy of the book is already carrying the Colbert nominee seal. Avoid the rush and &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1932394494/bloggingrolle-20&quot;&gt;buy your copy of RSS and Atom in Action now&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Those who have read Colbert&amp;#39;s 

&lt;a href=&quot;http://www.amazon.com/gp/product/0446580503&amp;amp;tag=bloggingrolle-20&quot;&gt;I Am America (And So Can You!)&lt;/a&gt;

 will understand the significance of this important award and understand the impact on future sales of the book. To learn more about the nomination process and criteria, buy yourself a copy of Colbert&amp;#39;s book and then flip to page 214&amp;#189;. Cheers!&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rss_best_practives</guid>
    <title>RSS best practices doc published</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rss_best_practives</link>
    <pubDate>Tue, 16 Oct 2007 22:16:42 +0000</pubDate>
    <category>Feeds</category>
    <category>feeds</category>
    <category>rss</category>
<description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.rssboard.org/news/178/rss-best-practices-profile-published&quot;&gt;RSS advistory board&lt;/a&gt;: The &lt;a href=&quot;http://www.rssboard.org/rss-profile&quot;&gt;RSS Profile&lt;/a&gt; makes it easier for feed publishers and programmers to implement &lt;a href=&quot;http://www.rssboard.org/rss-specification&quot;&gt;RSS 2.0&lt;/a&gt;, offering advice on issues that arise as you develop software that employs the format. For 18 months, the board worked with the RSS community on interoperability issues, receiving help from representatives at Bloglines, FeedBurner, Google, Microsoft, Netscape, Six Apart and Yahoo. The profile tackles the most frequently asked questions posed by developers:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How many enclosures can an item contain?&lt;/li&gt;
&lt;li&gt;Are relative URLs OK in item descriptions?&lt;/li&gt;
&lt;li&gt;Is it OK to use HTML in elements other than an item&amp;#39;s description?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For the answers, read the sections on &lt;a href=&quot;http://www.rssboard.org/rss-profile#element-channel-item-enclosure&quot;&gt;enclosures&lt;/a&gt;, &lt;a href=&quot;http://www.rssboard.org/rss-profile#element-channel-item-description&quot;&gt;item descriptions&lt;/a&gt; and &lt;a href=&quot;http://www.rssboard.org/rss-profile#data-types-characterdata&quot;&gt;character data&lt;/a&gt;, respectively. Sam Ruby announced this morning that the &lt;a href=&quot;http://feedvalidator.org/&quot;&gt;Feed Validator&lt;/a&gt; now tests for conformance to the profile, offering &lt;a href=&quot;http://feedvalidator.org/news/archives/2007/10/15/rss_best_practices.html&quot;&gt;11 new checks&lt;/a&gt; for improving interoperability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kudos to the RSS Advistory Board. The &lt;a href=&quot;http://www.rssboard.org/rss-profile&quot;&gt;RSS Profile&lt;/a&gt; is an excellent guide to publishing RSS. Plus, it&amp;#39;s &lt;i&gt;very&lt;/i&gt; nice to see the confusing parts of RSS clarified and to see those clarifications linked to from &lt;a href=&quot;http://www.rssboard.org/rss-specification&quot;&gt;the RSS spec&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/windows_live_writer_atompub</guid>
    <title>Windows Live Writer + AtomPub</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/windows_live_writer_atompub</link>
    <pubDate>Tue, 16 Oct 2007 09:32:34 +0000</pubDate>
    <category>Microsoft</category>
    <category>atom</category>
    <category>atomprotocol</category>
    <category>feeds</category>
    <category>rss</category>
<description>&lt;blockquote&gt;
&lt;a href=&quot;http://jcheng.wordpress.com/2007/10/15/how-wlw-speaks-atompub-introduction/&quot;&gt;
Joe Cheng&lt;/a&gt;:
Iâ&#128;&#153;m starting a (hopefully short) series of blog posts documenting the specifics of how the upcoming AtomPub-enabled release of Windows Live Writer will behave, and what AtomPub-enabled blog* servers can do to ensure the best interop with us. I also hope other blog client implementers can learn from our experience and consider using the same rules and behaviors we do when implementing their own AtomPub support.
&lt;/blockquote&gt;

&lt;p&gt;Very nice. I&amp;#39;ll be watching this one closely, looking for ways to improve Roller&amp;#39;s and ROME&amp;#39;s AtomPub support.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/creating_custom_modules_with_rome</guid>
    <title>Creating custom modules with ROME</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/creating_custom_modules_with_rome</link>
    <pubDate>Mon, 15 Oct 2007 11:26:25 +0000</pubDate>
    <category>Feeds</category>
    <category>atom</category>
    <category>rss</category>
<description>&lt;p&gt;Google Blog Search turned up this nice article on &lt;a href=&quot;http://sujitpal.blogspot.com/2007/10/custom-modules-with-rome.html&quot;&gt;creating custom modules with ROME&lt;/a&gt; by Sujit Pal, and a nice mini-review of &lt;a href=&quot;http://www.amazon.com/dp/1932394494?tag=bloggingrolle-20&amp;amp;link_code=as3&amp;amp;creativeASIN=1932394494&amp;amp;creative=373489&amp;amp;camp=211189&quot;&gt;my book&lt;/a&gt;:

&lt;blockquote&gt;
Sujit Pal: &amp;quot;However, Dave Johnson&amp;#39;s book provides a lot of background information and a lot of nice examples in Java and C#. I would highly recommend it to anyone who needs to get up to speed quickly with ROME and RSS/Atom.&amp;quot;
&lt;/blockquote&gt;

&lt;p&gt;It&amp;#39;s good to see people are still buying and finding the book useful. It&amp;#39;s been out for over a year now, but I don&amp;#39;t think it&amp;#39;s really out of date at all. I&amp;#39;ve been keeping the examples up-to-date as part of the &lt;a href=&quot;https://blogapps.dev.java.net/&quot;&gt;Blogapps project&lt;/a&gt; and even enhancing them: the example Atom protocol client code from the book is now part of the &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;ROME Propono project&lt;/a&gt;.&lt;/p&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/blogapps_2_1_released</guid>
    <title>Blogapps 2.1 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/blogapps_2_1_released</link>
    <pubDate>Tue, 2 Oct 2007 21:49:40 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>blogging</category>
    <category>java</category>
    <category>jspwiki</category>
    <category>roller</category>
    <category>rss</category>
<description>&lt;p&gt;&amp;lt;a href=
&amp;quot;http://www.amazon.com/dp/1932394494?tag=bloggingrolle-20&amp;link_code=as3&amp;creativeASIN=1932394494&amp;creative=373489&amp;camp=211189&amp;quot;&amp;gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/resource/dmjohnson_3d.gif&quot; alt=&quot;RSS and Atom in Action image&quot; align=&quot;right&quot;&gt;
The next releases that I&amp;#39;d like to announce are the &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;Blogapps&lt;/a&gt; 2.1 Examples and the Blogapps 2.1 Server.&lt;/p&gt;


&lt;p&gt;If you&amp;#39;d like to learn more about the Blogapps examples and server then read &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot;&gt;The Blogapps Project&lt;/a&gt; article at Java.net. Here&amp;#39;s a quick summary:&lt;/p&gt;

&lt;blockquote&gt;
            The Blogapps project hosts a collection of &lt;b&gt;useful RSS and Atom utilities and 
            examples&lt;/b&gt; from &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom In Action&lt;/a&gt; 
            by Dave Johnson.  They&amp;#39;re 
            designed to be useful even if you haven&amp;#39;t read the book and they&amp;#39;re available 
            under the Apache License 2.0 so you can use the code in your applications and 
            you can modify and redistribute them as you wish. 
&lt;/blockquote&gt;

&lt;p&gt;What&amp;#39;s changed since 2.0? The examples have been updated to include the latest version of ROME Propono, which means that most of them now support the final Atom protcol spec. The server has been updated to include Roller 4.0 RC5, which also includes Atom protocol support and JSPWiki 2.4. And of course, various bugs have been fixed. Here are the release files, installation instructions and release notes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/server.html&quot;&gt;Blogapps server install instructions&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70491/blogapps-server-2.1.tar.gz&quot;&gt;Blogapps Server-2.1.tar.gz&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70516/blogapps-server-2.1.zip&quot;&gt;Blogapps-Server-2.1.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/java/blogapps_2.x/README.html&quot;&gt;Blopapps example release notes&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70489/blogapps-java-examples-2.1.tar.gz&quot;&gt;Blogapps-Examples-2.1.tar.gz&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://blogapps.dev.java.net/files/documents/4151/70490/blogapps-java-examples-2.1.zip&quot;&gt;Blogapps Examples-2.1.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blog entry was posted via Atom protocol and the MatisseBlogger blog-client, which you can see in the screen-shot below (which was also posted via Atom.&lt;/p&gt;

&lt;a href=&quot;http://rollerweblogger.org/roller/resource/roller-2007100222411.jpg&quot;&gt;
   &lt;img src=&quot;http://rollerweblogger.org/roller/resource/matisse-blogger-2.1.jpg&quot; alt=&quot;screenshot of MatisseBlogger&quot;&gt;
&lt;/a&gt;

&lt;p&gt;What&amp;#39;s next? Not sure at this point, but I will do another Blogapps release once ROME 1.0 is released.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_propono_0_6_released</guid>
    <title>ROME Propono 0.6 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_propono_0_6_released</link>
    <pubDate>Mon, 1 Oct 2007 11:20:19 +0000</pubDate>
    <category>Feeds</category>
    <category>atom</category>
    <category>atomprotocol</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;
&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/rome-logo.png&amp;quot; 
alt=&amp;quot;ROME logo&amp;quot; align=&amp;quot;right&amp;quot; /&amp;gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The first release to discuss is ROME Propono, which includes a ROME based Atom protocol client library, Atom protocol server framework and an Blog Client library abstraction that supports both Atom protocol and the MetaWeblog API. &lt;/p&gt;

&lt;p&gt;I&amp;#39;ve been working on Propono 0.6 off-and-on since May, keeping it in sync with the latest version of the Atom protocol, testing it against Tim Bray&amp;#39;s APE and adding various improvements needed in my other projects. Over the weekend I finally had enough time to get a release out. You can find the full-details at the link below but basically this release adds support for the &lt;a href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html&quot;&gt;final Atom Publishing Protocol specification&lt;/a&gt; and better support for relative URIs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease06&quot;&gt;ROME Propono 0.6 release notes / change list&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/apidocs/subprojects/propono/0.6/overview-summary.html&quot;&gt;API documentation&lt;/a&gt;&lt;/li&gt;

&lt;li&gt; &lt;a href=&quot;https://rome.dev.java.net/dist/rome-propono-0.6.tar.gz&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;Propono 0.6 Binary tar.gz&lt;/a&gt;&lt;/li&gt; 

&lt;li&gt; &lt;a href=&quot;https://rome.dev.java.net/dist/rome-propono-0.6.zip&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;Propono 0.6 Binary zip&lt;/a&gt;&lt;/li&gt; 

&lt;li&gt; &lt;a href=&quot;https://rome.dev.java.net/dist/rome-propono-0.6-src.tar.gz&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;Propono 0.6 Source tar.gz&lt;/a&gt;&lt;/li&gt; 

&lt;li&gt; &lt;a href=&quot;https://rome.dev.java.net/dist/rome-propono-0.6-src.zip&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;Propono 0.6 Source zip&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;What&amp;#39;s next? Once ROME 1.0 is released Real Soon Now, I&amp;#39;ll get a another release out and I&amp;#39;ll probably call it ROME Propono 1.0.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/what_exactly_is_rss_anyway</guid>
    <title>What exactly is RSS anyway?</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/what_exactly_is_rss_anyway</link>
    <pubDate>Wed, 16 May 2007 10:48:56 +0000</pubDate>
    <category>Feeds</category>
    <category>atom</category>
    <category>rss</category>
<description>&lt;p&gt;Is it this &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;http://cyber.law.harvard.edu/rss/rss.html&lt;/a&gt;, promoted by Dave Winer?&lt;br&gt;&lt;/p&gt;&lt;p&gt;This &lt;a href=&quot;http://www.rssboard.org/rss-specification&quot;&gt;http://www.rssboard.org/rss-specification&lt;/a&gt;, from the RSS advisory board?&lt;/p&gt;&lt;p&gt;Or one of the other &lt;a href=&quot;http://diveintomark.org/archives/2004/02/04/incompatible-rss&quot;&gt;dozen or so incompatible formats&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;It doesn&amp;#39;t really matter. There&amp;#39;s only one Atom: &lt;a href=&quot;http://www.ietf.org/rfc/rfc4287&quot;&gt;RFC-4287&lt;/a&gt;. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Hat tip to &lt;a href=&quot;http://intertwingly.net/blog/2007/05/16/Rank-Gamesmanship&quot;&gt;Sam Ruby&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/ts_6029_beyond_blogging_feeds</guid>
    <title>TS-6029 - Beyond Blogging: Feeds in Action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/ts_6029_beyond_blogging_feeds</link>
    <pubDate>Thu, 10 May 2007 16:27:29 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>feeds</category>
    <category>java</category>
    <category>rss</category>
<description>&lt;p&gt;As usual, I&amp;#39;m enjoying JavaOne and meeting lots of new people and putting faces to names. I&amp;#39;ve also been practicing my talk daily so I can give you my best performance, so eat lunch a little early or a little late and come see how it goes. Here are the details:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www28.cplan.com/sb158/session_details.jsp?isid=286029&amp;amp;ilocation_id=158-1&amp;amp;ilanguage=english&quot;&gt;TS-6029 - Beyond Blogging: Feeds in Action&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Friday   05/11/2007&amp;nbsp; 12:10 PM -1:10 PM &lt;/li&gt;&lt;li&gt;Moscone Center Esplanade 307 / 310&lt;/li&gt;&lt;/ul&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/propono_0_5_released</guid>
    <title>Propono 0.5 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/propono_0_5_released</link>
    <pubDate>Mon, 23 Apr 2007 15:32:10 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>atomprotocol</category>
    <category>java</category>
    <category>metaweblogapi</category>
    <category>rest</category>
    <category>rome</category>
    <category>romepropono</category>
    <category>rss</category>
    <category>webservices</category>
<description>ROME Propono 0.5 is a minor bug fix release of Propono. You can get the release files and updated Javadocs from the &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease05&quot;&gt;Propono 0.5 release page&lt;/a&gt;.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_propono_0_4_released</guid>
    <title>ROME Propono 0.4 released</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_propono_0_4_released</link>
    <pubDate>Tue, 10 Apr 2007 15:20:26 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://rome.dev.java.net&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://rollerweblogger.org/roller/resource/rome-logo.png&quot;&gt;&lt;/a&gt;I&amp;#39;m happy to announce the first release of the &lt;a href=&quot;https://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; subproject Propono. Propono is a ROME-based Java class library that supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API.&lt;br&gt;&lt;br&gt;Here&amp;#39;s the project page&lt;br&gt; &amp;nbsp; &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot; target=&quot;_blank&quot;&gt;http://wiki.java.net/bin/view/Javawsxml/RomePropono&lt;/a&gt;&lt;br&gt;&lt;br&gt;Here&amp;#39;s the Propono 0.4 release page:&lt;br&gt; &amp;nbsp; &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease04&quot; target=&quot;_blank&quot;&gt;http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease04&lt;/a&gt;&lt;br&gt;&lt;br&gt;And here&amp;#39;s a link to the API docs, which include details, diagrams and code examples:&lt;br&gt; &amp;nbsp; &lt;a href=&quot;https://rome.dev.java.net/apidocs/subprojects/propono/0.4/overview-summary.html&quot; target=&quot;_blank&quot;&gt;https://rome.dev.java.net/apidocs/subprojects/propono/0.4/overview-summary.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;I&amp;#39;ll be testing Propono this week and next (at the Google-hosted &lt;a href=&quot;http://www.intertwingly.net/wiki/pie/April2007Interop&quot;&gt;APP interop meeting&lt;/a&gt;) so now is a great time to provide feedback and bug reports. I plan on releasing Propono 0.5 in the *very* near future.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/planet_sun_com</guid>
    <title>planet.sun.com</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/planet_sun_com</link>
    <pubDate>Sat, 7 Apr 2007 18:28:39 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogging</category>
    <category>planet</category>
    <category>roller</category>
    <category>rss</category>
    <category>sun</category>
<description>&lt;p&gt;
We haven&amp;#39;t released the standalone Roller-Planet application yet, but the .Sun Engineering team quietly deployed the latest bits at &lt;a href=&quot;http://planet.sun.com/&quot;&gt;planet.sun.com&lt;/a&gt; a couple of weeks ago in response to requests from the Glassfish, SWDP and other teams for planet-style web sites. You can follow the links on the main page to find planets for &lt;a href=&quot;http://planet.sun.com/glassfish/group/blogs/&quot;&gt;Glassfish&lt;/a&gt;, &lt;a href=&quot;http://planet.sun.com/swdp/group/blogs/&quot;&gt;SWDP&lt;/a&gt;, &lt;a href=&quot;http://planet.sun.com/india/group/blogs/&quot;&gt;Sun India&lt;/a&gt;, &lt;a href=&quot;http://planet.sun.com/alumni/group/blogs/&quot;&gt;Sun Alumni&lt;/a&gt;, &lt;a href=&quot;http://planet.sun.com/webserver/group/blogs/&quot;&gt;Sun Java System Web Server&lt;/a&gt;, &lt;a href=&quot;http://planet.sun.com/webservices/group/blogs&quot;&gt;web services&lt;/a&gt; and &lt;a href=&quot;http://planet.sun.com/globalization/group/blogs/&quot;&gt;globalization&lt;/a&gt; bloggers.&lt;br&gt;&lt;/p&gt;&lt;p&gt;What&amp;#39;s Roller-Planet? It&amp;#39;s a community aggregation server, similar to &lt;a href=&quot;http://www.planetplanet.org/&quot;&gt;Planet-Planet&lt;/a&gt; but with some key differences: it&amp;#39;s got a web UI that enables groups of users to run their own planet sites, it&amp;#39;s based on Java and it uses the &lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt; feed parser and fetcher. I&amp;#39;ve written about it &lt;a href=&quot;http://rollerweblogger.org/roller/entry/planet_in_a_mind_map&quot;&gt;before&lt;/a&gt;. We don&amp;#39;t have a release plan yet for Roller-Planet so if you really want to try it you&amp;#39;ll have to fetch and build it from the Apache Roller SVN repo.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone_beyond_blogging_feeds_in</guid>
    <title>@JavaOne: Beyond Blogging: Feeds in Action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone_beyond_blogging_feeds_in</link>
    <pubDate>Wed, 4 Apr 2007 17:32:34 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>feeds</category>
    <category>java</category>
    <category>javaone</category>
    <category>propono</category>
    <category>rest</category>
    <category>rss</category>
<atom:summary type="html">As promised here&amp;#39;s some more info on my &lt;a href=&quot;http://java.sun.com/javaone/sf/&quot;&gt;JavaOne 2007&lt;/a&gt;
session. It&amp;#39;s based in part on the Beyond Blogging presentation that I
presented to a tiny audience at the local Tri-XML conference last year.
Tim Bray didn&amp;#39;t attend my talk, but he read the slides and &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2006/07/29/Johnson-on-Feeds&quot;&gt;called&lt;/a&gt;
them &amp;quot;the single best introduction and overview Iâ&#128;&#153;ve ever seen
about feeds and syndication and RSS and Atom and all that stuff.&amp;quot; I
shouldn&amp;#39;t brag. Had he attended the talk he might have had an entirely
different opinion, who knows. Anyhow, the presentation has been updated,
stream-lined and large portions rewritten to cover &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; and ROME&amp;#39;s new Propono sub-project.&amp;nbsp;</atom:summary><description>&lt;p&gt;As &lt;a href=&quot;http://rollerweblogger.org/roller/entry/apacheconeu_roller_and_blogs_as&quot;&gt;promised&lt;/a&gt; here&amp;#39;s some more info on my &lt;a href=&quot;http://java.sun.com/javaone/sf/&quot;&gt;JavaOne 2007&lt;/a&gt; session. It&amp;#39;s based in part on the Beyond Blogging presentation that I presented to a tiny audience at the local Tri-XML conference last year. Tim Bray didn&amp;#39;t attend my talk, but he read the slides and &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2006/07/29/Johnson-on-Feeds&quot;&gt;called&lt;/a&gt; them &amp;quot;the single best introduction and overview I&amp;#39;ve ever seen
about feeds and syndication and RSS and Atom and all that stuff.&amp;quot; I shouldn&amp;#39;t brag. Had he attended the talk he might have had an entirely different opinion, who knows. Anyhow, the presentation has been updated, stream-lined and large portions rewritten to cover &lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt; and ROME&amp;#39;s new Propono sub-project. Here&amp;#39;s the outline:&lt;br&gt;&lt;br&gt;&lt;b&gt;The web is bloggy&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blogging, XML and web services&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feeds on the web today&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feeds as an integration technology&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WS Death Star&lt;br&gt;&lt;b&gt;Understanding RSS and Atom&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The birth of the RSS&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The RDF fork: RSS 1.0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elements of RSS 1.0 (abridged)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feed Extension Modules&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The simple fork: RSS 0.92 â&#128;&#147; RSS 2.0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elements of RSS 2.0 (abridged)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RSS limitations&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Atom Publishing Format&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elements of Atom (abridged)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RSS and Atom feed family tree&lt;br&gt;&lt;b&gt;Consuming feeds with ROME&lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; It&amp;#39;s just XML&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME RSS/Atom feed utilities&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; How does ROME work?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME SyndFeed model&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; How to fetch feeds&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fetching a feed with ROME Fetcher&lt;br&gt;&lt;b&gt;Producing feeds with ROME&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving feeds: generate XML&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use your favorite XML tools or...&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Generating Atom with ROME&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving feeds&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cache cache cache&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving Atom with ROME&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Feed auto-discovery&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Serving valid feeds&lt;br&gt;&lt;b&gt;Publishing with ROME Propono&lt;/b&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Atom Publishing Protocol (APP)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; What does APP do?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; How does it do all that? The REST way&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; APP Service Document&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; An Atom collection &amp;lt;feed&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Getting an APP collection - with paging&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME Propono&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROME Propono Atom Client API&lt;br&gt;RSS/Atom trends&lt;br&gt;For More Information&lt;br&gt;Summary&lt;br&gt;Q &amp;amp; A&amp;nbsp;&lt;/p&gt;&lt;p&gt;And for the folks who&amp;#39;ve written to me about Propono, the new ROME subproject devoted to publishing via Atom protocol (and the MetaWeblog API): I hope to commit the code to ROME and starting blogging about it this week.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/newsgator_launches_java_me_powered</guid>
    <title>Newsgator launches Java ME powered feed reader</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/newsgator_launches_java_me_powered</link>
    <pubDate>Thu, 15 Mar 2007 12:06:36 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>javame</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://www.newsgator.com&quot;&gt;Newsgator&lt;/a&gt;, makers of FeedDemon and NetNewsWire, have launched a Java ME powered RSS/Atom feed reader. Here are some details from the &lt;a href=&quot;http://www.newsgator.com/news/archive.aspx?post=126&quot;&gt;press release&lt;/a&gt;:&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;NewsGator Go! for BlackBerry and NewsGator Go! for Java were developed in a technology partnership with &lt;a href=&quot;http://www.freerangeinc.com/&quot;&gt;&lt;em&gt;FreeRange Communications&lt;/em&gt;&lt;/a&gt;&lt;em&gt;,&lt;/em&gt;
the leading developers of mobile publishing and mobile RSS solutions,
and is available for BlackBerry, Sony Ericsson, Nokia, and most other
MID-P 2.0 mobile phones, including Samsung, Sanyo and LG. NewsGator Go!
is available for $29.95 or $14.95 if bought with any of NewsGatorâ&#128;&#153;s
desktop readers, including FeedDemon, NetNewsWire and Inbox.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Via &lt;a href=&quot;http://www.newsgator.com/news/archive.aspx?post=126&quot;&gt;Randy Morin&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/sun_web_developer_pack_r1</guid>
    <title>Sun Web Developer Pack R1 with RSS and Atom goodies</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/sun_web_developer_pack_r1</link>
    <pubDate>Mon, 12 Mar 2007 21:20:29 +0000</pubDate>
    <category>Java</category>
    <category>ajax</category>
    <category>atom</category>
    <category>java</category>
    <category>rest</category>
    <category>rome</category>
    <category>rss</category>
    <category>swdp</category>
    <category>web20</category>
<description>The &lt;a href=&quot;http://developers.sun.com/web/swdp/&quot;&gt;Sun Web Developer Pack&lt;/a&gt; (SWDP) finally &lt;a href=&quot;http://blogs.sun.com/arungupta/entry/introducing_sun_web_developer_pack&quot;&gt;uncloaked&lt;/a&gt; today, so I can talk a
little more openly about what I and my Java EE co-workers have been
working on. You can get the full scoop at the SWDP site, but basically
SWDP is a bundle of technologies to help developers build &amp;quot;Web 2.0&amp;quot; or
next-generation web applications on the Java platform. Ajax, scripting
languages, REST and of course RSS/Atom are all part of that. The
RSS/Atom bits are ROME 0.9 (Beta), Blogapps 2.0 (Early Access) and a
ROME-based Atom Server kit based on code from Roller.&amp;nbsp; There are also
example Atom server implementations in the REST API and Phobos
components of the pack.&lt;br&gt; &lt;p&gt;I&amp;#39;m pretty excited that we&amp;#39;re putting some resources behind ROME and that both &lt;a href=&quot;https://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; and &lt;a href=&quot;https://blogapps.dev.java.net/&quot;&gt;Blogapps&lt;/a&gt;
are part of SWDP R1, but I&amp;#39;m even more excited about the next release.
In R2 we&amp;#39;ll drop the Atom Server Kit and Blogapps BlogClient and we&amp;#39;ll
replace them with &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=2282&quot;&gt;ROME Propono&lt;/a&gt; a brand new Atom protocol client and server library that we&amp;#39;re getting ready to contribute to the ROME project.&lt;/p&gt;I haven&amp;#39;t had a whole lot of time to experiment with the various components in the pack, but I have played with &lt;a href=&quot;https://phobos.dev.java.net/&quot;&gt;Phobos&lt;/a&gt;
and I think it&amp;#39;s pretty compelling. Phobos is a &amp;quot;lightweight,
scripting-friendly, web application
environment.&amp;quot; It&amp;#39;s not just for creating server-side JavaScript
applications, but that&amp;#39;s the angle the I find interesting. So many
developers are creating JavaScript/Ajax applications these days that
working in JavaScript on both client and server-sides makes sense --
especially when you can debug into JavaScript code in your IDE as you
can with the Netbeans Phobos module. Also note that the &lt;a href=&quot;https://ajax.dev.java.net/&quot;&gt;jMaki&lt;/a&gt; Ajax components work with JSP, PHP &lt;i&gt;and&lt;/i&gt; Phobos -- jMaki and Phobos look like a winning combination.</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone1</guid>
    <title>JavaOne here I come!</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone1</link>
    <pubDate>Fri, 2 Mar 2007 21:28:09 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>java</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://java.sun.com/javaone/sf/index.jsp&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;bottom&quot; src=&quot;http://rollerweblogger.org/roller/resource/2007JavaOneBanner.jpg&quot; alt=&quot;JavaOne banner&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I&amp;#39;m very happy to report that my talk was accepted for &lt;a href=&quot;http://java.sun.com/javaone/sf/index.jsp&quot;&gt;JavaOne 2007&lt;/a&gt;. I&amp;#39;ll be giving a thoroughly revamped and updated version of my Beyond Blogging talk (aka &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2006/07/29/Johnson-on-Feeds&quot;&gt;Johnson on Feeds&lt;/a&gt;), which adds in-depth coverage of ROME and ROME Propono. I&amp;#39;m excited about going to JavaOne again, but I&amp;#39;m also feeling a bit frazzled. I&amp;#39;m swamped with work right now and I&amp;#39;ve got a stack of deadlines clustered around the March 20 due date for the slides.&lt;/p&gt;&lt;p&gt;I helped out with the session selection for the web-tier track this year so I can say with some confidence that at least one track is going to rock -- we&amp;#39;ve got a wonderful set of talks lined up, so don&amp;#39;t miss it. The full session schedule isn&amp;#39;t online yet, but &lt;a href=&quot;http://java.sun.com/javaone/sf/registration.jsp&quot;&gt;registration is open&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/placeblogger</guid>
    <title>Placeblogger</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/placeblogger</link>
    <pubDate>Wed, 3 Jan 2007 08:14:59 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogging</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://www.placeblogger.com&quot;&gt;Placeblogger&lt;/a&gt; is a new blog and aggregation site that&amp;#39;s all about local blogging from &lt;a href=&quot;http://www.placeblogger.com/about-us&quot;&gt;Lisa Williams and friends&lt;/a&gt;. It&amp;#39;s powered by &lt;a href=&quot;http://www.bryght.com/&quot;&gt;Bryte&lt;/a&gt;, which is based on the &lt;a href=&quot;http://www.bryght.com/about/drupal&quot;&gt;Drupal&lt;/a&gt; content management system and offers blogs, feed aggregations, photo galleries and polls. &lt;br&gt;&lt;/p&gt;&lt;p&gt;You can help build the database by submitting your favorite place blogs. The database supports a number of different &amp;quot;blog types.&amp;quot; You can add aggregations, so Joe&amp;#39;s &lt;a href=&quot;http://bitworking.org/news/Charlotte_Mecklenburg_County__NC&quot;&gt;local planets&lt;/a&gt; would be suitable, and you can add community sites so Orange Politics would fit right in too. I submitted &lt;a href=&quot;http://www.placeblogger.com/placeblog/raleighing&quot;&gt;Raleighing&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Here&amp;#39;s some more reading on the topic:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://blog.wired.com/monkeybites/2007/01/placeblogger_ge.html&quot;&gt;Wired: Get Your Local Fix&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://journalism.nyu.edu/pubzone/weblogs/pressthink/2007/01/01/placeblogger_com.html&quot;&gt;Jay Rosen: Check out Placeblogger.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rich_burridge_s_blog_to</guid>
    <title>Rich Burridge&amp;#39;s blog-to-book blogapp</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rich_burridge_s_blog_to</link>
    <pubDate>Tue, 2 Jan 2007 14:55:15 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogging</category>
    <category>rss</category>
    <category>sun</category>
<description>&lt;p&gt;Rich has put together a &lt;a href=&quot;http://blogs.sun.com/richb/entry/turn_your_roller_blog_into&quot;&gt;interesting blogapp&lt;/a&gt; that pulls all entries from a blog and turns them into a book, using either cups2pdf or OpenOffice.org Writer. I had the same idea when I was writing &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;, but I was going to go the DocBook route and eventually dropped the idea because DocBook seemed a bit too complex.&lt;/p&gt;&lt;p&gt;I don&amp;#39;t think Rich&amp;#39;s work is Roller-specific. Rich used &lt;a href=&quot;http://blogs.sun.com/richb/entry/backing_up_your_roller_posts&quot;&gt;Grabber&lt;/a&gt; to get the entries out of Roller and into simple HTML files, so the approach should work with other blog servers that support the MetaWeblog API.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/farewell_to_2006</guid>
    <title>Farewell to 2006</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/farewell_to_2006</link>
    <pubDate>Sun, 31 Dec 2006 23:11:21 +0000</pubDate>
    <category>General</category>
    <category>atom</category>
    <category>blogging</category>
    <category>family</category>
    <category>java</category>
    <category>roller</category>
    <category>rss</category>
    <category>sun</category>
<description>&lt;p&gt;I&amp;#39;ve been too busy with year-end projects to blog over the past
couple of days and now suddenly, it&amp;#39;s time to say farewell to 2006. So I&amp;#39;ll do that with a quick summary of the year. &lt;/p&gt;&lt;p&gt;2006 was a pretty good year for me. I published &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rss_and_atom_in_action5&quot;&gt;my first book&lt;/a&gt;: RSS and Atom in Action. Roller is still growing, reached &lt;a href=&quot;http://rollerweblogger.org/roller/entry/apache_roller_3.0_(incubating)_released&quot;&gt;3.0 status&lt;/a&gt; and is now very close to becoming a top level Apache project. IBM started contributing to and announced a &lt;a href=&quot;http://rollerweblogger.org/roller/entry/my_thoughts_on_ibm_s&quot;&gt;Web 2.0 product suite&lt;/a&gt; that will include Roller. I did my first solo &lt;a href=&quot;http://rollerweblogger.org/roller/entry/putting_the_web_back_in&quot;&gt;JavaOne presentation&lt;/a&gt; and spoke at both ApacheCon EU and &lt;a href=&quot;http://rollerweblogger.org/roller/entry/talkin_roller_at_apachecon_us&quot;&gt;ApacheCon US&lt;/a&gt;. And, I haven&amp;#39;t mentioned it yet, but I also landed a new job inside Sun, which starts on January 8th (more about that later).&lt;br&gt;&lt;/p&gt;&lt;p&gt;On the home-front: the boys (now 4, 8 and 10) are all healthy, happy and doing well in school. We celebrated my dad&amp;#39;s 70th birthday and Alex&amp;#39;s 10th birthday. We took family trips to &lt;a href=&quot;http://rollerweblogger.org/roller/entry/oinc&quot;&gt;Ocracoke&lt;/a&gt;, &lt;a href=&quot;http://rollerweblogger.org/roller/entry/back&quot;&gt;Atlanta&lt;/a&gt;, Austin, Northern Virginia and made numerous visits to the in-laws beach house near Topsail Island. Plus, Andi and I escaped from the kids for a &lt;a href=&quot;http://rollerweblogger.org/roller/entry/ie_vacation_wrap_up&quot;&gt;week in Ireland&lt;/a&gt; to celebrate our 15th wedding anniversary -- our first kidless vacation in about ten years.&lt;/p&gt;&lt;p&gt;I hope you had a good year too and will have an even better 2007. &lt;b&gt;Happy new years!&lt;/b&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/planet_in_a_mind_map</guid>
    <title>Roller-Planet mind map</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/planet_in_a_mind_map</link>
    <pubDate>Fri, 22 Dec 2006 22:16:15 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>java</category>
    <category>opensource</category>
    <category>planet</category>
    <category>roller</category>
    <category>rss</category>
    <category>sun</category>
<description>&lt;p&gt;I&amp;#39;m glad I was able to help &lt;a href=&quot;http://blogs.sun.com/webmink/entry/blogger_downgrade%20&quot;&gt;Simon&lt;/a&gt; get his personal planet back online yesterday. And I&amp;#39;m glad the task was fairly easy. All Simon needed as a new version of &lt;a href=&quot;https://blogapps.dev.java.net/&quot;&gt;Blogapps&lt;/a&gt; &lt;a href=&quot;https://blogapps.dev.java.net/java/ch11/readme.html&quot;&gt;PlanetTool&lt;/a&gt; updated to use &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_0_9_beta_is&quot;&gt;ROME 0.9&lt;/a&gt; and I was planning on doing that anyway. &lt;/p&gt;&lt;p&gt;What&amp;#39;s PlanetTool you wonder? PlanetTool is a command-line program which reads a set of RSS/Atom newsfeeds and then uses a set of templates to generate a planet site with HTML, RSS, Atom, OPML and other representations. Simon uses it to bring together his personal blog, Sun blog, del.icio.us links and Flickr.com photos into a single webpage and a single feed. If you subscribe to that feed, you&amp;#39;ll get just about everything that Simon publishes to the web. &lt;/p&gt;&lt;p&gt;If you&amp;#39;re interested in learning more about PlanetTool, here are some of my previous posts on the topic:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/try_planet_tool_it_s&quot;&gt;Try PlanetTool, it&amp;#39;s easy!&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_texen_planet_roller&quot;&gt;ROME + Texen = PlanetTool&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/planet_roller_internals&quot;&gt;PlanetTool internals&lt;/a&gt;&lt;/li&gt;&lt;li&gt;It&amp;#39;s also covered in Chapter 11 of &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;.&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The above title &lt;i&gt;Try PlanetTool, it&amp;#39;s easy!&lt;/i&gt; is a little misleading, but it brings me to my point. PlanetTool is only easy if you&amp;#39;re a developer or a power-user; somebody who can handle running Java on a server, editing an XML config file and setting up a cron job. Simon could handle it, but I&amp;#39;d like to make planets easier.&lt;br&gt;&lt;br&gt;In fact, I&amp;#39;d like to make it as easy to create a planet as it is to create a blog. This past week, I&amp;#39;ve been thinking about how to do that by taking the simple ROME powered Roller-Planet code, which is found in both Roller and PlanetTool, and build it into a multi-user planet server -- kinda like Roller, but for planets instead of blogs. To get my thoughts into digital form I worked up a little &lt;a href=&quot;http://freemind.sourceforge.net/wiki&quot;&gt;FreeMind&lt;/a&gt; mind-map on the topic, dumped it to text, added some wiki syntax and some screen-shots. The result is this: a &lt;a href=&quot;http://rollerweblogger.org/wiki/Wiki.jsp?page=RollerPlanetMindMap&quot;&gt;RollerPlanetMindMap&lt;/a&gt; that outlines ideas for the future development of Roller-Planet. &lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers1</guid>
    <title>JavaOne 2007 call for papers closes today</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers1</link>
    <pubDate>Fri, 15 Dec 2006 08:52:44 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>javaone</category>
    <category>roller</category>
    <category>rss</category>
<description>&lt;p&gt;
There&amp;#39;s still time to get those proposals in. I ended up submitting three proposals for technical sessions related to RSS/Atom and one for a Roller birds-of-a-feather (BOF) session. &lt;/p&gt;&lt;p&gt;Here&amp;#39;s the link to submit proposals: &lt;a href=&quot;http://www.cplan.com/sun/javaone07/cfp&quot;&gt;http://www.cplan.com/sun/javaone07/cfp&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_0_9_beta_is</guid>
    <title>ROME 0.9 (beta) is available</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_0_9_beta_is</link>
    <pubDate>Mon, 11 Dec 2006 18:52:49 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>java</category>
    <category>rome</category>
    <category>rss</category>
<atom:summary type="html">A new release of the &lt;span style=&quot;text-decoration:underline;&quot;&gt;R&lt;/span&gt;SS and At&lt;span style=&quot;text-decoration:underline;&quot;&gt;om&lt;/span&gt; Utiliti&lt;span style=&quot;text-decoration:underline;&quot;&gt;e&lt;/span&gt;s (ROME) project &lt;b&gt;ROME 0.9 (beta)&lt;/b&gt; is now available on &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;the project&amp;#39;s Java.net website&lt;/a&gt;. This new release includes fixes to Atom relative URI resolution, easier parsing for RSS feeds that use &amp;lt;content:encoded&amp;gt;,
better support for mapping of RSS to and from Atom and numerous small
fixes.&amp;nbsp;</atom:summary><description>&lt;p&gt;
A new release of the &lt;span style=&quot;text-decoration:underline;&quot;&gt;R&lt;/span&gt;SS and At&lt;span style=&quot;text-decoration:underline;&quot;&gt;om&lt;/span&gt; Utiliti&lt;span style=&quot;text-decoration:underline;&quot;&gt;e&lt;/span&gt;s (ROME) project &lt;b&gt;ROME 0.9 (beta)&lt;/b&gt; is now available on &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;the project&amp;#39;s Java.net website&lt;/a&gt;. This new release includes fixes to Atom relative URI resolution, easier parsing for RSS feeds that use &amp;lt;content:encoded&amp;gt;,
better support for mapping of RSS to and from Atom and numerous small
fixes. Here are some quick links to the relevant release docs and
files.
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/Rome09&quot;&gt;Release page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#Changes_made_since_v0_8&quot;&gt;Change list&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://rome.dev.java.net/apidocs/0_9/overview-summary.html&quot;&gt;Javadocs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Direct link to downloads:
&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist/rome-0.9.tar.gz?rev=1.1&quot;&gt;rome-0.9.tar.gz&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist/rome-0.9.zip?rev=1.1&quot;&gt;rome-0.9.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;
Let&amp;#39;s review a couple of the changes that might affect the ways you use ROME, starting with the RSS parsing changes.
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;Easier parsing of RSS feeds that use &amp;lt;content:encoded&amp;gt;&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;
Now that ROME includes built-in support for &amp;lt;content:encoded&amp;gt;,
most user will no longer need to download and configure the separate
and optional Content Module plugin. That&amp;#39;s important because many RSS
feeds use &amp;lt;description&amp;gt; as item summary and &amp;lt;content:encoded&amp;gt; as item content. It&amp;#39;s also important because Atom supports both entry &amp;lt;summary&amp;gt; and &amp;lt;content&amp;gt;.
So, whether you are parsing RSS or Atom the code to get an RSS item or
Atom entry summary and content is the same. To this this, we made a
number of small changes:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Added a new com.sun.syndication.feed.rss.Content object to the RSS model&lt;/li&gt;&lt;li&gt;Added code to converters to convert RSS Content to SyndEntry Content and vice-versa&lt;/li&gt;&lt;li&gt;Added code to generate &amp;lt;content:encoded&amp;gt; if content is present&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Here&amp;#39;s a simple example that shows how to parse and print out
parts of an RSS feed with entries that have both summary and content
(using ROME&amp;#39;s SyndFeed model):
&lt;/p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String urlstring = &amp;quot;http://scripting.wordpress.com/feed/&amp;quot;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputStream is = new URL(urlstring).openConnection().getInputStream(); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SyndFeedInput input = new SyndFeedInput();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SyndFeed feed = (SyndFeed)input.build(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new InputStreamReader(is, Charset.forName(&amp;quot;UTF-8&amp;quot;)));   &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Iterator entries = feed.getEntries().iterator();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    while (entries.hasNext()) {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        SyndEntry entry = (SyndEntry)entries.next();            &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&amp;quot;-------------&amp;quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        System.out.println(&amp;quot;Title:     &amp;quot; + entry.getTitle());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        System.out.println(&amp;quot;Published: &amp;quot; + entry.getPublishedDate());         &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        if (entry.getDescription() != null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            System.out.println(&amp;quot;Description: &amp;quot; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + entry.getDescription().getValue());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }                       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (entry.getContents().size() &amp;gt; 0) {            &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            SyndContent content = (SyndContent)entry.getContents().get(0);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;            System.out.println(&amp;quot;Content type=&amp;quot; + content.getType());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&amp;quot;Content value=&amp;quot; + content.getValue());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        } &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br&gt;&lt;p&gt;
That certainly makes things easier in most cases, but if you need full support for all of the features defined by the &lt;a href=&quot;http://web.resource.org/rss/1.0/modules/content/&quot;&gt;Content Module specification&lt;/a&gt; you can still download and use ROME&amp;#39;s Content Module &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/Content&quot;&gt;plugin&lt;/a&gt; -- it works exactly as it did before.
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;Better mapping for mapping Atom and RSS&lt;/b&gt;&lt;b&gt;
&lt;br&gt;&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;As ROME users already know, ROME supports parsing feeds to three
different object models the RSS model, the Atom model and &amp;quot;SyndFeed&amp;quot; --
an abstract model that you can use when you do not care about the
source format of the feed. ROME includes converters to convert to and from the different models. We made two changes to
improve the mapping done by the converters. First, as you saw above, we added support for
Content to our RSS model. That allows us to map Atom summary/content
nicely to and from RSS description/content, like so:
&lt;/p&gt;&lt;p&gt;
RSS &amp;lt;description&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;     &amp;lt;--&amp;gt;  SyndEntry.description  &amp;lt;--&amp;gt;  Atom &amp;lt;summary&amp;gt;
&lt;br&gt;    RSS &amp;lt;content:encoded&amp;gt; &amp;lt;--&amp;gt;  SyndEntry.contents[0]  &amp;lt;--&amp;gt;  Atom &amp;lt;content&amp;gt;
&lt;/p&gt;&lt;p&gt;Second, we added better support for Atom title and subtitles. In
the old ROME, there was some potential for information loss because the
SyndFeed model did not completely support the Atom model. Specifically,
titles and subtitles did not support a type attribute. To fix that
without breaking the API (i.e. ensuring that old ROME code still
compiles and works), we added a number of new methods to make the type
information available by returning title and description as SyndContent
objects (which have type and value properties).
&lt;/p&gt;&lt;p&gt;
SyndFeed additions:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;public SyndContent getTitleEx()
&lt;/li&gt;&lt;li&gt;public void setTitleEx(SyndContent title)&lt;/li&gt;&lt;li&gt;public SyndContent getDescriptionEx()
&lt;/li&gt;&lt;li&gt;public void setDescriptionEx(SyndContent desc)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
SyndEntry&lt;span style=&quot;font-size:0pt;&quot;&gt;
&lt;br&gt;&lt;/span&gt;
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;public SyndContent getTitleEx()
&lt;/li&gt;&lt;li&gt;public void setTitleEx(SyndContent title)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We left the existing getters and setters in place, so your
existing code will continue to compile and work properly. And that&amp;#39;s it
for the quick review...
&lt;br&gt;&lt;b&gt;
&lt;br&gt;What&amp;#39;s next?&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;
Download it, try it out, report bugs and give the ROME project some &lt;a href=&quot;https://rome.dev.java.net/servlets/ProjectMailingListList&quot;&gt;feedback and support&lt;/a&gt;.
And what&amp;#39;s next for ROME? I think ROME is just about ready for a 1.0
release, but there&amp;#39;s one last feature we need to add: some form of &lt;a href=&quot;http://www.snellspace.com/wp/?p=448&quot;&gt;feed security&lt;/a&gt; to strip potentially malicious JavaScript from feeds. Then onto &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/ROME2Proposal2&quot;&gt;ROME2&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;For even more information on ROME...
&lt;br&gt;&lt;/b&gt;
&lt;br&gt;There&amp;#39;s a complete chapter on ROME in my recently published book &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;.
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/latest_links6</guid>
    <title>Latest links</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/latest_links6</link>
    <pubDate>Tue, 28 Nov 2006 08:14:20 +0000</pubDate>
    <category>Links</category>
    <category>atom</category>
    <category>rss</category>
    <category>xml</category>
<description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.intertwingly.net/blog/2006/11/27/Atom-AutoDiscovery&quot;&gt;Sam Ruby: Atom AutoDiscovery&lt;/a&gt;&lt;br&gt; Comments seem to indicate we may see a shared RSS and Atom spec, which would be good&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ietf.org/internet-drafts/draft-snell-atompub-autodiscovery-00.txt&quot;&gt;Atom Autodiscovery spec&lt;/a&gt;&lt;br&gt; M. Pilgrim and J.Snell, Ed.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.rssboard.org/rss-autodiscovery&quot;&gt;RSS Autodiscovery spec 1.0&lt;/a&gt;&lt;br&gt; Rogers Cadenhead, James Holderness and Randy Charles Morin&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cafe.elharo.com/xml/relax-wins/&quot;&gt;The Cafes: RELAX Wins&lt;/a&gt;&lt;br&gt; &amp;quot;Among the XML cognoscenti, the debate is effectively over&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=2192&quot;&gt;Time for ROME 0.9?&lt;/a&gt;&lt;br&gt; New release coming soon with fixes to content/summary handing, relative URI resolving and date parsing&lt;/li&gt;
&lt;/ul&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rome_updates</guid>
    <title>ROME progress</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rome_updates</link>
    <pubDate>Wed, 15 Nov 2006 17:58:04 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rome</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://rollerweblogger.org/roller/resource/rome-logo.png&quot; alt=&quot;ROME logo&quot;&gt;The &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;ROME&lt;/a&gt; mailing list has been a little quiet lately. I&amp;#39;m hoping to change that. Roller&amp;#39;s built-in planet aggregator uses ROME, Roller&amp;#39;s Atom protocol implementation does too and I recommended ROME in my &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;book&lt;/a&gt;, so I&amp;#39;d really like to see ROME continue to improve and grow. Now that I&amp;#39;m focusing on a standalone version of Roller-Planet, I&amp;#39;ve got some time to devote to those goals. Last week I cleared the bug list, this week I committed some &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=1680&quot;&gt;improvements&lt;/a&gt; to ROME&amp;#39;s summary/content handling and next I&amp;#39;d like to start pushing for a ROME 1.0 release. If you&amp;#39;d like to see ROME thrive, please &lt;a href=&quot;https://rome.dev.java.net/servlets/ProjectMailingListList&quot;&gt;join the fun&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/blogapps_2_progress</guid>
    <title>Blogapps 2 progress</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/blogapps_2_progress</link>
    <pubDate>Wed, 15 Nov 2006 17:57:15 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>blogging</category>
    <category>java</category>
    <category>rss</category>
<description>&lt;p&gt;In my off-hours, I&amp;#39;ve started work on Blogapps 2. &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;Blogapps&lt;/a&gt; is a collection of RSS/Atom utilities and applications based on the code from &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;. You can read more about the project in my recent &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot;&gt;Blogapps article on on Java.net&lt;/a&gt;. Up until now, I&amp;#39;ve been working alone, but now the project now has a couple of committers. &lt;a href=&quot;http://blogs.sun.com/rmandava/&quot;&gt;Ramesh Mandava&lt;/a&gt; (of the Java WSDP team) joined to help with the Blogapps 2 effort. &lt;br&gt;&lt;/p&gt;&lt;p&gt;We&amp;#39;re starting with some renaming. Instead of using chapters-oriented directories and package names, we&amp;#39;re more logical and intuitive application names. We&amp;#39;re also switching from package name com.manning.blogapps to org.blogapps. Later, I hope to update some dependencies (e.g. Apache XML-RPC 3.0), consolidate/streamline some of the utilities and explore alternatives to Tomcat/HSQLDB for the Blogapps server.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/couple_more_rss_atom_articles</guid>
    <title>Couple more RSS/Atom articles online</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/couple_more_rss_atom_articles</link>
    <pubDate>Sun, 12 Nov 2006 09:46:20 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;p&gt;The Server Side posted an excerpt from &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt; last week. &lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=RSSAtom&quot;&gt;Chapter 2: Development kick-start&lt;/a&gt;
explains how to setup the Blogapps Server and how to post to just about
any blog server via MetaWeblog API from Java and C#. And if you&amp;#39;re
interested in that, then you&amp;#39;ll also be interested in &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot;&gt;The Blogapps Project&lt;/a&gt;, which was published on Java.net last month.&lt;/p&gt;&lt;p&gt;On the O&amp;#39;Reilly site, Mark Woodman&amp;#39;s How to &lt;a href=&quot;http://www.oreilly.com/catalog/buildrss2feeds/&quot;&gt;Build an RSS 2.0 Feed&lt;/a&gt; is now available as an O&amp;#39;Reilly Short Cut, a 56-page PDF for $7.99. &lt;a href=&quot;http://inkblots.markwoodman.com/2006/11/10/oreillys-how-to-build-an-rss-20-feed/&quot;&gt;Marks says&lt;/a&gt; that he covered RSS 2.0 from the perspective of the &lt;a href=&quot;http://www.rssboard.org/rss-profile&quot;&gt;RSS Advisory Board Profile&lt;/a&gt; (aka RSS 2.0.8), which seems like a good idea. And he covered &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; too.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/new_rss_and_atom_articles</guid>
    <title>New RSS and Atom articles online</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/new_rss_and_atom_articles</link>
    <pubDate>Wed, 8 Nov 2006 17:54:10 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>roller</category>
    <category>rss</category>
<description>&lt;p&gt;The second installment of &lt;a href=&quot;http://www.snellspace.com/wp/&quot;&gt;James Snell&lt;/a&gt;&amp;#39;s
developerWorks article on Atom Publishing Protocol (APP) is online. In
part 2 he shows how to post to an Atom server and one of his examples
is Roller. If you want to try Snell&amp;#39;s example code with Roller, but you
don&amp;#39;t want to go through the trouble of installing full-on
Roller/Tomcat/MySQL, try the super easy-to-install &lt;a href=&quot;https://blogapps.dev.java.net/&quot;&gt;Blogapps Server&lt;/a&gt; bundle. &lt;/p&gt;&lt;p&gt;Here are links to parts 1 and 2 of Snell&amp;#39;s article:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www-128.ibm.com/developerworks/library/x-atompp1/&quot;&gt;

Getting to know the Atom Publishing Protocol, Part 1&lt;/a&gt;&lt;br&gt;Create and edit Web resources with the Atom Publishing Protocol

&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www-128.ibm.com/developerworks/xml/library/x-atompp2/index.html&quot;&gt;Getting to know the Atom Publishing Protocol, Part 2&lt;/a&gt;&lt;br&gt;Put the Atom Publishing Protocol (APP) to work&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And now, both parts of &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt; Chapter 4: Newsfeed Formats are online at &lt;a href=&quot;http://www.webreference.com/&quot;&gt;WebReference.com&lt;/a&gt;. The chapter includes a history of RSS and Atom newsfeed formats and diagrams that illustrate the elements each format.&lt;br&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.webreference.com/reviews/rss_atom_action/index.html&quot;&gt;Newsfeed Formats, Part 1&lt;/a&gt; &lt;br&gt;From the Birth of RSS to the Nine incompatible versions of RSS&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.webreference.com/reviews/rss_atom_action2/&quot;&gt;Newsfeed Formats, Part 2&lt;/a&gt;&lt;br&gt;the new standard: Atom&lt;/li&gt;&lt;/ul&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/how_to_add_a_rss</guid>
    <title>How to add a RSS 1.0 feed to your Roller blog</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/how_to_add_a_rss</link>
    <pubDate>Mon, 6 Nov 2006 21:00:12 +0000</pubDate>
    <category>Roller</category>
    <category>roller</category>
    <category>rollerhacks</category>
    <category>rss</category>
<description>By default Roller 3.0 provides provides Atom 1.0 and RSS 2.0 format feeds for each blog, but you can easily add other formats. In his latest blogs.sun.com post, &lt;a href=&quot;http://blogs.sun.com/bblfish/entry/how_to_create_an_rss1.0&quot;&gt;Henry Story explains&lt;/a&gt; how to add an RSS 1.0 feed to your Roller blog using the new Roller 3.0 macros.&amp;nbsp;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/pundit_monitor</guid>
    <title>Pundit&amp;#39;s Monitor</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/pundit_monitor</link>
    <pubDate>Tue, 31 Oct 2006 23:53:55 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>blogging</category>
    <category>politics</category>
    <category>rome</category>
    <category>rss</category>
<description>Looks like Elias had a fun weekend creating &lt;a href=&quot;http://torrez.us/archives/2006/10/31/505/&quot;&gt;Pundit&amp;#39;s Monitor&lt;/a&gt;, a political blog monitoring tool using a heap of Java tech: the Nutch search engine/web crawler, Burton&amp;#39;s TailRank FeedParser for auto-discovery and ROME for feed parsing (though he doesn&amp;#39;t mention that in the post).&amp;nbsp;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rss_and_atom_in_action8</guid>
    <title>RSS and Atom in Action in action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action8</link>
    <pubDate>Fri, 20 Oct 2006 16:34:10 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;p&gt;&lt;a href=&quot;http://www.mackmo.com/nick/blog/&quot; title=&quot;Nick&amp;#39;s blog&quot;&gt;Nick Lothian&lt;/a&gt; wrote to tell me about the &lt;a href=&quot;http://blogs.educationau.edu.au/&quot;&gt;Education.au&lt;/a&gt; blog, an aggregated site that uses the PlanetTool example from Chapter 11 of RSS and Atom in Action.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/the_blogapps_project</guid>
    <title>The Blogapps Project</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/the_blogapps_project</link>
    <pubDate>Tue, 17 Oct 2006 16:57:51 +0000</pubDate>
    <category>Blogging</category>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;img style=&quot;padding:10px;&quot; src=&quot;http://rollerweblogger.org/roller/resource/javanet-rss2.gif&quot; alt=&quot;RSS logo image&quot;&gt;&lt;br&gt;My Java.net article on the &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot; target=&quot;_self&quot;&gt;Blogapps Project&lt;/a&gt; just went live today.&lt;br&gt;&lt;blockquote&gt;The Blogapps project provides what is essentially a complete RSS and Atom
development kit, which includes feed parsers, generators, blog client
libraries, an Atom protocol implementation, a set of ten useful
blogapps, and an easy-to-install blog and wiki server. This article
explains the project&amp;#39;s purpose and how to install and use the project&amp;#39;s
products, the Blogapps Examples and Blogapps Server, to jump-start your
RSS and Atom development.&lt;/blockquote&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rss_and_atom_in_action7</guid>
    <title>RSS and Atom in Action on Slashdot</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action7</link>
    <pubDate>Wed, 11 Oct 2006 19:19:45 +0000</pubDate>
    <category>Blogging</category>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;blockquote&gt;&lt;a href=&quot;http://techbook.info/&quot;&gt;Simon P. Chappell&lt;/a&gt; writes &lt;i&gt;&amp;quot;We&amp;#39;ve all seen them, those icons that decorate blogs and websites; sometimes they&amp;#39;re just little orange squares with white stripes, while others say RSS or Atom. Many of us have heard of feeds and podcasts and aggregators. What are these things and where did they come from? Well, Dave Johnson, the author of the open source Roller blogging software, is glad you asked and by way of an answer, he&amp;#39;s written RSS and Atom in Action.&amp;quot;&lt;/i&gt; &lt;a href=&quot;http://books.slashdot.org/article.pl?sid=06/10/11/1442206&amp;amp;from=rss&quot;&gt;Read the rest of Simon&amp;#39;s review&lt;/a&gt;.&lt;/blockquote&gt;Woohoo! Simon likes the book and gives it an 8/10 rating.&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/rss_and_atom_in_action6</guid>
    <title>RSS and Atom in Action at the JavaRanch</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action6</link>
    <pubDate>Tue, 19 Sep 2006 11:27:46 +0000</pubDate>
    <category>Java</category>
    <category>Java</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>I&amp;#39;m doing a &lt;a href=&quot;http://www.amazon.com/exec/obidos/redirect?tag=bloggingrolle-20&amp;amp;creative=9325&amp;amp;camp=211189&amp;amp;link_code=as2&amp;amp;path=ASIN/1932394494&quot; target=&quot;_self&quot;&gt;RSS and Atom in Action&lt;/a&gt; book promotion at &lt;a href=&quot;http://www.javaranch.com/&quot; target=&quot;_self&quot;&gt;JavaRanch&lt;/a&gt; this week in the &lt;a href=&quot;http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;amp;f=31&amp;amp;t=006128&quot; target=&quot;_self&quot;&gt;XML and Related Technologies forum&lt;/a&gt;. That means that I&amp;#39;ll be checking the forum several times a day and answering all of your questions about the book&amp;#39;s topics. At the end of the week, we&amp;#39;ll be giving away copies of the book to four randomly selected posters. &lt;br&gt;&lt;br&gt;So far, I&amp;#39;ve been answering &lt;a href=&quot;http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;amp;f=31&amp;amp;t=006131&quot; target=&quot;_self&quot;&gt;basic questions&lt;/a&gt; like what is RSS, what&amp;#39;s the difference between RSS and Atom and what&amp;#39;s the book about?&lt;br&gt;&lt;br&gt;Tags: topic:[RSS], topic:[Atom], topic:[feeds], topic:[Java], topic:[Web 2.0]&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/tri_xml_2006_presentation</guid>
    <title>Tri-XML 2006 presentation</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/tri_xml_2006_presentation</link>
    <pubDate>Sat, 29 Jul 2006 12:12:20 +0000</pubDate>
    <category>Blogging</category>
    <category>app</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;br&gt;Here&amp;#39;s the abstract of the talk I gave this morning at &lt;a href=&quot;http://www.trixml.org/confindex.shtml&quot; target=&quot;_self&quot;&gt;Tri-XML 2006&lt;/a&gt;:&lt;br&gt;&lt;blockquote&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Beyond blogging: Atom format and protocol&lt;/span&gt;. Like XML-RPC and SOAP before, feeds and publishing protocols were born in the 
        blogopshere and quickly moved beyond blogging. Nowadays, web service providers are using
        RSS/Atom feeds and REST-based publishing protocols as lightweight alternatives to SOAP. And 
        developers are finding new ways to combine web services from different sites into new
        applications, known as &amp;quot;mash-ups&amp;quot; in the lingo of Web 2.0. If you&amp;#39;d like to do the same,
        then attend this talk to learn about the new IETF Atom feed format (RFC-4287) and the
        soon-to-be-finalized Atom protocol, which together form a strong foundation for REST-based
        web services development.&lt;/blockquote&gt;Here&amp;#39;s a rough outline of the talk:&lt;br&gt;&lt;ul&gt;&lt;li&gt;Introduction&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Beyond blogging&lt;/li&gt;&lt;li&gt;Blogs hit the hit time&lt;/li&gt;&lt;li&gt;The web is bloggy&lt;/li&gt;&lt;li&gt;Atom as an alternative to WS-*&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Understanding feeds&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Birth of RSS&lt;/li&gt;&lt;li&gt;RSS 1.0: the RDF fork&lt;/li&gt;&lt;li&gt;The simple fork and RSS 2.0&lt;br&gt;&lt;/li&gt;&lt;li&gt;Atom: the standard&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Parsing feeds&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Fetching and parsing feeds&lt;/li&gt;&lt;li&gt;Universal Feed Parser&lt;/li&gt;&lt;li&gt;ROME utilities&lt;/li&gt;&lt;li&gt;Windows RSS platform&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Serving feeds&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Approaches for generating and serving feeds&lt;br&gt;&lt;/li&gt;&lt;li&gt;Feed autodiscovery&lt;/li&gt;&lt;li&gt;Styled feeds&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Atom protocol&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Compared to MetaWeblog&lt;/li&gt;&lt;li&gt;REST based approach&lt;/li&gt;&lt;li&gt;Introspection&lt;/li&gt;&lt;li&gt;Collections&lt;/li&gt;&lt;li&gt;Extending Atom&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Atom protocol in action&lt;br&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Getting a service doc&lt;/li&gt;&lt;li&gt;Getting collections&lt;/li&gt;&lt;li&gt;Posting an entry&lt;/li&gt;&lt;li&gt;Posting an image&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Demo: interacting with an Atom server via command-line&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;And here are the slides: &lt;a href=&quot;http://rollerweblogger.org/downloads/presentations/TriXML2006-BeyondBlogging.pdf&quot; target=&quot;_self&quot;&gt;TriXML2006-BeyondBlogging.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;Tags: topic:[Atom Publishing Protocol], topic:[Atom], topic:[APP], topic:[RSS], topic:[feeds]&lt;br&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/last_two_chapters_to_production</guid>
    <title>Last two chapters to production</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/last_two_chapters_to_production</link>
    <pubDate>Mon, 1 May 2006 20:00:40 +0000</pubDate>
    <category>General</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;br&gt;Over the weekend, I put my finishing touches on the (last) two new chapters for &lt;a href=&quot;http://manning.com/dmjohnson&quot; target=&quot;_self&quot;&gt;RSS and Atom in Action&lt;/a&gt;. Tomorrow they&amp;#39;ll both be off to copy-editing, typesetting and then to the printers for publication in mid-June. &lt;br&gt;&lt;br&gt;I really lucked out in the reviewer category. Thanks to Walter VonKoch of Microsoft&amp;#39;s &lt;a href=&quot;http://blogs.msdn.com/rssteam/&quot; target=&quot;_self&quot;&gt;Windows RSS Platform team&lt;/a&gt;, who not only answered my questions but kindly offered to review the Windows RSS chapter. And thanks also to former co-workers &lt;a href=&quot;http://blog.chanezon.com/&quot; target=&quot;_self&quot;&gt;Pat Chanezon&lt;/a&gt; and Alejandro Abdelnur, who reviewed the ROME chapter.&lt;br&gt;&lt;br&gt;By the way &lt;a href=&quot;http://tucu000.blogspot.com/2006/04/5-months-is-nothing.html&quot; target=&quot;_self&quot;&gt;Alejandro is back&lt;/a&gt; from Asia, blogging again and already coming up with cool new APIs for ROME. Checkout &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeMano&quot; target=&quot;_self&quot;&gt;ROME.Mano&lt;/a&gt;, a pipeline framework for RSS and Atom feeds.&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/tip_o_the_hat_to</guid>
    <title>Tip&amp;#39;o&amp;#39;the hat to the FeedValidator and crew</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/tip_o_the_hat_to</link>
    <pubDate>Tue, 18 Apr 2006 11:34:01 +0000</pubDate>
    <category>Blogging</category>
    <category>atom</category>
    <category>rss</category>
<description>&lt;br&gt;I&amp;#39;d like to thank the folks who developed and run the &lt;a target=&quot;_self&quot; href=&quot;http://feedvalidator.org/&quot;&gt;FeedValidator&lt;/a&gt;, a valuable service that let&amp;#39;s you know if your feeds validate against the RSS, Atom and commonly used extension specs. The warnings that it issues may be irritating and some can be safely ignored, but they&amp;#39;re valuable just the same. I don&amp;#39;t particularly like the warnings about &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; (&lt;s&gt;which Roller now uses, by the way&lt;/s&gt;) and the style attribute, but I understand why they&amp;#39;re necessary. If you want to &lt;a target=&quot;_self&quot; href=&quot;http://photomatt.net/2006/04/15/feed-validator/&quot;&gt;whine&lt;/a&gt; about something, whine about the crappy RSS specs that we&amp;#39;re all stuck with not the folks that are trying to help you understand them.&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update:&lt;/span&gt; In Roller RSS 2.0 feeds, we now use &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;atom:summary&amp;gt;&lt;/span&gt; for entry.summary (which is new) and &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;description&amp;gt;&lt;/span&gt; for entry.text (as we always have).&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/ms_feeds_api</guid>
    <title>Re: Experimenting with the MS Feeds API</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/ms_feeds_api</link>
    <pubDate>Fri, 17 Mar 2006 14:02:37 +0000</pubDate>
    <category>Blogging</category>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;br&gt;I&amp;#39;m seeing lots of interest in my MS Feeds API post yesterday, sparked by links from &lt;a target=&quot;_self&quot; href=&quot;http://www.intertwingly.net/blog/2006/03/16/Worth-the-Wait&quot;&gt;Sam Ruby&lt;/a&gt;, &lt;a target=&quot;_self&quot; href=&quot;http://www.scripting.com/2006/03/17.html#When:12:55:06AM&quot;&gt;Dave Winer&lt;/a&gt; and &lt;a target=&quot;_self&quot; href=&quot;http://www.kbcafe.com/rss/?guid=20060316085910&quot;&gt;Randy Morin&lt;/a&gt;. Some people might have gotten the impression that I was criticizing the decisions Microsoft made in mapping RSS elements and extension elements to the Feeds API object model. I wasn&amp;#39;t. &lt;br&gt;&lt;br&gt;I think Microsoft made pretty good choices, given the simplified object model that they&amp;#39;re working with. If somebody is using funky RSS, then they mean it. For example, if somebody declares the Content Module namespace and uses the &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; namespace in their feed, then that&amp;#39;s probably the content that they want folks to use. I think that&amp;#39;s the philosophy Microsoft used in making those decisions, except for prefering &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;pubDate&amp;gt;&lt;/span&gt; over &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;dc:date&amp;gt;&lt;/span&gt;, which I don&amp;#39;t understand.&lt;br&gt;&lt;br&gt;The problem is, the Feeds API object model is a little too simple. Like RSS 2.0, it doesn&amp;#39;t model the common things that bloggers do like having both a summary and content for each item, or having&amp;nbsp; name and/or e-mail address for each author. That&amp;#39;s why people use extensions like the &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; and &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;dc:creator&amp;gt;&lt;/span&gt; (or prefer Atom, which does a better job of modeling those common things). I hope Microsoft will fix this by improving the object model and if they do, they won&amp;#39;t have to make as many choices about which elements to use. &lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/ms_feeds_api_experiments</guid>
    <title>Experimenting with the MS Feeds API</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/ms_feeds_api_experiments</link>
    <pubDate>Thu, 16 Mar 2006 08:46:57 +0000</pubDate>
    <category>Blogging</category>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;br&gt;The Windows RSS platform includes a &lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp&quot;&gt;Feeds API&lt;/a&gt; that parses all forms of RSS and Atom to a simplified&amp;nbsp; object model. &lt;br&gt;&lt;br&gt;For example, an Item object has an Author property and not an author name, author e-mail and author URI which are all possible in Atom. And, an Item object has a Description field and not description and content (as in Wordpress feeds) or summary and content (as in Atom feeds). &lt;br&gt;&lt;br&gt;So, how does the Feeds API decide how to map elements to this&amp;nbsp; simplified object model? I did some C# experiments and here are some of my findings. Note that the Feeds API is beta software and will certainly change for the better (I hope) by the time it is released in IE7 and Windows Vista.&lt;br&gt;&lt;br&gt;
&lt;table width=&quot;95%&quot; cellspacing=&quot;0&quot; cellpadding=&quot;4&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;font-weight:bold;&quot;&gt;&amp;nbsp;Item contains&lt;br&gt;&lt;/td&gt;
&lt;td style=&quot;font-weight:bold;&quot;&gt;&amp;nbsp;Feeds API returns&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;dc:creator&amp;gt;dave&amp;lt;/dc:creator&amp;gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;item.Author = &amp;quot;dave&amp;quot;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;author&amp;gt;dave@example.com&amp;lt;/author&amp;gt;&lt;/td&gt;
&lt;td&gt;item.Author = &amp;quot;dave@example.com&amp;quot;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;author&amp;gt;dave@example.com&amp;lt;/author&amp;gt;&lt;br&gt;&amp;lt;dc:creator&amp;gt;dave&amp;lt;/dc:creator&amp;gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;/span&gt;item.Author = &amp;quot;dave&amp;quot;&lt;br&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&amp;nbsp;&amp;nbsp; (prefers funky RSS)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;description&amp;gt;my desc&amp;lt;/description&amp;gt;&lt;br&gt;&amp;lt;content:encoded&amp;gt;my content&amp;lt;/content:encoded&amp;gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;/span&gt;item.Description = &amp;quot;my content&amp;quot;&lt;br&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&amp;nbsp;&amp;nbsp; (prefers funky RSS)&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;vertical-align:top;&quot;&gt;&amp;lt;pubDate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Thu, 9 Mar 2006 23:13:04 -0500&lt;br&gt;&amp;lt;/pubdate&amp;gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:top;&quot;&gt;item.Date = &lt;span style=&quot;font-style:italic;&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/span&gt;3/10/2006 4:13:04 AM&amp;quot;&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-style:italic;&quot;&gt;(uses GMT)&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;pubDate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Thu, 9 Mar 2006 23:13:04 -0500&lt;br&gt;&amp;lt;/pubdate&amp;gt;&lt;br&gt;&amp;lt;dc:date&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; 2004-08-19T11:54:37-08:00&lt;br&gt;&amp;lt;/dc:date&amp;gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-style:italic;&quot;&gt; &lt;/span&gt;item.Date = &lt;span style=&quot;font-style:italic;&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/span&gt;3/10/2006 4:13:04 AM&amp;quot;&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&amp;nbsp;&amp;nbsp; (prefers core RSS element)&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;atom:summary&amp;gt;my summary&amp;lt;/atom:summary&amp;gt;&lt;br&gt;&amp;lt;atom:content&amp;gt;my content&amp;lt;/atom:content&amp;gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;item.Description = &amp;quot;my content&amp;quot;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;First, it&amp;#39;s interesting that those &lt;a target=&quot;_self&quot; href=&quot;http://www.docuverse.com/blog/donpark/EntryViewPage.aspx?guid=615&quot;&gt;funky RSS&lt;/a&gt; elements that &lt;a target=&quot;_self&quot; href=&quot;http://backend.userland.com/davesRss2PoliticalFaq#questionWhatDoesFunkyMeanInTheContextOfRss20&quot;&gt;Winer dislikes&lt;/a&gt; are preferred over the core RSS elements in important places. And second, what if you&amp;#39;re not happy with Microsoft&amp;#39;s mapping choices in this area? &lt;br&gt;&lt;br&gt;For example, how do you get both description and content from those Wordpress feeds? Wordpress (and Typepad) uses the &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;description&amp;gt;&lt;/span&gt; element as a summary and the funky &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; element for the full content (see Winer&amp;#39;s own &lt;a target=&quot;_self&quot; href=&quot;http://scripting.wordpress.com/feed/&quot;&gt;Wordpress.com feed&lt;/a&gt; for example). You&amp;#39;ve got to parse the XML yourself. The Feeds API tries to makes that easy by providing both the XML for the entire feed and the XML fragment for each item, but I think most developers would prefer to have a more complete object model. &lt;br&gt;&lt;br&gt;See also: What&amp;#39;s up with the Windows RSS Platform&lt;br&gt;&lt;br&gt;Tags: topic:[rss], topic:[atom], topic:[feeds], topic:[ie7], topic:[vista]&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/the_never_ending_story_of</guid>
    <title>The never ending story of RSS and Atom in Action</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/the_never_ending_story_of</link>
    <pubDate>Wed, 15 Mar 2006 21:38:04 +0000</pubDate>
    <category>Blogging</category>
    <category>Blogging</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;br&gt;You know last week, when I said the book was ready to go to the printers and would be available this week as an e-book? We&amp;#39;ll, I was wrong. &lt;br&gt;&lt;br&gt;While we waited for Atom protocol to stabilize, things changed in the world of C# and Java feed APIs. Microsoft introduced the Windows RSS platform and a pre-release of the Windows Feeds API is available in the IE7 beta. And ROME has come along way too; now with Atom format 1.0 support and a growing list of extension modules. We decided that we just couldn&amp;#39;t publish a book on RSS and Atom without covering the Windows RSS platform and ROME in-depth. So now I&amp;#39;m under the gun again, writing away into the wee hours of the night. I should be done by April 14th and, with luck, the book will be out in late May, just in time for JavaOne. That explains my sudden interest in the Windows RSS platform.&lt;br&gt;&lt;br&gt;The kids hate it, but I think it&amp;#39;s for the best. Manning will have the very first book that covers the Atom protocol (with a working client and server), the Windows RSS platform and ROME in-depth. It&amp;#39;ll definitely be worth the wait.&lt;br&gt;&lt;br&gt;Tags: topic:[atom], topic:[rss], topic:[ie7], topic:[atom protocol]</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/what_s_up_with_the</guid>
    <title>What&amp;#39;s up with the Windows RSS platform?</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/what_s_up_with_the</link>
    <pubDate>Sun, 12 Mar 2006 12:03:17 +0000</pubDate>
    <category>Microsoft</category>
    <category>Microsoft</category>
    <category>atom</category>
    <category>blogapps</category>
    <category>rss</category>
<description>&lt;br&gt;The Windows RSS Platform (or Feeds API) is the feed handling engine that powers the new RSS features in IE7. It will also be included in Windows Vista for use by other applications. Note that here, RSS is a generic term meant to include both RSS and Atom -- the Feeds API supports both. The Feeds API is packaged in a DLL called msfeeds.dll and available to programmers as a set of dual-interface COM objects. Here are the features exposed via the Feeds API.&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Common feed list: list of feeds for current user, organized as folder hierarchy.&lt;br&gt; &lt;/li&gt;
&lt;li&gt;Feed store: local cache of feeds, feeds available via abstract object model&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Download engine: for managing and monitoring large enclosure downloads&lt;br&gt; &lt;/li&gt;
&lt;li&gt;RSS sharing extensions: new XML elements to support bi-directional sync via RSS&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The Feeds API gives you access to the current user&amp;#39;s feed subscription list, a feed parser that can handle any form of RSS and Atom as well as the IE7 podcast download engine. The parser parses feeds to an abstract object model designed to represent any sort of feed. It handles &lt;a href=&quot;http://backend.userland.com/davesRss2PoliticalFaq#questionWhatDoesFunkyMeanInTheContextOfRss20&quot; target=&quot;_self&quot;&gt;funky RSS&lt;/a&gt; and in some cases prefers the funky elements (e.g. &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:escape&amp;gt;&lt;/span&gt; over &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;description&amp;gt;&lt;/span&gt;). &lt;br&gt;&lt;/p&gt;I&amp;#39;d like to learn more about how the Feeds API decides which elements to use, how sync works, and how the whole package compares to the premier Java Feeds API &lt;a target=&quot;_self&quot; href=&quot;http://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt;. So, I&amp;#39;ve downloaded IE7 and started experimenting with the API from C#. I&amp;#39;ll be posting more on this topic in the next week or two. &lt;br&gt;&lt;br&gt;Here are some of the references I&amp;#39;ve been using to understand the API:&lt;br&gt;&lt;br style=&quot;font-style:italic;&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Feeds API docs, specs and whitepapers from Microsoft&amp;nbsp;&lt;/span&gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp&quot;&gt;Feeds API documentation&lt;/a&gt; at MSDN Library&lt;br&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/xml/rss/sse/&quot;&gt;Simple Sharing Extensions (SSE) for RSS and OPML specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://msdn.microsoft.com/windowsvista/building/rss/simplefeedextensions/&quot; target=&quot;_self&quot;&gt;Simple List Extentions&lt;/a&gt; for RSS specification&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=9BC8885E-76BA-4F10-8AC7-6F5845ADCFD9&amp;amp;displaylang=en&quot;&gt;Simple Sharing Extensions for RSS tutorial&lt;/a&gt; (in Vista only?)&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/windowsvista/building/rss/default.aspx?pull=/library/en-us/dnlong/html/rsssupportinlonghorn.asp&quot;&gt;RSS Support in Longhorn&lt;/a&gt; - good overview&lt;/li&gt;
&lt;li&gt;PDC05 presentation about &lt;a href=&quot;http://microsoft.sitestream.com/PDC05/DAT/DAT320_files/Botto_files/DAT320_Gandhi.ppt&quot; target=&quot;_self&quot;&gt;RSS in Windows Vista&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Microsoft employee blogs about the RSS platform&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://blogs.msdn.com/rssteam/archive/2006/02/02/522642.aspx&quot;&gt;The Windows RSS Platform&lt;/a&gt; described on the Microsoft RSS Team Blog&lt;/li&gt;

&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://blogs.msdn.com/rssteam/archive/2006/02/09/528195.aspx&quot;&gt;The Windows RSS Platform ala carte&lt;/a&gt; from the&amp;nbsp; Microsoft RSS Team Blog&lt;/li&gt;&lt;li&gt;A blog about the &lt;a target=&quot;_self&quot; href=&quot;http://blogs.msdn.com/rssteam/archive/2005/12/01/498704.aspx&quot;&gt;RSS Simple Sharing Extensions&lt;/a&gt; from Microsoft&amp;#39;s Jack Ozzie&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Related: Ray Ozzie&amp;#39;s blog post &lt;a target=&quot;_self&quot; href=&quot;http://spaces.msn.com/rayozzie/blog/cns%21FB3017FBB9B2E142%21285.entry?_c11_blogpart_blogpart=blogview&amp;amp;_c=blogpart#permalink&quot;&gt;Wiring the Web&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;FeedBandit developer &lt;a target=&quot;_self&quot; href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=f872c4bf-82c7-4222-a733-b9f212e0c3c4&quot;&gt;Dare Obasanjo&amp;#39;s feedback on Windows RSS Platform&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Windows Live Mail Desktop Beta (&lt;a target=&quot;_self&quot; href=&quot;http://spaces.msn.com/morethanmail/blog/cns%21B7DD1FF3F141F9A1%21214.entry?_c=BlogPart&quot;&gt;RSS feeds&lt;/a&gt; and &amp;quot;&lt;a target=&quot;_self&quot; href=&quot;http://spaces.msn.com/morethanmail/blog/cns%21B7DD1FF3F141F9A1%21247.entry?_c11_blogpart_blogpart=blogview&amp;amp;_c=blogpart#permalink&quot;&gt;blog-it&lt;/a&gt;&amp;quot; feature)&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;font-style:italic;&quot;&gt;Other blogs about it&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Newsgator&amp;#39;s &lt;a target=&quot;_self&quot; href=&quot;http://nick.typepad.com/blog/2006/02/feedback_on_ie7.html&quot;&gt;Nick Bradbury&amp;#39;s feedback on Windows RSS Platform&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;PDC&amp;#39;05 blog about the above &lt;a target=&quot;_self&quot; href=&quot;http://netryder.osnn.net/pdc05/2005/09/rss-platform-in-windows-vista.php&quot;&gt;Windows RSS Platform presentation&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Jim Mathies built an &lt;a target=&quot;_self&quot; href=&quot;http://www.mathies.com/weblog/?p=222&quot;&gt;aggregator in a weekend&lt;/a&gt;&amp;nbsp;with the RSS platform&lt;br&gt;&lt;/li&gt;
&lt;li&gt;A simple windows &lt;a target=&quot;_self&quot; href=&quot;http://www.arstdesign.com/articles/rssstoreviewer.html&quot;&gt;RSS store viewer&lt;/a&gt; and exploration of msfeeds.dll implementation&lt;br&gt;&lt;/li&gt;
&lt;li&gt;John Udell &lt;a target=&quot;_self&quot; href=&quot;http://weblog.infoworld.com/udell/2005/09/14.html&quot;&gt;interviews Microsoft&amp;#39;s Amar Ghandi&lt;/a&gt; about the RSS platform&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update1&lt;/span&gt;: added a couple of new links suggested by &lt;a target=&quot;_self&quot; href=&quot;http://inkblots.markwoodman.com/2006/03/13/feeds-in-vista/&quot;&gt;Mark Woodman&lt;/a&gt;&lt;br&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update2&lt;/span&gt;: added reference to Simple List Extensions&lt;br&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update3&lt;/span&gt;: added link to RSS in Windows Vista presentaton&lt;br&gt;&lt;br&gt;Tags: topic:[atom], topic:[rss], topic:[ie7], topic:[atom protocol]&lt;br&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/the_talk_went_well</guid>
    <title>The talk went well</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/the_talk_went_well</link>
    <pubDate>Thu, 30 Jun 2005 23:15:20 +0000</pubDate>
    <category>Java</category>
    <category>atom</category>
    <category>blogging</category>
    <category>conferences</category>
    <category>java</category>
    <category>javaone</category>
    <category>rss</category>
<description>
My second JavaOne was a great experience, but it was a little stressful because up until last night I couldn&amp;#39;t find any of my co-speakers. I spent most of Wednesday preparing to give the whole talk by myself, but luckily for me (and the attendees), Pat and 
&lt;a href=&quot;http://peerfear.typepad.com/blog/&quot;&gt;Kevin&lt;/a&gt; showed up just in time. Unfortunately, Pat showed up with some very bad news for us at Sun: 
&lt;a href=&quot;http://blog.chanezon.com/articles/2005/06/29/bye-bye-sun&quot;&gt;he&amp;#39;s leaving&lt;/a&gt; to work at Google.

&lt;p&gt;
In the end, I think the talk went pretty well. Kevin did most of Pat and my slides on syndication because we had split the talk 50-50 when we couldn&amp;#39;t locate Pat on Wednesday night (and assumed he was still in Paris). He did a good job with the material and added in some interesting points from his experience at 
&lt;a href=&quot;http://rojo.com&quot;&gt;Rojo.com&lt;/a&gt; where they parse millions of feeds per hour with the Java-based Apache Commons (sandbox)
&lt;a href=&quot;http://jakarta.apache.org/commons/sandbox/feedparser/&quot;&gt;FeedParser&lt;/a&gt;. 

&lt;p&gt;
We were a little disappointed with the turnout. I&amp;#39;d be surprised if the 700+ seat 
&lt;a href=&quot;http://www.ybca.org/facilities/theater.html&quot;&gt;Yerba Buena&lt;/a&gt; theater was more than 30% full. The fact that were in a lunchtime timeslot on the last day of the show certainly didn&amp;#39;t help. Anyhow, I&amp;#39;m relieved that it&amp;#39;s over and ready for a nice long week off.
&lt;/p&gt;&lt;/p&gt;</description>  </item>
</channel>
</rss>