RSS Questions

I’m working on adding individual list support to my SharePoint RSS Feed Generator. This allows me to pass the name or ID for a specific list on the query string and return that list as a channel. However, it is possible to pass invalid data on the query string. For example, I could subscribe to the RSS feed for a list only to have that list be deleted. The next time my news aggregator updates, the requested list will be invalid. I’ve decided to return HTTP 404 if this happen. Is this the right behavior?

Second question: can an RSS feed have multiple channels? In SharePoint, a web is a collection of lists and a list is a collection of list items. If the user requests the RSS feed for a web, they get back a channel with the title/link/description of the web and an item element for each list item in every list in the web. That means that when the user requests a web’s RSS feed, the list grouping is being flattened out (though I do put the list’s name as the category of any list item). Wouldn’t it make more sense to return multiple channels? According to the spec, there can only be a single channel element under the rss element. If that’s the case, why even have a channel element? Why not just put all of channel’s children directly under the rss element?

I’d like to see a revision to the RSS spec to add optional support for multiple channels and for optional title/link/description elements as direct children of the rss element. Of course, if we can’t agree on a namespace, I assume we’ll never get my suggestions added.

SharePoint RSS Feed Generator

I just added a project page for my SharePoint RSS Feed Generator. Please feel free to download and test the code. It’s very early code – v0.1 – and I know there are issues. It passed a basic smoke test with Matt, but he found some irregularities. He also suggested enabling RSS feed for individual lists rather than just for sites. That will be the primary enhancement of a v0.2.

If there’s interest, I can create a GotDotNet Workspace for this project.

SharePoint 2.0 Rocks

With apparently no fanfare, the Business Process Execution Language for Web Services (or BPEL) spec has been reved to 1.1. You can get it online from MSDN, IBM developerWorks and BEA dev2dev. For those who haven’t seen BPEL, it: “BPEL4WS represents a convergence of the ideas in the XLANG and WSFL specifications.” XLANG is the language that powers Microsoft BizTalk Server.

In other personal programming news, even though I’m in a Phoenix hotel, I didn’t work on my weblog infrastructure. I’m waiting to see what comes next from blogX. With Chris and Don working on it, my time is better spent in other places. I did build a tool to download my weblog entries and store them in a single XML file on my local system. Even converts from HTML to XHTML via SgmlReader. So I’m ready to migrate to something else.

Since I’m not building blog tools, I spent my hotel evening last night with Windows SharePoint Services (WSS). The more I play with this product, the more impressed I am with it. One of the features of WSS is the ability to be notified via email when something changes (a doc, a folder, a list, etc). Of course, those of us in the blogsphere would rather have an RSS feed to tell when something changed. So I built an RSS feed generator for WSS. I will post it after it undergoes some basic smoke testing (I sent it to Matt to see if he could get it to work). Since Office SharePoint Portal Server (SPS) is built on the same technology, it should work there as well (I asked Matt, who has an SPS up and running, to try this out too).

Finally, welcome Robert Scoble to MSFT. Interesting to see that he credits his weblog for helping him get hired. Glad to have you on board!

Final Flight of the Osiris

Just got back from seeing Dreamcatcher. Didn’t get to see it when it first came out for obvious reasons. My wife Julie read the book and enjoyed it – which is surprising since she doesn’t typically like Stephen King books. I liked it – looking forward to going back and reading the book myself.

One of the primary reasons to see Dreamcatcher now was because of the AniMatrix short “Final Flight of the Osiris“. I was reading the EW cover story on Matrix Reloaded which also talked about the AniMatrix DVD. It mentioned that “Osiris” was a lead-in to the events of Reloaded and the Enter the Matrix game so I had to go see it. Didn’t disappoint. Worth it to see even if you walk out before Dreamcatcher starts.

Chris points out the Japanese trailer which I missed – pondering if I should go check it out. If it’s got a spoiler, I might just give it a pass until after I see Reloaded.

Storing XML

Randomly jumping around on the web (waiting for the final Matrix trailer to download) I discovered Apache Xindice, a native XML database written in Java. It’s very read focused – getting XML documents into the system is pretty easy, querying them with XPath is pretty easy, updating them with XUpdate is not. I’m not sure I’m a big fan of XML based command grammars like this. DOM’s interface is ugly enough, XUpdate appears to be DOM’s interface cast in XML, so you end up with something like this:

<xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/xupdate">
  <xupdate:insert-after select="/addresses/address[1]" >
    <xupdate:element name="address">
      <xupdate:attribute name="id">2</xupdate:attribute>
      <fullname>John Smith</fullname>
      <born day='2' month='12' year='1974'/>
      <country>Germany</country>
    </xupdate:element>
  </xupdate:insert-after>
</xupdate:modifications>

[Xindice Developers Guide]

As I said, not very pretty.

Other Notes:

  • Just watched the Final Matrix Trailer – wow. Also check out the “I’m In” and “Prophecy” TV spots and the Enter the Matrix game trailer. Only disappointment: graphics on the game don’t look that great. I guess that what happens when you have to support substandard game consoles – you can’t take advantage of true power.
  • Seven of the lower seeded teams in the NHL Playoffs won their opening game. Only New Jersey came out on top of the top seeds.
  • As there is no hockey team in Seattle, I still root for teams from my previous home towns: Washington Capitals and Los Angeles Kings. Caps were 3-0 winners on the road in Tampa Bay tonight.
  • In further hockey news, Microsoft announced “NHL Rivals 2004” for XBOX today. I wonder if it will feature the Microsoft Hockey Challenge?