<?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=blogapps" />
    <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/" />
    <updated>2026-04-28T07:02:22+00:00</updated>
    <generator uri="http://roller.apache.org" version="6.1.5">Apache Roller</generator>
    <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/status_cc_world9</id>
        <title type="html">Status, CC: world</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/status_cc_world9"/>
        <published>2007-02-22T23:39:16+00:00</published>
        <updated>2007-02-23T07:41:52+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;In case you&amp;#39;re wondering what&amp;#39;s going on lately with Roller, ROME and other projects I&amp;#39;ve been working on, here&amp;#39;s a status update from my point-of-view.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Apache Roller graduation&lt;/b&gt;. The Roller team voted for graduation, the Apache Incubator PMC voted for incubation and the next step is to take the &lt;a href=&quot;http://www.mail-archive.com/general@incubator.apache.org/msg12416.html&quot;&gt;resolution&lt;/a&gt; to the Apache board meeting, which is coming up in the next week or so.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Roller 3.1 release&lt;/b&gt;. We&amp;#39;ve been moving slowly on this one. RC1 was released Nov. 20 and today RC4 just about ready to go. It&amp;#39;s possible that 3.1 will be our first &amp;quot;official&amp;quot; Apache Roller release -- depending on what happens on the board meeting. Wonder what&amp;#39;s coming in Roller 3.1? The &lt;a href=&quot;http://cwiki.apache.org/confluence/display/ROLLER/What%27s+new+in+Roller+3.1&quot;&gt;What&amp;#39;s New in Roller 3.1&lt;/a&gt; page is now available on our new wiki at apache.org.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Roller 4.0 development&lt;/b&gt;. We started the &lt;a href=&quot;http://cwiki.apache.org/confluence/display/ROLLER/Proposal+Roller+4.0+Release&quot;&gt;Roller 4.0&lt;/a&gt; branch a couple of weeks ago and I&amp;#39;ve been spending most of my time updating and trying to perfect Craig and Mitesh&amp;#39;s new JPA back-end. Elias outlined a bunch of IBM contributions including an iBatis based back-end. We hope to get some of those in the 4.0 and do some JPA vs. iBatis testing, but we haven&amp;#39;t seen any proposals or code yet.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Roller-Planet&lt;/b&gt;. Actually, &lt;a href=&quot;http://www.mans-end.com/&quot;&gt;Allen&lt;/a&gt;&amp;#39;s taken over work on Roller-Planet and he&amp;#39;s implementing many of the things I outlined in the Roller-Planet mind-map.
He promoted Roller-Planet from the sandbox, built a nice Struts2 UI,
added a Roller-style feed/page rendering system and Roller-style
caching. Good stuff. We have not discussed when to start making
standalone releases of Roller-Planet.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;ROME Propono&lt;/b&gt;. I&amp;#39;ve been working on a &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=2282&quot;&gt;new ROME subproject called Propono&lt;/a&gt; that will include a blog client library, an Atom protocol client library and an Atom protocol server kit. I&amp;#39;ve been quiet on the ROME dev list, but I&amp;#39;ve been working on the client bits an they&amp;#39;re basically done. I&amp;#39;m waiting for final approval to commit them to ROME CVS.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://blogapps.dev.java.net/&quot;&gt;Blogapps&lt;/a&gt; examples and server&lt;/b&gt;. I&amp;#39;m still working on a 1.0.5 release, which will include updated Atom protocol support and some bug fixes. I just haven&amp;#39;t had the time to get a release out, but I have had some time to work on Blogapps 2.0 where I&amp;#39;ve ditched the chapter-based directory names and switched to org.blogapps packaging. Once ROME Propono is available, I&amp;#39;ll include it in Blogapps 2.0 and drop my old Blog Client library.&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rome_updates</id>
        <title type="html">ROME progress</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rome_updates"/>
        <published>2006-11-15T17:58:04+00:00</published>
        <updated>2006-11-16T01:59:06+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" 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;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://rollerweblogger.org/roller/resource/rome-logo.png&quot; alt=&quot;ROME logo&quot;&gt;The &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;ROME&lt;/a&gt; mailing list has been a little quiet lately. I&amp;#39;m hoping to change that. Roller&amp;#39;s built-in planet aggregator uses ROME, Roller&amp;#39;s Atom protocol implementation does too and I recommended ROME in my &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;book&lt;/a&gt;, so I&amp;#39;d really like to see ROME continue to improve and grow. Now that I&amp;#39;m focusing on a standalone version of Roller-Planet, I&amp;#39;ve got some time to devote to those goals. Last week I cleared the bug list, this week I committed some &lt;a href=&quot;https://rome.dev.java.net/servlets/ReadMsg?list=dev&amp;amp;msgNo=1680&quot;&gt;improvements&lt;/a&gt; to ROME&amp;#39;s summary/content handling and next I&amp;#39;d like to start pushing for a ROME 1.0 release. If you&amp;#39;d like to see ROME thrive, please &lt;a href=&quot;https://rome.dev.java.net/servlets/ProjectMailingListList&quot;&gt;join the fun&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/blogapps_2_progress</id>
        <title type="html">Blogapps 2 progress</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/blogapps_2_progress"/>
        <published>2006-11-15T17:57:15+00:00</published>
        <updated>2006-11-16T02:01:31+00:00</updated> 
        <category term="Java" label="Java" />
        <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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;In my off-hours, I&amp;#39;ve started work on Blogapps 2. &lt;a href=&quot;http://blogapps.dev.java.net&quot;&gt;Blogapps&lt;/a&gt; is a collection of RSS/Atom utilities and applications based on the code from &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;. You can read more about the project in my recent &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot;&gt;Blogapps article on on Java.net&lt;/a&gt;. Up until now, I&amp;#39;ve been working alone, but now the project now has a couple of committers. &lt;a href=&quot;http://blogs.sun.com/rmandava/&quot;&gt;Ramesh Mandava&lt;/a&gt; (of the Java WSDP team) joined to help with the Blogapps 2 effort. &lt;br&gt;&lt;/p&gt;&lt;p&gt;We&amp;#39;re starting with some renaming. Instead of using chapters-oriented directories and package names, we&amp;#39;re more logical and intuitive application names. We&amp;#39;re also switching from package name com.manning.blogapps to org.blogapps. Later, I hope to update some dependencies (e.g. Apache XML-RPC 3.0), consolidate/streamline some of the utilities and explore alternatives to Tomcat/HSQLDB for the Blogapps server.&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/couple_more_rss_atom_articles</id>
        <title type="html">Couple more RSS/Atom articles online</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/couple_more_rss_atom_articles"/>
        <published>2006-11-12T09:46:20+00:00</published>
        <updated>2006-11-12T18:18:07+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;The Server Side posted an excerpt from &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt; last week. &lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=RSSAtom&quot;&gt;Chapter 2: Development kick-start&lt;/a&gt;
explains how to setup the Blogapps Server and how to post to just about
any blog server via MetaWeblog API from Java and C#. And if you&amp;#39;re
interested in that, then you&amp;#39;ll also be interested in &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot;&gt;The Blogapps Project&lt;/a&gt;, which was published on Java.net last month.&lt;/p&gt;&lt;p&gt;On the O&amp;#39;Reilly site, Mark Woodman&amp;#39;s How to &lt;a href=&quot;http://www.oreilly.com/catalog/buildrss2feeds/&quot;&gt;Build an RSS 2.0 Feed&lt;/a&gt; is now available as an O&amp;#39;Reilly Short Cut, a 56-page PDF for $7.99. &lt;a href=&quot;http://inkblots.markwoodman.com/2006/11/10/oreillys-how-to-build-an-rss-20-feed/&quot;&gt;Marks says&lt;/a&gt; that he covered RSS 2.0 from the perspective of the &lt;a href=&quot;http://www.rssboard.org/rss-profile&quot;&gt;RSS Advisory Board Profile&lt;/a&gt; (aka RSS 2.0.8), which seems like a good idea. And he covered &lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt; too.&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/new_rss_and_atom_articles</id>
        <title type="html">New RSS and Atom articles online</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/new_rss_and_atom_articles"/>
        <published>2006-11-08T17:54:10+00:00</published>
        <updated>2006-11-09T01:54:10+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" 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;The second installment of &lt;a href=&quot;http://www.snellspace.com/wp/&quot;&gt;James Snell&lt;/a&gt;&amp;#39;s
developerWorks article on Atom Publishing Protocol (APP) is online. In
part 2 he shows how to post to an Atom server and one of his examples
is Roller. If you want to try Snell&amp;#39;s example code with Roller, but you
don&amp;#39;t want to go through the trouble of installing full-on
Roller/Tomcat/MySQL, try the super easy-to-install &lt;a href=&quot;https://blogapps.dev.java.net/&quot;&gt;Blogapps Server&lt;/a&gt; bundle. &lt;/p&gt;&lt;p&gt;Here are links to parts 1 and 2 of Snell&amp;#39;s article:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www-128.ibm.com/developerworks/library/x-atompp1/&quot;&gt;

Getting to know the Atom Publishing Protocol, Part 1&lt;/a&gt;&lt;br&gt;Create and edit Web resources with the Atom Publishing Protocol

&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www-128.ibm.com/developerworks/xml/library/x-atompp2/index.html&quot;&gt;Getting to know the Atom Publishing Protocol, Part 2&lt;/a&gt;&lt;br&gt;Put the Atom Publishing Protocol (APP) to work&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And now, both parts of &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt; Chapter 4: Newsfeed Formats are online at &lt;a href=&quot;http://www.webreference.com/&quot;&gt;WebReference.com&lt;/a&gt;. The chapter includes a history of RSS and Atom newsfeed formats and diagrams that illustrate the elements each format.&lt;br&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.webreference.com/reviews/rss_atom_action/index.html&quot;&gt;Newsfeed Formats, Part 1&lt;/a&gt; &lt;br&gt;From the Birth of RSS to the Nine incompatible versions of RSS&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.webreference.com/reviews/rss_atom_action2/&quot;&gt;Newsfeed Formats, Part 2&lt;/a&gt;&lt;br&gt;the new standard: Atom&lt;/li&gt;&lt;/ul&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action8</id>
        <title type="html">RSS and Atom in Action in action</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rss_and_atom_in_action8"/>
        <published>2006-10-20T16:34:10+00:00</published>
        <updated>2006-10-25T06:57:04+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" 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.mackmo.com/nick/blog/&quot; title=&quot;Nick&amp;#39;s blog&quot;&gt;Nick Lothian&lt;/a&gt; wrote to tell me about the &lt;a href=&quot;http://blogs.educationau.edu.au/&quot;&gt;Education.au&lt;/a&gt; blog, an aggregated site that uses the PlanetTool example from Chapter 11 of RSS and Atom in Action.&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/the_blogapps_project</id>
        <title type="html">The Blogapps Project</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/the_blogapps_project"/>
        <published>2006-10-17T16:57:51+00:00</published>
        <updated>2006-10-25T06:51:27+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;img style=&quot;padding:10px;&quot; src=&quot;http://rollerweblogger.org/roller/resource/javanet-rss2.gif&quot; alt=&quot;RSS logo image&quot;&gt;&lt;br&gt;My Java.net article on the &lt;a href=&quot;http://today.java.net/pub/a/today/2006/10/17/the-blogapps-project.html&quot; target=&quot;_self&quot;&gt;Blogapps Project&lt;/a&gt; just went live today.&lt;br&gt;&lt;blockquote&gt;The Blogapps project provides what is essentially a complete RSS and Atom
development kit, which includes feed parsers, generators, blog client
libraries, an Atom protocol implementation, a set of ten useful
blogapps, and an easy-to-install blog and wiki server. This article
explains the project&amp;#39;s purpose and how to install and use the project&amp;#39;s
products, the Blogapps Examples and Blogapps Server, to jump-start your
RSS and Atom development.&lt;/blockquote&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action7</id>
        <title type="html">RSS and Atom in Action on Slashdot</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rss_and_atom_in_action7"/>
        <published>2006-10-11T19:19:45+00:00</published>
        <updated>2006-10-25T06:51:04+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;blockquote&gt;&lt;a href=&quot;http://techbook.info/&quot;&gt;Simon P. Chappell&lt;/a&gt; writes &lt;i&gt;&amp;quot;We&amp;#39;ve all seen them, those icons that decorate blogs and websites; sometimes they&amp;#39;re just little orange squares with white stripes, while others say RSS or Atom. Many of us have heard of feeds and podcasts and aggregators. What are these things and where did they come from? Well, Dave Johnson, the author of the open source Roller blogging software, is glad you asked and by way of an answer, he&amp;#39;s written RSS and Atom in Action.&amp;quot;&lt;/i&gt; &lt;a href=&quot;http://books.slashdot.org/article.pl?sid=06/10/11/1442206&amp;amp;from=rss&quot;&gt;Read the rest of Simon&amp;#39;s review&lt;/a&gt;.&lt;/blockquote&gt;Woohoo! Simon likes the book and gives it an 8/10 rating.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action6</id>
        <title type="html">RSS and Atom in Action at the JavaRanch</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rss_and_atom_in_action6"/>
        <published>2006-09-19T11:27:46+00:00</published>
        <updated>2006-10-25T06:51:32+00:00</updated> 
        <category term="Java" label="Java" />
        <category term="Java" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">I&amp;#39;m doing a &lt;a href=&quot;http://www.amazon.com/exec/obidos/redirect?tag=bloggingrolle-20&amp;amp;creative=9325&amp;amp;camp=211189&amp;amp;link_code=as2&amp;amp;path=ASIN/1932394494&quot; target=&quot;_self&quot;&gt;RSS and Atom in Action&lt;/a&gt; book promotion at &lt;a href=&quot;http://www.javaranch.com/&quot; target=&quot;_self&quot;&gt;JavaRanch&lt;/a&gt; this week in the &lt;a href=&quot;http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;amp;f=31&amp;amp;t=006128&quot; target=&quot;_self&quot;&gt;XML and Related Technologies forum&lt;/a&gt;. That means that I&amp;#39;ll be checking the forum several times a day and answering all of your questions about the book&amp;#39;s topics. At the end of the week, we&amp;#39;ll be giving away copies of the book to four randomly selected posters. &lt;br&gt;&lt;br&gt;So far, I&amp;#39;ve been answering &lt;a href=&quot;http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;amp;f=31&amp;amp;t=006131&quot; target=&quot;_self&quot;&gt;basic questions&lt;/a&gt; like what is RSS, what&amp;#39;s the difference between RSS and Atom and what&amp;#39;s the book about?&lt;br&gt;&lt;br&gt;Tags: topic:[RSS], topic:[Atom], topic:[feeds], topic:[Java], topic:[Web 2.0]&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/tri_xml_2006_presentation</id>
        <title type="html">Tri-XML 2006 presentation</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/tri_xml_2006_presentation"/>
        <published>2006-07-29T12:12:20+00:00</published>
        <updated>2011-03-06T20:28:54+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="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;Here&amp;#39;s the abstract of the talk I gave this morning at &lt;a href=&quot;http://www.trixml.org/confindex.shtml&quot; target=&quot;_self&quot;&gt;Tri-XML 2006&lt;/a&gt;:&lt;br&gt;&lt;blockquote&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Beyond blogging: Atom format and protocol&lt;/span&gt;. Like XML-RPC and SOAP before, feeds and publishing protocols were born in the 
        blogopshere and quickly moved beyond blogging. Nowadays, web service providers are using
        RSS/Atom feeds and REST-based publishing protocols as lightweight alternatives to SOAP. And 
        developers are finding new ways to combine web services from different sites into new
        applications, known as &amp;quot;mash-ups&amp;quot; in the lingo of Web 2.0. If you&amp;#39;d like to do the same,
        then attend this talk to learn about the new IETF Atom feed format (RFC-4287) and the
        soon-to-be-finalized Atom protocol, which together form a strong foundation for REST-based
        web services development.&lt;/blockquote&gt;Here&amp;#39;s a rough outline of the talk:&lt;br&gt;&lt;ul&gt;&lt;li&gt;Introduction&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Beyond blogging&lt;/li&gt;&lt;li&gt;Blogs hit the hit time&lt;/li&gt;&lt;li&gt;The web is bloggy&lt;/li&gt;&lt;li&gt;Atom as an alternative to WS-*&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Understanding feeds&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Birth of RSS&lt;/li&gt;&lt;li&gt;RSS 1.0: the RDF fork&lt;/li&gt;&lt;li&gt;The simple fork and RSS 2.0&lt;br&gt;&lt;/li&gt;&lt;li&gt;Atom: the standard&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Parsing feeds&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Fetching and parsing feeds&lt;/li&gt;&lt;li&gt;Universal Feed Parser&lt;/li&gt;&lt;li&gt;ROME utilities&lt;/li&gt;&lt;li&gt;Windows RSS platform&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Serving feeds&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Approaches for generating and serving feeds&lt;br&gt;&lt;/li&gt;&lt;li&gt;Feed autodiscovery&lt;/li&gt;&lt;li&gt;Styled feeds&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Atom protocol&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Compared to MetaWeblog&lt;/li&gt;&lt;li&gt;REST based approach&lt;/li&gt;&lt;li&gt;Introspection&lt;/li&gt;&lt;li&gt;Collections&lt;/li&gt;&lt;li&gt;Extending Atom&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Atom protocol in action&lt;br&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Getting a service doc&lt;/li&gt;&lt;li&gt;Getting collections&lt;/li&gt;&lt;li&gt;Posting an entry&lt;/li&gt;&lt;li&gt;Posting an image&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Demo: interacting with an Atom server via command-line&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;And here are the slides: &lt;a href=&quot;http://rollerweblogger.org/downloads/presentations/TriXML2006-BeyondBlogging.pdf&quot; target=&quot;_self&quot;&gt;TriXML2006-BeyondBlogging.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;Tags: topic:[Atom Publishing Protocol], topic:[Atom], topic:[APP], topic:[RSS], topic:[feeds]&lt;br&gt;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/last_two_chapters_to_production</id>
        <title type="html">Last two chapters to production</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/last_two_chapters_to_production"/>
        <published>2006-05-01T20:00:40+00:00</published>
        <updated>2006-10-25T06:54:47+00:00</updated> 
        <category term="General" label="General" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;Over the weekend, I put my finishing touches on the (last) two new chapters for &lt;a href=&quot;http://manning.com/dmjohnson&quot; target=&quot;_self&quot;&gt;RSS and Atom in Action&lt;/a&gt;. Tomorrow they&amp;#39;ll both be off to copy-editing, typesetting and then to the printers for publication in mid-June. &lt;br&gt;&lt;br&gt;I really lucked out in the reviewer category. Thanks to Walter VonKoch of Microsoft&amp;#39;s &lt;a href=&quot;http://blogs.msdn.com/rssteam/&quot; target=&quot;_self&quot;&gt;Windows RSS Platform team&lt;/a&gt;, who not only answered my questions but kindly offered to review the Windows RSS chapter. And thanks also to former co-workers &lt;a href=&quot;http://blog.chanezon.com/&quot; target=&quot;_self&quot;&gt;Pat Chanezon&lt;/a&gt; and Alejandro Abdelnur, who reviewed the ROME chapter.&lt;br&gt;&lt;br&gt;By the way &lt;a href=&quot;http://tucu000.blogspot.com/2006/04/5-months-is-nothing.html&quot; target=&quot;_self&quot;&gt;Alejandro is back&lt;/a&gt; from Asia, blogging again and already coming up with cool new APIs for ROME. Checkout &lt;a href=&quot;http://wiki.java.net/bin/view/Javawsxml/RomeMano&quot; target=&quot;_self&quot;&gt;ROME.Mano&lt;/a&gt;, a pipeline framework for RSS and Atom feeds.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/ms_feeds_api</id>
        <title type="html">Re: Experimenting with the MS Feeds API</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/ms_feeds_api"/>
        <published>2006-03-17T14:02:37+00:00</published>
        <updated>2006-10-25T06:50:42+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;I&amp;#39;m seeing lots of interest in my MS Feeds API post yesterday, sparked by links from &lt;a target=&quot;_self&quot; href=&quot;http://www.intertwingly.net/blog/2006/03/16/Worth-the-Wait&quot;&gt;Sam Ruby&lt;/a&gt;, &lt;a target=&quot;_self&quot; href=&quot;http://www.scripting.com/2006/03/17.html#When:12:55:06AM&quot;&gt;Dave Winer&lt;/a&gt; and &lt;a target=&quot;_self&quot; href=&quot;http://www.kbcafe.com/rss/?guid=20060316085910&quot;&gt;Randy Morin&lt;/a&gt;. Some people might have gotten the impression that I was criticizing the decisions Microsoft made in mapping RSS elements and extension elements to the Feeds API object model. I wasn&amp;#39;t. &lt;br&gt;&lt;br&gt;I think Microsoft made pretty good choices, given the simplified object model that they&amp;#39;re working with. If somebody is using funky RSS, then they mean it. For example, if somebody declares the Content Module namespace and uses the &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; namespace in their feed, then that&amp;#39;s probably the content that they want folks to use. I think that&amp;#39;s the philosophy Microsoft used in making those decisions, except for prefering &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;pubDate&amp;gt;&lt;/span&gt; over &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;dc:date&amp;gt;&lt;/span&gt;, which I don&amp;#39;t understand.&lt;br&gt;&lt;br&gt;The problem is, the Feeds API object model is a little too simple. Like RSS 2.0, it doesn&amp;#39;t model the common things that bloggers do like having both a summary and content for each item, or having&amp;nbsp; name and/or e-mail address for each author. That&amp;#39;s why people use extensions like the &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; and &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;dc:creator&amp;gt;&lt;/span&gt; (or prefer Atom, which does a better job of modeling those common things). I hope Microsoft will fix this by improving the object model and if they do, they won&amp;#39;t have to make as many choices about which elements to use. &lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/ms_feeds_api_experiments</id>
        <title type="html">Experimenting with the MS Feeds API</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/ms_feeds_api_experiments"/>
        <published>2006-03-16T08:46:57+00:00</published>
        <updated>2006-10-25T06:50:13+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;The Windows RSS platform includes a &lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp&quot;&gt;Feeds API&lt;/a&gt; that parses all forms of RSS and Atom to a simplified&amp;nbsp; object model. &lt;br&gt;&lt;br&gt;For example, an Item object has an Author property and not an author name, author e-mail and author URI which are all possible in Atom. And, an Item object has a Description field and not description and content (as in Wordpress feeds) or summary and content (as in Atom feeds). &lt;br&gt;&lt;br&gt;So, how does the Feeds API decide how to map elements to this&amp;nbsp; simplified object model? I did some C# experiments and here are some of my findings. Note that the Feeds API is beta software and will certainly change for the better (I hope) by the time it is released in IE7 and Windows Vista.&lt;br&gt;&lt;br&gt;
&lt;table width=&quot;95%&quot; cellspacing=&quot;0&quot; cellpadding=&quot;4&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;font-weight:bold;&quot;&gt;&amp;nbsp;Item contains&lt;br&gt;&lt;/td&gt;
&lt;td style=&quot;font-weight:bold;&quot;&gt;&amp;nbsp;Feeds API returns&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;dc:creator&amp;gt;dave&amp;lt;/dc:creator&amp;gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;item.Author = &amp;quot;dave&amp;quot;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;author&amp;gt;dave@example.com&amp;lt;/author&amp;gt;&lt;/td&gt;
&lt;td&gt;item.Author = &amp;quot;dave@example.com&amp;quot;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;author&amp;gt;dave@example.com&amp;lt;/author&amp;gt;&lt;br&gt;&amp;lt;dc:creator&amp;gt;dave&amp;lt;/dc:creator&amp;gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;/span&gt;item.Author = &amp;quot;dave&amp;quot;&lt;br&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&amp;nbsp;&amp;nbsp; (prefers funky RSS)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;description&amp;gt;my desc&amp;lt;/description&amp;gt;&lt;br&gt;&amp;lt;content:encoded&amp;gt;my content&amp;lt;/content:encoded&amp;gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;/span&gt;item.Description = &amp;quot;my content&amp;quot;&lt;br&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&amp;nbsp;&amp;nbsp; (prefers funky RSS)&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;vertical-align:top;&quot;&gt;&amp;lt;pubDate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Thu, 9 Mar 2006 23:13:04 -0500&lt;br&gt;&amp;lt;/pubdate&amp;gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:top;&quot;&gt;item.Date = &lt;span style=&quot;font-style:italic;&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/span&gt;3/10/2006 4:13:04 AM&amp;quot;&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-style:italic;&quot;&gt;(uses GMT)&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;pubDate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Thu, 9 Mar 2006 23:13:04 -0500&lt;br&gt;&amp;lt;/pubdate&amp;gt;&lt;br&gt;&amp;lt;dc:date&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; 2004-08-19T11:54:37-08:00&lt;br&gt;&amp;lt;/dc:date&amp;gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;font-style:italic;&quot;&gt; &lt;/span&gt;item.Date = &lt;span style=&quot;font-style:italic;&quot;&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/span&gt;3/10/2006 4:13:04 AM&amp;quot;&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&amp;nbsp;&amp;nbsp; (prefers core RSS element)&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;atom:summary&amp;gt;my summary&amp;lt;/atom:summary&amp;gt;&lt;br&gt;&amp;lt;atom:content&amp;gt;my content&amp;lt;/atom:content&amp;gt;&lt;br&gt;&lt;/td&gt;
&lt;td&gt;item.Description = &amp;quot;my content&amp;quot;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;First, it&amp;#39;s interesting that those &lt;a target=&quot;_self&quot; href=&quot;http://www.docuverse.com/blog/donpark/EntryViewPage.aspx?guid=615&quot;&gt;funky RSS&lt;/a&gt; elements that &lt;a target=&quot;_self&quot; href=&quot;http://backend.userland.com/davesRss2PoliticalFaq#questionWhatDoesFunkyMeanInTheContextOfRss20&quot;&gt;Winer dislikes&lt;/a&gt; are preferred over the core RSS elements in important places. And second, what if you&amp;#39;re not happy with Microsoft&amp;#39;s mapping choices in this area? &lt;br&gt;&lt;br&gt;For example, how do you get both description and content from those Wordpress feeds? Wordpress (and Typepad) uses the &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;description&amp;gt;&lt;/span&gt; element as a summary and the funky &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:encoded&amp;gt;&lt;/span&gt; element for the full content (see Winer&amp;#39;s own &lt;a target=&quot;_self&quot; href=&quot;http://scripting.wordpress.com/feed/&quot;&gt;Wordpress.com feed&lt;/a&gt; for example). You&amp;#39;ve got to parse the XML yourself. The Feeds API tries to makes that easy by providing both the XML for the entire feed and the XML fragment for each item, but I think most developers would prefer to have a more complete object model. &lt;br&gt;&lt;br&gt;See also: What&amp;#39;s up with the Windows RSS Platform&lt;br&gt;&lt;br&gt;Tags: topic:[rss], topic:[atom], topic:[feeds], topic:[ie7], topic:[vista]&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/the_never_ending_story_of</id>
        <title type="html">The never ending story of RSS and Atom in Action</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/the_never_ending_story_of"/>
        <published>2006-03-15T21:38:04+00:00</published>
        <updated>2006-10-25T06:50:40+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;You know last week, when I said the book was ready to go to the printers and would be available this week as an e-book? We&amp;#39;ll, I was wrong. &lt;br&gt;&lt;br&gt;While we waited for Atom protocol to stabilize, things changed in the world of C# and Java feed APIs. Microsoft introduced the Windows RSS platform and a pre-release of the Windows Feeds API is available in the IE7 beta. And ROME has come along way too; now with Atom format 1.0 support and a growing list of extension modules. We decided that we just couldn&amp;#39;t publish a book on RSS and Atom without covering the Windows RSS platform and ROME in-depth. So now I&amp;#39;m under the gun again, writing away into the wee hours of the night. I should be done by April 14th and, with luck, the book will be out in late May, just in time for JavaOne. That explains my sudden interest in the Windows RSS platform.&lt;br&gt;&lt;br&gt;The kids hate it, but I think it&amp;#39;s for the best. Manning will have the very first book that covers the Atom protocol (with a working client and server), the Windows RSS platform and ROME in-depth. It&amp;#39;ll definitely be worth the wait.&lt;br&gt;&lt;br&gt;Tags: topic:[atom], topic:[rss], topic:[ie7], topic:[atom protocol]</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/what_s_up_with_the</id>
        <title type="html">What&amp;#39;s up with the Windows RSS platform?</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/what_s_up_with_the"/>
        <published>2006-03-12T12:03:17+00:00</published>
        <updated>2006-10-27T22:11:22+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="Microsoft" 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="rss" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;The Windows RSS Platform (or Feeds API) is the feed handling engine that powers the new RSS features in IE7. It will also be included in Windows Vista for use by other applications. Note that here, RSS is a generic term meant to include both RSS and Atom -- the Feeds API supports both. The Feeds API is packaged in a DLL called msfeeds.dll and available to programmers as a set of dual-interface COM objects. Here are the features exposed via the Feeds API.&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Common feed list: list of feeds for current user, organized as folder hierarchy.&lt;br&gt; &lt;/li&gt;
&lt;li&gt;Feed store: local cache of feeds, feeds available via abstract object model&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Download engine: for managing and monitoring large enclosure downloads&lt;br&gt; &lt;/li&gt;
&lt;li&gt;RSS sharing extensions: new XML elements to support bi-directional sync via RSS&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The Feeds API gives you access to the current user&amp;#39;s feed subscription list, a feed parser that can handle any form of RSS and Atom as well as the IE7 podcast download engine. The parser parses feeds to an abstract object model designed to represent any sort of feed. It handles &lt;a href=&quot;http://backend.userland.com/davesRss2PoliticalFaq#questionWhatDoesFunkyMeanInTheContextOfRss20&quot; target=&quot;_self&quot;&gt;funky RSS&lt;/a&gt; and in some cases prefers the funky elements (e.g. &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;content:escape&amp;gt;&lt;/span&gt; over &lt;span style=&quot;font-family:Courier New,Courier,mono;&quot;&gt;&amp;lt;description&amp;gt;&lt;/span&gt;). &lt;br&gt;&lt;/p&gt;I&amp;#39;d like to learn more about how the Feeds API decides which elements to use, how sync works, and how the whole package compares to the premier Java Feeds API &lt;a target=&quot;_self&quot; href=&quot;http://rome.dev.java.net/&quot;&gt;ROME&lt;/a&gt;. So, I&amp;#39;ve downloaded IE7 and started experimenting with the API from C#. I&amp;#39;ll be posting more on this topic in the next week or two. &lt;br&gt;&lt;br&gt;Here are some of the references I&amp;#39;ve been using to understand the API:&lt;br&gt;&lt;br style=&quot;font-style:italic;&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Feeds API docs, specs and whitepapers from Microsoft&amp;nbsp;&lt;/span&gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp&quot;&gt;Feeds API documentation&lt;/a&gt; at MSDN Library&lt;br&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/xml/rss/sse/&quot;&gt;Simple Sharing Extensions (SSE) for RSS and OPML specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://msdn.microsoft.com/windowsvista/building/rss/simplefeedextensions/&quot; target=&quot;_self&quot;&gt;Simple List Extentions&lt;/a&gt; for RSS specification&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=9BC8885E-76BA-4F10-8AC7-6F5845ADCFD9&amp;amp;displaylang=en&quot;&gt;Simple Sharing Extensions for RSS tutorial&lt;/a&gt; (in Vista only?)&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://msdn.microsoft.com/windowsvista/building/rss/default.aspx?pull=/library/en-us/dnlong/html/rsssupportinlonghorn.asp&quot;&gt;RSS Support in Longhorn&lt;/a&gt; - good overview&lt;/li&gt;
&lt;li&gt;PDC05 presentation about &lt;a href=&quot;http://microsoft.sitestream.com/PDC05/DAT/DAT320_files/Botto_files/DAT320_Gandhi.ppt&quot; target=&quot;_self&quot;&gt;RSS in Windows Vista&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Microsoft employee blogs about the RSS platform&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://blogs.msdn.com/rssteam/archive/2006/02/02/522642.aspx&quot;&gt;The Windows RSS Platform&lt;/a&gt; described on the Microsoft RSS Team Blog&lt;/li&gt;

&lt;li&gt;&lt;a target=&quot;_self&quot; href=&quot;http://blogs.msdn.com/rssteam/archive/2006/02/09/528195.aspx&quot;&gt;The Windows RSS Platform ala carte&lt;/a&gt; from the&amp;nbsp; Microsoft RSS Team Blog&lt;/li&gt;&lt;li&gt;A blog about the &lt;a target=&quot;_self&quot; href=&quot;http://blogs.msdn.com/rssteam/archive/2005/12/01/498704.aspx&quot;&gt;RSS Simple Sharing Extensions&lt;/a&gt; from Microsoft&amp;#39;s Jack Ozzie&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Related: Ray Ozzie&amp;#39;s blog post &lt;a target=&quot;_self&quot; href=&quot;http://spaces.msn.com/rayozzie/blog/cns%21FB3017FBB9B2E142%21285.entry?_c11_blogpart_blogpart=blogview&amp;amp;_c=blogpart#permalink&quot;&gt;Wiring the Web&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;FeedBandit developer &lt;a target=&quot;_self&quot; href=&quot;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=f872c4bf-82c7-4222-a733-b9f212e0c3c4&quot;&gt;Dare Obasanjo&amp;#39;s feedback on Windows RSS Platform&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Windows Live Mail Desktop Beta (&lt;a target=&quot;_self&quot; href=&quot;http://spaces.msn.com/morethanmail/blog/cns%21B7DD1FF3F141F9A1%21214.entry?_c=BlogPart&quot;&gt;RSS feeds&lt;/a&gt; and &amp;quot;&lt;a target=&quot;_self&quot; href=&quot;http://spaces.msn.com/morethanmail/blog/cns%21B7DD1FF3F141F9A1%21247.entry?_c11_blogpart_blogpart=blogview&amp;amp;_c=blogpart#permalink&quot;&gt;blog-it&lt;/a&gt;&amp;quot; feature)&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;font-style:italic;&quot;&gt;Other blogs about it&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Newsgator&amp;#39;s &lt;a target=&quot;_self&quot; href=&quot;http://nick.typepad.com/blog/2006/02/feedback_on_ie7.html&quot;&gt;Nick Bradbury&amp;#39;s feedback on Windows RSS Platform&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;PDC&amp;#39;05 blog about the above &lt;a target=&quot;_self&quot; href=&quot;http://netryder.osnn.net/pdc05/2005/09/rss-platform-in-windows-vista.php&quot;&gt;Windows RSS Platform presentation&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Jim Mathies built an &lt;a target=&quot;_self&quot; href=&quot;http://www.mathies.com/weblog/?p=222&quot;&gt;aggregator in a weekend&lt;/a&gt;&amp;nbsp;with the RSS platform&lt;br&gt;&lt;/li&gt;
&lt;li&gt;A simple windows &lt;a target=&quot;_self&quot; href=&quot;http://www.arstdesign.com/articles/rssstoreviewer.html&quot;&gt;RSS store viewer&lt;/a&gt; and exploration of msfeeds.dll implementation&lt;br&gt;&lt;/li&gt;
&lt;li&gt;John Udell &lt;a target=&quot;_self&quot; href=&quot;http://weblog.infoworld.com/udell/2005/09/14.html&quot;&gt;interviews Microsoft&amp;#39;s Amar Ghandi&lt;/a&gt; about the RSS platform&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update1&lt;/span&gt;: added a couple of new links suggested by &lt;a target=&quot;_self&quot; href=&quot;http://inkblots.markwoodman.com/2006/03/13/feeds-in-vista/&quot;&gt;Mark Woodman&lt;/a&gt;&lt;br&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update2&lt;/span&gt;: added reference to Simple List Extensions&lt;br&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Update3&lt;/span&gt;: added link to RSS in Windows Vista presentaton&lt;br&gt;&lt;br&gt;Tags: topic:[atom], topic:[rss], topic:[ie7], topic:[atom protocol]&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/rss_and_atom_in_action1</id>
        <title type="html">RSS and Atom in Action part II out the door</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/rss_and_atom_in_action1"/>
        <published>2006-01-17T13:41:26+00:00</published>
        <updated>2006-10-27T07:45:31+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;I spent Saturday rewriting the second half of my search/monitoring chapter and then Sunday and Monday I spent updating my C# examples. I also built, ran and tested all of the example code for the book and committed a number of fixes to the &lt;a href=&quot;http://blogapps.dev.java.net/&quot; target=&quot;_self&quot;&gt;Blogapps&lt;/a&gt; CVS. And finally, I sent the whole Part II bundle back to Manning for typesetting and proofreading. The end is near!&lt;br&gt;&lt;br&gt;I had been using Visual Studio C# 2003 but since that&amp;#39;s almost three years old now, I moved everything over to Visual Studio 2005 and .Net 2.0. Moving to .Net 2.0 was pretty easy. I downloaded Visual Studio C# 2005 Express Edition and that worked fine for almost all of my examples, but not for my one ASP.NET example. I had to download Visual Web Designer 2005 Express Edition to get that working. Both of those IDEs are free at least for the next year. You can get them here: &lt;a href=&quot;http://msdn.microsoft.com/vstudio/express&quot; target=&quot;_self&quot;&gt;http://msdn.microsoft.com/vstudio/express&lt;/a&gt;. Nobody pays for IDEs anymore, not even Micro$ofties.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/updated_blog_search_service_comparison</id>
        <title type="html">Updated blog search service comparison</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/updated_blog_search_service_comparison"/>
        <published>2006-01-17T13:26:36+00:00</published>
        <updated>2006-10-27T07:45:47+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="Blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;Lots of good feedback on my blog search service comparison. Everybody except Google and Yahoo wrote in with corrections and additions and in response I&amp;#39;ve updated the matrix.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_protocol_draft_7</id>
        <title type="html">Atom protocol draft 7</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_protocol_draft_7"/>
        <published>2006-01-02T10:41:23+00:00</published>
        <updated>2006-10-25T16:07:26+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="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;I was planning on submitting Chapter 8 of &lt;a href=&quot;http://manning.com/dmjohnson&quot; target=&quot;_self&quot;&gt;RSS and Atom in Action&lt;/a&gt; to Manning today, but &lt;a target=&quot;_self&quot; href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-07.html&quot;&gt;Atom protocol draft 7&lt;/a&gt; has appeared. The &lt;a href=&quot;http://dehora.net/doc/app/draft-ietf-atompub-protocol-07-from-6.diff.html&quot; target=&quot;_self&quot;&gt;changes&lt;/a&gt; look good and the only really significant one for me is the move from list templates, which allowed indexing into a collection, to next/previous paging as we had in draft 4. I&amp;#39;m going to revise my implementation, Chapter 8 and turn it in on Wednesday. Once that&amp;#39;s done, I&amp;#39;ll release &lt;a href=&quot;http://blogapps.dev.java.net/&quot; target=&quot;_self&quot;&gt;Blogapps&lt;/a&gt; v0.1.&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/atom_protocol_draft_05</id>
        <title type="html">Atom Protocol draft 05</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/atom_protocol_draft_05"/>
        <published>2005-10-12T18:27:45+00:00</published>
        <updated>2006-10-25T16:07:51+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="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
There&amp;#39;s a &lt;a href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-05.html&quot;&gt;new draft&lt;/a&gt; of the Atom Protocol available and I&amp;#39;ve already started working on updating my client (the BlogClient example from my upcoming book &lt;a href=&quot;http://manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;) and server (in the Roller sandbox) implementations. Surprisingly, the new spec doesn&amp;#39;t look all that different from the previous one,  so perhaps a weekend of work will do the trick. 

&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/status_time</id>
        <title type="html">Status, cc: world</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/status_time"/>
        <published>2005-06-20T21:03:18+00:00</published>
        <updated>2006-10-25T07:36:52+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">It&amp;#39;s that time again. 
&lt;ul&gt;

&lt;li&gt;&lt;b&gt;Roller 1.2&lt;/b&gt;: I spent most of last week working on Roller 1.2. Part of that work was for the OpenSolaris launch. We used Roller 1.2&amp;#39;s built-in &amp;quot;planet&amp;quot; aggregator to create the OpenSolaris blog, aggregating together about 150 blogs into one big blog with it&amp;#39;s own newsfeed. I had to write a little custom code to load the list of blogs, because the aggregator&amp;#39;s UI doesn&amp;#39;t have a bulk-load capability yet. Later in the week I spent a couple of days on 
&amp;lt;a href=
&amp;quot;http://opensource.atlassian.com/projects/roller/secure/ReleaseNote.jspa?projectId=10000&amp;amp;styleName=Html&amp;amp;version=10151&amp;quot;&amp;gt;
fixing bugs, 
&lt;a href=&quot;http://www.rollerweblogger.org/javadoc&quot;&gt;Javadocs&lt;/a&gt; and 
&lt;a href=&quot;http://www.rollerweblogger.org/velocidoc&quot;&gt;Velocidocs&lt;/a&gt;.&lt;p&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Roller 1.3&lt;/b&gt;: We&amp;#39;ve started to talk a bit about a Roller 1.3 release to incorporate some theme management changes. We need to make it easier to manage themes and apply changes globally to all user&amp;#39;s themes, but still allow power-users to tweak their page templates. Allen has put together a rough proposal for better &lt;a href=&quot;http://www.rollerweblogger.org/wiki/Wiki.jsp?page=Proposal_ThemeManagement&quot;&gt;theme management&lt;/a&gt;.&lt;p&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Roller 2.0&lt;/b&gt;: I spent a couple of days on Roller 2.0 last week, still working on the data model and the new many-to-many relationship between weblogs and users. The OpenSolaris and Roller 1.2 contininued to put me further behind schedule, but I&amp;#39;m still shooting for group blogging done in August.&lt;p&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Roller@Apache&lt;/b&gt;: Starting today, we&amp;#39;re using the Apache incubator mailing lists for the Roller-dev and Roller-user lists, but I still haven&amp;#39;t updated the wiki with subscribe and unsubscribe info.&lt;p&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;&lt;a href=&quot;http://www.manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt;&lt;/b&gt;: Since the chapters are out of my hands, at this point all I can do is watch the Atom Protocol list. Chapter one may be coming back from copy-edit today.&lt;/li&gt;
&lt;/ul&gt;

That&amp;#39;s it for now. Again, I hope to spend the remainder of the week on Roller 2.0 &amp;#39;cause who knows how much I&amp;#39;ll be able to get done duing JavaOne week. And, the week after that is summer vacation.

</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/how_atom_works</id>
        <title type="html">How Atom Publishing Protocol works</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/how_atom_works"/>
        <published>2005-06-03T11:00:14+00:00</published>
        <updated>2006-10-27T07:50:46+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="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;i&gt;Unlike the other RSS and Atom books that are hitting the shelves these days, 
&lt;a class=&quot;external&quot; href=&quot;http://www.manning.com/dmjohnson&quot;&gt;RSS and Atom in Action&lt;/a&gt; is going to cover the Atom Publishing Protocol. 
So, I&amp;#39;m following the protocol development very closely.
This blog entry is a summary of Atom as it stands today 
(based on &lt;a class=&quot;external&quot; href=&quot;http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-04.html&quot;&gt;Draft 04&lt;/a&gt; 
released May 10, 2005). It&amp;#39;s a follow up to my post earlier post
&lt;a class=&quot;external&quot; href=&quot;http://www.rollerweblogger.org/comments/roller/blog/atom_in_a_nutshell&quot;&gt;Atom in a nutshell&lt;/a&gt; which explained Atom API 0.9.&lt;/i&gt;
&lt;/p&gt;&lt;p&gt;Atom Publishing Protocol (a work in progress) is a new web services protocol for interacting with a blog, wiki or other type of content management system by simply sending XML over HTTP, no SOAP or XML-RPC required. Your code interacts with collections of web resources by using HTTP verbs GET, POST, PUT and DELETE as they are meant to be used. Here&amp;#39;s how it works.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Discovering your workspaces and collections&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;To start out, you do an authenticated GET on a server&amp;#39;s Atom URL to get a description of the services available to you. You get back an an Atom Services XML document that lists the workspaces and within each the collections available. A workspace could be a blog, a wiki namespace or content collection that you have access to via your username/password. 
&lt;/p&gt;
&lt;p&gt;Each workspace can contain two types of collections: entries and resources. Eventually, the spec will probably allow for (at least) five types of collections: entries, categories, templates, users, and generic resources.  
&lt;/p&gt;
&lt;p&gt;Here is an example of a services document XML for a blog user with access to two blogs &amp;quot;My Blog&amp;quot; and &amp;quot;Marketing Team Blog&amp;quot;:
&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;#39;utf-8&amp;#39;?&amp;gt;
&amp;lt;service xmlns=&amp;quot;http://purl.org/atom/app#&amp;quot;&amp;gt;
     &amp;lt;workspace title=&amp;quot;My Blog&amp;quot; &amp;gt; 
        &amp;lt;collection contents=&amp;quot;entries&amp;quot; title=&amp;quot;Blog Entries&amp;quot; 
            href=&amp;quot;http://localhost:8080/roller/atom/myblog/entries&amp;quot; /&amp;gt;
        &amp;lt;collection contents=&amp;quot;generic&amp;quot; title=&amp;quot;File Uploads&amp;quot; 
            href=&amp;quot;http://localhost:8080/roller/atom/myblog/resources&amp;quot; /&amp;gt;
     &amp;lt;/workspace&amp;gt;
     &amp;lt;workspace title=&amp;quot;Marketing Team Blog&amp;quot;&amp;gt;
         &amp;lt;collection contents=&amp;quot;entries&amp;quot; title=&amp;quot;Blog Entries&amp;quot; 
             href=&amp;quot;http://localhost:8080/roller/atom/marketingblog/entries&amp;quot; /&amp;gt;
         &amp;lt;collection contents=&amp;quot;generic&amp;quot; title=&amp;quot;File Uploads&amp;quot; 
             href=&amp;quot;http://localhost:8080/roller/atom/marketingblog/entries&amp;quot; /&amp;gt;
     &amp;lt;/workspace&amp;gt;
&amp;lt;/service&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;Working with collections&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;So, a workspace is a blog and a blog contains collections of things like entries, uploaded file resources, categories, etc. All of these collections are handled the same way and respond the same way to the HTTP verbs. All support paging, so the server can return a collection in easy to digest chunks. All support query by date, so you can filter collections by start and end date.
&lt;/p&gt;
&lt;p&gt;To get a collection, do a GET on it&amp;#39;s URI (that&amp;#39;s the collection&amp;#39;s &amp;#39;href&amp;#39; as listed in the services document).
&lt;/p&gt;
&lt;p&gt;The services document specifies a URI for each collection. If you do a GET on a collection URI, you&amp;#39;ll get back an Atom Collection XML document that lists the first X number of members in the collection. If there are more than X members, then the document will include a next URI which you can use to get the next batch of members. You can also specify an HTTP Range header to restrict a collection to only those between specific start and end dates. 
&lt;/p&gt;
&lt;p&gt;Here is an example of a the collection document XML you might receive by doing a GET on the Blog Entries collection from My Blog above.
&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;#39;utf-8&amp;#39;?&amp;gt;
&amp;lt;collection xmlns=&amp;quot;http://purl.org/atom/app#&amp;quot;
   next=&amp;quot;http://localhost:8080/roller/atom/myblog/entry/77088a1&amp;quot; &amp;gt;
   &amp;lt;member title=&amp;quot;The Connells: Fun and Games&amp;quot;
         href=&amp;quot;http://localhost:8080/roller/atom/myblog/entry/7700a0&amp;quot; 
         updated=&amp;quot;2005-04-16T23:07:08-0400&amp;quot; /&amp;gt;
   &amp;lt;member title=&amp;quot;The Connells: Boylan Heights&amp;quot;
         href=&amp;quot;http://localhost:8080/roller/atom/myblog/entry/7700c9&amp;quot; 
         updated=&amp;quot;2005-04-15T23:06:09-0400&amp;quot; /&amp;gt;
   &amp;lt;member title=&amp;quot;The Connells: Gladiator&amp;quot;
         href=&amp;quot;http://localhost:8080/roller/atom/myblog/entry/7700c8&amp;quot; 
         updated=&amp;quot;2005-04-14T14:05:31-0400&amp;quot; /&amp;gt;
&amp;lt;/collection&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Each member in a collection document has a title and a URI. To get a member of a collection, you do a GET on the member&amp;#39;s URI. To delete it you use DELETE. To update it you use PUT. Here&amp;#39;s an example of the entry XML you might receive by doing a GET on the first member of the Blog Entries collection example above:
&lt;/p&gt;
&lt;pre&gt;
&amp;lt;entry xmlns=&amp;quot;http://purl.org/atom/ns#&amp;quot;&amp;gt;
  &amp;lt;title&amp;gt;The Connells: Fun and Games&amp;lt;/title&amp;gt;
  &amp;lt;id&amp;gt;7700a0&amp;lt;/id&amp;gt;
  &amp;lt;updated&amp;gt;2005-06-01T19:07:45Z&amp;lt;/updated&amp;gt;
  &amp;lt;content type=&amp;quot;html&amp;quot;&amp;gt;
     Let me tear down into your heart
     Let me take a seat and stay awhile
     Let me have a half of your whole  
     Let me keep it for myself awhile  
  &amp;lt;/content&amp;gt;
&amp;lt;/entry&amp;gt;
&lt;/pre&gt;
&lt;p&gt;To add a member to a collection, you simply POST the member to the collection&amp;#39;s URI. If you&amp;#39;re POSTing a new entry, send the XML for the entry (example entry XML shown below). If you&amp;#39;re POSTing a file upload, then send the file.
&lt;/p&gt;
&lt;p&gt;That&amp;#39;s it. Pretty simple huh?
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;What about authentication?&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;The Atom spec requires that a server support either HTTP digest authentication, which can be difficult for some bloggers to implement (depending on their ISP and web server), or CGI authentication, which can be a lot easier to implement (I believe &lt;a class=&quot;external&quot; href=&quot;http://www.xml.com/pub/a/2003/12/17/dive.html&quot;&gt;WSSE&lt;/a&gt; qualifies as CGI authentication, and that&amp;#39;s what my Atom implementation uses).
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;What about devices with limited HTTP support?&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;Some devices have crippled HTTP client capabilities. For example, some Java J2ME powered cell phones can&amp;#39;t do an HTTP PUT or DELETE.  If you can&amp;#39;t do a PUT or a DELETE, you can use POST instead with a SOAP wrapper that specifies a Web-Method of PUT or DELETE. Atom servers are required to support SOAP POSTS and returning results in SOAP envelopes.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;What about draft vs. published states for entries?&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;Still undecided. Some folks suggest using different collections for entries in different states (draft, approved, published, etc.). But it&amp;#39;s more likely that a new element will be introduced in the Atom format to specify the state of an entry.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;That&amp;#39;s my summary of Atom protocol as it stands today. I think it&amp;#39;s a great improvement over existing blog APIs in terms of features and design. And it&amp;#39;s not very difficult to implement. I know because I&amp;#39;m almost done with my server and client implementations. I hope to release them shortly for review. The release will probably be a standalone release of Roller (the Atom server) and my BlogClient UI (the Atom client). 
&lt;/p&gt;
&lt;p&gt;If you see some opportunities for improvement in the protocol, please join the Atom Protocol &lt;a class=&quot;external&quot; href=&quot;http://www.imc.org/atom-protocol/index.html&quot;&gt;mailing list&lt;/a&gt; and help out. Last call for spec changes in now &lt;a class=&quot;external&quot; href=&quot;http://www.imc.org/atom-protocol/mail-archive/msg00866.html&quot;&gt;slated for October&lt;/a&gt;. 
And for the Atom experts out there: what did I get wrong? Leave a &lt;a class=&quot;external&quot; href=&quot;http://www.rollerweblogger.org/comments/roller/blog/how_atom_works#comments&quot;&gt;comment&lt;/a&gt;.
&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/welcome_to_may</id>
        <title type="html">Welcome to May</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/welcome_to_may"/>
        <published>2005-05-01T21:02:32+00:00</published>
        <updated>2006-10-25T07:38:02+00:00</updated> 
        <category term="General" label="General" />
        <category term="atom" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
Time to test the power of positive thinking: this is the month that Atom Protocol settles down and becomes stable enough for me to finish up the book. &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/i_m_back3</id>
        <title type="html">I&amp;#39;m back</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/i_m_back3"/>
        <published>2005-01-27T14:01:56+00:00</published>
        <updated>2006-10-25T07:42:08+00:00</updated> 
        <category term="General" label="General" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="vacation" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Some friends and I took a couple days of vacation in the North
Carolina mountains. We were trapped in the house (pictured in the
previous post) for most of the weekend, due to the extreme cold and a
very icy road, but there&amp;#39;s a full-sized pool table in the house, so we
had no complaints.&lt;/p&gt;&lt;p&gt;I&amp;#39;m sorry if I have not returned your email. I was
off-line for the weekend and since my return, I&amp;#39;ve been (mostly)
ignoring my inbox and my newsreader so that I can finish Chapter 8:
Publishing With Atom and some cool blogs.sun.com stuff that I can&amp;#39;t
talk about yet. I&amp;#39;m going to take a break this afternoon and tend to my
mail and blog reading.&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/back_to_work3</id>
        <title type="html">Back to work</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/back_to_work3"/>
        <published>2005-01-03T10:38:16+00:00</published>
        <updated>2006-10-25T07:41:17+00:00</updated> 
        <category term="Roller" label="Roller" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="roller" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;I spent most of the break working on the book and now it&amp;#39;s time to get back to Roller. Bugs
have been trickling in from &lt;a href=&quot;http://blogs.sun.com&quot;&gt;blogs.sun.com&lt;/a&gt;. Plus, Matt and Rick over at
Javalobby upgraded &lt;a href=&quot;http://jroller.com&quot;&gt;JRoller&lt;/a&gt; to Roller 1.0RC2 last week and that shook loose a
couple of bugs. So, now there&amp;#39;s a &lt;a href=&quot;http://opensource.atlassian.com/projects/roller/secure/BrowseProject.jspa?id=10000&amp;amp;report=roadmap&quot;&gt;short list of bugs&lt;/a&gt; that should be fixed before Roller 1.0 final. Thanks to everybody who has helped out by reporting bugs. &lt;br&gt;

&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/sneaky_rewrites</id>
        <title type="html">Sneaky rewrites</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/sneaky_rewrites"/>
        <published>2004-12-01T11:17:47+00:00</published>
        <updated>2006-10-25T07:45:12+00:00</updated> 
        <category term="General" label="General" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">
I really don&amp;#39;t like the way that chapter re-writes sneak up on you. You think that you&amp;#39;re gonna make a little change here and a little change there, but you end up rewriting the whole ^$#%^%!* thing.</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/happy_turkey_day</id>
        <title type="html">Happy Turkey Day</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/happy_turkey_day"/>
        <published>2004-11-25T22:20:13+00:00</published>
        <updated>2006-10-25T07:48:40+00:00</updated> 
        <category term="General" label="General" />
        <category term="blogapps" scheme="http://roller.apache.org/ns/tags/" />
        <category term="family" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
We had nice quiet Thanksgiving and that&amp;#39;s the way I like it. We travelled only about 30 miles, for dinner with my parents and my brother over in Chapel Hill. We had turkey, gravy, stuffing, rice, cranberry sauce, veggies, and of course, pumpkin pie and homemade ice cream. After lunch we took the traditional nice long walk around the neighborhood and this year the walk included the muddy path along 
&lt;a href=&quot;http://www.chapelhillmuseum.org/Exhibits/JamesTaylorExhibit&quot;&gt;
Morgan Creek&lt;/a&gt;.
&lt;p&gt;
Now, we&amp;#39;re back in Raleigh and I&amp;#39;m trying to get back into writing mode. I&amp;#39;m going to put the XML-RPC and Atom Protocol chapters on hold for a couple of days and work on revisions to the first 1/3 of the book. Reviews came back overwhelmingly positive, but that is just not good enough. 
&lt;p&gt;
I&amp;#39;ve got a lot to be thankful for, but right now I&amp;#39;m most thankful for my wife&amp;#39;s seemingly infinite patience -- that, and the fact that she is taking the boys away for a couple of days so that I can work in peace. &lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content>
    </entry>
</feed>

