<?xml version="1.0" encoding='utf-8'?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">Blogging Roller</title>
    <subtitle type="html">Dave Johnson on open web technologies, social software and software development</subtitle>
    <id>https://rollerweblogger.org/roller/feed/entries/atom</id>
        <link rel="self" type="application/atom+xml" href="https://rollerweblogger.org/roller/feed/entries/atom?tags=atom" />
    <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/" />
    <updated>2026-03-23T14:54:34+00:00</updated>
    <generator uri="http://roller.apache.org" version="6.1.5">Apache Roller</generator>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/wip_feed_based_integration</id>
        <title type="html">WIP #6: Feed-based Integration</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/wip_feed_based_integration"/>
        <published>2012-10-08T10:38:43+00:00</published>
        <updated>2012-10-08T17:55:04+00:00</updated> 
        <category term="Web Development" label="Web Development" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wip" scheme="http://roller.apache.org/ns/tags/" />
        <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;</summary>
        <content 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;

&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/more_than_bloggy</id>
        <title type="html">More than bloggy</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/more_than_bloggy"/>
        <published>2011-03-07T06:00:00+00:00</published>
        <updated>2011-06-03T00:18:13+00:00</updated> 
        <category term="Web Development" label="Web Development" />
        <category term="asf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rdf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wip" scheme="http://roller.apache.org/ns/tags/" />
        <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;</summary>
        <content 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;

&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;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rss_and_atom_part_of</id>
        <title type="html">RSS and Atom part of the stimulus plan</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rss_and_atom_part_of"/>
        <published>2009-02-21T08:32:13+00:00</published>
        <updated>2014-11-28T20:56:24+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;


</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/media_blogging_for_roller</id>
        <title type="html">Media Blogging for Roller</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/media_blogging_for_roller"/>
        <published>2009-02-19T12:57:37+00:00</published>
        <updated>2009-02-19T20:58:34+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="apacheroller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mentoring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <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;</summary>
        <content type="html">&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;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rome_1_0_rc2</id>
        <title type="html">ROME 1.0 RC2 on the way</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rome_1_0_rc2"/>
        <published>2009-01-07T08:48:11+00:00</published>
        <updated>2009-01-13T06:56:04+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/apache_abdera_graduates</id>
        <title type="html">Atom news: Apache Abdera graduates</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/apache_abdera_graduates"/>
        <published>2008-11-21T15:54:48+00:00</published>
        <updated>2009-01-06T07:04:46+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="asf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/updating_raa</id>
        <title type="html">Updating RSS and Atom in Action?</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/updating_raa"/>
        <published>2008-07-09T16:32:28+00:00</published>
        <updated>2008-07-09T23:32:28+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rome_vs_abdera</id>
        <title type="html">ROME vs. Abdera</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rome_vs_abdera"/>
        <published>2008-01-22T18:18:40+00:00</published>
        <updated>2008-01-23T23:37:13+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="abdera" scheme="http://roller.apache.org/ns/tags/" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/abdera</id>
        <title type="html">Abdera rocks on</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/abdera"/>
        <published>2008-01-11T18:18:08+00:00</published>
        <updated>2008-01-15T08:36:33+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="abdera" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;img src=&quot;http://rollerweblogger.org/roller/resource/atom-logo75px.gif&quot; align=&quot;right&quot;&gt;

&lt;p&gt;There have been some interetsing Atom items recently on &lt;a href=&quot;http://www.snellspace.com&quot;&gt;James Snell&amp;#39;s blog&lt;/a&gt;. 

There was a link to a nice IBM DeveloperWorks article on 
&lt;a href=&quot;http://www.ibm.com/developerworks/library/x-atom2json.html&quot;&gt;using Abdera to write Atom feeds to  JSON&lt;/a&gt;. (I was kinda hoping for an XSL/T, but not matter how you do it, it&amp;#39;s a definitely feature that belongs in Abdera.)

And there&amp;#39;s a good 
&lt;a href=&quot;http://www.snellspace.com/wp/?p=846&quot;&gt;quote&lt;/a&gt; from Adrian Sutton&amp;#39;s blog post about the Atom features in IBM&amp;#39;s Roller and Abdera based Lotus Connections product. 

And most recently, James linked to the new 
&lt;a href=&quot;http://code.google.com/p/google-feedserver/&quot;&gt;Google Feed Server&lt;/a&gt; project: an Abdera based AtomPub server from Google. All good stuff. 

&lt;p&gt;Gotta say, 
&lt;a href=&quot;http://incubator.apache.org/abdera/&quot;&gt;Abdera&lt;/a&gt;&amp;#39;s looking better and better. It&amp;#39;s got the features (IRI support, encrytion, pluggable auth, STAX parsing, etc.) and it&amp;#39;s got &lt;a href=&quot;http://www.snellspace.com/wp/?p=782&quot;&gt;Dan&lt;/a&gt; and appears to have some good momentum going. 

At this rate, I&amp;#39;m not sure how much more work I&amp;#39;ll be putting into 
&lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomePropono&quot;&gt;ROME Propono&lt;/a&gt;. If somebody were to, just for example, contribute an Abdera based AtomPub implementation to Roller, I might have to stop entirely.&lt;/p&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/the_all_dave_feed</id>
        <title type="html">The &amp;quot;all Dave&amp;quot; feed</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/the_all_dave_feed"/>
        <published>2008-01-09T15:19:15+00:00</published>
        <updated>2008-01-09T23:19:15+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/happy_new_year_2008</id>
        <title type="html">Happy New Year 2008</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/happy_new_year_2008"/>
        <published>2008-01-01T23:54:24+00:00</published>
        <updated>2008-01-02T08:31:41+00:00</updated> 
        <category term="General" label="General" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/latest_links20</id>
        <title type="html">Latest Links: Feedsync, AtomPub for SOA, OpenSocial and more</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/latest_links20"/>
        <published>2007-12-06T14:00:10+00:00</published>
        <updated>2007-12-07T01:41:00+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensocial" scheme="http://roller.apache.org/ns/tags/" />
        <category term="socialsoftware" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.snellspace.com/wp/?p=818&quot;&gt;snellspace.com: Sync!&lt;/a&gt;&lt;br&gt; &amp;quot;Within the course of implementing several Atompub servers, the issue of â&#128;&#156;feed synchronizationâ&#128;&#157; has come up repeatedly&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pzf.fremantle.org/2007/12/new-kind-of-soa-registry.html&quot;&gt;Paul Fremantle&amp;#39;s Blog: A new kind of (SOA) Registry&lt;/a&gt;&lt;br&gt;&amp;quot;as we looked at the REST space, we kept noticing how close the [AtomPub] is to our needs&amp;quot;&lt;/li&gt;
&lt;br&gt;


&lt;li&gt;&lt;a href=&quot;http://www.chanezon.com/pat/presos/OpenSocial_Berlin_Web_2_0_Expo_2007/OpenSocial_Berlin_Web_2_0_.html&quot;&gt;OpenSocial - Berlin Web 2.0 Expo&lt;/a&gt;&lt;br&gt;Google API evangelist Pat Chanezon&amp;#39;s OpenSocial presentation&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/opensocket/&quot;&gt;opensocket - Run OpenSocial Gadgets in Facebook&lt;/a&gt;&lt;br&gt;An OpenSocial container written as a Facebook application.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.elctech.com/2007/11/27/opensocial-container-plugin-0-0-1&quot;&gt;Ruby on Rails: OpenSocial container plugin 0.0.1&lt;/a&gt;&lt;br&gt;&amp;quot;This is a very early version, but it is under very active development &amp;quot;&lt;/li&gt;
&lt;br&gt;

&lt;li&gt;&lt;a href=&quot;http://blip.tv/file/508079&quot;&gt;IBM&amp;#39;s Carol Jones on Web 2.0 Research and Collaborative Software&lt;/a&gt;&lt;br&gt;Redmonk video discussion of Lotus Connections, Dogear, internal/private vs. external bookmarking&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.sun.com/eclectic/entry/roller_google_weblog_blog_translation&quot;&gt;Wayne Horkan&amp;#39;s weblog eclectic: Weblog language translator&lt;/a&gt;&lt;br&gt; With Roller specific functionality. Based on JavaScript and Google translation API&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.zdnet.com/BTL/?p=7207&quot;&gt;ZDNet.com: Social nets and identity fragmentation&lt;/a&gt;&lt;br&gt;FaberNovel Consulting has mapped out some trends in social networking and digital identity&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.inuus.com/talks/hi5_pug_06122007.pdf&quot;&gt;Postgres at Hi5: June 2007 user group preso&lt;/a&gt;&lt;br&gt; How unique features of PostgreSQL helped Hi5 scale (PDF presentation)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://developers.sun.com/events/communityone/pdfs/Scaling_Java_and_PostgreSQL_to_Great_Heights.pdf&quot;&gt;Scaling Java and PostgreSQL with Hyperic&lt;/a&gt;&lt;br&gt; Another perspective on PostgreSQL scalability at Hi5 (PDF presentation)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.skrenta.com/2007/05/scaling_facebook_hi5_with_memc.html&quot;&gt;Skrentablog: Scaling Facebook, Hi5 with memcached&lt;/a&gt;&lt;br&gt;&amp;quot;discussion of high volume [sites] using memcached as a critical scaling tool&amp;quot;&lt;/li&gt;
&lt;/ul&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/latest_links_nov_12_2007</id>
        <title type="html">Latest links Nov. 12, 2007: Glassfish, OpenSocial and more</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/latest_links_nov_12_2007"/>
        <published>2007-11-12T07:23:08+00:00</published>
        <updated>2007-11-12T15:23:08+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensocial" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.soundopinions.com/&quot;&gt;Sound Opinions from Chicago Public Radio and American Public Media&lt;/a&gt;&lt;br&gt; Best podcast ever&lt;/li&gt;
&lt;br&gt;

&lt;li&gt;&lt;a href=&quot;http://blogs.sun.com/theaquarium/entry/glassfish_interim_governance_board_now&quot;&gt;The Aquarium: GlassFish Interim Governance Board - Now Complete&lt;/a&gt;&lt;br&gt; &amp;quot;The complete roster is Tony, Greg Luck (Wotif.com) and Pierre Delisle (Google), and Simon and myself (Sun)&amp;quot;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://blogs.sun.com/alexismp/entry/glassfish_sjs_as_in_production&quot;&gt;Bistro!: GlassFish/SJS AS in production - which bundle, which profile, ...?&lt;/a&gt;&lt;br&gt; Explains differences between developer, cluster and enterprise profiles&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.sun.com/glassfishpodcast/&quot;&gt;GlassFish Podcast: The GlassFish Podcast&lt;/a&gt;&lt;br&gt; Finally, a Glassfish podcast! Props to Alexis Moussine-Pouchkine&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.apple.com/downloads/macosx/unix_open_source/glassfish.html&quot;&gt;Apple - Downloads - UNIX &amp;amp; Open Source - GlassFish&lt;/a&gt;&lt;br&gt; Download Glassfish V2 directly from Apple&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&amp;newsId=20071105005882&amp;newsLang=en&quot;&gt;Red Hat and Sun Collaborate to Advance Open Source Java Technology&lt;/a&gt;&lt;br&gt; &amp;quot;Red Hat has signed Sun&amp;#39;s broad contributor agreement that covers participation in all Sun-led open source projects.&amp;quot;&lt;/li&gt;
&lt;br&gt;


&lt;li&gt;&lt;a href=&quot;http://www.megginson.com/blogs/quoderat/2007/11/03/first-looks-at-opensocial-part-1-urls/&quot;&gt;Megginson: First looks at OpenSocial: part 1 (URLs)&lt;/a&gt;&lt;br&gt; Lists the URIs for the AtomPub collections available in OpenSocial&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.megginson.com/blogs/quoderat/2007/11/05/first-looks-at-opensocial-part-2-content-for-members-and-friends/&quot;&gt;Megginson: First looks at OpenSocial: part 2 (members and friends)&lt;/a&gt;&lt;br&gt; How OpenSocial members and friends are represented in Atom format&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.megginson.com/blogs/quoderat/2007/11/06/first-looks-at-opensocial-part-3-content-for-activities/&quot;&gt;Megginson: First looks at OpenSocial: part 3 (activities)&lt;/a&gt;&lt;br&gt; How OpenSocial activities are represented in Atom format and manipulated via AtomPub protocol&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.megginson.com/blogs/quoderat/2007/11/08/first-looks-at-opensocial-part-4-content-for-persistence-data/&quot;&gt;Megginson: First looks at OpenSocial: part 4 (persistence data)&lt;/a&gt;&lt;br&gt; How OpenSocial persistence is implemented via AtomPub protocol&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/opensocial-container-sample/wiki/GettingStarted&quot;&gt;Google: OpenSocial Container Sample&lt;/a&gt;&lt;br&gt; Shows &amp;quot;basic demonstration-level OpenSocial container can be implemented&amp;quot;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/2007/11/03/GoogleOpenSocialTechnicalOverviewAndCritique.aspx&quot;&gt;Dare Obasanjo: OpenSocial Tech. Overview and Critique&lt;/a&gt;&lt;br&gt; &amp;quot;Despite these misgivings, I think this is a step in the right direction. Web widget and social graph APIs need to be standardized across the Web.&amp;quot;&lt;/li&gt;
&lt;br&gt;

&lt;li&gt;&lt;a href=&quot;http://www.snellspace.com/wp/?p=799&quot;&gt;snellspace.com: Notes, Part 2&lt;/a&gt;&lt;br&gt; &amp;quot;lots and lots of things that can be modeled as collections of web resources&amp;quot;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;http://netzooid.com/blog/2007/11/08/building-services-with-atompub/&quot;&gt;netzooid: Building Services with AtomPub&lt;/a&gt;&lt;br&gt; &amp;quot;While APP is not the one true protocol, I think I?m hooked&amp;quot;&lt;/li&gt;

&lt;/ul&gt;

</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/windows_live_writer_atompub</id>
        <title type="html">Windows Live Writer + AtomPub</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/windows_live_writer_atompub"/>
        <published>2007-10-16T09:32:34+00:00</published>
        <updated>2007-10-16T16:32:34+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atomprotocol" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/creating_custom_modules_with_rome</id>
        <title type="html">Creating custom modules with ROME</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/creating_custom_modules_with_rome"/>
        <published>2007-10-15T11:26:25+00:00</published>
        <updated>2007-10-15T18:37:35+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_news_round_up</id>
        <title type="html">Latest links: AtomPub news round-up edition</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_news_round_up"/>
        <published>2007-10-12T12:31:13+00:00</published>
        <updated>2007-10-22T18:41:49+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gdata" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="movabletype" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wordpress" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">I&amp;#39;ve been in crunch-mode working on a new project, but I&amp;#39;ve been trying to keep an eye on what&amp;#39;s going on the world of &lt;a href=&quot;http://tools.ietf.org/wg/atompub/&quot;&gt;Atom Publishing Protocol&lt;/a&gt; or AtomPub as the cool kids &lt;a href=&quot;http://blog.ianbicking.org/2007/08/12/atom-publishing-protocol-atompub/&quot;&gt;call it&lt;/a&gt;. Here&amp;#39;s a wrap-up of some of the AtomPub news I&amp;#39;ve picked up on the past month or so.&amp;nbsp;</summary>
        <content type="html">&lt;p&gt;
&lt;img src=&quot;http://rollerweblogger.org/roller/resource/atom-logo75px.gif&quot; alt=&quot;atom logo&quot; align=&quot;right&quot;&gt;
I&amp;#39;ve been in crunch-mode working on a new project, but I&amp;#39;ve been trying to keep an eye on what&amp;#39;s going on the world of &lt;a href=&quot;http://tools.ietf.org/wg/atompub/&quot;&gt;Atom Publishing Protocol&lt;/a&gt; or AtomPub as the cool kids &lt;a href=&quot;http://blog.ianbicking.org/2007/08/12/atom-publishing-protocol-atompub/&quot;&gt;call it&lt;/a&gt;. Here&amp;#39;s a wrap-up of some of the AtomPub news I&amp;#39;ve picked up on the past month or so.

&lt;h3&gt;Specifications&lt;/h3&gt;

&lt;p&gt;
The big news is, of course, that AtomPub has been granted an RFC number &lt;a href=&quot;http://tools.ietf.org/html/rfc5023&quot;&gt;RFC-5023&lt;/a&gt; and is now an IETF &amp;quot;proposed standard&amp;quot; like Atom format (RFC-4287). The folks at Ricoh have provided a &lt;a href=&quot;http://www.ricoh.co.jp/src/rd/webtech/rfc5023_ja.html&quot;&gt;Japanese translation&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Extensions to AtomPub are under development and you can find a good list of them at the &lt;a href=&quot;http://xml.coverpages.org/atom.html&quot;&gt;XML Cover Pages page for Atom&lt;/a&gt;. 

One I find interesting is James Snell&amp;#39;s AtomPub &lt;a href=&quot;http://tools.ietf.org/html/draft-snell-atompub-feature-10&quot;&gt;Feature Discovery&lt;/a&gt; spec, which is designed to help AtomPub clients determine what features are supported and required by servers. The features spec is controversial and has sparked a lot of good discussion including, Brian Smith&amp;#39;s email &lt;a href=&quot;http://www.imc.org/atom-protocol/mail-archive/msg10265.html&quot;&gt;Atom Weblog Publishers Guide&lt;/a&gt; and &lt;a href=&quot;http://sberyozkin.blogspot.com/2007/09/atom-and-ws-policy.html&quot;&gt;Sergey Beryozkin&lt;/a&gt; and &lt;a href=&quot;http://netzooid.com/blog/2007/09/25/atompub-ws-policy/&quot;&gt;Dan Diephouse&amp;#39;s discussion of AtomPub and WS-Policy&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;Server implementations&lt;/h3&gt;

&lt;p&gt;
More big news to report here: the new Wordpress 2.3 release provides full support for AtomPub. Sam Ruby blogged about it in &lt;a href=&quot;http://intertwingly.net/blog/2007/08/30/WordPress-2-3-AtomPub&quot;&gt;Wordpress 2.3 loves AtomPub&lt;/a&gt; and the &lt;a href=&quot;http://codex.wordpress.org/AtomPub&quot;&gt;Wordpress 2.3 AtomPub docs&lt;/a&gt; provide a good summary and cover some limitations. 

Yesterday, Sam posted &lt;a href=&quot;http://intertwingly.net/blog/2007/10/11/Wordpress-Vigilance-and-Plans&quot;&gt;Wordpress vigilance and plans&lt;/a&gt;. He wants to get Wordpress to score a perfect 0 errors and 0 warnings on the APE tests, which means among other things preserving foreign markup.
&lt;/p&gt;

&lt;p&gt;
New releases of Apache Roller have also been updated for the final AtomPub spec. The upcoming Roller 3.1.1 and &lt;a href=&quot;http://cwiki.apache.org/confluence/display/ROLLER/What%27s+New+in+Roller+4.0&quot;&gt;Roller 4.0&lt;/a&gt; releases include AtomPub support. Both releases are up for vote now, so they should be out Real Soon 

Now. And I&amp;#39;m working on adding AtomPub support for comments for Roller 4.1, building on top of the Atom Threading Extension (&lt;a href=&quot;http://www.ietf.org/rfc/rfc4685.txt&quot;&gt;RFC-4685&lt;/a&gt;).
&lt;/p&gt;

&lt;p&gt;
I&amp;#39;ve been googling and browsing the SixApart site, but I can&amp;#39;t figure out if Movable Type 4.0 supports the final AtomPub spec. Anybody know?
&lt;/p&gt;

&lt;p&gt;
And Google has added another AtomPub based API. Read about it on &lt;span style=&quot;color:#3c3c3c;&quot;&gt;Bill de hÃ&#147;ra&amp;#39;s blog &lt;/span&gt;&lt;a href=&quot;http://www.dehora.net/journal/2007/08/youtube_via_gdata.html&quot;&gt;YouTube via GData&lt;/a&gt; and on the YouTube Developer API blog: &lt;a href=&quot;http://apiblog.youtube.com/2007/08/new-youtube-api-released-into-wild.html&quot;&gt;New YouTube API Released into the Wild&lt;/a&gt;.
&lt;/p&gt;

&lt;h3&gt;Client implementations&lt;/h3&gt;

&lt;p&gt;
In &lt;a href=&quot;http://jcheng.wordpress.com/2007/10/09/stick-a-fork-in-it/&quot;&gt;Stick a fork in it&lt;/a&gt; Joe Cheng writes &amp;quot;The Windows Live Writer team is still on track to deliver AtomPub support in the next version, which I am looking forward to immensely. Itâ&#128;&#153;s definitely an exciting time to be in the blogging tools space!&amp;quot; Based on what I saw at the last face-to-face AtomPub interop, it looks like Microsoft may have the best AtomPub-based blog client around. I wonder when MarsEdit and Ecto will get on board with AtomPub.
&lt;/p&gt;

&lt;h3&gt;Toolkits and programming libraries&lt;/h3&gt;

&lt;p&gt;I already blogged about the &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_propono_0_6_released&quot;&gt;Propono 0.6&lt;/a&gt;, a Java-based client and server library for AtomPub, which has been updated for final spec. 

Since then the Apace Abdera project has released &lt;a href=&quot;http://www.nabble.com/-Announce--Apache-Abdera-0.3.0-t4577068.html&quot;&gt;Apache Abdera (incubating) 0.3 release&lt;/a&gt; is available with a long list of improvements and new features. 
There are also a couple of &lt;a href=&quot;http://www.snellspace.com/wp/?p=770&quot;&gt;usage&lt;/a&gt; &lt;a href=&quot;http://www.snellspace.com/wp/?p=773&quot;&gt;notes&lt;/a&gt; from James Snell. 

Also on the topic of Abdera, Dan Diephouse has done some work to make &lt;a href=&quot;http://netzooid.com/blog/2007/09/04/spring-abdera/&quot;&gt;Spring and Abdera&lt;/a&gt; work well together.
&lt;/p&gt;

&lt;p&gt;The Perl &lt;a href=&quot;http://search.cpan.org/~takeru/Atompub/lib/Atompub/Client.pm#NAME&quot;&gt;AtomPub::Client at CPAN&lt;/a&gt;&lt;span style=&quot;color:#3c3c3c;&quot;&gt; has updated for final AtomPub too.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;That&amp;#39;s all I&amp;#39;ve got for now. Did I miss any important AtomPub news?&lt;/p&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/blogapps_2_1_released</id>
        <title type="html">Blogapps 2.1 released</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/blogapps_2_1_released"/>
        <published>2007-10-02T21:49:40+00:00</published>
        <updated>2008-01-04T19:46:17+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jspwiki" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rome_propono_0_6_released</id>
        <title type="html">ROME Propono 0.6 released</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rome_propono_0_6_released"/>
        <published>2007-10-01T11:20:19+00:00</published>
        <updated>2007-10-01T20:01:57+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atomprotocol" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/a_logo_for_the_ape</id>
        <title type="html">A logo for the Ape</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/a_logo_for_the_ape"/>
        <published>2007-08-23T11:47:53+00:00</published>
        <updated>2007-08-24T00:37:46+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atomprotocol" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webdev" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
Just learned from &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/08/20/Ape&quot;&gt;Tim&amp;#39;s blog&lt;/a&gt; that &lt;a href=&quot;http://www.urbanhonking.com/ideasfordozens/archives/2007/08/designing_a_log.html&quot;&gt;Greg Borenstein&lt;/a&gt; just came up with a cute logo for the Atom Protocol Exerciser (Ape), which, in case you don&amp;#39;t know, is the closest thing we have to a compatibility test for Atom servers. The logo is featured on the &lt;a href=&quot;http://www.tbray.org/ape/&quot;&gt;Ape&amp;#39;s home page&lt;/a&gt;.&lt;/p&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/resource/ape-logo.png&quot; alt=&quot;Ape logo: big ape grooms a small one&quot;&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_protocol_exerciser_ape_setup</id>
        <title type="html">Atom Protocol Exerciser (Ape) setup notes</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_protocol_exerciser_ape_setup"/>
        <published>2007-06-28T20:23:06+00:00</published>
        <updated>2008-03-01T23:37:32+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">&lt;p&gt;There&amp;#39;s some very cool Atom news from Tim Bray this week. First, there&amp;#39;s &lt;a class=&quot;external&quot; href=&quot;http://www.tbray.org/ongoing/When/200x/2007/06/25/mod_atom&quot;&gt;mod_atom&lt;/a&gt;, a plugin for the Apache HTTPD web server that provides a stripped down Atom server (written in C) that stores Atom entries as files. So now any HTTPD server can serve as a simple Atom store. 
&lt;/p&gt;&lt;p&gt;Second, Tim &lt;a class=&quot;external&quot; href=&quot;http://www.tbray.org/ongoing/When/200x/2007/06/26/Ape-Rev&quot;&gt;mentioned&lt;/a&gt; that he&amp;#39;s updated his Atom Protocol Exerciser (Ape) to support the new Atom protocol namespace and to add a couple of new tests. That&amp;#39;s perfect timing for me because I&amp;#39;m starting to work on Roller&amp;#39;s APP implementation and some other APP based things.
&lt;/p&gt;
&lt;p&gt;I need my own local copy of the Ape, so I decided to download the code an get it up and running. To make things easy, I decided to do this work on my Ubuntu system because it&amp;#39;s already setup with gcc, cvs, Apache HTTPD and Ruby. For my future reference and to help other Atom fans to get started, here are my notes from my Ape setup experience.&lt;/p&gt;</summary>
        <content type="html">&lt;p&gt;&lt;br&gt;
&lt;br&gt;
&lt;b&gt;UPDATE: things have changed quite a bit since I published this blog entry. There is now a Ruby Gem for installing Ape and the process is &lt;i&gt;much&lt;/i&gt; easier than the one I describe here. See Sam Ruby&amp;#39;s post &lt;a class=&quot;external&quot; href=&quot;http://intertwingly.net/blog/2008/02/28/Migratory-Ape&quot;&gt;Migratory Ape&lt;/a&gt; for details - Dave (March 1, 2008)&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;p&gt;There&amp;#39;s some very cool Atom news from Tim Bray this week. First, there&amp;#39;s &lt;a class=&quot;external&quot; href=&quot;http://www.tbray.org/ongoing/When/200x/2007/06/25/mod_atom&quot;&gt;mod_atom&lt;/a&gt;, a plugin for the Apache HTTPD web server that provides a stripped down Atom server (written in C) that stores Atom entries as files. So now any HTTPD server can serve as a simple Atom store. 
&lt;/p&gt;
&lt;p&gt;Second, Tim &lt;a class=&quot;external&quot; href=&quot;http://www.tbray.org/ongoing/When/200x/2007/06/26/Ape-Rev&quot;&gt;mentioned&lt;/a&gt; that he&amp;#39;s updated his Atom Protocol Exerciser (Ape) to support the new Atom protocol namespace and to add a couple of new tests. That&amp;#39;s perfect timing for me because I&amp;#39;m starting to work on Roller&amp;#39;s APP implementation and some other APP based things.
&lt;/p&gt;
&lt;p&gt;I need my own local copy of the Ape, so I decided to download the code an get it up and running. To make things easy, I decided to do this work on my Ubuntu system because it&amp;#39;s already setup with gcc, cvs, Apache HTTPD and Ruby. For my future reference and to help other Atom fans to get started, here are my notes from my Ape setup experience.
&lt;/p&gt;
&lt;p&gt;
&lt;h4 id=&quot;section-dummyPage-SettingUpTheLatestRuby&quot;&gt;Setting up the latest Ruby#&lt;/h4&gt;
&lt;p&gt;Tim told me that the Ape needs Ruby 1.8.6, but Ubuntu has only 1.8.4 and apt-get upgrade ruby didn&amp;#39;t help so I downloaded and built 1.8.6 myself. Here&amp;#39;s what I did:
&lt;/p&gt;
&lt;pre&gt;
% wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
% tar xzvf ruby-1.8.6.tar.gz
% cd ruby-1.8.6
% ./configure
% make
% sudo make install
&lt;/pre&gt;
&lt;p&gt;Once the make install finished, I found that I had a fresh new copy of Ruby in /usr/local. Next, I set up my environment for running Ruby by adding the following three lines to my .bashrc file.
&lt;/p&gt;
&lt;pre&gt;
export RUBY_HOME=/usr/local
export RUBYLIB=$RUBY_HOME/lib/ruby:$PREFIX/lib/site_ruby/1.8
PATH=$RUBY_HOME/bin:$PATH
&lt;/pre&gt;
&lt;p&gt;
&lt;h4 id=&quot;section-dummyPage-SettingUpTheLatestRubyGemsAndBuilder&quot;&gt;Setting up the latest RubyGems and Builder#&lt;/h4&gt;
&lt;p&gt;But that&amp;#39;s not all the Ruby you need for the Ape, you also need some RubyGems so I downloaded and built the latest version of that too. I followed nearly the same steps as with Ruby:
&lt;/p&gt;
&lt;pre&gt;
% wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
% tar xzvf rubygems-0.9.4.tgz
% cd rubygems-0.9.4
% ./configure
% make
% sudo make install
&lt;/pre&gt;
&lt;p&gt;Next, I setup environment for running RubyGems by adding GEM_HOME to my .bashrc. I did this by adding the following line after the definition of RUBY_HOME.
&lt;/p&gt;
&lt;pre&gt;
export GEM_HOME=$RUBY_HOME/lib/ruby/gems/1.8 
&lt;/pre&gt;
&lt;p&gt;Ape needs the RubyGems Builder, so I ran this command to get the latest version of the Builder from the RubyGems repository:
&lt;/p&gt;
&lt;pre&gt;
% sudo gem install builder
&lt;/pre&gt;
&lt;p&gt;
&lt;h4 id=&quot;section-dummyPage-DownloadingApe&quot;&gt;Downloading Ape#&lt;/h4&gt;
&lt;p&gt;Finally, I&amp;#39;ve got enough Ruby in place to get going. So next I got the latest source for the Ape. Unfortunately, I think you need a Java.net account for this part. Here&amp;#39;s what I did:
&lt;/p&gt;
&lt;pre&gt;
% cd /home/dave/src.downloads
% cvs -d :pserver:snoopdave@cvs.dev.java.net:/cvs login
% cvs -d :pserver:snoopdave@cvs.dev.java.net:/cvs checkout ape 
&lt;/pre&gt;
&lt;h4 id=&quot;section-dummyPage-SettingUpAnHTTPDScriptAliasForRunningTheApe&quot;&gt;Setting up an HTTPD ScriptAlias for running the Ape #&lt;/h4&gt;
&lt;p&gt;Next, I created a ScriptAlias so I can run the Ape via CGI. I did this by adding the following to the end of my Apache config file (/etc/apache2/apache2.conf on Ubuntu):
&lt;/p&gt;
&lt;pre&gt;
ScriptAlias /apecgi/ /home/dave/src.downloads/ape/src/
&amp;lt;Directory /home/dave/src.downloads/ape/src/&amp;gt;
   Options +ExecCGI
&amp;lt;/Directory&amp;gt;
&lt;/pre&gt;
&lt;p&gt;The Ape scripts don&amp;#39;t the have the #!/path/to/ruby line that you&amp;#39;d expect to find in a CGI script, so initially I couldn&amp;#39;t figure out how to get them to run. I pinged Tim and he told me that he uses a bash CGI script to run the Ape&amp;#39;s entry-point go.rb script. Following Tim&amp;#39;s example, I created a file named &amp;quot;go&amp;quot; in the Ape src directory with the following contents:
&lt;/p&gt;
&lt;pre&gt;
#!/bin/bash
export RUBY_HOME=/usr/local
export GEM_HOME=$RUBY_HOME/lib/ruby/gems/1.8 
export RUBYLIB=$RUBY_HOME/lib/ruby:$PREFIX/lib/site_ruby/1.8
PATH=$RUBY_HOME/bin:$PATH
export PATH
ruby go.rb
&lt;/pre&gt;
&lt;h4 id=&quot;section-dummyPage-PuttingTheApeHTMLFormInPlace&quot;&gt;Putting the Ape HTML form in place#&lt;/h4&gt;
&lt;p&gt;So the Ape code is in place and ready to run, but I still need to serve Ape&amp;#39;s HTML form. I decided to serve the form from HTTPD docroot, so I created a directory for it mkdir /var/www/ape. Then I went looking for the HTML form. Turns out, it&amp;#39;s not in CVS. So I browsed to &lt;a class=&quot;external&quot; href=&quot;http://tbray.org/ape&quot;&gt;http://tbray.org/ape&lt;/a&gt; and used Firefox&amp;#39;s &amp;quot;Save Page As...&amp;quot; and &amp;quot;Web Page, complete&amp;quot; to save index.html. Then I copied that index.html file into /var/www/ape and modified the  action to point to /apecgi/go.
&lt;/p&gt;
&lt;h4 id=&quot;section-dummyPage-AndOffWeGo...&quot;&gt;And off we go...#&lt;/h4&gt;
&lt;p&gt;Finally, I restarted Apache via sudo apache2ctl restart, browsed to http://localhost/ape and found Ape there, ready to roll. 
&lt;/p&gt;
&lt;p&gt;That was a lot more complicated that I had expected; makes me wonder if I&amp;#39;m the first person (other than Tim, of course) to deploy the Ape.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/latest_links17</id>
        <title type="html">Latest links: do you Dare criticize the APP?</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/latest_links17"/>
        <published>2007-06-11T09:47:42+00:00</published>
        <updated>2007-06-11T16:47:47+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="protocol" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;There was quite a flurry of blogging about the Atom Publishing Protocol (APP) over the weekend, all kicked off by Dare Obasanjo&amp;#39;s criticisms of the protocol. Some of the posts were critical of Dare and his motives, but I&amp;#39;m thankful he started the conversation. Here&amp;#39;s the dump from my del.icio.us account:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/2007/06/09/WhyGDataAPPFailsAsAGeneralPurposeEditingProtocolForTheWeb.aspx&quot; rel=&quot;nofollow&quot;&gt;Dare Obasanjo: Why GData/APP Fails as a General Purpose Editing Protocol for the Web&lt;/a&gt; - Good only for microcontent, no support for partial updates, poor support for hierarchy and &amp;quot;we [Microsoft] will likely standardize on a different RESTful protocol&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.dehora.net/journal/2007/06/app_on_the_web_has_failed_miserably_utterly_and_completely.html&quot; rel=&quot;nofollow&quot;&gt;Bill de hÃ&#147;ra: APP on the Web has failed: miserably, utterly, and completely&lt;/a&gt; - APP editor Bill de hÃ&#147;ra responds to Dare&amp;#39;s APP critique&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.snellspace.com/wp/?p=681&quot; rel=&quot;nofollow&quot;&gt;snellspace.com: Silly&lt;/a&gt;: James Snell responds to Dare&amp;#39;s APP critique. Cites usage of APP in Lotus Connections.&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://bitworking.org/news/197/In-which-we-narrowly-save-Dare-from-inventing-his-own-publishing-protocol&quot; rel=&quot;nofollow&quot;&gt;Joe Gregorio: In which we narrowly save Dare from inventing his own publishing protocol&lt;/a&gt;: APP editor Joe Gregorio&amp;#39;s point-by-point response to Dare&amp;#39;s APP criticisms&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.megginson.com/blogs/quoderat/2007/06/09/rest-the-lost-update-problem-and-the-sneakernet-test/&quot;&gt;David Megginson: REST, the lost update and the sneakernet test&lt;/a&gt;: - &amp;quot;Without exclusive locks, thereâ&#128;&#153;s no way to &lt;i&gt;avoid&lt;/i&gt; this problem, but it is possible to &lt;i&gt;detect&lt;/i&gt; it.&amp;quot;&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/06/10/So-Lame&quot; rel=&quot;nofollow&quot;&gt;Tim Bray: Iâ&#128;&#153;ve Seen This Movie&lt;/a&gt;: Tim Bray responds to Dare&amp;#39;s post: &amp;quot;Microsoft has tried to swim against the current of the Internet a few times before&amp;quot;&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.snellspace.com/wp/?p=683&quot; rel=&quot;nofollow&quot;&gt;snellspace.com: Beyond APP - Partial updates&lt;/a&gt;: Dare&amp;#39;s post inspires James to post a strawman proposal for using HTTP PATCH to implement partial updates w/Atom.&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://kfahlgren.com/blog/2007/06/10/partial-updates-a-simpler-strawman/&quot; rel=&quot;nofollow&quot;&gt;Keith Fahlgren: Partial Updates, a simpler strawman&lt;/a&gt;: &amp;quot;The basic inspiration is thinking about each operation as an XSLT template&amp;quot;&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.snellspace.com/wp/?p=684&quot; rel=&quot;nofollow&quot;&gt;snellspace.com: Partial Updates in APP, Part 2&lt;/a&gt;: James responds to Keith&amp;#39;s simpler strawman.&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.25hoursaday.com/weblog/2007/06/11/GDataIsntABestPracticeImplementationOfTheAtomPublishingProtocol.aspx&quot; rel=&quot;nofollow&quot;&gt;Dare Obasanjo: GData isn&amp;#39;t a Best Practice Implementation of the Atom Publishing Protocol&lt;/a&gt;: Dare responds to the flurry of APP posts he kicked off
&lt;/li&gt;&lt;/ul&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/friday_atom_and_rest_links</id>
        <title type="html">Friday Atom and REST links</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/friday_atom_and_rest_links"/>
        <published>2007-05-25T22:30:40+00:00</published>
        <updated>2007-05-26T05:30:40+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">A bunch of Atom and REST related links that I came across while catching up with my blog reading today:&lt;br&gt;&lt;p&gt;&lt;a href=&quot;http://blogs.sun.com/treydrake/entry/atom_and_ldap_sitting_in&quot;&gt;Atom and LDAP sitting in a tree&lt;/a&gt;. Trey Drake has released his OpenDS based Atom store as an open source project on Java.net at &lt;a href=&quot;http://atom.dev.java.net/&quot;&gt;http://atom.dev.java.net&lt;/a&gt;. It&amp;#39;s a directory server distributed as a Java web application that supports both Atom Publishing Protocol (APP) and Lightweight Directory Access Protocol (LDAP).&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/xml/library/x-atomencryption/&quot;&gt;Signing, encrypting and decrypting Atom&lt;/a&gt;. On IBM developerWorks, Nicolas Chase explains how &amp;quot;digital signatures and encryption can easily mesh with Atom data using the Apache Abdera API.&amp;quot; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a class=&quot;TitleLinkStyle&quot; href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=2a46fd53-67bf-4363-9c65-370984aaa79b&quot;&gt;Google GData: A Uniform Web API for All Google Services&lt;/a&gt;. Dare Obasanjo praises Google for creating a single uniform and RESTful web services API for eight of its key services, the APP based GData API. He writes &amp;quot;not only is it now possible to create a single library that knows how to talk to all of Google&amp;#39;s existing &lt;i&gt;and future &lt;/i&gt;Web
services since they all use GData. It is also a lot easier to provide &amp;#39;tooling&amp;#39; for these services than it would be for Yahoo&amp;#39;s family of Web
services given that they use a simple and uniform interface.&amp;quot;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://blogs.sun.com/geertjan/entry/rest&quot;&gt;RESTful web services support in Netbeans&lt;/a&gt;. Geertjan links to blog entries and a screen-cast that explain Netbeans 6.0 support for RESTful web services, including the early access &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=311&quot;&gt;JSR-311&lt;/a&gt; REST API.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://blogs.sun.com/theaquarium/entry/rest_compile_now_generating_php&quot;&gt;Generate code from your WADL REST API&lt;/a&gt;. Eduardo at The Aquarium links to &lt;a href=&quot;http://blog.tomayac.de/index.php?date=2007-05-23#17:08:48&quot;&gt;Thomas Steiner&lt;/a&gt; who is making progress on a WADL editor and a generator, bringing WSDL-like code generation to RESTful web services.&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/what_exactly_is_rss_anyway</id>
        <title type="html">What exactly is RSS anyway?</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/what_exactly_is_rss_anyway"/>
        <published>2007-05-16T10:48:56+00:00</published>
        <updated>2007-05-16T18:05:37+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/the_apache_lucene_gdata_server</id>
        <title type="html">The Apache Lucene GData server project</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/the_apache_lucene_gdata_server"/>
        <published>2007-05-15T22:18:21+00:00</published>
        <updated>2007-05-16T05:19:05+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;blockquote&gt;&lt;a href=&quot;http://planetgerman.blogspot.com/2007/05/apache-lucene-gdata-server-uses-db4o.html&quot;&gt;German Viscuso&lt;/a&gt;: Generally spoken &lt;a href=&quot;http://code.google.com/apis/gdata/overview.html&quot;&gt;GData&lt;/a&gt; provides a
general interface to make information available even beyond a browser
context by providing a single API that could be used to query, update,
and index structured data anywhere on the web.&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family:arial;&quot;&gt; Could GData become a &lt;/span&gt;&lt;a style=&quot;font-family:arial;&quot; href=&quot;http://jeremy.zawodny.com/blog/archives/006687.html&quot;&gt;simple and open replacement&lt;/a&gt;&lt;span style=&quot;font-family:arial;&quot;&gt; for all the proprietary communications  protocols currently in use by database vendors?&lt;/span&gt;&lt;/blockquote&gt;

Interesting thoughts. I&amp;#39;ve heard about the Atom Publishing Protocol (APP) based &lt;a href=&quot;http://dev.lucene-ws.net/wiki/API&quot;&gt;Lucene Web Services API&lt;/a&gt;, but I hadn&amp;#39;t heard about the Apache Lucene GData server project. Atom protocol is moving fast, especially considering the fact that it&amp;#39;s not finished.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/ts_6029_beyond_blogging_feeds</id>
        <title type="html">TS-6029 - Beyond Blogging: Feeds in Action</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/ts_6029_beyond_blogging_feeds"/>
        <published>2007-05-10T16:27:29+00:00</published>
        <updated>2007-05-10T23:27:29+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/app_and_openid_at_javaone</id>
        <title type="html">APP and OpenID at JavaOne</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/app_and_openid_at_javaone"/>
        <published>2007-05-07T14:43:56+00:00</published>
        <updated>2007-05-07T21:43:53+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone2007" scheme="http://roller.apache.org/ns/tags/" />
        <category term="openid" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://blogs.sun.com/treydrake/entry/atom_app_openid_and_opends&quot;&gt;Trey Drake&lt;/a&gt;: How do you demo a directory server?  Build cool apps around it.  To that end, we&amp;#39;ve built an &lt;a href=&quot;http://en.wikipedia.org/wiki/Atom_%28standard%29&quot;&gt;Atom/APP&lt;/a&gt;
server, a lightweight OpenID server, a blogging and &amp;quot;twitter&amp;quot; like app
- all powered by OpenDS. Drop by our booth (Glassfish alley at
CommunityONE and .org section of the pavilion during JavaONE). &lt;a href=&quot;http://blogs.sun.com/ludo&quot;&gt;Ludo&lt;/a&gt; and I will introduce OpenDS and show off the demos in two talks; today at &lt;a href=&quot;http://developers.sun.com/events/communityone/track2.jsp&quot;&gt;CommunityONE&lt;/a&gt; at 5PM and Wednesday at 1:30 in the CommunityCorner.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Very cool. I&amp;#39;m not going to be the only one talking about Atom protocol at JavaOne. I&amp;#39;ll have to stop by the CommunityCorner, that sounds too good to miss.&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/propono_0_5_released</id>
        <title type="html">Propono 0.5 released</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/propono_0_5_released"/>
        <published>2007-04-23T15:32:10+00:00</published>
        <updated>2007-04-23T22:32:10+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atomprotocol" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="metaweblogapi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="romepropono" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">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;.</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/app_interop_follow_up</id>
        <title type="html">APP interop follow-up</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/app_interop_follow_up"/>
        <published>2007-04-22T19:59:19+00:00</published>
        <updated>2007-04-23T03:00:55+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="propono" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/wso2_web_services_mashup_server</id>
        <title type="html">WSO2 Web Services Mashup Server</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/wso2_web_services_mashup_server"/>
        <published>2007-04-18T01:17:17+00:00</published>
        <updated>2007-04-18T08:17:46+00:00</updated> 
        <category term="General" label="General" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">I was wondering what web services vendor &lt;a href=&quot;http://wso2.org/&quot;&gt;WSO2&lt;/a&gt; was doing at the APP interop event. &lt;a href=&quot;http://www.bloglines.com/blog/sanjiva?id=201&quot;&gt;Turns out&lt;/a&gt;, they&amp;#39;ve got a &amp;quot;&lt;a href=&quot;http://wso2.org/library/1078&quot;&gt;Web Services Mashup Server&lt;/a&gt;&amp;quot; in the works.</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/app_interop_day_2</id>
        <title type="html">APP interop event day #2</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/app_interop_day_2"/>
        <published>2007-04-18T01:16:33+00:00</published>
        <updated>2007-04-18T08:17:05+00:00</updated> 
        <category term="Sun" label="Sun" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;The Atom Publishing Protocol interop event is over and now I&amp;#39;m catching up on blogs and email in my hotel room in Mountain View, CA. In the end, I was able to run &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_propono_0_4_released&quot;&gt;ROME Propono&lt;/a&gt; successfully against Blogger/GData, AOL Journals and Wordpress. I also found a dozen small problems in Propono and in the Roller APP server.&lt;/p&gt;&lt;p&gt;For more information on the event, check O&amp;#39;Reilly&amp;#39;s Keith Fahlgren&amp;#39;s summary of the event titled &lt;a href=&quot;http://www.oreillynet.com/xml/blog/2007/04/atom_publishing_protocol_inter.html&quot;&gt;Atom Publishing Protocol a Success&lt;/a&gt;. Keith mentions that &amp;quot;big industry players like AOL, Google, IBM, Microsoft, Oracle, and Sun
are working on APP clients and servers and sent people to the interop
event with interesting code&amp;quot; and I agree that&amp;#39;s definitely a good sign for the protocol. &lt;/p&gt;&lt;p&gt;I thought it was particularly interesting that database vendors IBM and Oracle
showed up with DB2 and Oracle-backed Atom stores. If Google&amp;#39;s half-dozen
or so Atom protocol based services aren&amp;#39;t enough make you stand up and
take notice, surely that should get your attention. &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/app_interop_event_day_1</id>
        <title type="html">APP interop event day #1</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/app_interop_event_day_1"/>
        <published>2007-04-17T10:24:47+00:00</published>
        <updated>2007-04-17T17:24:47+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Day one of the &lt;a href=&quot;http://www.ietf.org/html.charters/atompub-charter.html&quot;&gt;Atom&lt;/a&gt; Publishing Protocol (APP) &lt;a href=&quot;http://www.intertwingly.net/wiki/pie/April2007Interop&quot;&gt;interop event&lt;/a&gt; was a success, at least from my point-of-view. I was able to test the &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_propono_0_4_released&quot;&gt;Propono&lt;/a&gt; client against Blogger.com/GData, AOL Journals and an implementation from Oracle. I found and fixed problems in Roller&amp;#39;s APP implementation. Plus, it was great to meet all of the good folks implementing Atom and to get a close look at the Google campus. I&amp;#39;m getting ready to drive back to Google now so... gotta go. &lt;/p&gt;&lt;p&gt;Check out Tim Bray&amp;#39;s blog for some &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/04/16/Interop&quot;&gt;photos of the event&lt;/a&gt;. &lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rome_propono_0_4_released</id>
        <title type="html">ROME Propono 0.4 released</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rome_propono_0_4_released"/>
        <published>2007-04-10T15:20:26+00:00</published>
        <updated>2007-04-11T01:18:33+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/planet_sun_com</id>
        <title type="html">planet.sun.com</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/planet_sun_com"/>
        <published>2007-04-07T18:28:39+00:00</published>
        <updated>2007-04-08T01:30:49+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="planet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_protocol_interop_event</id>
        <title type="html">Atom protocol interop event</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_protocol_interop_event"/>
        <published>2007-04-05T17:16:06+00:00</published>
        <updated>2007-04-06T00:16:19+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">I just got approval to attend the &lt;a href=&quot;http://www.intertwingly.net/wiki/pie/April2007Interop&quot;&gt;Atom protocol interop event&lt;/a&gt; at Google April 16 and 17. I&amp;#39;ll be bringing at least three Atom protocol implementations: Roller&amp;#39;s Atom server, Propono&amp;#39;s simple file-based Atom server and Propono&amp;#39;s Atom client. &lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_protocol_as_the_substrate</id>
        <title type="html">Atom protocol as the substrate for reliable messaging</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_protocol_as_the_substrate"/>
        <published>2007-04-05T16:48:03+00:00</published>
        <updated>2007-04-06T15:30:52+00:00</updated> 
        <category term="Feeds" label="Feeds" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;I&amp;#39;ve heard the argument before that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;REST&lt;/a&gt; approach to web services doesn&amp;#39;t give you reliable messaging and that&amp;#39;s the reason you need to stick with WS-*. Today Bill de hÃ&#147;ra &lt;a href=&quot;http://www.dehora.net/journal/2007/04/step_3.html&quot;&gt;disputes that notion&lt;/a&gt; with an interesting and somewhat provocative post that mentions a couple of specs for messaging via HTTP (&lt;a href=&quot;http://www.dehora.net/doc/httplr/draft-httplr-01.html&quot;&gt;HTTPLR&lt;/a&gt; and &lt;a href=&quot;http://www.microsoft.com/biztalk/techinfo/whitepapers/2000/framwork20.mspx&quot;&gt;BTF&lt;/a&gt;) and argues that Atom protocol can serve as the basis for web-scale reliable messaging. &lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://www.dehora.net/journal/2007/04/step_3.html&quot;&gt;Bill de hÃ&#147;ra&lt;/a&gt;: There are a number of reasons to choose Atom Protocol as the substrate for web-scale reliable messaging. First, &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/04/02/APP-Interop&quot;&gt;a ton of software will be written to target  APP&lt;/a&gt;
in the next few years, and there is plenty of scope for extending the
protocol; this suggests openly available and flexible software stacks.
Second, since all document collections in Atom Protocol are served as &lt;a href=&quot;http://www.ietf.org/rfc/rfc4287&quot;&gt;Atom Feeds&lt;/a&gt;,
it has inherent support for systems management and end to end
reconciliation. Third, Atom entries have identity and are natural
envelopes, unlike SOAP, where identity and true enveloping requires
further specification (essentially raw Atom presents a better basis for
interoperation than raw SOAP). Fourth, Atom Protocol can support binary
content transmission not just XML, and thus can transmit arbitrary
payloads. Finally, because Atom Protocol respects media types and
deployed HTTP infrastructure, independent proxy inspection and security
check-pointing can be installed cleanly, also eliminating the need to
rewrite 2 stack layers and buy XML appliances to support and secure
SOAP backed web services. It seems to be a question of when, rather
than if, this will get built out. &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I would have blogged about this earlier today, but Bill&amp;#39;s blog looked foobar and I didn&amp;#39;t realize that today is &lt;a href=&quot;http://naked.dustindiaz.com/&quot;&gt;CSS Naked Day&lt;/a&gt;. My blog doesn&amp;#39;t look half bad naked. &lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/javaone_beyond_blogging_feeds_in</id>
        <title type="html">@JavaOne: Beyond Blogging: Feeds in Action</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/javaone_beyond_blogging_feeds_in"/>
        <published>2007-04-04T17:32:34+00:00</published>
        <updated>2011-03-05T14:03:31+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="feeds" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="propono" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <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;</summary>
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/latest_links14</id>
        <title type="html">Latest links: March 21, 2007</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/latest_links14"/>
        <published>2007-03-21T22:42:13+00:00</published>
        <updated>2007-03-22T06:44:50+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://weblogs.java.net/blog/davidvc/archive/2007/03/why_use_atom_pu_1.html&quot;&gt;David Van Couvering: Why use Atom Publishing Protocol for REST?&lt;/a&gt;&lt;br&gt; &amp;quot;Why not just use HTTP and JSON and have done with it?&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://google-code-updates.blogspot.com/2007/03/ode-to-hibernate.html&quot;&gt;Max Ross: Ode to Hibernate (and Shards)&lt;/a&gt;&lt;br&gt; &amp;quot;Shards, a framework that adds support for horizontal partitioning (or in Google parlance, &amp;quot;sharding&amp;quot;) to Hibernate Core&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.snellspace.com/wp/?p=625&quot;&gt;James Snell: Don&amp;#39;t Panic&lt;/a&gt;&lt;br&gt; &amp;quot;it is possible to get very far with nothing but the base APP protocol.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://torrez.us/archives/2007/03/21/525/&quot;&gt;Elias Torres: Is AtomPP for or not for blogs?&lt;/a&gt;&lt;br&gt; &amp;quot;we&amp;#39;ll probably have to do some good amount of extra work in defining how blogging clients will interact with a blogging service&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://robubu.com/?p=26&quot;&gt;Rob Yates: Atom Publishing Protocol - not enough for blogs?&lt;/a&gt;&lt;br&gt; Rob wants a guide that &amp;quot;allows blogging clients to be interoperable with blogging servers&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imc.org/atom-protocol/mail-archive/msg08755.html&quot;&gt;Re: I-D ACTION:draft-ietf-atompub-protocol-14.txt&lt;/a&gt;&lt;br&gt; Roy Fielding: &amp;quot;the sky is not falling, and AtomPP implementations will interoperate just fine&amp;quot;&lt;/li&gt;
&lt;/ul&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/newsgator_launches_java_me_powered</id>
        <title type="html">Newsgator launches Java ME powered feed reader</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/newsgator_launches_java_me_powered"/>
        <published>2007-03-15T12:06:36+00:00</published>
        <updated>2007-03-15T20:06:36+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javame" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/sun_web_developer_pack_r1</id>
        <title type="html">Sun Web Developer Pack R1 with RSS and Atom goodies</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/sun_web_developer_pack_r1"/>
        <published>2007-03-12T21:20:29+00:00</published>
        <updated>2007-03-13T16:14:04+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="swdp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="web20" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">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.</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/javaone1</id>
        <title type="html">JavaOne here I come!</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/javaone1"/>
        <published>2007-03-02T21:28:09+00:00</published>
        <updated>2007-03-03T08:47:36+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_protocol_powered_blogging_portlet</id>
        <title type="html">Atom protocol powered Blogging Portlet</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_protocol_powered_blogging_portlet"/>
        <published>2007-02-12T23:17:17+00:00</published>
        <updated>2007-02-13T08:22:08+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="portlet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Jeffrey Blattman has put together a &lt;a href=&quot;http://blogs.sun.com/jtb/entry/blogging_portlet&quot;&gt;new Portlet&lt;/a&gt; that makes it possible to blog via Atom Publishing Protocol (APP) from a portal page. He&amp;#39;s added it to the &lt;a href=&quot;https://portlet-repository.dev.java.net/&quot;&gt;Open Source Portlet Repository&lt;/a&gt; on Java.net so you can try it out against your favorite APP server.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/app_interop</id>
        <title type="html">APP interop at E-Tech</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/app_interop"/>
        <published>2007-01-29T23:42:10+00:00</published>
        <updated>2007-01-30T07:42:10+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://www.snellspace.com/wp/?p=599&quot;&gt;
James Snell&lt;/a&gt; brings news of an &lt;a href=&quot;http://www.imc.org/atom-protocol/mail-archive/msg08068.html&quot;&gt;Atom Publishing Protocol (APP) interop&lt;/a&gt; event to occur in March at the &lt;a href=&quot;http://conferences.oreillynet.com/etech/&quot;&gt;O&amp;#39;Reilly E-Tech&lt;/a&gt; conference. I&amp;#39;d love to use that as an excuse to go to to E-Tech, since my current work involves APP in ROME and Roller, but it sounds like I can participate remotely. &lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/placeblogger</id>
        <title type="html">Placeblogger</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/placeblogger"/>
        <published>2007-01-03T08:14:59+00:00</published>
        <updated>2007-01-03T16:15:34+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rich_burridge_s_blog_to</id>
        <title type="html">Rich Burridge&amp;#39;s blog-to-book blogapp</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rich_burridge_s_blog_to"/>
        <published>2007-01-02T14:55:15+00:00</published>
        <updated>2007-01-02T22:55:15+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/farewell_to_2006</id>
        <title type="html">Farewell to 2006</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/farewell_to_2006"/>
        <published>2006-12-31T23:11:21+00:00</published>
        <updated>2007-01-01T07:17:33+00:00</updated> 
        <category term="General" label="General" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="family" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/new_atom_spec_and_queen</id>
        <title type="html">New Atom protocol spec draft and Queen City planets</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/new_atom_spec_and_queen"/>
        <published>2006-12-27T16:50:19+00:00</published>
        <updated>2006-12-28T00:52:49+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="app" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webdev" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://bitworking.org/news/Atom_Publishing_Protocol_Draft_12&quot;&gt;Joe Gregorio announces&lt;/a&gt; a new &lt;a href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-12.html&quot;&gt;Atom Publishing Protocol Spec (draft #12)&lt;/a&gt; and he says it might end up being the final. I guess it&amp;#39;s time for a new &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;Blogapps&lt;/a&gt; release with APP draft #12 and &lt;a href=&quot;http://rollerweblogger.org/roller/entry/rome_0_9_beta_is&quot;&gt;ROME 0.9&lt;/a&gt; support.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Plus, Joe has put together a set of new &lt;a href=&quot;http://bitworking.org/news/Charlotte_Mecklenburg_County__NC&quot;&gt;planet sites for towns in the Charlotte, NC area&lt;/a&gt;; all based on feeds from Google Base, Google Blogs, Google News, Craigs List, Flickr and the Weather Service. The sites look useful, but the ads combined with the minimalist design make them look a little spammy on first glance. Perhaps a short &amp;quot;about this site&amp;quot; paragraph is in order.&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/planet_in_a_mind_map</id>
        <title type="html">Roller-Planet mind map</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/planet_in_a_mind_map"/>
        <published>2006-12-22T22:16:15+00:00</published>
        <updated>2006-12-24T04:20:07+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="planet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers1</id>
        <title type="html">JavaOne 2007 call for papers closes today</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/javaone_2007_call_for_papers1"/>
        <published>2006-12-15T08:52:44+00:00</published>
        <updated>2006-12-15T21:50:33+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rome_0_9_beta_is</id>
        <title type="html">ROME 0.9 (beta) is available</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rome_0_9_beta_is"/>
        <published>2006-12-11T18:52:49+00:00</published>
        <updated>2006-12-12T22:24:27+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <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;</summary>
        <content type="html">&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;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/apache_abdera_0_2_0</id>
        <title type="html">Apache Abdera 0.2.0 (incubating) released</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/apache_abdera_0_2_0"/>
        <published>2006-12-07T11:45:49+00:00</published>
        <updated>2006-12-07T19:48:16+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Abdera is an open source Atom parser, generator, client and server tool-kit for Java. James Snell &lt;a href=&quot;http://www.snellspace.com/wp/?p=556&quot;&gt;announced a new version of Apache Abdera&lt;/a&gt; (incubating) the other day and the feature list is impressive, especially for a &amp;quot;0.2.0&amp;quot; release. Here&amp;#39;s an excerpt:&lt;br&gt; &lt;/p&gt;&lt;blockquote&gt;The goal of the Apache Abdera project is to build a
functionally-complete, high-performance implementation of the IETF Atom
Syndication Format (RFC 4287) and Atom Publishing Protocol
(in-progress) specifications. [... incubator blah blah blah ...]&lt;br&gt;&lt;ul&gt;&lt;li&gt;A reworked API that improves usability&lt;/li&gt;&lt;li&gt;Decoupled extensions from the underlying parser implementation&lt;/li&gt;&lt;li&gt;An Atom Publishing Protocol client implementation&lt;/li&gt;&lt;li&gt;Updated support for the current Atom Publishing Protocol draft specification&lt;/li&gt;&lt;li&gt;Added support for Internationalized Resource Identifiers (IRIs)&lt;/li&gt;&lt;li&gt;Improved Thread Safety&lt;/li&gt;&lt;li&gt;Fixed a number of Classloader issues that kept Abdera from working properly in application server environments.&lt;/li&gt;&lt;li&gt;Improved Javadocs&lt;/li&gt;&lt;li&gt;Added test cases and sample code&lt;/li&gt;&lt;li&gt;Added experimental Bidirectional Text support&lt;/li&gt;&lt;li&gt;Improved implementation of OpenSearch v1.0 and v1.1 extensions&lt;/li&gt;&lt;li&gt;Implementation of MediaRSS extensions&lt;/li&gt;&lt;li&gt;Implementation of Feed Paging and Archiving extensions&lt;/li&gt;&lt;li&gt;GoogleLogin Authentication Support&lt;/li&gt;&lt;/ul&gt;
&lt;/blockquote&gt;We might have to steal that IRI support for ROME. Actually, that&amp;#39;s something that should be built right into the Java platform. Apparently IRI support was  &lt;span style=&quot;text-decoration:underline;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5085902&quot;&gt;considered&lt;/a&gt; for Java SE 6 and something was implemented, but then &lt;a href=&quot;http://java.sun.com/javase/6/jcp/mr2/&quot;&gt;rolled back&lt;/a&gt;.&lt;br&gt;</content>
    </entry>
</feed>

