<?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=rome" />
  <description>Dave Johnson on open web technologies, social software and software development</description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Mon, 18 May 2026 08:23:39 +0000</lastBuildDate>
  <generator>Apache Roller 6.1.5</generator>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/apache_roller_5_0_rc1</guid>
    <title>Apache Roller 5.0 RC1</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/apache_roller_5_0_rc1</link>
    <pubDate>Mon, 3 May 2010 08:39:13 +0000</pubDate>
    <category>Roller</category>
    <category>atompub</category>
    <category>propono</category>
    <category>rome</category>
<description>&lt;p&gt;It&amp;#39;s been a while since the BETA (over 6 months) but we &lt;a href=&quot;http://markmail.org/message/kmeuidvtjzhbdznn&quot;&gt;now have a release candidate for Apache Roller 5.0&lt;/a&gt; available for testing. This site is running Apache Roller 5.0 RC1 right now, as you can see in the itty bitty screenshot below:&lt;/p&gt;



&lt;p&gt;Here&amp;#39;s a &lt;a href=&quot;https://cwiki.apache.org/confluence/display/ROLLER/What&apos;s+new+in+Roller+5.0&quot;&gt;What&amp;#39;s New in Roller 5.0&lt;/a&gt; page that summarizes what has changed since 4.0. One thing I forgot to mention on that page was that Roller now uses ROME Propono 1.0 for AtomPub and Roller 5.0&amp;#39;s AtomPub support has been successfully tested with &lt;a href=&quot;http://www.red-sweater.com/marsedit/&quot;&gt;MarsEdit&lt;/a&gt; and &lt;a href=&quot;http://windowslivewriter.spaces.live.com/&quot;&gt;Windows Live Writer&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/oauth_for_rome_propono</guid>
    <title>OAuth for ROME Propono</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/oauth_for_rome_propono</link>
    <pubDate>Tue, 24 Mar 2009 12:00:00 +0000</pubDate>
    <category>Feeds</category>
    <category>atompub</category>
    <category>oauth</category>
    <category>propono</category>
    <category>roller</category>
    <category>rome</category>
<description>&lt;a href=&quot;https://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; vspace=&amp;quot;10px&amp;quot; hspace=&amp;quot;10px&amp;quot; /&amp;gt;
&lt;/a&gt;

&lt;p&gt;Yesterday I wrote about &lt;a href=&quot;http://rollerweblogger.org/roller/entry/oauth_for_roller&quot;&gt;OAuth support in the upcoming Roller 5.0 release&lt;/a&gt;. Today I&amp;#39;m following up with a post about &lt;a href=&quot;http://oauth.net&quot;&gt;OAuth&lt;/a&gt; support in &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;ROME Propono&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As you may remember, ROME Propono is a subproject of &lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt;, the Java-based RSS/Atom feed library. ROME Propono includes an &lt;a href=&quot;http://www.atomenabled.org/developers/protocol/&quot;&gt;AtomPub&lt;/a&gt; server library and an AtomPub client. I added OAuth support to the AtomPub client and in this post, I&amp;#39;ll show how you can use it to post to the Roller 5.0-dev (i.e. the snapshot build that I made available yesterday).&lt;/p&gt;

&lt;h4&gt;ROME 1.0 and coming soon: ROME Propono 1.0&lt;/h4&gt;

&lt;p&gt;In case you haven&amp;#39;t already heard, thanks to the recent hard work of Nick Lothian, &lt;a href=&quot;http://nicklothian.com/blog/2009/03/11/rome-10-released&quot;&gt;ROME 1.0 is now available&lt;/a&gt;. You can find downloads at &lt;a href=&quot;http://rome.dev.java.net&quot;&gt;rome.dev.java.net&lt;/a&gt; and a list of changes in the &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog&quot;&gt;Change Log&lt;/a&gt; there. To celebrate this momentous event, I&amp;#39;m planning on releasing ROME Propono 1.0 as well, and in preparation, I&amp;#39;ve made a release candidate available. The new Propono includes ROME 1.0 and support for OAuth. You can get it via the links below:&lt;/p&gt;

&lt;p style=&quot;margin-left:2em;&quot;&gt;
    &lt;a href=&quot;https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist/rome-propono-1.0RC1.tar.gz&quot;&gt;rome-propono-1.0RC1.tar.gz&lt;/a&gt; (2.0 mb)
&lt;/p&gt;

&lt;p style=&quot;margin-left:2em;&quot;&gt;
    &lt;a href=&quot;https://rome.dev.java.net/source/browse/*checkout*/rome/www/dist/rome-propono-1.0RC1.zip&quot;&gt;rome-propono-1.0RC1.zip&lt;/a&gt; (3 mb)
&lt;/p&gt;


&lt;h4&gt;Posting to Roller via AtomPub and OAuth&lt;/h4&gt;

&lt;p&gt;To use the Propono AtomPub client, you place the Propono jars in your Java VM classpath and then call the &lt;code&gt;AtomClientFactory&lt;/code&gt; to get started, as described in the &lt;a href=&quot;https://rome.dev.java.net/apidocs/subprojects/propono/1.0/com/sun/syndication/propono/atom/client/package-summary.html&quot;&gt;ROME Propono 1.0 Javadocs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Below is a &lt;a href=&quot;http://groovy.codehaus.org/&quot;&gt;Groovy&lt;/a&gt; example that shows how to post a blog entry to Roller via AtomPub and OAuth. You can get the consumer key, secret and URLs you need to call your instance of Roller from the OAuth Credentials page in the Roller admin interface.&lt;/p&gt;

&lt;pre&gt;

  import com.sun.syndication.propono.atom.client.*
  import com.sun.syndication.feed.atom.*

  def authStrategy = new OAuthStrategy(
    &amp;quot;roller&amp;quot;,                               // username
    &amp;quot;55132608a2fb68816bcd3d1caeafc933&amp;quot;,     // consumer key
    &amp;quot;bb420783-fdea-4270-ab83-36445c18c307&amp;quot;, // consumer secret
    &amp;quot;HMAC-SHA1&amp;quot;,                            // key type
    &amp;quot;http://blogs.example.com/roller-services/oauth/requestToken&amp;quot;,
    &amp;quot;http://blogs.example.com/roller-services/oauth/authorize&amp;quot;,
    &amp;quot;http://blogs.example.com/roller-services/oauth/accessToken&amp;quot;)

  // get the AtomPub service
  def appService = AtomClientFactory.getAtomService(
    &amp;quot;http://blogs.example.com/roller-services/app&amp;quot;, authStrategy)

  // find workspace of my blog
  def blog = appService.findWorkspace(&amp;quot;Blogging Roller&amp;quot;)

  // find collecton that will accept entries
  def entries = blog.findCollection(null, &amp;quot;application/atom+xml;type=entry&amp;quot;)

  // create and post an entry
  def entry = entries.createEntry()
  entry.title = &amp;quot;TestPost&amp;quot;
  def content = new Content()
  content.setValue(&amp;quot;This is a test post. w00t!&amp;quot;)
  entry.setContent([content])
  entries.addEntry(entry)

&lt;/pre&gt;


&lt;p&gt;If you have questions or feedback about ROME Propono 1.0 RC1, please post them to the &lt;a href=&quot;https://rome.dev.java.net/servlets/ProjectMailingListList&quot;&gt;ROME dev mail list&lt;/a&gt; and I&amp;#39;ll do my best to respond there.&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/apache_abdera_graduates</guid>
    <title>Atom news: Apache Abdera graduates</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/apache_abdera_graduates</link>
    <pubDate>Fri, 21 Nov 2008 15:54:48 +0000</pubDate>
    <category>Java</category>
    <category>asf</category>
    <category>atom</category>
    <category>atompub</category>
    <category>feeds</category>
    <category>java</category>
    <category>opensource</category>
    <category>rome</category>
<description>&lt;img src=&quot;http://rollerweblogger.org/roller/resource/atom-logo75px.gif&quot; align=&quot;right&quot; alt=&quot;Atom logo&quot; title=&quot;Atom logo&quot;&gt;

&lt;p&gt;Congratulations to the &lt;a href=&quot;http://incubator.apache.org/abdera/&quot;&gt;Apache Abdera&lt;/a&gt; team, who&amp;#39;ve just &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/incubator-abdera-dev/200811.mbox/%3C4585c4a60811191238t52bd9840q845653578eb0690d@mail.gmail.com%3E&quot;&gt;graduated&lt;/a&gt; to full Apache top level project status. The don&amp;#39;t have the new site at &lt;b&gt;abdera.apache.org&lt;/b&gt; up yet and they&amp;#39;re still not quite at 1.0 yet, but this is a  major milestone. They&amp;#39;ve got the best Atom format and protocol toolkit around, &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_vs_abdera&quot;&gt;in my opinion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;via &lt;a href=&quot;http://asdf.blogs.com/asdf/2008/11/abdera-graduation.html&quot;&gt;Garett&lt;/a&gt; and &lt;a href=&quot;http://www.snellspace.com/wp/?p=979&quot;&gt;James&lt;/a&gt;.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/linkedin_99_pure_java</guid>
    <title>LinkedIn: 99% Pure Java</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/linkedin_99_pure_java</link>
    <pubDate>Thu, 5 Jun 2008 09:07:23 +0000</pubDate>
    <category>Social Software</category>
    <category>java</category>
    <category>rome</category>
    <category>socialnetworking</category>
<description>&lt;p&gt;
&lt;a href=&quot;http://nicklothian.com/blog/&quot;&gt;Nick Lothian&lt;/a&gt; 
&lt;a href=&quot;http://twitter.com/nlothian/statuses/827220968&quot;&gt;tweeted&lt;/a&gt; about this 
&lt;a href=&quot;http://www.slideshare.net/linkedin/linkedins-communication-architecture&quot;&gt;
   JavaOne presentation on LinkedIn&lt;/a&gt; because it mentions the 
&lt;a href=&quot;https://rome.dev.java.net/&quot;&gt;ROME RSS/Atom feed parser&lt;/a&gt;.
I&amp;#39;m really sorry I missed it at JavaOne. What&amp;#39;s particularly interesting to me are the diagrams that explain how the LinkedIn architecture has evolved to scale up to 22 million users. Here&amp;#39;s an example:&lt;/p&gt;

&amp;lt;img src=&amp;quot;http://rollerweblogger.org/roller/resource/linkedin-today.png&amp;quot; 
alt=&amp;quot;LinkedIn architecture diagram&amp;quot; /&amp;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/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/app_interop_event_today</guid>
    <title>APP interop event today and congrats to Atomic Joe Gregorio</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/app_interop_event_today</link>
    <pubDate>Mon, 6 Aug 2007 11:52:46 +0000</pubDate>
    <category>Java</category>
    <category>atomprotocol</category>
    <category>java</category>
    <category>rome</category>
    <category>romepropono</category>
<description>&lt;p&gt;I wasn&amp;#39;t paying attention and this one snuck-up on me. Today at noon Pacific Time there will be an online &lt;a href=&quot;http://intertwingly.net/wiki/pie/August2007Interop&quot;&gt;Atom Publishing Protocol interop event&lt;/a&gt;. The location is IRC on the Freenode network in the #atom channel: irc://irc.freenode.net/atom.&lt;/p&gt;

&lt;p&gt;I&amp;#39;m really glad I didn&amp;#39;t miss this announcement because I spent much of the last two weekends updating the &amp;lt;a href=
&amp;quot;https://rome.dev.java.net/apidocs/subprojects/propono/0.5/overview-summary.html&amp;quot;&amp;gt;
ROME Propono and &amp;lt;a href=
&amp;quot;http://cwiki.apache.org/confluence/display/ROLLER/What%27s+New+in+Roller+4.0&amp;quot;&amp;gt;Apache Roller 4.0 implementations to work with the final version of APP (&lt;a href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html&quot;&gt;draft #17&lt;/a&gt;). I&amp;#39;ve got both implementations online now and ready for interop.&lt;/p&gt; 

&lt;p&gt;And in kinda sorta related news, one of the founders of the Atom effort &lt;a href=&quot;http://bitworking.org/news/229/Roads&quot;&gt;Joe Gregorio is leaving IBM&lt;/a&gt; and heading over to Google. Congratulations Joe! I hope this doesn&amp;#39;t mean you&amp;#39;ll be leaving the Triangle behind.&lt;/p&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/app_interop_follow_up</guid>
    <title>APP interop follow-up</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/app_interop_follow_up</link>
    <pubDate>Sun, 22 Apr 2007 19:59:19 +0000</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>atom</category>
    <category>java</category>
    <category>propono</category>
    <category>rome</category>
<description>&lt;p&gt;Following up on the APP interop event last week, here are the &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;ROME Propono&lt;/a&gt; APP client issues we found:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=66&quot;&gt;ROME #66 BUG - don&amp;#39;t expect entry to be returned from update (FIXED)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=67&quot;&gt;
ROME #67 BUG - handle relative URIs in Service Doc
&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=68&quot;&gt;
ROME #68 BUG - handle out-of-line categories in Service Doc
&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://rome.dev.java.net/issues/show_bug.cgi?id=69&quot;&gt;
ROME #69 RFE - use pluggable auth. scheme w/Google and WSSE support&lt;br&gt;
&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;





&lt;p&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;&lt;p&gt;And here are the Roller APP server issues:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1393&quot;&gt;
ROL-1393 BUG - attributes in service doc should not be namespaced (FIXED)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1394&quot;&gt;
ROL-1394 BUG - wrong content-type for service doc (FIXED)&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1395&quot;&gt;
ROL-1395 BUG - support slugs for entries too&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1396&quot;&gt;
ROL-1396 RFE - RSD support, auto-discovery for APP&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://opensource.atlassian.com/projects/roller/browse/ROL-1397&quot;&gt;
ROL-1397 BUG - null byte 0x0 getting into entry contents&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;I plan on fixing the Roller issues for this summer&amp;#39;s Roller 4.0 release. I won&amp;#39;t have time to fix the Propono issues for the upcoming Propono 0.5 release (due this week), so they&amp;#39;ll be in 0.6 sometime after JavaOne.&lt;br&gt;&lt;/p&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/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/status_cc_world9</guid>
    <title>Status, CC: world</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/status_cc_world9</link>
    <pubDate>Thu, 22 Feb 2007 23:39:16 +0000</pubDate>
    <category>Roller</category>
    <category>apache</category>
    <category>blogapps</category>
    <category>roller</category>
    <category>rome</category>
<description>&lt;p&gt;In case you&amp;#39;re wondering what&amp;#39;s going on lately with Roller, ROME and other projects I&amp;#39;ve been working on, here&amp;#39;s a status update from my point-of-view.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Apache Roller graduation&lt;/b&gt;. The Roller team voted for graduation, the Apache Incubator PMC voted for incubation and the next step is to take the &lt;a href=&quot;http://www.mail-archive.com/general@incubator.apache.org/msg12416.html&quot;&gt;resolution&lt;/a&gt; to the Apache board meeting, which is coming up in the next week or so.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Roller 3.1 release&lt;/b&gt;. We&amp;#39;ve been moving slowly on this one. RC1 was released Nov. 20 and today RC4 just about ready to go. It&amp;#39;s possible that 3.1 will be our first &amp;quot;official&amp;quot; Apache Roller release -- depending on what happens on the board meeting. Wonder what&amp;#39;s coming in Roller 3.1? The &lt;a href=&quot;http://cwiki.apache.org/confluence/display/ROLLER/What%27s+new+in+Roller+3.1&quot;&gt;What&amp;#39;s New in Roller 3.1&lt;/a&gt; page is now available on our new wiki at apache.org.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Roller 4.0 development&lt;/b&gt;. We started the &lt;a href=&quot;http://cwiki.apache.org/confluence/display/ROLLER/Proposal+Roller+4.0+Release&quot;&gt;Roller 4.0&lt;/a&gt; branch a couple of weeks ago and I&amp;#39;ve been spending most of my time updating and trying to perfect Craig and Mitesh&amp;#39;s new JPA back-end. Elias outlined a bunch of IBM contributions including an iBatis based back-end. We hope to get some of those in the 4.0 and do some JPA vs. iBatis testing, but we haven&amp;#39;t seen any proposals or code yet.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Roller-Planet&lt;/b&gt;. Actually, &lt;a href=&quot;http://www.mans-end.com/&quot;&gt;Allen&lt;/a&gt;&amp;#39;s taken over work on Roller-Planet and he&amp;#39;s implementing many of the things I outlined in the Roller-Planet mind-map.
He promoted Roller-Planet from the sandbox, built a nice Struts2 UI,
added a Roller-style feed/page rendering system and Roller-style
caching. Good stuff. We have not discussed when to start making
standalone releases of Roller-Planet.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;ROME Propono&lt;/b&gt;. I&amp;#39;ve been working on a &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=2282&quot;&gt;new ROME subproject called Propono&lt;/a&gt; that will include a blog client library, an Atom protocol client library and an Atom protocol server kit. I&amp;#39;ve been quiet on the ROME dev list, but I&amp;#39;ve been working on the client bits an they&amp;#39;re basically done. I&amp;#39;m waiting for final approval to commit them to ROME CVS.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://blogapps.dev.java.net/&quot;&gt;Blogapps&lt;/a&gt; examples and server&lt;/b&gt;. I&amp;#39;m still working on a 1.0.5 release, which will include updated Atom protocol support and some bug fixes. I just haven&amp;#39;t had the time to get a release out, but I have had some time to work on Blogapps 2.0 where I&amp;#39;ve ditched the chapter-based directory names and switched to org.blogapps packaging. Once ROME Propono is available, I&amp;#39;ll include it in Blogapps 2.0 and drop my old Blog Client library.&lt;br&gt;&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/good_news</guid>
    <title>Good news</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/good_news</link>
    <pubDate>Fri, 26 Jan 2007 10:54:31 +0000</pubDate>
    <category>Roller</category>
    <category>apachecon</category>
    <category>ibm</category>
    <category>java</category>
    <category>javaone</category>
    <category>roller</category>
    <category>rome</category>
    <category>sun</category>
<description>&lt;p&gt;Lots of good news and stuff to blog this past week including the Sun makes a profit story, the &lt;a href=&quot;http://www.infoworld.com/article/07/01/22/HNsunintelservers_1.html?source=rss&amp;amp;url=http://www.infoworld.com/article/07/01/22/HNsunintelservers_1.html&quot;&gt;Sun-Intel&lt;/a&gt; deal and more. I really like reading news like this &lt;a href=&quot;http://www.businessweek.com/investor/content/jan2007/pi20070124_871226.htm?chan=investing_investing+stocks&quot;&gt;Amid Profit, Brighter Days for Sun&lt;/a&gt; and this &lt;a href=&quot;http://biz.yahoo.com/rb/070123/sunmicrosystems_results.html?.v=3&quot;&gt;Sun turns profit after five quarters in red&lt;/a&gt;.&lt;br&gt; &lt;/p&gt;&lt;p&gt;
And how could I fail to mention the announcement of &lt;a href=&quot;http://www-142.ibm.com/software/sw-lotus/products/product3.nsf/wdocs/connections&quot;&gt;Lotus Connections&lt;/a&gt;, the product formerly known as &lt;a href=&quot;http://rollerweblogger.org/roller/entry/my_thoughts_on_ibm_s&quot;&gt;Ventura&lt;/a&gt;. Connections is IBM&amp;#39;s new Web 2.0 social networking suite and it includes &lt;a href=&quot;http://rollerweblogger.org&quot;&gt;Roller&lt;/a&gt;. IBM&amp;#39;s &lt;a href=&quot;http://www.snellspace.com/wp/?p=591&quot;&gt;James Snell&lt;/a&gt; posted some background info about IBM&amp;#39;s internal use of social networking tools and how that led to Lotus Connections. &lt;a href=&quot;http://torrez.us/archives/2007/01/24/519/&quot;&gt;Elias Torres&lt;/a&gt; blogged about it too and included a &lt;a href=&quot;http://torrez.us/2007/01/24/connections.png&quot;&gt;screen-shot&lt;/a&gt; of the new Connections based BlogCentral (IBM&amp;#39;s internal blogging site).
&lt;/p&gt;&lt;p&gt;
And in other news...
&lt;/p&gt;&lt;p&gt;
My &lt;a href=&quot;http://www.apachecon.com/2007/EU/index.html&quot;&gt;ApacheCon EU&lt;/a&gt; talk on &amp;#39;Roller and Blogs as a Web Development Platform&amp;#39; was accepted. Looks like I&amp;#39;ll have a busy May, Amsterdam for ApacheCon and (hopefully) San Francisco for &lt;a href=&quot;http://java.sun.com/javaone&quot;&gt;JavaOne&lt;/a&gt; all in the space of two weeks.
&lt;/p&gt;&lt;p&gt;
Wordpress is &lt;a href=&quot;http://www.intertwingly.net/blog/2007/01/24/WordPress-and-Atom-1-0#c1169752759&quot;&gt;finally gonna get Atom format support&lt;/a&gt; and apparently &lt;a href=&quot;http://torrez.us/archives/2007/01/25/520/&quot;&gt;Atom protocol support&lt;/a&gt; is going to happen too.
&lt;/p&gt;&lt;p&gt;
The &lt;a href=&quot;http://rome.dev.java.net&quot;&gt;ROME&lt;/a&gt; project is just about ready for ROME 1.0 and there&amp;#39;s a new subproject in the works: &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=2282&quot;&gt;ROME Propono&lt;/a&gt;. co-worker Ramesh Mandava and I are putting together a Blog Client library (based on code from Blogapps) and an Atom client/server library (based on code from Roller). Hopefully, we&amp;#39;ll have it ready by the time that ROME 1.0 comes out.
&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/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/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>
</channel>
</rss>